Как можно из внешней обработки запустить экспортную функцию модуля менеджера документа с передачей формы этого документа?

1. B27 26.05.21 04:22 Сейчас в теме
Добрый день.
Делаю обработку которая массово создает док-ты ИнвентаризацияМЗ. Заполняю данными необходимыми для работы кнопки "Заполнить по данным учета".(т.е. если потом открыть этот документ и нажать заполнить всё заполняет)
А далее мне надо вызвать процедуру из модуля менеджера док-та ИнвентаризацияМЗ - Процедура ЗаполнитьПоДаннымУчета(Форма) Экспорт.

В самой форме документа она вызывается так:
&НаСервере
Процедура ЗаполнитьПоДаннымУчетаСервер()
	
	Документы.ИнвентаризацияМЗ.ЗаполнитьПоДаннымУчета(ЭтаФорма);
	
КонецПроцедуры


А как её можно вызвать из внешней обработки? И можно ли вообще?
(Я могу конечно сам код процедуры перенести во внешнюю обработку, но не хотелось бы)

P.S. УФ БГУ2.0
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
12. B27 26.05.21 11:06 Сейчас в теме
Короче.

Нашел в модуле формы документа Экспортную процедуру(рядом с той которая отрабатывалась командой кнопки заполнить)), которая потом вызывает нужную процедуру в Модуле менеджера. Её и использовал.

Всем спасибо)
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
12. B27 26.05.21 11:06 Сейчас в теме
Короче.

Нашел в модуле формы документа Экспортную процедуру(рядом с той которая отрабатывалась командой кнопки заполнить)), которая потом вызывает нужную процедуру в Модуле менеджера. Её и использовал.

Всем спасибо)
13. DKiguin 27.05.21 06:22 Сейчас в теме
(1)
Документы.ИнвентаризацияМЗ.ЗаполнитьПоДаннымУчета(ЭтаФорма);


Добрый день! В обработке надо написать примерно следующий код:
ЗаменительФормы = Новый Структура("Объект", СоздаваемыйДокументОбъект);
Документы.ИнвентаризацияМЗ.ЗаполнитьПоДаннымУчета(ЗаменительФормы);
2. ilnur75 26.05.21 07:49 Сейчас в теме
сделайте вызываемую процедуру экспортной и такая процедура станет доступной откуда угодно.
4. B27 26.05.21 08:15 Сейчас в теме
(2)Так она и так экспортная.
надо вызвать процедуру из модуля менеджера док-та ИнвентаризацияМЗ - Процедура ЗаполнитьПоДаннымУчета(Форма) Экспорт.


проблема не в вызове(не так вопрос задал, хотя в теме вопроса написано понятнее)).

Проблема в том что надо передать форму самого документа, не из документа, а при работе внешней обработки.(но похоже это никак не сделать)
5. гаврюша 2 26.05.21 08:29 Сейчас в теме
(4) В документе не видно, что она экспортная:
&НаСервере
Процедура ЗаполнитьПоДаннымУчетаСервер()

Должно быть:
&НаСервере
Процедура ЗаполнитьПоДаннымУчетаСервер() Экспорт

И зачем Вам форма документа, если Вы заполняете его из обработки?
Просто вызов процедуры см.3
6. B27 26.05.21 08:51 Сейчас в теме
(5) Не так поняли.
В самой форме документа она вызывается так:
&НаСервере
Процедура ЗаполнитьПоДаннымУчетаСервер()
    
    Документы.ИнвентаризацияМЗ.ЗаполнитьПоДаннымУчета(ЭтаФорма);
    
КонецПроцедуры


это она вызывает в самой форме документа - процедуру из МодуляМенеджера (которая там экспортная) с передачей "ЭтаФорма" (форму документа открытая)

Так в том то и дело - В обработке я заполняю только шапку документов(например надо сделать документы инвентаризации МЗ по одному человеку у которого несколько мест хранения, т.е. ЦМО будет несколько штук), по которой, используя процедуру из МодуляМенеджера она заполняется. Т.е. я не весь документ заполняю обработкой, а хочу использовать типовую процедуру.
8. гаврюша 2 26.05.21 09:00 Сейчас в теме
(6) Если попробовать через объект передать "Объект.ФормаДокумента)
3. гаврюша 2 26.05.21 08:11 Сейчас в теме
В документе:
Процедура ЗаполнитьПоДаннымУчетаСервер() Экспорт

При создании документа и заполнении документа из обработки Вы получаете объект - созданный документ и заполняете его.
Поставьте Имя созданного документа +"."+ЗаполнитьПоДаннымУчетаСервер()

Например:

Галочка = ИнвентаризацияМЗ.ПолучитьОбъект();
Галочка.ЗаполнитьПоДаннымУчетаСервер();
Галочка.Записать(РежимЗаписиДокумента.Проведение);
7. Dmitrij-2 45 26.05.21 08:57 Сейчас в теме
(1) Если туда передается форма, то значит и заполняются данные формы, а не объект. Скопируйте ее себе и перепишите без использования формы.
9. B27 26.05.21 09:12 Сейчас в теме
(7) Да в том то и дело что заполняется объект. Про скопировать я писал как краний вариант
(Я могу конечно сам код процедуры перенести во внешнюю обработку, но не хотелось бы)


