Заполнение таблицы формы

1. Vhett 29.07.22 11:31 Сейчас в теме
Друзья. Подскажите как правильнее сделать?

У меня выполняется процедура ПриОткрытииПосле когда я создаю документ на основании другого. Но мне нужно перезаполнить табличную часть другими данными.
Тип табличной части НовыйДокумент и ДокументаОснование как ДанныеФормыКоллекция.

Пробовал на сервере провернуть через ДанныеФормыВЗначение и ЗначениеВДанныеФормы, но в таком случае выдаёт ошибку что нельзя изменять данные Объекта, что меня поставило в тупик.

По сути, я пытаюсь ТЧ из ДокументаОснования загрузить в ТЧ НовыйДокумент.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. ivan65 29.07.22 11:37 Сейчас в теме
интересно а так не прокатит?
Таблица2.Загрузить(Таблица1.Выгрузить());
3. Vhett 29.07.22 11:38 Сейчас в теме
(2) нет, так же будет выходить ошибка изменения Объекта

Нельзя изменять поле, содержащее объект данных формы
4. aezdakov 6 29.07.22 11:49 Сейчас в теме
(3)
так же будет и так же выходит - разные вещи, если всё же второе, то по примеру выше, Таблица2 не является типом "ДанныеФормыКоллекция"
5. Vhett 29.07.22 12:01 Сейчас в теме
(4) Так же выходит.
Прикол в том что данные выгружаются в ТаблицуЗначений и потом загружаются в ТЧ НовогоДокумента, и данные в НовомДокументе корректны. Но ошибка выскакивает по окончанию процедуры.

ДокНовый.СоставБюджета.Очистить();
ТЗ = ТЧДокОснование.Выгрузить();
Документ = ДанныеФормыВЗначение(ДокНовый, Тип("ДокументОбъект.Корректировка"));
Документ.СоставБюджета.Загрузить(ТЗ);
ЗначениеВДанныеФормы(Документ, ДокНовый);
8. aezdakov 6 29.07.22 12:09 Сейчас в теме
(5)
Документ = ДанныеФормыВЗначение(ДокНовый, Тип("ДокументОбъект.Корректировка"));

а что за тип имеет "ДокНовый", разве не объект документа? Я не совсем понимаю, что Вы тут вообще пытаетесь сделать, если Вы создаёте документ на основании, то почему не перезаполнять нужную Вам таблицу в событии "ОбработкаЗаполнения"?
9. Vhett 29.07.22 12:50 Сейчас в теме
Друзья. Задача стала не актуальной.

Выяснил что в логике создания документа Корректировка ТЧ заполняется так: если есть предыдущий документ Корректировка с таким же ДокументомОснование, тогда заполняется ТЧ оттуда, в противном случае ТЧ заполняется из ДокументаОснования.

(8) Задача была такой, что если в ДокументОсновании выделены определённые строки, то переносить только их. В противном случае всю ТЧ переносить из ДокументаОснования (я не сразу понял откуда берётся ТЧ в Новом документе, так как она была отличной от ДокументаОснования)
6. FatPanzer 29.07.22 12:05 Сейчас в теме
Нельзя править данные формы одного объекта в чужом модуле формы. Можно только в собственном модуле формы или в общем модуле.
7. Vhett 29.07.22 12:09 Сейчас в теме
(6) прошу прощения, я наверное не дописал.

При открытии формы нового документа, я пытаюсь там перезаписать ТЧ беря данные из документа основания.

Я не пытаюсь менять ТЧ Основания из формы НовогоДокумента
10. blackjack666 15 23.04.24 17:59 Сейчас в теме
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот