Выгружаю реквизит в файл

Новая тема
Показывать по сообщений
"Выгружаю значение реквизита из справочника в текстовый файл, но в результате в файл попадает значение реквизита только последнего элемента справочника, где ошибка?<br>Процедура Выполнить()<br> Спр = СоздатьОбъект("Справочник.Номенклатура");<br> Спр.ВыбратьЭлементы();<br> Пока Спр.ПолучитьЭлемент()=1 Цикл<br> Если Спр.ЭтоГруппа() = 1 Тогда<br> Продолжить;<br> КонецЕсли;<br> <br> Файл = СоздатьОбъект("Текст");    <br> Файл.Очистить();         <br> Спис = СоздатьОбъект("СписокЗначений");<br> Спис.ДобавитьЗначение(Спр.Датапоступ);<br> Размер = Спис.РазмерСписка();<br> Сообщить(Размер);<br> Файл.ДобавитьСтроку(Спис.ВСтрокуСРазделителями());<br> КонецЦикла; <br> ИмяФайла = "НашиРеквизиты"+".txt";    <br> ИФ = "C:\" + ИмяФайла;<br> Сообщить(""""+ИФ);<br>    Файл.Записать(СокрЛП(ИФ)); <br><br>КонецПроцедуры"
"Вы при выборе каждой новой строки заново создаете Файл :)<br>Нужно его создать, и только потом в цикле перебирать строки и записывать их в файл ;)<br><br>~~~ Красноярск, http://x-frame.ru/ ~~~"
Странно...вроде втыкала создание файла до цикла, не получалось...а теперь получилось %)
Может кто подскажет. Не могу понять систему...в конечном итоге мне нужно выгрузить реквизит справочника из архивной копии и заполнить его в действующей базе (слетел при обновлении)<br>Реализовать это через тхт реально, на сколько я понимаю<br>Сейчас выгружает только значения, но нужно ведь еще и владельца реквизита привязать, так я понимаю? иначе как я потом буду загрузку делать...<br>
> Может кто подскажет. Не могу понять систему...в конечном итоге мне нужно выгрузить реквизит справочника из архивной копии и заполнить его в действующей базе (слетел при обновлении)<br>> Реализовать это через тхт реально, на сколько я понимаю<br>> Сейчас выгружает только значения, но нужно ведь еще и владельца реквизита привязать, так я понимаю? иначе как я потом буду загрузку делать...<br>> <br><br>возьми с ИТС / инета обработку export.ert|import.ert
я сама хочу сделать<br>реквизит был добавлен вручную (не периодический), а эти обработки громоздские, вытащить оттуда выгрузку реквизита %)
Тогда лучше всего сделать не список, а таблицу значений. Заполнить её значениями Спр.ТекущийЭлемент() и нужные вам реквизиты. После цикла сделать ЗначениеВФайлВнутр. <br>В рабочей соответственно получаете таблицу через ЗначениеИзФайлаВнутр и обрабатываете.<br>Правда работает это только в случае, когда перенос делается из архивной базы в рабочую. Если рабочая база не прямой потомок, откуда выгружаете - лучше так не делать.
> я сама хочу сделать<br>> реквизит был добавлен вручную (не периодический), а эти обработки громоздские, вытащить оттуда выгрузку реквизита %)<br><br>тогда надо выгружать родителя и владельца !
"> После цикла сделать ЗначениеВФайлВнутр. <br>Добавила таблицузначений с реквизитом и кодом элемента, а как это в файл воткнуть, непойму...<br>Процедура Выполнить()  <br> <br> Файл = СоздатьОбъект("Текст");    <br> Файл.Очистить();<br> Спр = СоздатьОбъект("Справочник.Номенклатура");<br> Спр.ВыбратьЭлементы();<br> Пока Спр.ПолучитьЭлемент()=1 Цикл<br> Если Спр.ЭтоГруппа() = 1 Тогда<br> Продолжить;<br> КонецЕсли;<br> <br>        <br> Спис = СоздатьОбъект("ТаблицаЗначений");<br> <br> Спис.НоваяКолонка("Код","Строка");<br> Спис.НоваяКолонка("ДатаПоступ","Дата");<br> Спис.Код = Спр.Код;<br> Спис.ДатаПоступ = Спр.ДатаПоступ;<br> Файл.ДобавитьСтроку(Спис.ВСтрокуСРазделителями());<br> КонецЦикла;<br> ИмяФайла = "НашиРеквизиты"+".txt";    <br> ИФ = "C:\" + ИмяФайла;<br> Сообщить(""""+ИФ);<br> Файл.Записать(СокрЛП(ИФ));<br> <br> <br> <br>КонецПроцедуры"
"> > После цикла сделать ЗначениеВФайлВнутр. <br>Извиняюсь, ошибся. Функция называется ЗнаечниеВФайл и соответственно ЗначениеИзФайла.<br><br>Процедура Выполнить()  <br> Спис = СоздатьОбъект("ТаблицаЗначений");<br> Спис.НоваяКолонка("Код","Строка");<br> Спис.НоваяКолонка("ДатаПоступ","Дата");<br> Спр = СоздатьОбъект("Справочник.Номенклатура");<br> Спр.ВыбратьЭлементы();<br> Пока Спр.ПолучитьЭлемент()=1 Цикл<br> Если Спр.ЭтоГруппа() = 1 Тогда<br> Продолжить;<br> КонецЕсли;<br> Спис.Код = Спр.Код;<br> Спис.ДатаПоступ = Спр.ДатаПоступ;<br> КонецЦикла;<br> ИмяФайла = "НашиРеквизиты"+".txt";    <br> ИФ = "C:\" + ИмяФайла;<br> Сообщить(""""+ИФ);<br> ЗначениеВФайл (СокрЛП(ИФ), Спис);<br>КонецПроцедуры<br><br>"

Читают тему

(гостей: 1)

Быстрый переход