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