|
Доступ к элементу формы из модуля объекта |
☑ |
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
|
нда
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший