Не заполняется табличная часть при вводе документа на основании(ЗУП)

Новая тема
Показывать по 10 20 40 сообщений
Может быть специалиста пригласить?
Я решила переписать процедуру ОбработкаЗаполнения.Неподскажете,как правильно записать,чтобы у меня заполнялась именно табличная часть документа?
Выше я привел типовой код! В нем чтото непонятно?
"В нём всё понятно.Просто у меня в процедуре ОбработкаЗаполнения ДатаВозврата в табличной части не заполняется
ОбработкаЗаполнения(Основание)
//{{__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
Если ТипЗнч(Основание) = Тип("ДокументСсылка.ОтпускаОрганизаций") Тогда
// Заполнение шапки
ДанныеПрошлойВерсии = Основание.ДанныеПрошлойВерсии;
ДвиженияИсправляемогоДокумента = Основание.ДвиженияИсправляемогоДокумента;
Комментарий = Основание.Комментарий;
КраткийСоставДокумента = Основание.КраткийСоставДокумента;
Организация = Основание.Организация;
Ответственный = Основание.Ответственный;
Для Каждого ТекСтрокаРаботникиОрганизации Из Основание.РаботникиОрганизации Цикл
НоваяСтрока = РаботникиОрганизации.Добавить();
НоваяСтрока.Сотрудник = ТекСтрокаРаботникиОрганизации.Сотрудник;
НоваяСтрока.Сторно = ТекСтрокаРаботникиОрганизации.Сторно;
НоваяСтрока.УдалитьПриказ = ТекСтрокаРаботникиОрганизации.УдалитьПриказ;
НоваяСтрока.ФизЛицо = ТекСтрокаРаботникиОрганизации.ФизЛицо;
КонецЦикла;
ИначеЕсли ТипЗнч(Основание) = Тип("ДокументСсылка.КомандировкиОрганизаций") Тогда
// Заполнение шапки
КонецЕсли;
//}}__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ
КонецПроцедуры // ОбработкаЗаполнения()
"
"Вот можно это сделать примерно таким образом:
Пока Выборка.Следующий() Цикл
     ДокументОбъект=Документы.ВозвратНаРаботуОрганизаций.СоздатьДокумент();
  РаботникОрганизации=ДокументОбъект.РаботникиОрганизации.Добавить();


РаботникОрганизации.Сотрудник=Выборка.Сотрудник;
РаботникОрганизации.ДатаВозврата=Выборка.ДатаОкончанияОтпускаПлюсОдинДень;
ДокументОбъект.Дата=ТекущаяДата();
   ДокументОбъект.Записать();
                 
             

        //ДокументОбъект.ПолучитьФорму().Открыть();


КонецЦикла;
ну и т.д."
можно и так!
А почему может быть следующая ситуация:в отладике всё правильно,но при этом если открыть документ ВозвратНаРаботуОрганизаций табличная часть всё равно не заполняется?
не знаю, мне по форуму не видно ни вашей базы, не вашей обработки!
"Запрос=Новый Запрос("ВЫБРАТЬ
                   | СостояниеПоДокументуОтпускаОрганизаций.Организация,
                   | СостояниеПоДокументуОтпускаОрганизаций.Сотрудник,
                   | СостояниеПоДокументуОтпускаОрганизаций.Состояние КАК ВидОтпуска,
                   | СостояниеПоДокументуОтпускаОрганизаций.Период КАК ДатаНачалаОтпуска,
                   | СостояниеПоДокументуОтпускаОрганизаций.ПериодЗавершения КАК ДатаОкончанияОтпуска,
                   | ДОБАВИТЬКДАТЕ(СостояниеПоДокументуОтпускаОрганизаций.ПериодЗавершения, ДЕНЬ, 1) КАК ДатаОкончанияОтпускаПлюсОдинДень,
                   | СостояниеРаботниковОрганизаций.Период КАК ДатаНачалаСостоянияПослеОтпуска,
                   | СостояниеРаботниковОрганизаций.ПериодЗавершения КАК ДатаЗавершенияСостоянияПослеОтпуска,
                   | СостояниеРаботниковОрганизаций.Состояние,
                   | СостояниеРаботниковОрганизаций.СостояниеЗавершения,
                   | СостояниеРаботниковОрганизаций.Регистратор КАК Ссылка,
                   | СостояниеРаботниковОрганизаций.Регистратор.Комментарий
                   |ИЗ
                   | РегистрСведений.СостояниеРаботниковОрганизаций КАК СостояниеПоДокументуОтпускаОрганизаций
                   | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостояниеРаботниковОрганизаций КАК СостояниеРаботниковОрганизаций
                   | ПО СостояниеПоДокументуОтпускаОрганизаций.Организация = СостояниеРаботниковОрганизаций.Организация
                   | И СостояниеПоДокументуОтпускаОрганизаций.Сотрудник = СостояниеРаботниковОрганизаций.Сотрудник
                   | И (СостояниеРаботниковОрганизаций.Состояние <> ЗНАЧЕНИЕ(Перечисление.СостоянияРаботникаОрганизации.Работает))
                   | И (ДОБАВИТЬКДАТЕ(СостояниеПоДокументуОтпускаОрганизаций.ПериодЗавершения, ДЕНЬ, 1) <= СостояниеРаботниковОрганизаций.Период)
                   |ГДЕ
                   | СостояниеПоДокументуОтпускаОрганизаций.Регистратор ССЫЛКА Документ.ОтпускаОрганизаций
                   | И СостояниеПоДокументуОтпускаОрганизаций.Регистратор.Проведен
                   |ИТОГИ ПО
                   | Ссылка");

       Запрос.УстановитьПараметр("Работает",Перечисления.СостоянияРаботникаОрганизации.Работает);
//Запрос.УстановитьПараметр("ДатаНачала",);
//Запрос.УстановитьПараметр("ДатаОкончания",ДатаОкончания);

   Результат=Запрос.Выполнить();

Выборка=Результат.Выбрать();
Пока Выборка.Следующий() Цикл
     ДокументОбъект=Документы.ВозвратНаРаботуОрганизаций.СоздатьДокумент();
 ДокументОбъект.Комментарий=Выборка.Комментарий;
 ДокументОбъект.Организация=Выборка.Организация;
  РаботникОрганизации=ДокументОбъект.РаботникиОрганизации.Добавить();
РаботникОрганизации.Сотрудник=Выборка.Сотрудник;
РаботникОрганизации.ДатаВозврата=Выборка.ДатаОкончанияОтпуска;

ДокументОбъект.Дата=ТекущаяДата();

 
                 

КонецЦикла;
     
         ДокументОбъект.Записать();
КонецПроцедуры
"
Я решила заменить процедуру Заполнить и сделать это перебором,примерно так,как у меня написано.
СостояниеРаботниковОрганизаций.Регистратор.Комментарий
Но я так поняла,что нельзя добавлять поля таким образом.Когда я запускаю обработку,то выдаётся,что поле Комментарий не обнаружено.Как можно его добавить?

Читают тему
(гостей: 1)

Быстрый переход