Имя: Пароль:
1C
1С v8
Обход Таблицы Значений (управляемые формы)
0 Qwerty18
 
01.11.20
23:49
Доброе время суток уважаемые форумчане.
возникает непонятный казус при обходе Таблицы значений (ТЗ)
например если в ТЗ находится три документа реализации:
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
1 hhhh
 
02.11.20
00:03
(0) у вас для каждой строки таблицы выгружается одно и то же. Поэтому все строки текстового файла должны быть идентичны. У вас так и есть, три одинаковые строки. Программа всё правильно делает, кк и задумано.
2 Сергиус
 
02.11.20
00:10
(0)Где в цикле Стр используется?
3 Cthulhu
 
02.11.20
00:14
в цикле обхода строк ТЗ - каждый раз значение строки вычисляется одинаковым образом по полученному в параметре документу (и никак не по значениям тек.строки при обходе) - и одна и то же (одинаково вычисленная) строка дописывается в текстовый файл... что напрограммировано - то и получено.
Основная теорема систематики: Новые системы плодят новые проблемы.