Имя: Пароль:
1C
1С v8
Табличная часть не отображается в другой форме
0 smartem
 
13.07.17
09:28
Добрый день!

Походу что-то я запутался.
Платформа 8.3.9.2170
Использую Управляемые формы.

Создал Новую обработку. В обработке есть табличная часть "Товары".
На основной форме заполняю эту табличную часть:


ТаблицаТовары = РеквизитФормыВЗначение("Объект").Товары;
        
        
СтрокаТЗ = ТаблицаТовары.Добавить();
СтрокаТЗ.Номенклатура = НоменклатураТекущий;
СтрокаТЗ.Количество   = КоличествоЗабраноТекущее;
        
ЗначениеВРеквизитФормы(ТаблицаТовары, "Объект.Товары");



Теперь с основной формы по кнопке открываю другую форму этого же объекта (обработки). На форме выведена табличная часть - "Товары". При открытии формы - табличная часть пустая.
В отладчике при открытии формы Объект.Товары содержит пустую таблицу.

Не могу понять, если объект один и тот же. Почему в дочерних окнах получаю пустую табличную часть?

Прошу подсказать.
1 FIXXXL
 
13.07.17
09:33
(0) в двух словах: в кправлялках так нельзя
2 Альбатрос
 
13.07.17
09:34
Потому что ты работаешь с реквизитами формы
3 smartem
 
13.07.17
12:40
Ок. Спасибо всем!
Решил через отдельную ТЗ, через Временное хранилище.
4 PiterPrg
 
13.07.17
12:44
Что-то я не понял... А что мешало сделать вот так?

ОбъектСрв = РеквизитФормыВЗначение("Объект");
        
        
СтрокаТЗ = ОбъектСрв.Товары.Добавить();
СтрокаТЗ.Номенклатура = НоменклатураТекущий;
СтрокаТЗ.Количество   = КоличествоЗабраноТекущее;
        
ЗначениеВРеквизитФормы(ОбъектСрв, "Объект");
5 PiterPrg
 
13.07.17
12:48
Хотя в этом случае по-моему можно вообще работать с данными формы напрямую:

        
СтрокаТЗ = Объект.Товары.Добавить();
СтрокаТЗ.Номенклатура = НоменклатураТекущий;
СтрокаТЗ.Количество   = КоличествоЗабраноТекущее;
6 1dvd
 
13.07.17
12:50
А зачем всё это? Почему нельзя обойтись одной формой?
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший