Обработка заполнение табличной части и доступ к форме документа #737479


#0 by Полька
Делаю внешнюю обработку заполнения табл.части документа. По результатам заполнения подсчитываются итоги и их нужно вывести в документ ниже табличной части. У меня форма документа. А как к ней обратиться? ФормаДокумента = Документы.ИнвентаризацияРасчетовСконтрагентами.ПолучитьФорму????????;
#1 by Maxus43
ФормаДокумента = ОбъектДокумента.ПолучитьФорму...
#2 by sanja26
так она девственно чистую форму получит...
#3 by Fish
А зачем вообще форму получать? Если форма открыта, то используй оповещение.
#4 by Полька
форма открыта. как в ее реквизит записать значение?
#5 by Полька
Элементыформы.НадписьИтогиДт.Заголовок = ИтогиТекст.СтрокаДт;
#6 by Fish
1. Оповестить форму о том, что изменились данные. 2. В форме в обработке оповещения обновить данные и рассчитать итог.
#7 by Полька
не поняла :(
#8 by Fish
Глобальный контекст (Global context) Оповестить (Notify) Синтаксис: Оповестить(<ИмяСобытия>, <Параметр>, <Источник>) Параметры: Тип: Строка. Имя события. Может быть использовано для идентификации сообщений принимающими их формами. Тип: Произвольный. Параметр сообщения. Могут быть переданы любые необходимые данные. Тип: Произвольный. Источник события. Например, в качестве источника может быть указана другая форма. Описание: Посылает оповещение всем созданным формам и всем подключенным через метод ПодключитьОбработчикОповещения процедурам модуля управляемого приложения (модуля обычного приложения) или общего модуля. Если для формы задана процедура-обработчик события ОбработкаОповещения, то она будет запущена, в процедуру будут переданы указанные параметры. Данный механизм может, например, применяться для организации обмена сообщениями между открытыми формами. Доступность: Тонкий клиент, веб-клиент, толстый клиент. Пример: Форма, событие ОбработкаОповещения
#9 by Полька
Это я читала. Вопрос- какую форму оповещать то? Как к ней обратиться.
#10 by Fish
Читай внимательней: "Посылает оповещение всем созданным формам". Никак не надо обращаться. Просто задаёшь имя события, например "ОбновитьИтогВформеМоегоДокумента" А уже в форме документа в обработке оповещения пишешь: Если Если ИмяСобытия = "ОбновитьИтогВформеМоегоДокумента" Тогда .... И здесь обновляешь свой реквизит.
#11 by Полька
А в форме документа в обработке как писать, если документ стандартный и закрыт? Все нужно сделать из внешней обработки
#12 by Fish
Ну тогда получай форму из ссылки на документ. Но опять же, если у тебя в форме есть процедура расчета итогов, и она не экспортная, то вызвать ты её не сможешь, сможешь только обратиться к реквизиту формы. Значит, смотри, как у тебя в форме получается значение ИтогиТекст.СтрокаДт и, при необходимости, копируй код в свою обработку.
#13 by Полька
так итоги у же посчитаны, не могу получить форму
#14 by Fish
Как-то так: Форма = ДокСсыка.ПолучитьФорму
#15 by Полька
вооооот :))) получилось
#16 by Fish
Ну а дальше Форма.Элементыформы.НадписьИтогиДт.Заголовок = НужноеЗначение;
#17 by Полька
все уже сидит на местах :))) спасибо
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С