8.х [РЕШЕНО] "Размножение" строк ТЧ документа при проведении

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем nickvv, 13 ноя 2017 в 14:04.

  1. TopicStarter Overlay
    nickvv
    Offline

    nickvv Опытный в 1С

    Регистрация:
    10 май 2011
    Сообщения:
    427
    Симпатии:
    1
    Баллы:
    29
    Уважаемые эксперты, прошу подсказки.
    1С:Предприятие 8.3 (8.3.9.2170)
    1С:Комплексная автоматизация 2 (2.2.4.21)
    По требованию финансистов в документе РеализацияТоваровУслуг создана еще одна табличная часть ТоварыУпрУчет (которая в большинстве случаев в точности соответствует ТЧ Товары, но иногда бывают различия как по номенклатуре, так и по суммам).
    Почему-то после проведения (ОбработкаПроведения - типовая, ничего не менял) в этой новой табличной части все строки дублируются, после каждого проведения и закрытия формы документа при следующем открытии количество каждой из первоначальных строк увеличивается на одну, т.е., например, если при создании документа было три строки, то при каждом последующем проведении добавляется один точно такой же набор строк (именно после проведения и закрытия).
    Процедура ПриОткрытии(Отказ) и Процедура ПриЧтенииНаСервере(ТекущийОбъект) - не изменял.
    Если провести документ, не закрывая формы, и перечитать данные, то количество строк не меняется. Лишние новые строки добавляются именно после проведения и закрытия формы.
    В чем может быть засада?
    Не очень понятно что именно отслеживать отладчиком: остановку по ошибке - так ошибок нет, где точки останова расставить?
    В процедурах ПриЧтенииНаСервере, ПриОткрытии,.. - так просто выдает тип значения и значение - ДанныеФормыКоллекция.
    Спасибо.
    Последнее редактирование: 13 ноя 2017 в 14:35
  2. TopicStarter Overlay
    nickvv
    Offline

    nickvv Опытный в 1С

    Регистрация:
    10 май 2011
    Сообщения:
    427
    Симпатии:
    1
    Баллы:
    29
    Разобрался: добавил условие при обращении к процедуре:
    Код:
        Если Объект.ТоварыУпрУчет.Количество()=0 Тогда
            ЗаполнитьТЧТоварыУпрУчет();
        КонецЕсли;
    
    Проблема решена.

Поделиться этой страницей