Добрый день, подскажите как вызвать процедуру находящуюся в модуле формы элемента из модуля объекта?
Она уже является Экспортной.
---
ТЕБЕ. УЖЕ. СКАЗАНО. НЕЛЬЗЯ. ОБРАТИТЬСЯ. К ФОРМЕ.

Я же тебе сказал - тогда передай дерево в модуль объекта заранее!
В ПередЗаписьюНаСервере() кладешь его в ТекущийоОбъект.ДополнительныеСвойства, и дерево станет доступно тебе в ЭтотОбъект.ДополнительныеСвойства в модуле объекта в обработчике ПриЗаписи() (или в любом другом).
---
а может надо просто перенести процедуру в модуль объекта?
---
не вариант. В процедуре происходит преобразование дерева с формы в значение. В модуле объект нет такого функционала насколько я знаю
---
А откуда же это дерево на форме появляется?
---
При создании формы видимо. Это НЕ Объект.Дерево
---
Все таки вам придется пояснить задачу. Вы в модуль объекта откуда попали? При программном создании документа или вызовом из формы документа? Если вторым способом - то просто передавайте дерево с собой в модуль объекта. А если первым способом - то вам придется найти способ формировать дерево программно по тем же принципам, по которым оно формируется и при создании формы.
Логично же.
---
Я в модуле объекта дописываю алгоритм, и мне очень нужно это дерево с формы. Как получить либо это дерево либо процедуру/функцию ее преобзовывающую?
---
Я вам все рассказал. И даже вопрос задал. Вы проигнорировали и то и другое.
Чего вы ждете от меня сейчас?
---
Я не совсем понимаю вопрос: "Вы в модуль объекта откуда попали?" - процедура при записи элемента.

 "просто передавайте дерево с собой в модуль объекта" - я бы и рад, однако эта процедура по формированию дерева на форме элемента вызывается после процедуры ПередЗаписью в модуле объекта. Вот как мне тогда вызвать ее раньше?
---
Ну вот, просто же ответ. Это обработчик события объекта, ни откуда не вызывается. ОК
И что, даже при открытии документа дерево не формируется? Чтобы увидеть дерево на форме надо обязательно сначала записать документ??? Что за бред?

Повторю еще раз по буквам - найдите механизм, который формирует это дерево на форме. Не само дерево вам искать надо, а процедуру, которой он формируется. И по возможности утащить её в модуль объекта или в общий модуль, или даже в модуль менеджера.
---
Проблема не в формировании этого дерева. Я его хочу с формы забрать ПередЗаписью потому что там данные нужные лежат. Вот они то мне и нужны, на само дерево мне наплевать
---
ТЕБЕ. УЖЕ. СКАЗАНО. НЕЛЬЗЯ. ОБРАТИТЬСЯ. К ФОРМЕ.

Я же тебе сказал - тогда передай дерево в модуль объекта заранее!
В ПередЗаписьюНаСервере() кладешь его в ТекущийоОбъект.ДополнительныеСвойства, и дерево станет доступно тебе в ЭтотОбъект.ДополнительныеСвойства в модуле объекта в обработчике ПриЗаписи() (или в любом другом).
---
Благодарю, попробую
---
чтобы из формы объекта вызвать процедуру, надо получить эту форму.
а дальше, как обычно ЧтоХочетсяПолучить = НужнаяФорма.НужнаяПроцедура()
процедура должна быть не просто экспортной, но и возвращать результат, т.е. это уже не процедура, а функция получается

ну и еще момент, форма может существовать только на клиенте, поэтому выполнять данную операцию на сервере не имеет смысла
---
процедура должна быть не просто экспортной, но и возвращать результат, Да ладно!?!?!
---
На УФ это не получится, это же контекст формы, вот наоборот из формы вызвать процедуру, которая в модуле объекта - пожалуйста.
---
ФормаЭлемента = ПолучитьФорму("ФормаЭлемента");

Так не работает. Я не вижу своей экспортной функции в перечне
---
А не управляемая ли эта форма?
---
Да, УФ 8.3.18
---
Не получится
---
Подожди, он упёртый. А вдруг получится?
---
```1c
    &НаСервере
    Процедура Вызов_из_модуля_формы()

    // Процедура вызывает экспортную процедуру или функцию из модуля формы

    ОбъектФормы = РеквизитФормыВЗначение("Объект");
    ОбъектФормы.ЭкспортныйВызовИзМодуляОбъекта();

    // Для обновления на форме содержимого объекта
    ЗначениеВРеквизитФормы(ОбъектФормы, "Объект");

    КонецПроцедуры
```
---
```1c
    // Процедура вызывает экспортную процедуру или функцию из модуля формы
```

ШТОА?