Имя: Пароль:
1C
1С v8
Вызов процедуры из формы
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) нда...значит вам пока рано об этом думать. Я вам указал пример, как сделано в типовой. Попробуйте сделать по аналогии
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан