|
Вызов процедуры из формы |
☑ |
0
Lianes
06.07.22
✎
13:06
|
Доброго денечка. Такой вопрос. Имеется документ, у которого две формы: ФормаДокумента и ФормаСписка. В форме документа у меня написан код, который при изменении реквизита делает определенные действия. В форме списка, у меня есть кнопка, которая по нажатию кнопки, изменяет ЭТОТ_САМЫЙ реквизит выделенных строк:
-------------------
СтрокиСписка = Элементы.Список.ВыделенныеСтроки;
ОбъектРасх = СтрокиСписка[0].Ссылка.ПолучитьОбъект();
ОбъектРасх.ОрПол = Истина; <======== вот этот реквизит
ОбъектРасх.Записать();
-------------------
Но, это изменение не вызывает процедуру ОрПолПриИзмменении. Теперь вопрос, как дополнить/изменить код, чтобы эта процедура вызывалась ?
|
|
1
Ненавижу 1С
гуру
06.07.22
✎
13:09
|
(0) добро пожаловать в объектную модель 1С!
У тебя в форме объекта событие привязано к элементу формы, а не реквизиту объекта.
Тебе придется или повторить код, а лучше вынести его в общее место и вызывать как из объекта, так и из списка.
Событий к реквизитам объекта в 1С нет, что привносит тоску конечно.
|
|
2
butterbean
06.07.22
✎
13:10
|
(0) добавить эту процедуру в ФормуСписка. Можно вынести тело процедуры в общий модуль например, чтобы не дублировать код в формах
|
|
3
Ненавижу 1С
гуру
06.07.22
✎
13:26
|
(2) теоретически да, но возможно там увязаны элементы формы объекта
|
|
4
Lianes
06.07.22
✎
13:30
|
(1)
Вы предлагаете, сделать также как и предлагают в ответе (2) ? Тобишь создать ОбщийМодуль и туда записать код ? Или что вы имеете ввиду ? Можно как-то связать событие не с элементом формы, а с реквизитом объекта ?
|
|
5
butterbean
06.07.22
✎
13:30
|
(3) я так понял там только события элементов формы, которые вызывают выполнение на сервере потом
|
|
6
butterbean
06.07.22
✎
13:33
|
(4) можно в событии ПриЗаписи объекта что-то менять, например
|
|
7
Kassern
06.07.22
✎
13:40
|
(0) какая конфа?
|
|
8
Lianes
06.07.22
✎
14:24
|
(7) 1С:Предприятие 8.3, учебная версия (8.3.15.1747)
Управление нашей фирмой, редакция 1.6 (1.6.19.150)
|
|
9
Kassern
06.07.22
✎
14:26
|
(8) гляньте в УНФ как реализован пересчет строчки номенклатуры в ТЧ реализации. Например при изменении номенклатуры, или цены.
|
|
10
Kassern
06.07.22
✎
14:28
|
Если там по аналогии с УТ сделано (нет под рукой УНФ), то будет обращение к общему модулю, куда будет передан объект и нужная строка со структурой заполнения.
|
|
11
Kassern
06.07.22
✎
14:29
|
в (1) вам как раз предлагают сделать правильно, вынести бизнес логику из формы
|
|
12
Lianes
06.07.22
✎
14:36
|
(11) Куда её вынести ? В модуль объекта ? Или создать общую форму ?
|
|
13
Kassern
06.07.22
✎
14:37
|
(12) нда...значит вам пока рано об этом думать. Я вам указал пример, как сделано в типовой. Попробуйте сделать по аналогии
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший