Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Не заполняется табличная часть при создании и проведении.

Не заполняется табличная часть при создании и проведении.
Я
   Maikroft
 
08.05.19 - 12:39
Добрый день.
Что-то я никак не пойму, обращаюсь за помощью.
Есть документ, который создается на основании другого документа по определенной команде.
Вставил в создаваемый документ еще одну ТЧ, написал процедуру (ниже), которая заполняет её, вставил вызов процедуры в ОбработкаПроведения
По отладчику при вызове команды вхожу в процедуру, все отрабатывает, отбирается, заполняется, но при открытии документа ТЧ пустая.
При этом если провести документ, все заполнится, но нужно именно при создании.
Посоветуйте что-нибудь, а?)

ЗДЕСЬ БОЛЬШОЙ И СЛОЖНЫЙ ЗАПРОС, ОН РАБОТАЕТ.

Запрос.УстановитьПараметр("Ссылка", Ссылка);
    ПакетРезультатов = Запрос.ВыполнитьПакет();
    
    ВыборкаНаДатуОтгрузки = ПакетРезультатов[1].Выбрать();
    Если ВыборкаНаДатуОтгрузки.Следующий() Тогда
        НоваяСтрокаВыборкаНаДО = Температура.Добавить();
        ЗаполнитьЗначенияСвойств(НоваяСтрокаВыборкаНаДО, ВыборкаНаДатуОтгрузки);
        НоваяСтрокаВыборкаНаДО.ДатаВыгрузкиРН = НачалоДня(ТекущаяДата());
    КонецЕсли;
    
    ВыборкаНаДатуДоставки = ПакетРезультатов[2].Выбрать();
    Если ВыборкаНаДатуДоставки.Следующий() Тогда
        НоваяСтрокаВыборкаНаДД = Температура.Добавить();
        ЗаполнитьЗначенияСвойств(НоваяСтрокаВыборкаНаДД, ВыборкаНаДатуДоставки);
        НоваяСтрокаВыборкаНаДД.ДатаВыгрузкиРН = НачалоДня(ТекущаяДата());
        Если ВыборкаНаДатуДоставки.ПолденьПрогноз = Истина И Константы.РасчетТемпературыВРН = Истина Тогда
            ТребуетсяРЕФ = Истина;
        Иначе
            ТребуетсяРЕФ = Ложь;
        КонецЕсли;
    КонецЕсли;
 
 
   sqr4
 
1 - 08.05.19 - 12:42
вставлять в другое место
   hhhh
 
2 - 08.05.19 - 12:45
(0) в ОбработкаПроведения документ не записывается. Попробуйте ПередЗаписью()
   Maikroft
 
3 - 08.05.19 - 12:57
Перед записью же вроде еще нет ссылки в документе, чтобы отобрать его?
   Ns33
 
4 - 08.05.19 - 12:58
Лучше, конечно как в (2).

Могу дать вредный совет: после заполнения ТЧ в ОбработкаПроведения можно вызвать Записать(), но тогда повторно вызовутся ПередЗаписью() и ПриЗаписи(), но через ДополнительныеСвойства или переменную можно это отслеживать и пропускать повторные вызовы.
   hhhh
 
5 - 08.05.19 - 13:13
(3) перепишите запрос не на ссылку в документе, а например тз с данными документа
   Maikroft
 
6 - 08.05.19 - 13:21
Как вариант, кстати.
Можно еще выбирать ТЧ из исходного документа, а не того, который создается, но там много всяких ограничений и дополнительных выборок.
Поставил пока перезапись документа по вредному совету в том случае, если количество строк новой ТЧ = 0.
Спасибо всем за советы.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует