Автор: Laky2006 12.10.19, 23:17
Здравствуйте я только начинаю знакомиться с 1с8,3 есть такая конфигурация
Платформа: 1С:Предприятие 8.3 (8.3.15.1656)
Конфигурация: Управление небольшой фирмой для Украины (базовая), редакция 1.6 (1.6.10.1) (http://1c.ua/v8/RegionalSolutions_UA_UNF.php)
Хочу вставить внешнею печатную форму но остановился на ошибке вывода наименования товара который сдается в ремонт в друменте ПриемПередача в ремонт.
В "Функция СформироватьПечатнуюФорму(СсылкаНаДокумент, ОбъектыПечати)" хочу вывести на печать и указываю
ОбластьШапка.Параметры.Товар = СсылкаНаДокумент.Номенклатура;
при попытке печати выдает ошибку "В обработчике печати не был сформирован табличный документ для : заказвнешний"
подскажите как правильно прописать Номенклатуру?
Мой кодФункция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = Новый Структура;
МассивНазначений = Новый Массив;
МассивНазначений.Добавить("Документ.ПриемИПередачаВРемонт"); //Указываем документ к которому делаем внешнюю печ. форму
ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма"); //может быть - ПечатнаяФорма, ЗаполнениеОбъекта, ДополнительныйОтчет, СозданиеСвязанныхОбъектов...
ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
ПараметрыРегистрации.Вставить("Наименование", "Заказ реализации товаров внешний"); //имя под которым обработка будет зарегестрирована в справочнике внешних обработок
ПараметрыРегистрации.Вставить("БезопасныйРежим", ЛОЖЬ);
ПараметрыРегистрации.Вставить("Версия", "1.0");
ПараметрыРегистрации.Вставить("Информация", "Эту ВПФ мы сделали для того что бы посмотреть возможности БСП ");
ТаблицаКоманд = ПолучитьТаблицуКоманд();
ДобавитьКоманду(ТаблицаКоманд, "Заказ внешний", "заказвнешний", "ВызовСерверногоМетода", Истина, "ПечатьMXL");
ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
Возврат ПараметрыРегистрации;
КонецФункции
Функция ПолучитьТаблицуКоманд()
Команды = Новый ТаблицаЗначений;
Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));//как будет выглядеть описание печ.формы для пользователя
Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка")); //имя макета печ.формы
Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка")); //ВызовСерверногоМетода
Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
Возврат Команды;
КонецФункции
Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")
НоваяКоманда = ТаблицаКоманд.Добавить();
НоваяКоманда.Представление = Представление;
НоваяКоманда.Идентификатор = Идентификатор;
НоваяКоманда.Использование = Использование;
НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
НоваяКоманда.Модификатор = Модификатор;
КонецПроцедуры
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "заказвнешний", "Заказ внешний", СформироватьПечатнуюФорму(МассивОбъектов[0], ОбъектыПечати));
КонецПроцедуры // Печать()
Функция СформироватьПечатнуюФорму(СсылкаНаДокумент, ОбъектыПечати)
ТабличныйДокумент = Новый ТабличныйДокумент;
МакетОбработки = ПолучитьМакет("МакетЗаказ");
//заполняем шапку
ОбластьШапка = МакетОбработки.ПолучитьОбласть("Шапка");
ОбластьШапка.Параметры.НомерРеализации = СсылкаНаДокумент.Номер;
ОбластьШапка.Параметры.ДатаРеализации = Формат(СсылкаНаДокумент.Дата, "Л=uk_UA; ДЛФ=D");
ОбластьШапка.Параметры.Товар = СсылкаНаДокумент.Номенклатура;
//выводим шапку в табличный документ
ТабличныйДокумент.Вывести(ОбластьШапка);
КонецФункции
Автор: mut 13.10.19, 11:54
Видимо функция СформироватьПечатнуюФорму должна вернуть табличный документ, вставьте в конце
Возврат ТабличныйДокумент;
Автор: Laky2006 14.10.19, 1:04
mut @ Вчера, 12:54
,
Спасибо большое, а то я взялся первый раз за 1с захотел прикрутиить внешнею форму и не как не получилось, полез уже смотреть как это сделать через РАСШИРЕНИЯ.
но сделал как вы описали и все заработало.
Еще раз спасибо
Автор: Vofka 15.10.19, 7:15
Laky2006, для спасибо ещё есть специальная кнопочка.