Как вызвать функцию из модуля объекта в модуле формы
Не могу вызвать функцию из модуля объекта. У меня внешняя обработка, из модуля формы пытаюсь вызвать функцию модуля объекта, которая экспортная. На сервере получаю объект, хочу вызвать, но пишет ошибку, никак не могу понять, что не так.
&НаКлиенте
Процедура ПриОткрытии(Отказ)
&НаСервере
Функция Обработка()
Таблица = Новый ТаблицаЗначений;
ОбъектФормы = РеквизитФормыВЗначение(«Объект»);
Массив = ОбъектФормы.ВыгрузитьНаСервере();
В модуле объекта
Функция ВыгрузитьНаСервере() Экспорт
МассивОтветов = Новый Массив;
МассивОтветов.Добавить(«на»);
МассивОтветов.Добавить(«острове»);
МассивОтветов.Добавить(«гуляли»);
Возврат МассивОтветов;
КонецФункции
Вызов процедур или функций модуля объекта из модуля формы
Недостаточно рейтинга для добавления отрицательного голоса. Шаблон будет скрыт из ваших результатов поиска.
Шаблоны кода 1С
Секреты TurboConf
TurboConf ИР
Нейросети и AI
Лайфхаки 1С
Бубен админа
1С не всерьез
Комментарии
VolAll
#1, ред. 01 июня 2021 17:17
&НаСервере Перем ОбработкаОбъект; &НаСервере Функция ОбработкаОбъект() Если ОбработкаОбъект = Неопределено Тогда СтруктураОбработки = ПолучитьИзВременногоХранилища(Объект.ОбщийКонтекстКлиентСервер.АдресОбработкаОбъект); Если СтруктураОбработки <> Неопределено Тогда ОбработкаОбъект = СтруктураОбработки.ОбработкаОбъект; КонецЕсли; Если ОбработкаОбъект = Неопределено Тогда ОбработкаОбъект = РеквизитФормыВЗначение("Объект"); Попытка ПоместитьВоВременноеХранилище(Новый Структура("ОбработкаОбъект", ОбработкаОбъект), Объект.ОбщийКонтекстКлиентСервер.АдресОбработкаОбъект); Исключение КонецПопытки; Иначе ОбработкаОбъект.ОбщийКонтекстКлиентСервер = Объект.ОбщийКонтекстКлиентСервер; КонецЕсли; КонецЕсли; Возврат ОбработкаОбъект; КонецФункции
Нравится 0 Ответить
См. также
Подтверждение действия
Вы действительно хотите удалить комментарий?
Отмена Удалить
- © 2013-2024 FastCode
- Контакты
- Пользовательское соглашение
× Канал FastCode 1C в Телеграм! Шаблоны кода, статьи, полезные советы, курсы по 1С (6К участников)
Присоединиться
1С 8.3 Вызов процедур или функций из модуля объекта в модуле формы — Программист 1С Минск. Автоматизация бизнеса.
1С 8.3 Вызов процедур или функций из модуля объекта в модуле формы
Данные > Примеры кода 1С > 1С 8.3 Форма, элементы
ПРИМЕРЫ КОДА 1С
Перейти в раздел примеры кода 1С 8.3:
Вызов процедур или функций из модуля объекта в модуле формы (&НаСервере) в 1С 8.3:
&НаСервере
Процедура Вызов_из_модуля_объекта ()
// сперва получаем объект:
ДокОбъект = РеквизитФормыВЗначение ( «Объект» );
ДокОбъект . ПроцедураМодуляОбъектаЭкспортная ();
//.
// примечание:
// если у разных объектов, например: два документа и надо в форму одного документа вызвать процедуру из другого документа,
// то в этом случаи надо процедуру помещать в модуль менеджера и вызывать ее как Документы.НазваниеДокумента.НазваниеПроцедуры
// соответственно все вызовы на сервере
Как вызвать функцию из модуля объекта в модуле формы
Собственно говоря вопрос уже в заголовке. Не могу порешать вопросик, как это делается УФ знаю и делал, а тут затмение. Помогите люди добрые, домой оченяма хоцэтся :((
функция экспортная
берешь объект и вызываешь функцию, в чем проблема?
по типу ЭтотОбъект.печать(); ?
просто так берешь и вызываешь без никаких лишних действий, но (1) должна быть
ну смотря в какой ты форме)
(3) просто Печать()
(3) ты только не пробуй ни когда так делать, а вместо этого продолжай писать на форуме — так ты домой точно не уйдешь
+ (6) если в форме нет такой функции
если есть, то да ЭтотОбъект.Печать()
(5) + в смысле может у тебя форма произвольная и тд
«Не могу порешать вопросик, как это делается УФ знаю и делал, а тут затмение»
вот оно новое поколение, воспитанное на УФ )))
(6) вот такая вот ошибка , если просто печать();
Процедура или функция с указанным именем не определена (Печать)
>Печать(); (Проверка: Толстый клиент (обычное приложение))
(11) за вызов функции из модуля объекта теперь программистам обрубают руки по локоть. Пиши такие функции в модуль менеджера.
(8) такая же песня с ЭтотОбъект.Печать()
Метод объекта не обнаружен (Печать)
ЭтотОбъект.Печать();
(12) ааааа. вот значит как. ))) щаз попробую
(14) а ты в модуле у функции «Экспорт» написал?
(15) и после в обратку не забывать
(15) РеквизитФормыВЗначение — енто для УФ, но никак для обычного приложения.
(16) конэчно.
(18) значит либо объект не является основным реквизитом формы, либо продуй кэш конфигурации
+ (19) либо объект не тот (всякое по запарке бывает в пятницу вечером)
(18) а блин, я для уф написал
попробуй через ссылку
(12) А почему теперь? Что раньше вместо модуля менеджера нельзя было вызвать общий модуль и передать туда ссылку для допустим печати?
ahmato, через ссылку пробовал? Мы тоже домой хотим)
(23)Если через модуль менеджера, то при вызове функции из него, объект не грузится в память. А если через модуль объекта, то тогда приходится весь объект «забирать».
P.s. А теперь потому что модуль менеджера не так давно появился насколько я помню.
(23) потому что при получении объекта документа куча действий происходит. ПолучитьОбъект() — это такая дорогостоящая фигня. А для печати обычно она не нужна, получается лишнее движение, там ведь просто запрос и заполнение табличного документа.
(22) (23) поступил проще, я перенес функцию в модуль документа, чо я зациклился что эта функция обязательно должна быть в модуле объекта, ХЗ. Короче все заработало, но вопрос остался открытым
(26) Перечитай (23) еще раз.
(26) И спасибо я в курсе, что происходит при получении объекта
(27) погодь, модуль документа — это модуль формы ты так называешь?
(30) ))))) тип того, пятница. вечерело. мысли сбившись в кучу, нервно ждали конца рабочего дня.
(28) ну да вообще-то. Получается плюс, то что разложили по полочкам эти все печати, если сейчас посмотреть, что они сделали с общими модулями, там же их десятки тысяч, настоящая помойка. Ну и из общих команд легко вызывать по имени документа именно свою печать. НО это наверно и в общих модулях можно было извратиться.
Да, всем спасибо и хороших выходных!)
(33) В чем разница?
(33) Мы сейчас говорим не про типовые, а доработанные печатные формы. Те при появлении модуля менеджера — все руки по локоть, как же производительность страдает. А без модуля менеджера — «ну производительность не так важна, ведь бардак в общих модулях..»