|
Вызов процедуры одной формы из другой. | ☑ | ||
---|---|---|---|---|
0
Креатив
13.04.21
✎
17:05
|
Предположим есть у меня две формы. Похожие друг на друга.
И хочу я вызвать процедуру, написанную в модуле второй формы, при работе первой формы с контекстом первой формы. Есть такая возможность? |
|||
1
Kondarat
13.04.21
✎
17:07
|
(0) ПолучитьФорму(), вызвать экспортную процедуру
|
|||
2
vicof
13.04.21
✎
17:09
|
Но лучше пересмотреть архитектуру решения.
|
|||
3
Fedor-1971
13.04.21
✎
17:12
|
(0) Помещаешь процедуру в общий модуль типа так ТвояНужнаяПроцедура(контФормы) Экспорт,
дальше, выполняешь контекстный вызов сервера и вызываешь общМодуль.ТвояНужнаяПроцедура(ЭтаФорма) Просто задумайся, что будет, если в Форме1 исправят алгоритм работы процедуры, а в Форме2 будет расчёт на старый |
|||
4
Fedor-1971
13.04.21
✎
17:13
|
(1) контекст Фрормы2 в ПолучитьФорму практически не получится
|
|||
5
Kondarat
13.04.21
✎
17:15
|
(4) Если вызвать клиентскую процедуру, то получится.
|
|||
6
Fedor-1971
13.04.21
✎
17:15
|
4+ Хотя, для ОФ может прокатить
|
|||
7
Kondarat
13.04.21
✎
17:16
|
+5 и передать в нее параметрами вызывющую форму
|
|||
8
Fedor-1971
13.04.21
✎
17:20
|
(7) не факт, полный контекст формы есть только НаСервере.
То, что есть НаКлиенте - мало пригодно к работе процедур. Кроме того, ТС может захотеть обработать ТЧ по алгоритму "как в другой форме" Поэтому, самый корректный способ - положить такую процедуру в общий модуль и отдать ей контекст формы с сервера |
|||
9
Kondarat
13.04.21
✎
17:21
|
(8) Согласен. Конечно с ограничениями.
|
|||
10
Креатив
13.04.21
✎
17:22
|
(3)В форме1 такой процедуры не будет.
Уточнение: формы управляемые. |
|||
11
Fedor-1971
13.04.21
✎
17:26
|
(10) тебе в (3) изложили схему "как можно сделать вызов процедуры с контекстом формы" - процедура будет одна и вызывай её где тебе нужно
|
|||
12
Креатив
13.04.21
✎
17:28
|
Или даже более интересный вопрос. Могу ли я добавить процедуры в модуль формы программно? ПриСозданииНаСервере, например.
|
|||
13
Креатив
13.04.21
✎
17:33
|
(12)+команды с их обработчиками?
|
|||
14
Fedor-1971
13.04.21
✎
17:34
|
(12) Посмотри в типовых как реализована кнопка Печать в документах
|
|||
15
Fedor-1971
13.04.21
✎
17:36
|
14+ саму кнопку пришпандорить не проблема,
проблема в том, что обработчику нужен контекст формы + код нужно скомпилировать не на один раз |
|||
16
Креатив
13.04.21
✎
17:36
|
(14)Как-то недавно долго искал, как это всё реализовано. Надо будет ещё посмотреть. Правда опять искать придётся.
|
|||
17
Fedor-1971
13.04.21
✎
17:39
|
(16) там что-то типа Подключаемый_.... у процедуры + она в самом модуле формы
|
|||
18
Rovan
гуру
13.04.21
✎
17:49
|
(0) Фирма Контур так делает...не знаю какие чудаки там программируют обработку 1С, но в ней условно 30 форм и 25 из них служебные (пользователю не отображаются)
|
|||
19
polosov
13.04.21
✎
18:14
|
(18) Вполне себе нормальная архитектура заточенная на совместную разработку и допиливание. Поначалу немного смущает, правда.
|
|||
20
Kassern
13.04.21
✎
18:15
|
(18) ага и куча макетов, в которых хранятся еще обработки)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |