Всем привет.
Задача: Есть докумет... в форме док создал кнопочку при ее нажатии открываеться внешняя обработка, в которой заполняються реквизиты "ЦельНаправления" и "ИсточникФинансированиядляСотрудника". При нажатии на кнопку запольнить должна заполняться табличная часть документа (т.е реквизиты таб части док. "Цель" и "ИсточникФинансирования"). При этом форма документа открыта. Строчки создавать не нужно их создает пользователь.
Проблема: Изменения видны только после того как зыкроешь док. и снова его откроешь.
Вопрос: Как сделать так чтоб не приходилось закрывать документ, а изменения видны были сразу?
Задача: Есть докумет... в форме док создал кнопочку при ее нажатии открываеться внешняя обработка, в которой заполняються реквизиты "ЦельНаправления" и "ИсточникФинансированиядляСотрудника". При нажатии на кнопку запольнить должна заполняться табличная часть документа (т.е реквизиты таб части док. "Цель" и "ИсточникФинансирования"). При этом форма документа открыта. Строчки создавать не нужно их создает пользователь.
Проблема: Изменения видны только после того как зыкроешь док. и снова его откроешь.
Вопрос: Как сделать так чтоб не приходилось закрывать документ, а изменения видны были сразу?
Процедура ЗаполнитьНажатие(Элемент)
ОбъектДок = Док.ПолучитьОбъект();
Для каждого СтрокаТабличнойЧастиДокумента Из ОбъектДок.РаботникиОрганизации Цикл
СтрокаТабличнойЧастиДокумента.Цель=ЦельНаправления;
СтрокаТабличнойЧастиДокумента.ИсточникФинансирования=ИсточникФинансированиядляСотрудника;
КонецЦикла;
ОбъектДок.Записать();
КонецПроцедуры
ПоказатьОтветы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Оповестить (Notify)
Синтаксис:
Оповестить(<Имя события>, <Параметр>, <Источник>)
Параметры:
<Имя события> (необязательный)
Тип: Строка. Имя события. Может быть использовано для идентификации сообщений принимающими их формами.
<Параметр> (необязательный)
Тип: Произвольный. Параметр сообщения. Могут быть переданы любые необходимые данные.
<Источник> (необязательный)
Тип: Произвольный. Источник события. Например, в качестве источника может быть указана другая форма.
Описание:
Посылает оповещение всем созданным формам и всем подключенным через метод ПодключитьОбработчикОповещения процедурам модуля приложения или общего модуля. Если для формы задана процедура-обработчик события ОбработкаОповещения, то она будет запущена, в процедуру будут переданы указанные параметры.
Данный механизм может, например, применяться для организации обмена сообщениями между открытыми формами.
Недоступен на сервере 1С:Предприятие. Не используется в модуле внешнего соединения.
Синтаксис:
Оповестить(<Имя события>, <Параметр>, <Источник>)
Параметры:
<Имя события> (необязательный)
Тип: Строка. Имя события. Может быть использовано для идентификации сообщений принимающими их формами.
<Параметр> (необязательный)
Тип: Произвольный. Параметр сообщения. Могут быть переданы любые необходимые данные.
<Источник> (необязательный)
Тип: Произвольный. Источник события. Например, в качестве источника может быть указана другая форма.
Описание:
Посылает оповещение всем созданным формам и всем подключенным через метод ПодключитьОбработчикОповещения процедурам модуля приложения или общего модуля. Если для формы задана процедура-обработчик события ОбработкаОповещения, то она будет запущена, в процедуру будут переданы указанные параметры.
Данный механизм может, например, применяться для организации обмена сообщениями между открытыми формами.
Недоступен на сервере 1С:Предприятие. Не используется в модуле внешнего соединения.
В модуле формы документа создал процедуру -
В свою добавил строчки...(2)
Чето не катит :(
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
Форма=Параметр //Сюда попадает отладчик
Форма.Обновить(); // и сюда тоже попадает
КонецПроцедуры
В свою добавил строчки...(2)
Процедура ЗаполнитьНажатие(Элемент)
ОбъектДок = Док.ПолучитьОбъект();
Форма=ОбъектДок.ПолучитьФорму("ФормаДокумента",,);//!!!!!!!!!!!!!!!!!!!
Для каждого СтрокаТабличнойЧастиДокумента Из ОбъектДок.РаботникиОрганизации Цикл
СтрокаТабличнойЧастиДокумента.Цель=ЦельНаправления;
СтрокаТабличнойЧастиДокумента.ИсточникФинансирования=ИсточникФинансированиядляСотрудника;
КонецЦикла;
Оповестить(,Форма,); //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
ОбъектДок.Записать();
КонецПроцедуры
ПоказатьЧето не катит :(
ПолучитьФорму (GetForm)
Синтаксис:
ПолучитьФорму(<Форма>, <Владелец>, <Ключ уникальности>)
Параметры:
<Форма> (необязательный)
Тип: Строка, ОбъектМетаданных: Форма . Имя формы, как оно задано в конфигураторе, или объект описания метаданного требуемой формы. Если параметр не указан, то используется основная форма, заданная в конфигураторе.
<Владелец> (необязательный)
Тип: Форма, Элемент управления. Объект, который будет являться владельцем открываемой формы.
Синтаксис:
ПолучитьФорму(<Форма>, <Владелец>, <Ключ уникальности>)
Параметры:
<Форма> (необязательный)
Тип: Строка, ОбъектМетаданных: Форма . Имя формы, как оно задано в конфигураторе, или объект описания метаданного требуемой формы. Если параметр не указан, то используется основная форма, заданная в конфигураторе.
<Владелец> (необязательный)
Тип: Форма, Элемент управления. Объект, который будет являться владельцем открываемой формы.
Код |
---|
Форма = ОбъектДок.ПолучитьФорму("ФормаДокумента", ЭтаФорма);
Показать полностью |
Не прет гадина..... ((((((((
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
Если ИмяСобытия="Заполнить" Тогда
Форма=Параметр;
Форма.Обновить();
КонецЕсли;
КонецПроцедуры
Форма=ОбъектДок.ПолучитьФорму("ФормаДокумента",ЭтаФорма);
Оповестить("Заполнить",Форма,ЭтаФорма);
А, я не заметил, что форма-то оповещение получает,
Тогда там в обработчике попробуйте вроде этого:
Тогда там в обработчике попробуйте вроде этого:
Код |
---|
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
ЭлементыФормы.РаботникиОрганизации.СоздатьКолонки();
КонецПроцедуры
Показать полностью |
Все допетрил РАБОТАЕТ... Заполнение таб части документа прописал в модуле формы документа (а до тетого была в модуле формы Внешней обработки)
Душелов Вам Респектище огромное )))) Где тут моно плюсануть за Вас...
Вот она... )))
[
Душелов Вам Респектище огромное )))) Где тут моно плюсануть за Вас...
Вот она... )))
[
Процедура ЗаполнитьНажатие(Элемент)
ОбъектДок = Док.ПолучитьОбъект();
Форма=ОбъектДок.ПолучитьФорму("ФормаДокумента",ЭтаФорма);
Оповестить("Заполнить",Форма,ЭтаФорма);
ОбъектДок.Записать();
КонецПроцедуры
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
Если ИмяСобытия="Заполнить" Тогда
Форма=Параметр;
Для каждого СтрокаТабличнойЧастиДокумента Из РаботникиОрганизации Цикл
СтрокаТабличнойЧастиДокумента.Цель=ЦельНаправления;
СтрокаТабличнойЧастиДокумента.ИсточникФинансирования=ИсточникФинансированиядляСотрудника ;
КонецЦикла; Форма.Обновить();
КонецЕсли;
КонецПроцедуры
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот