Форма Документа Процедура ПересчитатьДокументНаКлиенте() Экспорт

1. jura_t_vega 05.06.24 12:12 Сейчас в теме
Подскажите пожалуйста, как запустить (из вне конкретного документа) Экспортную процедуру из формы Документа?
По теме из базы знаний
Найденные решения
8. KirillZ44 3 06.06.24 10:41 Сейчас в теме
(7) Если вы хотите открыть форму конкретного объекта, вам необходимо в параметрах формы передать свойство "Ключ", содержащие ссылку на интересующий вас объект (https://its.1c.ru/db/metod8dev/content/4135/hdoc)

ПараметрыФормы = Новый Структура("Ключ, СотрудникиКРасчету", ДокументПерерасчетаСсылка, МассивСотрудников);
ПолучитьФорму("Документ.ДокументПерерасчета.Форма.ФормаДокумента",ПараметрыФормы)
jura_t_vega; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. KirillZ44 3 05.06.24 12:19 Сейчас в теме
Согласно правилам создания модулей формы экспортные процедуры и функции не следует размещать в модулях форм https://its.1c.ru/db/v8std/content/630/hdoc.

Но если изменить подход нельзя, попробуйте это решение https://forum.infostart.ru/forum9/topic192927/#message1986366.
3. jura_t_vega 05.06.24 13:22 Сейчас в теме
Спасибо, счас попробую..

"Согласно правилам создания модулей формы экспортные процедуры и функции не следует размещать в модулях форм" - Это не моё (экспортная процедура в модуле формы), это из ЗУП 3.1 (Документ - НачислениеЗарплаты) ...я пробую активировать из вне..
4. jura_t_vega 05.06.24 13:49 Сейчас в теме
Попробовал...
&НаКлиенте
Процедура ПересчитатьДокумент(Команда) 
	
	ДокументПерерасчетаСсылка=Объект.ДокументПерерасчета;   
		
	
МассивСотрудников=ПересчитатьДокументПолучитьМассивСотрудник­овНаСервере(ДокументПерерасчетаСсылка);  
	
	ПараметрыФормы=Новый Структура("СотрудникиКРасчету",МассивСотрудников);
	Форма=ПолучитьФорму("Документ.ДокументПерерасчетаСсылка.Форма.ФормаДокумента",ПараметрыФормы);
	Форма.ПересчитатьДокументНаКлиенте();
	
	
КонецПроцедуры
Показать


Ругается на строчку получения Формы (Форма=Получить...) -
- Неизвестное имя формы. Имя: "Документ.ДокументПерерасчетаСсылка.Форма.ФормаДокумента"
6. KirillZ44 3 06.06.24 07:34 Сейчас в теме
(4) У вас ошибка в имени объекта метаданных. Из синтаксис-помощника:

Имя формы. Образуется как полный путь к объекту метаданных Форма (например, "Справочник.Контрагенты.Форма.ФормаОбъекта", "ОбщаяФорма.ФормаСохраненияФайла") или как полный путь к прикладному объекту, дополненный именем формы по умолчанию (например, "Справочник.Товары.ФормаВыбора").

В вашем случае должно быть так:

ПолучитьФорму("Документ.ДокументПерерасчета.Форма.ФормаДокумента",ПараметрыФормы)
5. jura_t_vega 05.06.24 13:54 Сейчас в теме
Может я чего недопонял, подскажите пожалуйста.
7. jura_t_vega 06.06.24 09:56 Сейчас в теме
Замысел в том, что пытаюсь получить форму конкретного (уже сформированного) документа , и пересчитать его из обработки........ для чего-то 1С ( ЗУП3.1) Процедуру пересчета запихала в Форму -(ПересчитатьДокументНаКлиенте() Экспорт ) и Переменную с массивом для пересчета сделала Экспортной (Перем СотрудникиКРасчету Экспорт;) тоже в Форме

Вот и пробую в Обработке получить форму выбранного(и уже заполненного) документа, и запустить расчет документа....Пока не сообразил как, если кто знает - подскажите!
8. KirillZ44 3 06.06.24 10:41 Сейчас в теме
(7) Если вы хотите открыть форму конкретного объекта, вам необходимо в параметрах формы передать свойство "Ключ", содержащие ссылку на интересующий вас объект (https://its.1c.ru/db/metod8dev/content/4135/hdoc)

ПараметрыФормы = Новый Структура("Ключ, СотрудникиКРасчету", ДокументПерерасчетаСсылка, МассивСотрудников);
ПолучитьФорму("Документ.ДокументПерерасчета.Форма.ФормаДокумента",ПараметрыФормы)
jura_t_vega; +1 Ответить
9. jura_t_vega 06.06.24 12:58 Сейчас в теме
Спасибо Большое, заработало!
Оставьте свое сообщение

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