Выполнение процедуры из модуля формы (УФ)

1. Asuneft 2 12.11.21 15:42 Сейчас в теме
Есть Документ1, у него в модуле менеджера есть процедура, которая создает новый документ другого типа - Документ2. Можно ли из модуля менеджера Документ1 вызвать процедуру "Расчет" модуля формы создаваемого документа Документ2?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. Dem0 12.11.21 15:48 Сейчас в теме
Ну если с серверной процедуры модуля менеджера - форму вы наверное не получите.
А так - процедура экспортная?
5. Asuneft 2 12.11.21 15:50 Сейчас в теме
(4) да, в модуле формы процедура экспортная
6. herfis 500 12.11.21 15:54 Сейчас в теме
(1) Нет. Создание формы возможно только на клиенте.
7. Asuneft 2 12.11.21 16:00 Сейчас в теме
(6) Как тогда можно сделать - в модуле формы "Документа1" есть процедура, которая вызывается из модуля менеджера "Документ1", как-нибудь из этой процедуры можно получить форму созданного "Документа2" в модуле формы "Документ1"?
8. herfis 500 12.11.21 16:53 Сейчас в теме
(7)
в модуле формы "Документа1" есть процедура, которая вызывается из модуля менеджера "Документ1"

Вы что, передаете в процедуру модуля менеджера ссылку на форму? Я просто не вижу других вариантов, как такое можно провернуть.
Ну, пробрасывайте через параметры еще и ссылку на форму Документа2. А лучше опишите изначальную задачу, вокруг которой все это нагорожено. Возможно, найдется другой способ ее решить.
9. Asuneft 2 12.11.21 16:58 Сейчас в теме
(8) https://infostart.ru/1c/articles/807219/ вот , тоже самое делается, нашел, но изменения не сохраняются в этом случае в документе.
2. VladimirB 16 12.11.21 15:45 Сейчас в теме
Наверное, да. Пробуйте. Экспортной сделайте
3. coollerinc 188 12.11.21 15:47 Сейчас в теме
Если управляемые формы, тонкий клиент то:

Нет нельзя. Для этого нужно перенести процедуру из формы в общий модуль или модуль менеджера.

Либо если вы из формы вызываете модуль менеджера, то передайте форму параметром.

Для справки: Модуль менеджера выполняется на сервере, форма создается на клиенте. Вызвать с сервера, клиент нельзя нормальными способами.
10. Asuneft 2 13.11.21 11:04 Сейчас в теме
ФормаДокумента = ПолучитьФорму("Документ.НачислениеЗарплаты.Форма.ФормаДокумента", Новый Структура("Ключ", ДокументФормы), ЭтаФорма);
ИмяТаблицы = "Начисления";
ВедущееПоле = "Сотрудник";
ТипВедущегоПоля = Тип("СправочникСсылка.Сотрудники");

Для Каждого Стр Из ФормаДокумента.Объект.Начисления Цикл
ФормаДокумента.Элементы.Начисления.ВыделенныеСтроки.Добавить(Стр.НомерСтроки - 1);
КонецЦикла;
ИдентификаторыСтрок = ФормаДокумента.Элементы[ИмяТаблицы].ВыделенныеСтроки;

ФормаДокумента.ПересчитатьСотрудника(ИмяТаблицы, ИдентификаторыСтрок, ВедущееПоле, ТипВедущегоПоля);
ФормаДокумента.Записать();

Код отрабатывает, но данные в документе не сохраняются, что посмотреть?
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот