Вызвать программно "Перечитать данные объекта". #562609


#0 by mzelensky
Доброго всем. Есть форма. В верхней ее части имеется стандартная панель (там где "провести", "отмена проведения"ии т.д. и "Перечитать данные объекта"). Меня интересует эта самая процедура "Перечитать данные объекта", как ее вызвать программно??? Действие стандартное и не цепляется ни к какой процедуре...добработчик "ОбновлениеОтображения" не прокатывает (не то, что нужно)
#1 by Maxus43
Кто украл СП? вызывай полицейских Форма (Form) Обновить (Refresh) Синтаксис: Обновить Описание: Обновляет данные, представленные в форме. Доступность: Толстый клиент. Пример: Обновить;
#2 by mikecool
Прочитать
#3 by Maxus43
+ у объекта
#4 by mzelensky
просто обновить не прокатывает...вызываетс обработчик - "ОбновлениеОтображения", при этом данные в ТЧ не обновляются. А сли нажать на форме "Перечитать данные объекта" - данные обновляются.
#5 by mzelensky
не прокатило. ТАким образом обновляются данные объекта (т.е. переменной которая имеет его тип). А мне нужно чтобы форма обновилась.
#6 by hhhh
ну намекни нам, чем отличается "перечитать данные объекта" и "обновляются данные объекта"?
#7 by mzelensky
если бы знал - не создавал эту ветку. Но кажется уже разобрался в чем косяк.
#8 by Ненавижу 1С
это тонкий управляемый форм?
#9 by mzelensky
нет, обычная 8.1
#10 by mzelensky
не, нифига не получается. Смотри. Имеется документ. Из него открываю обработку, указываю форму дока как владелец формы обработки. В обработки произвожу заполнение Таб части документа и записываю сам документ из обработки. После этого открываю этот самый документ (во время всех этих действий форма была не закрыта, а свернута на панели) и там отображаются старые данные табличной части...нажимаю кнопку "Перечитать данные объекта" и только тогда в форме появляются актуальные данные. Понятно, что это вызвано тем, что я записываю док из обработки и у меня на форме получаются старые данные...но как сделать это самые обновление данных на форме ПРОГРАММНО...чтобы постоянно не нажимать кнопку "Перечитать данные объекта" ?!?!?! Вот в чем косяк :(
#11 by kosts
Смотри как в типовых сделано, там через оповещение. и в  зупе и бух в документе зарплата к выплате.
#12 by mzelensky
а на что там смотреть то хоть? После чего вызывается это оповещение??? после чего данные обновляются эти?!
#13 by kosts
В обработке изменил. Оповестил. Открытый документ поймает сообщение. И обновится. Вот так попробуй ЭтаФорма.Обновить;
#14 by Axel2009
оповещение вызывается когда вызвал. а вот ловля этого оповещения только если ктото до этого вызвал.
#15 by mzelensky
Нашел в типовых - сейчас попробую. "оповещение вызывается когда вызвал" - эт понятно "а вот ловля этого оповещения только если ктото до этого вызвал" - эта част ьфразы осталась ЗА ГРАНЬЮ ПОНИМАНИЯ.
#16 by Axel2009
"оповещение вызывается когда вызвал" при закрытии одной из форм Оповестить("трохтибидох_обновиться", , ЭтаФорма) "ловля этого оповещения", но ведь сначала нужно чтобы ктото вызвал. в форме документа прописать
#17 by mzelensky
по СП не совсем пойму как подключить обработчик оповещения. Чтобы потом можно было через "Оповестить("трохтибидох_обновиться", , ЭтаФорма)" сработать
#18 by Axel2009
ниче не надо. у формы документа, которая сворачивается, подключи процедуру к форму "ОбработкаОповещения" и зайдет само.
#19 by Axel2009
то что написано в СП про подключить - чтобы вызывать общую какую либо процедуру для любых оповещений, если таковое надо.. т.е. при вызове Оповестить - отладчик будет скакать по всем формам где заведена обработка оповещения И в процедуру подключенную, если есть.
#20 by mzelensky
Понял, спасибо!!! Попробую!
#21 by Mort
нелогично. Если обработка вызывается из формы дока, она должна чисто заполнять док на форме (не записывая). Другое дело если обработка вызывается независимо и в ней указывается один либо перечень доков - тогда она сама должна записывать.
#22 by Axel2009
ну она и записывает. а вот открытый документ то надо перечитать, чтобы там данные обновились
#23 by mzelensky
сделал оповещение, все срабатывает как ножно, но данные не обновляются в форме открытого дока :( В обработке пишу: В документе:
#24 by Axel2009
#25 by Mort
Я не о том как решить задачу, а о логике построения пользовательского интерфейса. Она в данном случае некорректная.
#26 by mzelensky
там корректная цепочка. Просто полностью все расписывать долго...ну, просто поверь ,что так нужно :)
#27 by Mort
А кривая логика вечно порождает нестандартные задачи.
#28 by Mort
Если пользователь открыл документ, он должен быть уверен, что пока не нажал конпку "записать" или "ок", он не внесет никаких изменений в базу.
#29 by mzelensky
А если кнопка "записать" находится в этой самой обработке??? Короче, не парь мозги по поводу логики...тут проблема в другом, а с логикой я разбирусь
#30 by Axel2009
так сработало?
#31 by mzelensky
ДА, сделал наверняка:
#32 by Axel2009
Прочитать вызывает следующий 2 строчки автоматом
#33 by mzelensky
да, верно!
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям