Имя: Пароль:
1C
Админ
Как обновить форму документа если данные в объекте документа поменял программно?
0 PershinSergei
 
16.12.11
13:56
Создал дополнительную обработку для заполнения объекта, в ее форме программно меняю данные в объекте документа из которого вызвал эту обработку, в объекте данные есть а на форме их не видно пока не закроешь ее и заново не откроешь.

как обновить эту открытую форму??
1 Fish
 
гуру
16.12.11
13:57
УФ?
2 Ненавижу 1С
 
гуру
16.12.11
13:57
(0) разные объекты наверное: один изменяешь, а другой наблюдаешь
хотя и оба относятся к одной ссылке в базе
3 PershinSergei
 
16.12.11
13:59
буду копать в этом направлении. Ненавижу 1С спасибо!
4 PershinSergei
 
16.12.11
14:05
Вот эта команда вызывается на модуле формы обработки

&НаКлиенте
Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт
   ЭтаФорма.СсылкаНаДок=ОбъектыНазначенияМассив[0];
   ОткрытьФормуМодально(ЭтаФорма);

КонецПроцедуры


Так я получаю ссылку на тот документ который нужно редактировать.
Можно ли тут передать не ссыылку в форму обработки которая открывается ОТКРЫТЬФОРМУМОДАЛЬНО() а сам объект чтоб он был одинаковый????
У кого какие мысли?
5 hhhh
 
16.12.11
14:56
попробуй через Оповестить и ОбработкаОповещения.
6 Vladal
 
16.12.11
16:10
(2) Ну можно получит ссылку на объект - тогад он будет перечитываться при каждом обращении.
А можно получить объект и смотреть его до посинения - он в памяти неизменный останется, а в базе его хоть стопицот раз меняли.
7 PershinSergei
 
19.12.11
14:27
Ответ нашел. для того чтобы данные в форме обновились на клиенской процедуре  другой формы нужно получить форму по ссылке и в ней использовать метод Прочитать() (Метод управляемой формы а не объекта!!!!)

П = Новый Структура("Ключ", СсылкаНаДок);
Форма = ПолучитьФорму("Документ.ПоступлениеТоваровУслуг.ФормаОбъекта", П);
Форма.Прочитать();