Имя: Пароль:
1C
1С v8
Доступ к элементу формы из модуля объекта
0 hookahboy1
 
11.06.20
12:18
Всем привет!
Вопрос следующий:
В модуле объекта есть функция, в нее нужно передать значения реквизитов формы.
Понимаю, что вопрос легкий, но я только начинаю постигать 1С, и все никак не могу понять, как мне это сделать.
1 hookahboy1
 
11.06.20
12:18
Если не сложно, покажите пример кода. Буду очень благодарен!
2 dka80
 
11.06.20
12:49
Управляемые формы?

В модуле формы
&НаСервере
Процедура Пр()
МойОбъект = РеквизитыФормыВЗначение("Обработка");
МойОбъект.ТвояФункция(Параметр1,Параметр2)
КонецПроцедуры

В модуле объекта
Функция ТвояФункция(Параметр1,Параметры2) Экспорт
3 dezss
 
11.06.20
12:57
Передать значение реквизита формы этого же объекта?
4 hookahboy1
 
11.06.20
13:00
Да, управляемые формы. Спасибо, кажется помогло!
5 hookahboy1
 
11.06.20
13:01
Да, этого же объекта
6 hookahboy1
 
11.06.20
13:11
(2) Вопрос не по теме, но может быть подскажете:
При выполнении внешней обработки вылетает ошибка "Недостаточно фактических параметров". Я так понимаю это связано с тем, что я в модуле формы вызываю функцию из модуля объекта, но не указываю ей параметры. Верно?

Вот код модуля формы:

&НаСервере
Процедура ПередЗаписьюНаСервере (Отказ, ТекущийОбъект, ПараметрыЗаписи)
    ОповещениеРуководителяОКрупныхЗаказах = РеквизитФормыВЗначение("Обработка");
    ОповещениеРуководителяОКрупныхЗаказах.ВыборкаКрупныхЗаказов (Период.ДатаНачала, Период.ДатаОкончания, Сумма);
КонецПроцедуры
Процедура ОтправитьНаСервере()    
    ОбработкаОбъект = РеквизитФормыВЗначение("Объект");
    СтруктураМассивов = ОбработкаОбъект.ВыборкаКрупныхЗаказов();
    ОбработкаОбъект.ОтправкаСообщения(СтруктураМассивов.МассивНомерЗаказа, СтруктураМассивов.МассивДата, СтруктураМассивов.МассивКлиент, СтруктураМассивов.МассивСумма, СтруктураМассивов.МассивМенеджер);
    ЗначениеВРеквизитФормы(ОбработкаОбъект,"Объект");
КонецПроцедуры

&НаКлиенте
Процедура Отправить(Команда)
    ОтправитьНаСервере();
КонецПроцедуры
7 hookahboy1
 
11.06.20
13:12
Ошибка указывает на эту строку:
СтруктураМассивов = ОбработкаОбъект.ВыборкаКрупныхЗаказов();
8 ДенисЧ
 
11.06.20
13:14
А 1с добрая... Я бы на её месте ещё и морду лица набил...
9 hookahboy1
 
11.06.20
13:17
(8) Да это понятно. Говорю же, учусь.
10 dka80
 
11.06.20
13:21
СтруктураМассивов = ОбработкаОбъект.ВыборкаКрупныхЗаказов(тут перечень параметров как у тебя в описании функции)
11 dezss
 
11.06.20
14:00
А почему эта функция у тебя именно в модуле объекта?
12 hookahboy1
 
11.06.20
14:07
(10) Я уже понял, Спасибо)
13 Chameleon1980
 
11.06.20
14:15
нда