Как вызвать функцию из модуля объекта в модуле формы
Перейти к содержимому

Как вызвать функцию из модуля объекта в модуле формы

  • автор:

Как вызвать функцию из модуля объекта в модуле формы

Не могу вызвать функцию из модуля объекта. У меня внешняя обработка, из модуля формы пытаюсь вызвать функцию модуля объекта, которая экспортная. На сервере получаю объект, хочу вызвать, но пишет ошибку, никак не могу понять, что не так.

&НаКлиенте
Процедура ПриОткрытии(Отказ)

&НаСервере
Функция Обработка()

Таблица = Новый ТаблицаЗначений;
ОбъектФормы = РеквизитФормыВЗначение(«Объект»);
Массив = ОбъектФормы.ВыгрузитьНаСервере();

В модуле объекта

Функция ВыгрузитьНаСервере() Экспорт

МассивОтветов = Новый Массив;
МассивОтветов.Добавить(«на»);
МассивОтветов.Добавить(«острове»);
МассивОтветов.Добавить(«гуляли»);

Возврат МассивОтветов;
КонецФункции

Вызов процедур или функций модуля объекта из модуля формы

  • Недостаточно рейтинга для добавления отрицательного голоса. Шаблон будет скрыт из ваших результатов поиска.

    Шаблоны кода 1С

    Секреты TurboConf

    TurboConf ИР

    Нейросети и AI

    Лайфхаки 1С

    Бубен админа

    1С не всерьез

    Комментарии

    VolAll
    #1, ред. 01 июня 2021 17:17

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

    Нравится 0 Ответить

    См. также

    sale

    sale

    fastcode_tg

    courses_fastcode

    courses_fastcode

    Подтверждение действия

    Вы действительно хотите удалить комментарий?

    Отмена Удалить

    • © 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) Мы сейчас говорим не про типовые, а доработанные печатные формы. Те при появлении модуля менеджера — все руки по локоть, как же производительность страдает. А без модуля менеджера — «ну производительность не так важна, ведь бардак в общих модулях..»

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *