Ошибка в печатной форме метод объекта не обнаружен в УНФ

1. shemyl696 24.06.23 15:32 Сейчас в теме
Добрый день, понадобилось сделать печатную форму макета в документе заказ покупателя, есть нужный макет в другом документе.-заказ на производство. Принято решение вызвать этот добавить команду печать макета в документе заказ покупателя. Выдает ошибку -{Документ.ЗаказПокупателя.МодульМенеджера(16006)}: Метод объекта не обнаружен (СформироватьТребованиеНаСклад1)
Документы.ЗаказНаПроизводство.СформироватьТребованиеНаСклад1(ПечатнаяФорма, МассивОбъектов, ОбъектыПечати);
Хотя в документе заказ на производство есть аналогичный механизм рабочий печать макета сдельный наряд. Не могу понять почему не отрабатывает корректно.
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. user1880116 24.06.23 16:46 Сейчас в теме
(1)
Не могу понять почему
А ты там вообще кем? Про области видимости методов, про экспорт там какой-то слышала?
2. Gendelf 24.06.23 16:39 Сейчас в теме
6. shemyl696 24.06.23 22:22 Сейчас в теме
(2)
Функция СформироватьТребованиеНаСклад1(ОписаниеПечатнойФормы, МассивОбъектов, ОбъектыПечати)  Экспорт
	Перем ПервыйДокумент, НомерСтрокиНачало;
	
	ТабличныйДокумент	= ОписаниеПечатнойФормы.ТабличныйДокумент;
	Макет				= УправлениеПечатью.МакетПечатнойФормы(ОписаниеПечатнойФормы.ПолныйПутьКМакету);
	ДанныеПечати		= Новый Структура;
	
	Запрос = Новый Запрос;
	Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов);
	
	Запрос.Текст = 
	"ВЫБРАТЬ
	|	ЗаказНаПроизводство.Ссылка КАК Ссылка,
	|	ЗаказНаПроизводство.Номер КАК Номер,
	|	ЗаказНаПроизводство.Дата КАК ДатаДокумента,
	|	ЗаказНаПроизводство.Организация КАК Организация,
	|	ЗаказНаПроизводство.Ответственный КАК Исполнитель,
	|	ЗаказНаПроизводство.ЗаказПокупателя КАК Заказ,
	|	ЗаказНаПроизводство.Старт КАК ДатаЗапуска,
	|	ЗаказНаПроизводство.Финиш КАК ДатаВыпуска,
	|	ЗаказНаПроизводство.СтруктурнаяЕдиница КАК Подразделение,
	|	ЗаказНаПроизводство.Организация.Префикс КАК Префикс,
	|	ЗаказНаПроизводство.Продукция.(
	|		НомерСтроки КАК НомерСтроки,
	|		ВЫБОР
	|			КОГДА (ВЫРАЗИТЬ(ЗаказНаПроизводство.Продукция.Номенклатура.НаименованиеПолное КАК СТРОКА(100))) = """"
	|				ТОГДА ЗаказНаПроизводство.Продукция.Номенклатура.Наименование
	|			ИНАЧЕ ЗаказНаПроизводство.Продукция.Номенклатура.НаименованиеПолное
	|		КОНЕЦ КАК ПредставлениеНоменклатуры,
	|		Номенклатура.Артикул КАК Артикул,
	|		Номенклатура.Код КАК Код,
	|		Характеристика КАК Характеристика,
	|		ЕдиницаИзмерения КАК ЕдиницаИзмерения,
	|		Количество КАК Количество
	|	) КАК ТаблицаПродукция,
	|	ЗаказНаПроизводство.Запасы.(
	|		НомерСтроки КАК НомерСтроки,
	|		ВЫБОР
	|			КОГДА (ВЫРАЗИТЬ(ЗаказНаПроизводство.Запасы.Номенклатура.НаименованиеПолное КАК СТРОКА(100))) = """"
	|				ТОГДА ЗаказНаПроизводство.Запасы.Номенклатура.Наименование
	|			ИНАЧЕ ЗаказНаПроизводство.Запасы.Номенклатура.НаименованиеПолное
	|		КОНЕЦ КАК ПредставлениеНоменклатуры,
	|		Номенклатура.Артикул КАК Артикул,
	|		Номенклатура.Код КАК Код,
	|		Характеристика КАК Характеристика,
	|		ЕдиницаИзмерения КАК ЕдиницаИзмерения,
	|		Количество КАК Количество
	|	) КАК ТаблицаЗапасы
	|ИЗ
	|	Документ.ЗаказНаПроизводство КАК ЗаказНаПроизводство
	|ГДЕ
	|	ЗаказНаПроизводство.Ссылка В(&МассивОбъектов)
	|
	|УПОРЯДОЧИТЬ ПО
	|	Ссылка,
	|	НомерСтроки";
	
	Шапка = Запрос.Выполнить().Выбрать();
	Пока Шапка.Следующий() Цикл
		
		ПечатьДокументовУНФ.ПередНачаломФормированияДокумента(ТабличныйДокумент, ПервыйДокумент, НомерСтрокиНачало,
			ДанныеПечати);
		
		//::: Заголовок
		ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");

		НомерДокумента = ПечатьДокументовУНФ.ПолучитьНомерНаПечатьСУчетомДатыДокумента(Шапка.ДатаДокумента,
			Шапка.Номер, Шапка.Префикс);
		ДатаДокумента = Формат(Шапка.ДатаДокумента, "ДЛФ=DD");
		ДанныеПечати.Вставить("ТекстЗаголовка", СтрШаблон(НСтр("ru ='Требование на склад № %1 от %2'"), НомерДокумента,
			ДатаДокумента));

		ОбластьЗаголовок.Параметры.Заполнить(ДанныеПечати);
		ШтрихкодированиеПечатныхФорм.ВывестиШтрихкодВТабличныйДокумент(ТабличныйДокумент, Макет, ОбластьЗаголовок,
			Шапка.Ссылка);

		ТабличныйДокумент.Вывести(ОбластьЗаголовок);

		// ::: Шапка документа
		ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
		ОбластьШапка.Параметры.Заполнить(Шапка);
		ТабличныйДокумент.Вывести(ОбластьШапка);
		
		// ::: Табличная часть "Продукция"
		ОбластьМакетаШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
		ОбластьМакетаСтрока = Макет.ПолучитьОбласть("Строка");
		ОбластьМакетаИтого = Макет.ПолучитьОбласть("Итого");
		
		ДанныеПечати.Вставить("ОписаниеТаблицы", НСтр("ru ='Продукция, работа'"));
		ДанныеПечати.Вставить("ОписаниеЗапасов", НСтр("ru ='Наименование, характеристика продукции'"));
		
		ОбластьМакетаШапкаТаблицы.Параметры.Заполнить(ДанныеПечати);
		ТабличныйДокумент.Вывести(ОбластьМакетаШапкаТаблицы);
		
		ТаблицаПродукция = Шапка.ТаблицаПродукция.Выгрузить();
		ПараметрыНоменклатуры = Новый Структура;
		
		Для каждого СтрокаТабличнойЧастиПродукция Из ТаблицаПродукция Цикл
			
			ДанныеПечати.Очистить();
			ДанныеПечати.Вставить("НомерСтроки", СтрокаТабличнойЧастиПродукция.НомерСтроки);
			
			ПараметрыНоменклатуры.Очистить();
			ПараметрыНоменклатуры.Вставить("Содержание", Неопределено);
			ПараметрыНоменклатуры.Вставить("ПредставлениеНоменклатуры", СтрокаТабличнойЧастиПродукция.ПредставлениеНоменклатуры);
			ПараметрыНоменклатуры.Вставить("ПредставлениеХарактеристики", СтрокаТабличнойЧастиПродукция.Характеристика);
			ПараметрыНоменклатуры.Вставить("ПредставлениеАртикула", СтрокаТабличнойЧастиПродукция.Артикул);
			ПараметрыНоменклатуры.Вставить("НеобходимоВыделитьКакСоставНабора", Ложь);
			
			ДанныеПечати.Вставить("ПредставлениеНоменклатуры", ПечатьДокументовУНФ.ПредставлениеНоменклатуры(ПараметрыНоменклатуры));
			ДанныеПечати.Вставить("ПредставлениеКодаНоменклатуры", ПечатьДокументовУНФ.ПредставлениеКодаНоменклатуры(СтрокаТабличнойЧастиПродукция));
			
			ДанныеПечати.Вставить("Количество", СтрокаТабличнойЧастиПродукция.Количество);
			ДанныеПечати.Вставить("ЕдиницаИзмерения", СтрокаТабличнойЧастиПродукция.ЕдиницаИзмерения);
			
			ОбластьМакетаСтрока.Параметры.Заполнить(ДанныеПечати);
			ТабличныйДокумент.Вывести(ОбластьМакетаСтрока);
			
		КонецЦикла;
		
		ТабличныйДокумент.Вывести(ОбластьМакетаИтого);
		
		// ::: Табличная часть "Запасы" (Материалы)
		ДанныеПечати.Очистить();
		ДанныеПечати.Вставить("ОписаниеТаблицы", НСтр("ru ='Потребность в материалах'"));
		ДанныеПечати.Вставить("ОписаниеЗапасов", НСтр("ru ='Наименование, характеристика материала'"));
		
		ОбластьМакетаШапкаТаблицы.Параметры.Заполнить(ДанныеПечати);
		ТабличныйДокумент.Вывести(ОбластьМакетаШапкаТаблицы);
		
		ТаблицаЗапасы = Шапка.ТаблицаЗапасы.Выгрузить();
		Для Каждого СтрокаТабличнойЧастиЗапасы Из ТаблицаЗапасы Цикл

			ДанныеПечати.Очистить();
			ДанныеПечати.Вставить("НомерСтроки", СтрокаТабличнойЧастиЗапасы.НомерСтроки);

			ПараметрыНоменклатуры.Очистить();
			ПараметрыНоменклатуры.Вставить("Содержание", Неопределено);
			ПараметрыНоменклатуры.Вставить("ПредставлениеНоменклатуры",
				СтрокаТабличнойЧастиЗапасы.ПредставлениеНоменклатуры);
			ПараметрыНоменклатуры.Вставить("ПредставлениеХарактеристики", СтрокаТабличнойЧастиЗапасы.Характеристика);
			ПараметрыНоменклатуры.Вставить("ПредставлениеАртикула", СтрокаТабличнойЧастиЗапасы.Артикул);
			ПараметрыНоменклатуры.Вставить("НеобходимоВыделитьКакСоставНабора", Ложь);

			ДанныеПечати.Вставить("ПредставлениеНоменклатуры", ПечатьДокументовУНФ.ПредставлениеНоменклатуры(
				ПараметрыНоменклатуры));
			ДанныеПечати.Вставить("ПредставлениеКодаНоменклатуры", ПечатьДокументовУНФ.ПредставлениеКодаНоменклатуры(
				СтрокаТабличнойЧастиЗапасы));

			ДанныеПечати.Вставить("Количество", СтрокаТабличнойЧастиЗапасы.Количество);
			ДанныеПечати.Вставить("ЕдиницаИзмерения", СтрокаТабличнойЧастиЗапасы.ЕдиницаИзмерения);

			ОбластьМакетаСтрока.Параметры.Заполнить(ДанныеПечати);
			ТабличныйДокумент.Вывести(ОбластьМакетаСтрока);

		КонецЦикла;
		
		ТабличныйДокумент.Вывести(ОбластьМакетаИтого);
		
		//::: Подписи
		ОбластьПодписи = Макет.ПолучитьОбласть("Подписи");
		ОбластьПодписи.Параметры.Заполнить(Шапка);
		ТабличныйДокумент.Вывести(ОбластьПодписи);
		
		УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НомерСтрокиНачало, ОбъектыПечати, Шапка.Ссылка);
		
	КонецЦикла;
	
	Возврат ТабличныйДокумент;
	
