Доброе время суток уважаемые форумчане.
возникает непонятный казус при обходе Таблицы значений (ТЗ)
например если в ТЗ находится три документа реализации:
1.X
2.Y
3.Z
при обходе ТЗ информация о первом документе - X затирается Y, а в свою очередь информация о Y затирается последним документом - Z.
То есть каждый новый документ перезатирает информацию о предыдущем записанном документе, и остается информация только о последний документе (Z) и в количестве соответствующем общему количеству документов в свписке - то есть в файле выгрузки будет три Z.
Смотрел в отладчике - информация каждый раз перезаписывается а не добавляется,
Этот же код корректно работал на версии 8.2. И не пойму в чем дело.
-----------------------------------------------------------------------
Процедура ВыгрузитьНаСервереНал(ссылкаДок)
ДокОбъект = ссылкаДок.ПолучитьОбъект();
Текст = Новый ТекстовыйДокумент();
Для Каждого Стр Из Таблица Цикл
Если (докОбъект.Выгружен = Ложь) Тогда
ХСтрока = "$Тип&Шапка$ДатаДокумента&" + Формат(докОбъект.ДатаДоставки,"ДЛФ=Д") +
"$НомерДок&" + Формат(докОбъект.Номер,"ЧГ=0") +
"$Контр&" + докОбъект.Контрагент.Наименование +
"$КодКонтрагента&" + Формат(докОбъект.Контрагент.Код,"ЧГ=0");
Текст.ДобавитьСтроку(ХСтрока);
КонецЕсли;
КонецЦикла;
Если Текст.КоличествоСтрок() > 0 Тогда
Текст.Записать("D:\1CBase\SaleN.txt","windows-1251");
КонецЕсли;
КонецПроцедуры
----------------------------------------------------------------------
А это файл выгрузки:
/ Должно быть вот так:
$Тип&Шапка$ДатаДокумента&01.10.2020$НомерДок&00-000008$Контр&X
$Тип&Шапка$ДатаДокумента&02.10.2020$НомерДок&00-000009$Контр&Y
$Тип&Шапка$ДатаДокумента&03.10.2020$НомерДок&00-000010$Контр&Z
// а выгружается вот так:
$Тип&Шапка$ДатаДокумента&03.10.2020$НомерДок&00-000010$Контр&Z
$Тип&Шапка$ДатаДокумента&03.10.2020$НомерДок&00-000010$Контр&Z
$Тип&Шапка$ДатаДокумента&03.10.2020$НомерДок&00-000010$Контр&Z
(0) у вас для каждой строки таблицы выгружается одно и то же. Поэтому все строки текстового файла должны быть идентичны. У вас так и есть, три одинаковые строки. Программа всё правильно делает, кк и задумано.
в цикле обхода строк ТЗ - каждый раз значение строки вычисляется одинаковым образом по полученному в параметре документу (и никак не по значениям тек.строки при обходе) - и одна и то же (одинаково вычисленная) строка дописывается в текстовый файл... что напрограммировано - то и получено.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший