Имя: Пароль:
1C
1С v8
Обновление управляемой формы обработки
,
0 CyberRich
 
02.10.15
12:20
Здравствуйте!

Из управляемой формы внешней обработки передаю управление в модуль объекта, там изменяю табличную часть обработки (добавляю строки). После возвращения в форму табличная часть не изменилась (пуста).

Перерыл весь интернет, везде говорят, что нужно писать ЭтаФорма.Прочитать(). Но у моей формы нет такого метода. Более того, смотрим СП, статью УправляемаяФорма: в методах нет Прочитать().

Сломал все мозги, обращаюсь к форумчанам за помощью: как отобразить изменения в ТЧ?
1 Fragster
 
гуру
02.10.15
12:29
РеквизитФормыВЗначение/ЗначениеВРеквизитФормы
2 SiAl-chel
 
02.10.15
12:30
(0) У меня была похожая проблема. Из разных форм одной обработки пытался изменять реквизиты обработки, но их значения в разных формах отличались. Фишка в том, что форма рождается на сервере и практически живет автономно.
У тебя обратно из модуля управление возвращается в модуль формы? Попробуй программно из объекта узнать текущее состояние (количество строк, значения полей) табличной части.
Метод формы Прочитать() является часть расширения формы для хранимых в базе объектов, для обработок нет такого расширения формы.
3 CyberRich
 
02.10.15
12:42
Пробовал так:

ЗначениеВРеквизитФормы(РеквизитФормыВЗначение("Объект"), "Объект");

- не работает
4 Fragster
 
гуру
02.10.15
12:47
(3) да
5 Fragster
 
гуру
02.10.15
12:47
если еще пару раз обренуть - тоже не заработает.
6 Fragster
 
гуру
02.10.15
12:48
потому что надо сделать объект, провести над ним манипуляции, и запузырить его обратно
7 Timon1405
 
02.10.15
12:50
8 SeiOkami
 
02.10.15
13:08
(3), а ругается-то как?
9 bolobol
 
02.10.15
13:13
(3) Что это за вынул-сунул?
Действия произведены над серверной частью объекта, её нужно доставить на клиент, а не снова запросить Объект с клиента и полученное отправить обратно на Клиент.
10 CyberRich
 
02.10.15
13:14
Никак не ругается, просто не заполняет.

Timon1405, спасибо огромное! С самого утра бился лбом об стену!

Получилось так:

    Об=РеквизитФормыВЗначение("Объект");
    Об.ПрочитатьФайлЗаказа();
    ЗначениеВРеквизитФормы(Об, "Объект");
11 bolobol
 
02.10.15
13:15
+(9) ЗначениеВРеквизитФормы(ИзменённаяТЧ, "Объект.ТЧ");
12 rozer76
 
02.10.15
14:41
(10) в типовых для такого в форме есть "ОбработкаОповещения" где для события срабатывает ЭтаФорма.Прочитать();
И это позволяет извне после изменения данных делать "Оповестить"
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.