КонецФункции
Показать
7. shemyl696 24.06.23 22:23 Сейчас в теме
(2)
Начало процедуры печать
Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
	
	ОписаниеПечатнойФормы = УправлениеПечатью.СведенияОПечатнойФорме(КоллекцияПечатныхФорм, "ТребованиеНаСклад1");
	Если ОписаниеПечатнойФормы <> Неопределено Тогда
		
		ОписаниеПечатнойФормы.ТабличныйДокумент = Новый ТабличныйДокумент;
		ОписаниеПечатнойФормы.ТабличныйДокумент.КлючПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ЗаказНаПроизводство_ТребованиеНаСклад1";
		ОписаниеПечатнойФормы.ПолныйПутьКМакету = "Документ.ЗаказНаПроизводство.ПФ_MXL_ТребованиеНаСклад1";
		ОписаниеПечатнойФормы.СинонимМакета = НСтр("ru ='Спецификация товара'");
		
		СформироватьТребованиеНаСклад1(ОписаниеПечатнойФормы, МассивОбъектов, ОбъектыПечати);
		
	КонецЕсли;
Показать
8. shemyl696 24.06.23 22:24 Сейчас в теме
(2)
вот в заказе покупателя
вызываю, пишет-печатная форма не доступна
Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
	Перем Ошибки;
	
	ПечатнаяФорма = УправлениеПечатью.СведенияОПечатнойФорме(КоллекцияПечатныхФорм, "ЗаказПокупателя");
	Если ПечатнаяФорма <> Неопределено Тогда
		
		ПечатнаяФорма.ТабличныйДокумент = Новый ТабличныйДокумент;
		ПечатнаяФорма.ТабличныйДокумент.КлючПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ЗаказПокупателя_ЗаказПокупателя";
		ПечатнаяФорма.ПолныйПутьКМакету = "Документ.ЗаказПокупателя.ПФ_MXL_ЗаказПокупателя";
		ПечатнаяФорма.СинонимМакета = НСтр("ru ='Заказ покупателя'");
		
		СформироватьЗаказПокупателя(ПечатнаяФорма, МассивОбъектов, ОбъектыПечати, Ошибки);
		
	КонецЕсли;
	
	ПечатнаяФорма = УправлениеПечатью.СведенияОПечатнойФорме(КоллекцияПечатныхФорм, "ТребованиеНаСклад1");
	Если ПечатнаяФорма <> Неопределено Тогда
		
		ПечатнаяФорма.ТабличныйДокумент = Новый ТабличныйДокумент;
		ПечатнаяФорма.ТабличныйДокумент.КлючПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ЗаказПокупателя_ПФ_MXL_ТребованиеНаСклад1"­;
		ПечатнаяФорма.ПолныйПутьКМакету = "Документ.ЗаказНаПроизводство.ПФ_MXL_ТребованиеНаСклад1";
		ПечатнаяФорма.СинонимМакета = НСтр("ru ='Спецификация товара'");
		
		//Документы.ЗаказНаПроизводство.СформироватьТребованиеНаСклад1(ПечатнаяФорма, МассивОбъектов, ОбъектыПечати);
		Документы.ЗаказНаПроизводство.СформироватьТребованиеНаСклад1(ПечатнаяФорма, МассивОбъектов, ОбъектыПечати);
	КонецЕсли;
Показать
4. polax 24.06.23 17:28 Сейчас в теме
(1) Ну сделаешь ты экспорт, появится метод, но он же нерабочий в заказе покупателя. Посмотри запрос в функции. Там обращение к полям Заказа на производство. Ну и т.д. Если ты этого не понимаешь, нанимай программиста
5. user1826630 24.06.23 19:03 Сейчас в теме
(4) А че, если где-то есть процедура с такими же буквами в названии - она не сработает???
Оставьте свое сообщение

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