Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Как из события ОбработкаЗаполнения запустить процедуры в модуле формы

Как из события ОбработкаЗаполнения запустить процедуры в модуле формы
Я
   serg999
 
06.12.20 - 15:35
Добрый день.
Выполняю заполнение документа РеализацияТоваровУслуг через ввод на основании. После заполнения надо обновить строку в табличной части "Товары".
Обновление номенклатуры в ТЧ.Товары, выполняется через событие с дальнейшем запуском через оповещение ТоварыНоменклатураПриИзмененииВопросПользователюЗавершение.

Вопрос, как можно выполнить из ОбрабокиЗаполнения процедуру ТоварыНоменклатураПриИзмененииВопросПользователюЗавершение ?

ЗЫ: Как вариант отработать через событие ПриОткрытии, но может как то более правильно решается вопрос ...
   Ненавижу 1С
 
1 - 06.12.20 - 16:03
Зачем обновлять после заполнения? Почему сразу не обновить и ничего не спрашивать у пользователя
   serg999
 
2 - 06.12.20 - 16:06
Так есть уже написанные методы, зачем придумывать ...
   Ненавижу 1С
 
3 - 06.12.20 - 16:07
(2) напоминает анекдот про вирус который надо специально запустить чтобы он заработал
   serg999
 
4 - 06.12.20 - 16:09
:) нефига, в моем случае типа ООП
   acht
 
5 - 06.12.20 - 16:17
И ООП ты тоже не знаешь
   acht
 
6 - 06.12.20 - 16:19
Делай клиент-серверную процедуру с нужными параметрами, вызывай ее из обработки заполнения и из ответа на вопрос.
   serg999
 
7 - 06.12.20 - 16:46
Можно пояснить, каким образом со стороны серверы можно вызвать процедуру на клиенте ?
   ДенисЧ
 
8 - 06.12.20 - 16:59
(7) Лучше не образом. А подсвечником.
Засунуть оный подсвечник в нужное место тому, кому пришла в межушный ганглий такая идея.
   serg999
 
9 - 06.12.20 - 17:04
(8) Ну и я о том же ...
   hhhh
 
10 - 06.12.20 - 17:35
(9) в (0) же вы собирались вызвать? А здесь уже боитесь?
   serg999
 
11 - 06.12.20 - 17:45
(10) Ладно, считается :)  Как задачу решить, есть мыли ?
   ДенисЧ
 
12 - 06.12.20 - 17:52
(11) А представь... Ты создаёшь документы пачкой. На сервере. В фоновом задании. Ночью. На сервере монитора нет. Форма без монитора не создаётся....
Что делать будешь? Лучше бы ты подсвечник взял...
   hhhh
 
13 - 06.12.20 - 18:02
(11) ну например, на сервере создаешь файлик и кидаешь его  в какую-нибудь общую папку. На клиенте постоянно мониторишь эту папку, и если появился файлик, запускаешь процедуру ТоварыНоменклатураПриИзмененииВопросПользователюЗавершение.
   hhhh
 
14 - 06.12.20 - 18:16
(11) еще там есть регистр сведений НапоминанияПользователя. Можешь вместо файлика в него писать. У нас была похожая задача: когда бухгалтер создавал документ Реализация, через 10 секунд на складе на компе у кладовщика ревела сирена.
   serg999
 
15 - 06.12.20 - 18:22
Мда .. (12) подсвечники,  (13) файл с шару положить (14) с сиреной, у меня уже глаз начал дергаться.
Может есть, что по делу.
   ДедМорроз
 
16 - 06.12.20 - 18:41
Во первых,если мы что то хотим обновить на форме,то,когда формы нет,то и обновлять не нужно.
Во вторых,если в обработке заполнения было решено что-то заполнить,то это что-то должно правильно разместиться по полям,а потом сообщить форме через параметр,что ее как бы прочитали.
Потому как,если мы сохранили документ,а потом его открыли,то все эти процедуры обновления тоже должны работать - причем,на сервере,а не на клиенте.
   serg999
 
17 - 06.12.20 - 19:03
(16) мне надо рассчитать и заполнить цену, я могу это сделать и при обработке заполнения, но на модуле форме есть процедура обновления ТЧ, вообще если быть точнее процедура расчета вынесена в общий модуль, но структура формируется в модуле формы.
Собственно вопрос, как сообщить форме из обработки заполнения, что при открытии НАДО обновить ТЧ, из доступных переменных только "Источник" (ДокументОбъект.РеализацияТоваровУслуг)?
   Ненавижу 1С
 
18 - 06.12.20 - 19:06
(17) вот ты замучил, добавь ДополнительнойСвойство объекту.
прочти его куда-нибудь в событии ПриЧтенииНаСервере у формы.
Анализируй его наличие и обновляй на здоровье.
   Cthulhu
 
19 - 06.12.20 - 19:08
что в (6) неясно? разжевать надо еще?
1) выносишь выполняемый функционал в экспорт-процедуру (с нужными параметрами) модуля объекта, выполняемую в серверном контексте
2) заменяешь в модуле формы перенесенный в п.1. код на вызов процедуры п.1 (с нужным образом установленными параметрами), "из ответа на вопрос"
3) вызывай процедуру модуля объекта п.1 из любго нужного места модуля объекта.
   hhhh
 
20 - 06.12.20 - 19:13
(17) давайте рассуждать логически. Рассчитать цену на клиенте невозможно. Значит там у вас в общем модуле в итоге вызывается какая-то серверная процедура. Найдите там эту процедуру и используйте в обработке заполнения.
   Ненавижу 1С
 
21 - 06.12.20 - 19:17
(0) а кстати чем типовое не устраивает, посмотрите как там делается
   serg999
 
22 - 06.12.20 - 19:20
По порядку:
(18) так и сделал, но мне не нравиться ..
(20) да, но структуру муторно готовить, так же при очередного обновления со старой структурой пойдешь на сервер, а там ошибка ..
(19) (6) Не пинайте ногами, но тут не могу понять :(
(21) Типовое не смотрел, сейчас попробую глянуть ..


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.