Процедура ЗаполнитьПоДаннымУчета(Форма) Экспорт
	
	Перем СдвигИндексаТаблицыМатериалы;
	
	ДокументОбъект = Форма["Объект"];
	
	ПараметрыНакладываемогоОтбора	= ОпределитьПараметрыНакладываемогоОтбора(Форма);
	
	ДатаОпределенияОстатков			= Новый Граница(КонецДня(ДокументОбъект["ДатаИнвентаризации"]), ВидГраницы.Включая);
	ИспользоватьБалансовуюСтоимость = НЕ ЗначениеЗаполнено(ДокументОбъект["ТипЦен"]);
	
	ПризнакиИспользованияКолонок	= Документы.ИнвентаризацияМЗ.ПолучитьПризнакиИспользованияКолонокТаблицыПорядокСписания();
	
	ВариантФормированияОписи = ДокументОбъект["ВариантФормированияОписи"];
	
	ЗапросОстатки = Новый Запрос();
	ЗапросОстатки.УстановитьПараметр("Организация",								ДокументОбъект["Организация"]);
	ЗапросОстатки.УстановитьПараметр("ДатаЗапроса",								ДатаОпределенияОстатков);
	ЗапросОстатки.УстановитьПараметр("СчетаОстатков",							ПараметрыНакладываемогоОтбора["СчетаОстатков"]);
	ЗапросОстатки.УстановитьПараметр("ИспользоватьУчетПоИФО",					ПараметрыНакладываемогоОтбора["ИспользоватьУчетПоИФО"]);
	ЗапросОстатки.УстановитьПараметр("НакладыватьОтборПоИФО",					ПараметрыНакладываемогоОтбора["НакладыватьОтборПоИФО"]);
	ЗапросОстатки.УстановитьПараметр("ИФО",										ДокументОбъект["ИФО"]);
	ЗапросОстатки.УстановитьПараметр("НакладыватьОтборПоКФО",					ПараметрыНакладываемогоОтбора["НакладыватьОтборПоКФО"]);
	ЗапросОстатки.УстановитьПараметр("КФО",										ДокументОбъект["КФО"]);
	ЗапросОстатки.УстановитьПараметр("НакладыватьОтборПоПодразделению",			ПараметрыНакладываемогоОтбора["НакладыватьОтборПоПодразделению"]);
	ЗапросОстатки.УстановитьПараметр("Подразделение",							ДокументОбъект["Подразделение"]);
	ЗапросОстатки.УстановитьПараметр("НакладыватьОтборПоКПС",					ПараметрыНакладываемогоОтбора["НакладыватьОтборПоКПС"]);
	ЗапросОстатки.УстановитьПараметр("КПС",										ДокументОбъект["КПС"]);
	ЗапросОстатки.УстановитьПараметр("ПустаяНоменклатура",						Справочники.Номенклатура.ПустаяСсылка());
	ЗапросОстатки.УстановитьПараметр("ТипЦен",									ДокументОбъект["ТипЦен"]);
	
	// Отбор по МОЛ
	ЗапросОстатки.УстановитьПараметр("ЗначенияДляОтбораПоМОЛ",					ПараметрыНакладываемогоОтбора["ЗначенияДляОтбораПоМОЛ"]);
	
	// Отбор по дополнительному субконто
	ЗапросОстатки.УстановитьПараметр("СледуетИспользоватьДополнительноеСубконто",	ПараметрыНакладываемогоОтбора["СледуетИспользоватьДополнительноеСубконто"]);
	ЗапросОстатки.УстановитьПараметр("ТаблицаРеальныхДополнительныхСубконто",		ПараметрыНакладываемогоОтбора["ТаблицаРеальныхДополнительныхСубконто"]);
	ЗапросОстатки.УстановитьПараметр("НакладыватьОтборПоДополнительномуСубконто",	ПараметрыНакладываемогоОтбора["НакладыватьОтборПоДополнительномуСубконто"]);
	ЗапросОстатки.УстановитьПараметр("ЗначениеДляОтбораПоДополнительномуСубконто",	ДокументОбъект["Субконто3"]);
	
	// В ТЧ "Порядок списания" используются не все колонки, а только некоторые
	ЗапросОстатки.УстановитьПараметр("ИспользуетсяКолонкаИФО",					ПризнакиИспользованияКолонок["ИФО"]);
	ЗапросОстатки.УстановитьПараметр("ИспользуетсяКолонкаКФО",					ПризнакиИспользованияКолонок["КФО"]);
	ЗапросОстатки.УстановитьПараметр("ИспользуетсяКолонкаЦМО",					ПризнакиИспользованияКолонок["ЦМО"]);
	ЗапросОстатки.УстановитьПараметр("ИспользуетсяКолонкаКПС",					ПризнакиИспользованияКолонок["КПС"]);
	ЗапросОстатки.УстановитьПараметр("ИспользуетсяКолонкаСчет",					ПризнакиИспользованияКолонок["Счет"]);
	ЗапросОстатки.УстановитьПараметр("ИспользуетсяКолонкаСубконто3",			ПризнакиИспользованияКолонок["Субконто3"]);
	
	ЗапросОстатки.УстановитьПараметр("СчетГруппа",			ДокументОбъект["СчетГруппа"]);
	ЗапросОстатки.УстановитьПараметр("НеЗаполнятьЦену",		ДокументОбъект["НеЗаполнятьЦену"]);
	
	ТекстЗапроса = "
	|////////////////////////////////////////////////////////////­////////////////////
	|// [0]. Таблица реальных дополнительных субконто для Счетов остатков
	|//
	|ВЫБРАТЬ
	|	ТЗ.Счет										КАК Счет,
	|	ТЗ.РеальноеДополнительноеСубконто			КАК РеальноеДополнительноеСубконто,
	|	ТЗ.НомерРеальногоДополнительногоСубконто	КАК НомерРеальногоДополнительногоСубконто
	|ПОМЕСТИТЬ
	|	ТаблицаРеальныхДополнительныхСубконто
	|ИЗ
	|	&ТаблицаРеальныхДополнительныхСубконто	КАК ТЗ
	|;
	|
	|////////////////////////////////////////////////////////////­////////////////////
	|// [1]. Все остатки по полным счетам, с отбором по МОЛ.
	|//		Т.к. применяется отбор по МОЛ, то могут быть остатки с нулевыми суммами
	|//		(если на соответствующих счетах не ведется суммовой
	|//		учет по субконто для МОЛ)
	|//
	|ВЫБРАТЬ РАЗРЕШЕННЫЕ
	|	Остатки.Счет																			КАК Счет,
	|	Остатки.КФО																				КАК КФО,
	|	ЕСТЬNULL(Остатки.КПС,ЗНАЧЕНИЕ(Справочник.КлассификационныеПризнакиСчетов.ПустаяСсылка))	КАК КПС,
	|	ВЫБОР
	|		КОГДА &ИспользоватьУчетПоИФО ТОГДА
	|			Остатки.ИФО
	|		ИНАЧЕ
	|			ЗНАЧЕНИЕ(Справочник.ИсточникиФинансовогоОбеспечения.ПустаяСсылка)
	|	КОНЕЦ																					КАК ИФО,
	|	ВЫБОР
	|		КОГДА ТИПЗНАЧЕНИЯ(Остатки.Субконто1) = ТИП(Справочник.Номенклатура) ТОГДА
	|			ВЫРАЗИТЬ(Остатки.Субконто1	КАК Справочник.Номенклатура)
	|		КОГДА ТИПЗНАЧЕНИЯ(Остатки.Субконто2) = ТИП(Справочник.Номенклатура) ТОГДА
	|			ВЫРАЗИТЬ(Остатки.Субконто2	КАК Справочник.Номенклатура)
	|		КОГДА ТИПЗНАЧЕНИЯ(Остатки.Субконто3) = ТИП(Справочник.Номенклатура) ТОГДА
	|			ВЫРАЗИТЬ(Остатки.Субконто3	КАК Справочник.Номенклатура)
	|		ИНАЧЕ
	|			ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
	|	КОНЕЦ																					КАК Номенклатура,
	|	ВЫБОР
	|		КОГДА Субконто1 В (&ЗначенияДляОтбораПоМОЛ) ТОГДА
	|			Субконто1
	|		КОГДА Субконто2 В (&ЗначенияДляОтбораПоМОЛ) ТОГДА
	|			Субконто2
	|		КОГДА Субконто3 В (&ЗначенияДляОтбораПоМОЛ) ТОГДА
	|			Субконто3
	|	КОНЕЦ																					КАК МОЛ,
	|	ВЫБОР
	|		КОГДА &СледуетИспользоватьДополнительноеСубконто И ТаблицаРеальныхДополнительныхСубконто.НомерРеальногоДополнительногоСубконто = 1 ТОГДА
	|			Остатки.Субконто1
	|		КОГДА &СледуетИспользоватьДополнительноеСубконто И ТаблицаРеальныхДополнительныхСубконто.НомерРеальногоДополнительногоСубконто = 2 ТОГДА
	|			Остатки.Субконто2
	|		КОГДА &СледуетИспользоватьДополнительноеСубконто И ТаблицаРеальныхДополнительныхСубконто.НомерРеальногоДополнительногоСубконто = 3 ТОГДА
	|			Остатки.Субконто3
	|		ИНАЧЕ
	|			НЕОПРЕДЕЛЕНО
	|	КОНЕЦ																					КАК Субконто3,
	|	СУММА(Остатки.КоличествоРазвернутыйОстатокДт - Остатки.КоличествоРазвернутыйОстатокКт)	КАК КоличествоУчет,
	|	СУММА(Остатки.СуммаРазвернутыйОстатокДт - Остатки.СуммаРазвернутыйОстатокКт)			КАК СуммаУчет
	|ПОМЕСТИТЬ
	|	ОстаткиСОтборомПоМОЛ
	|ИЗ
	|	РегистрБухгалтерии.ЖурналПроводокЕПСБУ.Остатки(
	|		&ДатаЗапроса,				// 1 Период
	|		Счет В (&СчетаОстатков),	// 2 Условие счета
	|		,							// 3 Виды субконто
	|		Организация = &Организация	// 4 Условие
	|		И ВЫБОР 
	|			КОГДА &НакладыватьОтборПоИФО ТОГДА
	|				ИФО = &ИФО
	|			ИНАЧЕ
	|				ИСТИНА
	|		КОНЕЦ
	|		И ВЫБОР 
	|			КОГДА &НакладыватьОтборПоКФО ТОГДА
	|				КФО = &КФО
	|			ИНАЧЕ
	|				ИСТИНА
	|		КОНЕЦ
	|		И ВЫБОР
	|			КОГДА &НакладыватьОтборПоКПС ТОГДА
	|				КПС = &КПС
	|			ИНАЧЕ
	|				ИСТИНА
	|		КОНЕЦ
	|		И ВЫБОР 
	|			КОГДА &НакладыватьОтборПоПодразделению ТОГДА
	|				Подразделение = &Подразделение
	|			ИНАЧЕ
	|				ИСТИНА
	|		КОНЕЦ
	|		// Отбор по МОЛ
	|		И ВЫБОР
	|			КОГДА Субконто1 В (&ЗначенияДляОтбораПоМОЛ) ТОГДА
	|				ИСТИНА
	|			КОГДА Субконто2 В (&ЗначенияДляОтбораПоМОЛ) ТОГДА
	|				ИСТИНА
	|			КОГДА Субконто3 В (&ЗначенияДляОтбораПоМОЛ) ТОГДА
	|				ИСТИНА
	|			ИНАЧЕ
	|				ЛОЖЬ
	|		КОНЕЦ
	|	)	КАК Остатки
	|	ЛЕВОЕ СОЕДИНЕНИЕ	ТаблицаРеальныхДополнительныхСубконто
	|		ПО	Остатки.Счет = ТаблицаРеальныхДополнительныхСубконто.Счет
	|ГДЕ
	|	// Только заполненная номенклатура
	|	ВЫБОР
	|		КОГДА ТИПЗНАЧЕНИЯ(Остатки.Субконто1) = ТИП(Справочник.Номенклатура) ТОГДА
	|			НЕ Остатки.Субконто1 = &ПустаяНоменклатура
	|		КОГДА ТИПЗНАЧЕНИЯ(Остатки.Субконто2) = ТИП(Справочник.Номенклатура) ТОГДА
	|			НЕ Остатки.Субконто2 = &ПустаяНоменклатура
	|		КОГДА ТИПЗНАЧЕНИЯ(Остатки.Субконто3) = ТИП(Справочник.Номенклатура) ТОГДА
	|			НЕ Остатки.Субконто3 = &ПустаяНоменклатура
	|		ИНАЧЕ
	|			ЛОЖЬ
	|	КОНЕЦ
	|	// Отбор по дополнительному субконто
	|	И ВЫБОР
	|		КОГДА &НакладыватьОтборПоДополнительномуСубконто И ТаблицаРеальныхДополнительныхСубконто.НомерРеальногоДополнительногоСубконто = 1 ТОГДА
	|			Остатки.Субконто1 = &ЗначениеДляОтбораПоДополнительномуСубконто
	|		КОГДА &НакладыватьОтборПоДополнительномуСубконто И ТаблицаРеальныхДополнительныхСубконто.НомерРеальногоДополнительногоСубконто = 2 ТОГДА
	|			Остатки.Субконто2 = &ЗначениеДляОтбораПоДополнительномуСубконто
	|		КОГДА &НакладыватьОтборПоДополнительномуСубконто И ТаблицаРеальныхДополнительныхСубконто.НомерРеальногоДополнительногоСубконто = 3 ТОГДА
	|			Остатки.Субконто3 = &ЗначениеДляОтбораПоДополнительномуСубконто
	|		КОГДА &НакладыватьОтборПоДополнительномуСубконто И ТаблицаРеальныхДополнительныхСубконто.НомерРеальногоДополнительногоСубконто = 0 ТОГДА
	|			ЛОЖЬ
	|		ИНАЧЕ
	|			ИСТИНА
	|	КОНЕЦ
	|СГРУППИРОВАТЬ ПО
	|	Остатки.Счет,
	|	Остатки.КФО,
	|	ЕСТЬNULL(Остатки.КПС,ЗНАЧЕНИЕ(Справочник.КлассификационныеПризнакиСчетов.ПустаяСсылка)),
	|	ВЫБОР
	|		КОГДА &ИспользоватьУчетПоИФО ТОГДА
	|			Остатки.ИФО
	|		ИНАЧЕ
	|			ЗНАЧЕНИЕ(Справочник.ИсточникиФинансовогоОбеспечения.ПустаяСсылка)
	|	КОНЕЦ,
	|	ВЫБОР
	|		КОГДА ТИПЗНАЧЕНИЯ(Остатки.Субконто1) = ТИП(Справочник.Номенклатура) ТОГДА
	|			ВЫРАЗИТЬ(Остатки.Субконто1	КАК Справочник.Номенклатура)
	|		КОГДА ТИПЗНАЧЕНИЯ(Остатки.Субконто2) = ТИП(Справочник.Номенклатура) ТОГДА
	|			ВЫРАЗИТЬ(Остатки.Субконто2	КАК Справочник.Номенклатура)
	|		КОГДА ТИПЗНАЧЕНИЯ(Остатки.Субконто3) = ТИП(Справочник.Номенклатура) ТОГДА
	|			ВЫРАЗИТЬ(Остатки.Субконто3	КАК Справочник.Номенклатура)
	|		ИНАЧЕ
	|			ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
	|	КОНЕЦ,
	|	ВЫБОР
	|		КОГДА Субконто1 В (&ЗначенияДляОтбораПоМОЛ) ТОГДА
	|			Субконто1
	|		КОГДА Субконто2 В (&ЗначенияДляОтбораПоМОЛ) ТОГДА
	|			Субконто2
	|		КОГДА Субконто3 В (&ЗначенияДляОтбораПоМОЛ) ТОГДА
	|			Субконто3
	|	КОНЕЦ,
	|	ВЫБОР
	|		КОГДА &СледуетИспользоватьДополнительноеСубконто И ТаблицаРеальныхДополнительныхСубконто.НомерРеальногоДополнительногоСубконто = 1 ТОГДА
	|			Остатки.Субконто1
	|		КОГДА &СледуетИспользоватьДополнительноеСубконто И ТаблицаРеальныхДополнительныхСубконто.НомерРеальногоДополнительногоСубконто = 2 ТОГДА
	|			Остатки.Субконто2
	|		КОГДА &СледуетИспользоватьДополнительноеСубконто И ТаблицаРеальныхДополнительныхСубконто.НомерРеальногоДополнительногоСубконто = 3 ТОГДА
	|			Остатки.Субконто3
	|		ИНАЧЕ
	|			НЕОПРЕДЕЛЕНО
	|	КОНЕЦ
	|ИМЕЮЩИЕ
	|	НЕ СУММА(Остатки.КоличествоРазвернутыйОстатокДт - Остатки.КоличествоРазвернутыйОстатокКт) = 0
	|ИНДЕКСИРОВАТЬ ПО
	|	Счет,
	|	КФО,
	|	КПС,
	|	ИФО,
	|	Субконто3,
	|	Номенклатура
	|;
	|
	|////////////////////////////////////////////////////////////­////////////////////
	|// [2]. Данные для заполнения таблицы ПорядокСписания
	|//		(Финальная таблица)
	|//
	|ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	ВЫБОР КОГДА &ИспользуетсяКолонкаИФО			ТОГДА ИФО		ИНАЧЕ НЕОПРЕДЕЛЕНО КОНЕЦ	КАК ИФО,
	|	ВЫБОР КОГДА &ИспользуетсяКолонкаКФО			ТОГДА КФО		ИНАЧЕ НЕОПРЕДЕЛЕНО КОНЕЦ	КАК КФО,
	|	ВЫБОР КОГДА &ИспользуетсяКолонкаЦМО			ТОГДА МОЛ		ИНАЧЕ НЕОПРЕДЕЛЕНО КОНЕЦ	КАК ЦМО,
	|	ВЫБОР КОГДА &ИспользуетсяКолонкаКПС			ТОГДА КПС		ИНАЧЕ НЕОПРЕДЕЛЕНО КОНЕЦ	КАК КПС,
	|	ВЫБОР КОГДА &ИспользуетсяКолонкаСчет		ТОГДА Счет		ИНАЧЕ НЕОПРЕДЕЛЕНО КОНЕЦ	КАК Счет,
	|	ВЫБОР КОГДА &ИспользуетсяКолонкаСубконто3	ТОГДА Субконто3	ИНАЧЕ НЕОПРЕДЕЛЕНО КОНЕЦ	КАК Субконто3
	|ИЗ
	|	ОстаткиСОтборомПоМОЛ	КАК Остатки
	|;";
	
	Если ИспользоватьБалансовуюСтоимость Тогда
		
		Если ВариантФормированияОписи = 3 Тогда
			// 3. Опись с 2018 г. Счет в таблице (5 знаков). Одна строка - один объект
			
			ТекстЗапросаБлижайшиеОбщиеРодителиСчетов = ИнвентаризацияСервер.ПолучитьТекстЗапросаБлижайшиеОбщиеРодителиСчетов(
				"А_ОстаткиСОтборомПоМОЛ",
				"Номенклатура",
				,
				СдвигИндексаТаблицыМатериалы);
		Иначе
			ТекстЗапросаБлижайшиеОбщиеРодителиСчетов = "";
			
			СдвигИндексаТаблицыМатериалы = 0;
		КонецЕсли;
		
		//------------------------------------------------------------------------------
		//	Вариант А.
		//	Заполнение сумм по балансовой стоимости
		//------------------------------------------------------------------------------
		ТекстЗапроса = ТекстЗапроса + "
		|////////////////////////////////////////////////////////////­////////////////////
		|// [3А]. Все остатки по полным счетам, без отбора по МОЛ.
		|//		Т.к. отбор по МОЛ не применяется, то в остатках будет заполнена сумма,
		|//		вне зависимости от ведения суммового учета по субконто ЦМО или Контрагенты
		|//
		|ВЫБРАТЬ РАЗРЕШЕННЫЕ
		|	Остатки.Счет																			КАК Счет,
		|	Остатки.КФО																				КАК КФО,
		|	ЕСТЬNULL(Остатки.КПС,ЗНАЧЕНИЕ(Справочник.КлассификационныеПризнакиСчетов.ПустаяСсылка))	КАК КПС,
		|	ВЫБОР
		|		КОГДА &ИспользоватьУчетПоИФО ТОГДА
		|			Остатки.ИФО
		|		ИНАЧЕ
		|			ЗНАЧЕНИЕ(Справочник.ИсточникиФинансовогоОбеспечения.ПустаяСсылка)
		|	КОНЕЦ																					КАК ИФО,
		|	ВЫБОР
		|		КОГДА ТИПЗНАЧЕНИЯ(Остатки.Субконто1) = ТИП(Справочник.Номенклатура) ТОГДА
		|			ВЫРАЗИТЬ(Остатки.Субконто1	КАК Справочник.Номенклатура)
		|		КОГДА ТИПЗНАЧЕНИЯ(Остатки.Субконто2) = ТИП(Справочник.Номенклатура) ТОГДА
		|			ВЫРАЗИТЬ(Остатки.Субконто2	КАК Справочник.Номенклатура)
		|		КОГДА ТИПЗНАЧЕНИЯ(Остатки.Субконто3) = ТИП(Справочник.Номенклатура) ТОГДА
		|			ВЫРАЗИТЬ(Остатки.Субконто3	КАК Справочник.Номенклатура)
		|		ИНАЧЕ
		|			ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		|	КОНЕЦ																					КАК Номенклатура,
		|	ВЫБОР
		|		КОГДА &СледуетИспользоватьДополнительноеСубконто И ТаблицаРеальныхДополнительныхСубконто.НомерРеальногоДополнительногоСубконто = 1 ТОГДА
		|			Остатки.Субконто1
		|		КОГДА &СледуетИспользоватьДополнительноеСубконто И ТаблицаРеальныхДополнительныхСубконто.НомерРеальногоДополнительногоСубконто = 2 ТОГДА
		|			Остатки.Субконто2
		|		КОГДА &СледуетИспользоватьДополнительноеСубконто И ТаблицаРеальныхДополнительныхСубконто.НомерРеальногоДополнительногоСубконто = 3 ТОГДА
		|			Остатки.Субконто3
		|		ИНАЧЕ
		|			НЕОПРЕДЕЛЕНО
		|	КОНЕЦ																					КАК Субконто3,
		|	СУММА(Остатки.КоличествоРазвернутыйОстатокДт - Остатки.КоличествоРазвернутыйОстатокКт)	КАК КоличествоУчет,
		|	СУММА(Остатки.СуммаРазвернутыйОстатокДт - Остатки.СуммаРазвернутыйОстатокКт)			КАК СуммаУчет
		|ПОМЕСТИТЬ
		|	А_ОстаткиБезОтбораПоМОЛ
		|ИЗ
		|	РегистрБухгалтерии.ЖурналПроводокЕПСБУ.Остатки(
		|		&ДатаЗапроса,				// 1 Период
		|		Счет В (&СчетаОстатков),	// 2 Условие счета
		|		,							// 3 Виды субконто
		|		Организация = &Организация	// 4 Условие
		|		И ВЫБОР 
		|			КОГДА &НакладыватьОтборПоИФО ТОГДА
		|				ИФО = &ИФО
		|			ИНАЧЕ
		|				ИСТИНА
		|		КОНЕЦ
		|		И ВЫБОР 
		|			КОГДА &НакладыватьОтборПоКФО ТОГДА
		|				КФО = &КФО
		|			ИНАЧЕ
		|				ИСТИНА
		|		КОНЕЦ
		|		И ВЫБОР
		|			КОГДА &НакладыватьОтборПоКПС ТОГДА
		|				КПС = &КПС
		|			ИНАЧЕ
		|				ИСТИНА
		|		КОНЕЦ
		|		И ВЫБОР 
		|			КОГДА &НакладыватьОтборПоПодразделению ТОГДА
		|				Подразделение = &Подразделение
		|			ИНАЧЕ
		|				ИСТИНА
		|		КОНЕЦ
		|	)	КАК Остатки
		|	ЛЕВОЕ СОЕДИНЕНИЕ	ТаблицаРеальныхДополнительныхСубконто
		|		ПО	Остатки.Счет = ТаблицаРеальныхДополнительныхСубконто.Счет
		|ГДЕ
		|	// Только заполненная номенклатура
		|	ВЫБОР
		|		КОГДА ТИПЗНАЧЕНИЯ(Остатки.Субконто1) = ТИП(Справочник.Номенклатура) ТОГДА
		|			НЕ Остатки.Субконто1 = &ПустаяНоменклатура
		|		КОГДА ТИПЗНАЧЕНИЯ(Остатки.Субконто2) = ТИП(Справочник.Номенклатура) ТОГДА
		|			НЕ Остатки.Субконто2 = &ПустаяНоменклатура
		|		КОГДА ТИПЗНАЧЕНИЯ(Остатки.Субконто3) = ТИП(Справочник.Номенклатура) ТОГДА
		|			НЕ Остатки.Субконто3 = &ПустаяНоменклатура
		|		ИНАЧЕ
		|			ЛОЖЬ
		|	КОНЕЦ
		|	// Отбор по дополнительному субконто
		|	И ВЫБОР
		|		КОГДА &НакладыватьОтборПоДополнительномуСубконто И ТаблицаРеальныхДополнительныхСубконто.НомерРеальногоДополнительногоСубконто = 1 ТОГДА
		|			Остатки.Субконто1 = &ЗначениеДляОтбораПоДополнительномуСубконто
		|		КОГДА &НакладыватьОтборПоДополнительномуСубконто И ТаблицаРеальныхДополнительныхСубконто.НомерРеальногоДополнительногоСубконто = 2 ТОГДА
		|			Остатки.Субконто2 = &ЗначениеДляОтбораПоДополнительномуСубконто
		|		КОГДА &НакладыватьОтборПоДополнительномуСубконто И ТаблицаРеальныхДополнительныхСубконто.НомерРеальногоДополнительногоСубконто = 3 ТОГДА
		|			Остатки.Субконто3 = &ЗначениеДляОтбораПоДополнительномуСубконто
		|		КОГДА &НакладыватьОтборПоДополнительномуСубконто И ТаблицаРеальныхДополнительныхСубконто.НомерРеальногоДополнительногоСубконто = 0 ТОГДА
		|			ЛОЖЬ
		|		ИНАЧЕ
		|			ИСТИНА
		|	КОНЕЦ
		|СГРУППИРОВАТЬ ПО
		|	Остатки.Счет,
		|	Остатки.КФО,
		|	ЕСТЬNULL(Остатки.КПС,ЗНАЧЕНИЕ(Справочник.КлассификационныеПризнакиСчетов.ПустаяСсылка)),
		|	ВЫБОР
		|		КОГДА &ИспользоватьУчетПоИФО ТОГДА
		|			Остатки.ИФО
		|		ИНАЧЕ
		|			ЗНАЧЕНИЕ(Справочник.ИсточникиФинансовогоОбеспечения.ПустаяСсылка)
		|	КОНЕЦ,
		|	ВЫБОР
		|		КОГДА ТИПЗНАЧЕНИЯ(Остатки.Субконто1) = ТИП(Справочник.Номенклатура) ТОГДА
		|			ВЫРАЗИТЬ(Остатки.Субконто1	КАК Справочник.Номенклатура)
		|		КОГДА ТИПЗНАЧЕНИЯ(Остатки.Субконто2) = ТИП(Справочник.Номенклатура) ТОГДА
		|			ВЫРАЗИТЬ(Остатки.Субконто2	КАК Справочник.Номенклатура)
		|		КОГДА ТИПЗНАЧЕНИЯ(Остатки.Субконто3) = ТИП(Справочник.Номенклатура) ТОГДА
		|			ВЫРАЗИТЬ(Остатки.Субконто3	КАК Справочник.Номенклатура)
		|		ИНАЧЕ
		|			ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
		|	КОНЕЦ,
		|	ВЫБОР
		|		КОГДА &СледуетИспользоватьДополнительноеСубконто И ТаблицаРеальныхДополнительныхСубконто.НомерРеальногоДополнительногоСубконто = 1 ТОГДА
		|			Остатки.Субконто1
		|		КОГДА &СледуетИспользоватьДополнительноеСубконто И ТаблицаРеальныхДополнительныхСубконто.НомерРеальногоДополнительногоСубконто = 2 ТОГДА
		|			Остатки.Субконто2
		|		КОГДА &СледуетИспользоватьДополнительноеСубконто И ТаблицаРеальныхДополнительныхСубконто.НомерРеальногоДополнительногоСубконто = 3 ТОГДА
		|			Остатки.Субконто3
		|		ИНАЧЕ
		|			НЕОПРЕДЕЛЕНО
		|	КОНЕЦ
		|ИМЕЮЩИЕ
		|	НЕ СУММА(Остатки.КоличествоРазвернутыйОстатокДт - Остатки.КоличествоРазвернутыйОстатокКт) = 0
		|ИНДЕКСИРОВАТЬ ПО
		|	Счет,
		|	КФО,
		|	КПС,
		|	ИФО,
		|	Субконто3,
		|	Номенклатура
		|;
		|
		|////////////////////////////////////////////////////////////­////////////////////
		|// [4А]. Суммы остатков номенклатуры (балансовая стоимость) по выбранному МОЛ
		|//
		|ВЫБРАТЬ
		|	ОстаткиБезОтбораПоМОЛ.Счет					КАК Счет,
		|	ОстаткиБезОтбораПоМОЛ.КФО					КАК КФО,
		|	ОстаткиБезОтбораПоМОЛ.КПС					КАК КПС,
		|	ОстаткиБезОтбораПоМОЛ.ИФО					КАК ИФО,
		|	ОстаткиБезОтбораПоМОЛ.Субконто3				КАК Субконто3,
		|	ОстаткиБезОтбораПоМОЛ.Номенклатура			КАК Номенклатура,
		|	ОстаткиСОтборомПоМОЛ.МОЛ					КАК МОЛ,
		|	СУММА(ОстаткиСОтборомПоМОЛ.КоличествоУчет)	КАК КоличествоУчет,
		|	
		|	// Балансовая стоимость
		|	СУММА(ВЫБОР
		|		КОГДА ОстаткиБезОтбораПоМОЛ.КоличествоУчет = 0 ТОГДА
		|			0
		|		КОГДА ОстаткиСОтборомПоМОЛ.СуммаУчет <> 0 ТОГДА
		|			ОстаткиСОтборомПоМОЛ.СуммаУчет
		|		ИНАЧЕ
		|			ОстаткиБезОтбораПоМОЛ.СуммаУчет * ОстаткиСОтборомПоМОЛ.КоличествоУчет / ОстаткиБезОтбораПоМОЛ.КоличествоУчет
		|	КОНЕЦ)										КАК СуммаУчетБалансовая
		|ПОМЕСТИТЬ
		|	А_ОстаткиСОтборомПоМОЛ
		|ИЗ
		|	А_ОстаткиБезОтбораПоМОЛ	КАК ОстаткиБезОтбораПоМОЛ
		|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ	ОстаткиСОтборомПоМОЛ	КАК ОстаткиСОтборомПоМОЛ
		|		ПО	ОстаткиБезОтбораПоМОЛ.Счет			= ОстаткиСОтборомПоМОЛ.Счет
		|		И	ОстаткиБезОтбораПоМОЛ.КФО			= ОстаткиСОтборомПоМОЛ.КФО
		|		И	ОстаткиБезОтбораПоМОЛ.КПС			= ОстаткиСОтборомПоМОЛ.КПС
		|		И	ОстаткиБезОтбораПоМОЛ.ИФО			= ОстаткиСОтборомПоМОЛ.ИФО
		|		И	ОстаткиБезОтбораПоМОЛ.Субконто3		= ОстаткиСОтборомПоМОЛ.Субконто3
		|		И	ОстаткиБезОтбораПоМОЛ.Номенклатура	= ОстаткиСОтборомПоМОЛ.Номенклатура
		|СГРУППИРОВАТЬ ПО
		|	ОстаткиБезОтбораПоМОЛ.Счет,
		|	ОстаткиБезОтбораПоМОЛ.КФО,
		|	ОстаткиБезОтбораПоМОЛ.КПС,
		|	ОстаткиБезОтбораПоМОЛ.ИФО,
		|	ОстаткиБезОтбораПоМОЛ.Субконто3,
		|	ОстаткиБезОтбораПоМОЛ.Номенклатура,
		|	ОстаткиСОтборомПоМОЛ.МОЛ
		|ИМЕЮЩИЕ
		|	НЕ (СУММА(ОстаткиСОтборомПоМОЛ.КоличествоУчет) = 0)
		|;
		|
		|////////////////////////////////////////////////////////////­////////////////////
		|// [5А]. Данные для заполнения таблицы Остатки (балансовая стоимость)
		|//		(Финальная таблица)
		|//
		|ВЫБРАТЬ
		|	Счет						КАК Счет,
		|	ИФО							КАК ИФО,
		|	КФО							КАК КФО,
		|	КПС							КАК КПС,
		|	МОЛ							КАК ЦМО,
		|	Субконто3					КАК Субконто3,
		|	Номенклатура				КАК Номенклатура,
		|	СУММА(КоличествоУчет)		КАК КоличествоУчет,
		|	СУММА(СуммаУчетБалансовая)	КАК СуммаУчет
		|ИЗ
		|	А_ОстаткиСОтборомПоМОЛ
		|СГРУППИРОВАТЬ ПО
		|	Счет,
		|	ИФО,
		|	КФО,
		|	КПС,
		|	МОЛ,
		|	Субконто3,
		|	Номенклатура
		|УПОРЯДОЧИТЬ ПО
		|	СуммаУчет УБЫВ
		|;
		|"
		
		+ ТекстЗапросаБлижайшиеОбщиеРодителиСчетов
		
		+ "
		|////////////////////////////////////////////////////////////­////////////////////
		|// [6А]. Данные для заполнения таблицы Материалы (балансовая стоимость)
		|//		(Финальная таблица)
		|//
		|ВЫБРАТЬ
		|	Субконто3									КАК Субконто3,
		|	Номенклатура								КАК Номенклатура,
		|	КоличествоУчет								КАК КоличествоУчет,
		|	ВЫБОР
		|		КОГДА &НеЗаполнятьЦену ТОГДА
		|			0
		|		КОГДА КоличествоУчет = 0 ТОГДА
		|			0
		|		ИНАЧЕ
		|			СуммаУчетБалансовая / КоличествоУчет
		|	КОНЕЦ										КАК Цена,
		|	СуммаУчетБалансовая							КАК СуммаУчет,
		|		
		|	Счет										КАК Счет,
		|	КПС											КАК КПС,
		|	КФО											КАК КФО,
		|	
		|	// Недостача
		|	ВЫБОР
		|		КОГДА КоличествоУчет > 0 ТОГДА
		|			КоличествоУчет
		|		ИНАЧЕ
		|			0
		|	КОНЕЦ										КАК НедостачаКоличество,
		|	ВЫБОР
		|		КОГДА СуммаУчетБалансовая > 0 ТОГДА
		|			СуммаУчетБалансовая
		|		ИНАЧЕ
		|			0
		|	КОНЕЦ										КАК НедостачаСумма,
		|	
		|	// Излишек
		|	ВЫБОР
		|		КОГДА КоличествоУчет < 0 ТОГДА
		|			-КоличествоУчет
		|		ИНАЧЕ
		|			0
		|	КОНЕЦ										КАК ИзлишекКоличество,
		|	ВЫБОР
		|		КОГДА СуммаУчетБалансовая < 0 ТОГДА
		|			-СуммаУчетБалансовая
		|		ИНАЧЕ
		|			0
		|	КОНЕЦ										КАК ИзлишекСумма
		|ИЗ
		|	("
		
		+ ПолучитьТекстЗапросаСвернутыеОстаткиДляТаблицыМатериалы(
			ВариантФормированияОписи,
			ИспользоватьБалансовуюСтоимость)
		
		+ ")	КАК СвернутыеОстатки
		|УПОРЯДОЧИТЬ ПО
		|	Номенклатура.Наименование
		|;";
		
		// [5А]. Данные для заполнения таблицы Остатки (балансовая стоимость)
		ИндексТаблицыОстатки = 5;
		
		// [6А]. Данные для заполнения таблицы Материалы (балансовая стоимость)
		ИндексТаблицыМатериалы = 6 + СдвигИндексаТаблицыМатериалы;
		
	Иначе
		//------------------------------------------------------------------------------
		//	Вариант Б.
		//	Заполнение сумм по указанному типу цен номенклатуры
		//------------------------------------------------------------------------------
		
		Если ВариантФормированияОписи = 3 Тогда
			// 3. Опись с 2018 г. Счет в таблице (5 знаков). Одна строка - один объект
			
			ТекстЗапросаБлижайшиеОбщиеРодителиСчетов = ИнвентаризацияСервер.ПолучитьТекстЗапросаБлижайшиеОбщиеРодителиСчетов(
				"ОстаткиСОтборомПоМОЛ",
				"Номенклатура",
				,
				СдвигИндексаТаблицыМатериалы);
		Иначе
			ТекстЗапросаБлижайшиеОбщиеРодителиСчетов = "";
			
			СдвигИндексаТаблицыМатериалы = 0;
		КонецЕсли;
		
		ТекстЗапроса = ТекстЗапроса + "
		|////////////////////////////////////////////////////////////­////////////////////
		|// [3Б]. Установленные цены номенклатуры
		|//
		|ВЫБРАТЬ РАЗРЕШЕННЫЕ
		|	Номенклатура	КАК Номенклатура,
		|	Цена			КАК Цена
		|ПОМЕСТИТЬ
		|	Б_ЦеныНоменклатуры
		|ИЗ
		|	РегистрСведений.ЦеныНоменклатуры.СрезПоследних(
		|		&ДатаЗапроса,
		|		Организация = &Организация
		|		И	ТипЦен = &ТипЦен
		|		И	Номенклатура В
		|			(ВЫБРАТЬ
		|				Номенклатура
		|			ИЗ
		|				ОстаткиСОтборомПоМОЛ)
		|	)	КАК ЦеныНоменклатурыСрезПоследних
		|ИНДЕКСИРОВАТЬ ПО
		|	Номенклатура
		|;
		|
		|////////////////////////////////////////////////////////////­////////////////////
		|// [4Б]. Данные для заполнения таблицы Остатки (указанный тип цен)
		|//		(Финальная таблица)
		|//
		|ВЫБРАТЬ
		|	Остатки.Счет								КАК Счет,
		|	Остатки.ИФО									КАК ИФО,
		|	Остатки.КФО									КАК КФО,
		|	Остатки.КПС									КАК КПС,
		|	Остатки.МОЛ									КАК ЦМО,
		|	Остатки.Субконто3							КАК Субконто3,
		|	Остатки.Номенклатура						КАК Номенклатура,
		|	СУММА(Остатки.КоличествоУчет)				КАК КоличествоУчет,
		|	СУММА(Цены.Цена * Остатки.КоличествоУчет)	КАК СуммаУчет
		|ИЗ
		|	ОстаткиСОтборомПоМОЛ	КАК Остатки
		|	ЛЕВОЕ СОЕДИНЕНИЕ	Б_ЦеныНоменклатуры	КАК Цены
		|		ПО	Остатки.Номенклатура = Цены.Номенклатура
		|СГРУППИРОВАТЬ ПО
		|	Остатки.Счет,
		|	Остатки.ИФО,
		|	Остатки.КФО,
		|	Остатки.КПС,
		|	Остатки.МОЛ,
		|	Остатки.Субконто3,
		|	Остатки.Номенклатура
		|УПОРЯДОЧИТЬ ПО
		|	Остатки.Номенклатура.Наименование
		|;
		|"
		
		+ ТекстЗапросаБлижайшиеОбщиеРодителиСчетов
		
		+ "
		|////////////////////////////////////////////////////////////­////////////////////
		|// [5Б]. Данные для заполнения таблицы Материалы (указанный тип цен)
		|//		(Финальная таблица)
		|//
		|ВЫБРАТЬ РАЗРЕШЕННЫЕ
		|	Субконто3									КАК Субконто3,
		|	Номенклатура								КАК Номенклатура,
		|	КоличествоУчет								КАК КоличествоУчет,
		|	ВЫБОР
		|		КОГДА &НеЗаполнятьЦену ТОГДА
		|			0
		|		ИНАЧЕ
		|			Цена
		|	КОНЕЦ										КАК Цена,
		|	СуммаУчет									КАК СуммаУчет,
		|	
		|	Счет										КАК Счет,
		|	КПС											КАК КПС,
		|	КФО											КАК КФО,
		|	
		|	// Недостача
		|	ВЫБОР
		|		КОГДА КоличествоУчет > 0 ТОГДА
		|			КоличествоУчет
		|		ИНАЧЕ
		|			0
		|	КОНЕЦ										КАК НедостачаКоличество,
		|	ВЫБОР
		|		КОГДА СуммаУчет > 0 ТОГДА
		|			СуммаУчет
		|		ИНАЧЕ
		|			0
		|	КОНЕЦ										КАК НедостачаСумма,
		|	
		|	// Излишек
		|	ВЫБОР
		|		КОГДА КоличествоУчет < 0 ТОГДА
		|			-КоличествоУчет
		|		ИНАЧЕ
		|			0
		|	КОНЕЦ										КАК ИзлишекКоличество,
		|	ВЫБОР
		|		КОГДА СуммаУчет < 0 ТОГДА
		|			-СуммаУчет
		|		ИНАЧЕ
		|			0
		|	КОНЕЦ										КАК ИзлишекСумма
		|ИЗ
		|	("
		
		+ ПолучитьТекстЗапросаСвернутыеОстаткиДляТаблицыМатериалы(
			ВариантФормированияОписи,
			ИспользоватьБалансовуюСтоимость)
			
		+ ")	КАК СвернутыеОстаткиПОВыбраннымЦМО
		|УПОРЯДОЧИТЬ ПО
		|	Номенклатура.Наименование
		|;";
		
	 	// [4Б]. Данные для заполнения таблицы Остатки (указанный тип цен)
		ИндексТаблицыОстатки = 4;
		
		// [5Б]. Данные для заполнения таблицы Материалы (указанный тип цен)
		ИндексТаблицыМатериалы = 5 + СдвигИндексаТаблицыМатериалы;
		
	КонецЕсли;
	
	ЗапросОстатки.Текст = ТекстЗапроса;
	
	Результаты = ЗапросОстатки.ВыполнитьПакет();
	
	// [2]. Данные для заполнения таблицы ПорядокСписания
	ИндексТаблицыПорядокСписания = 2;
	
	ДокументОбъект["Материалы"].Загрузить(			Результаты[ИндексТаблицыМатериалы].Выгрузить());
	ДокументОбъект["Остатки"].Загрузить(			Результаты[ИндексТаблицыОстатки].Выгрузить());
	ДокументОбъект["ПорядокСписания"].Загрузить(	Результаты[ИндексТаблицыПорядокСписания].Выгрузить());
	
КонецПроцедуры
Показать
10. SlavaKron 26.05.21 09:20 Сейчас в теме
Передать форму объекта куда-либо на сервере можно только во внешней обработке с видом ЗаполнениеОбъекта в команде с типом ЗаполнениеФормы. Если ваша обработка не предполагает работу на клиенте, то достаточно будет такой команды. Иначе придется делать 2 команды: первая, например, ОткрытиеФормы, вторая – скрытая, ЗаполнениеФормы. В команде ОткрытиеФормы можно будет программно вызвать команду ЗаполнениеФормы.
11. Dmitrij-2 45 26.05.21 09:22 Сейчас в теме
(9) ДокументОбъект = Форма["Объект"];

ДокументОбъект - это не прикладной объект, а данные формы. На первый взгляд не так сложно переписать. Копируете всю процедуру и заменяете параметр Форма, на объект. Следовательно ДокументОбъект будет равен параметру, а не Форма["Объект"].
Главное чтобы не было обращений к реквизитам формы и не было вызова экспортных методов формы.
14. user779438 30.05.21 01:23 Сейчас в теме
Скорее всего никак.
Нельзя передавать форму с сервера на клиент и наоборот - форма несериализуемый объект. 1С против таких действий из-за больших расходов ресурсов.
Если вы получаете форму при помощи ПолучитьФорму(), то и доступ к форме у вас только со стороны клиента.
Возможные варианты:
1. Если не нужна форма, а нужен только документ:
- полностью отказывайтесь от работы с формой, работайте только с объектом документа.
2. Если нужна форма уже записанного документа:
- создаете объект документа, заполняете, записываете, открываете форму документа и передаете туда ссылку на созданный документ
ДокументОбъект = Документы.ИнвентаризацияМЗ.Создать();
ЗаполнитьДокумент(ДокументОбъект);
ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение);
ОткрытьФорму("Документы.ИнвентаризацияМЗ.Форма.ФормаОбъекта", Новый Структура("Ключ", ДокументОбъект.Ссылка)); 

3. Если нужна форма незаписанного документа:
ДанныеЗаполнения = Новый Структура();
ЗаполнениеДанных(ДанныеЗаполнения);
ОткрытьФорму("Документы.ИнвентаризацияМЗ.Форма.ФормаОбъекта", Новый Структура("ЗначенияЗаполнения", ДанныеЗаполнения); 

В вашем случае лучше исправить саму процедуру заполнения в менеджере документа, тем более там форма всего один раз передается в функцию
ОпределитьПараметрыНакладываемогоОтбора(Форма)

либо передавайте в нее объект, либо необходимые реквизиты отдельными параметрами. Тогда необходимость в манипулировании формой отпадет сама собой.
Оставьте свое сообщение

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