Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Доступ к элементу формы из модуля объекта

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

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

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

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

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

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

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.