Вход | Регистрация
 
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.
Спасибо всем за советы.

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