Внешняя печатная форма "Расходная накладная"
Выходит ошибка "Слишком много фактических параметров"
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = Новый Структура;
ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма");
ПараметрыРегистрации.Вставить("Назначение", ПолучитьНазначениеОбработки());
ПараметрыРегистрации.Вставить("Наименование", "Макет");
ПараметрыРегистрации.Вставить("Версия", "1.0");
ПараметрыРегистрации.Вставить("Информация", "Расходная накладная с серией");
ПараметрыРегистрации.Вставить("БезопасныйРежим", Истина);
Команды = ПолучитьТаблицуКоманд();
ДобавитьКоманду(Команды, "Расходная накладная с серией", "РасходнаяНакладная", "ВызовСерверногоМетода", Ложь, "ПечатьMXL");
ПараметрыРегистрации.Вставить("Команды", Команды);
Возврат ПараметрыРегистрации;
КонецФункции // СведенияОВнешнейОбработке()
Функция ПолучитьНазначениеОбработки()
Массив = Новый Массив;
Массив.Добавить("Документ.РеализацияТоваровУслуг");
Возврат Массив;
Конецфункции
Функция ПолучитьТаблицуКоманд ()
Команды=Новый ТаблицаЗначений;
Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));
Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка"));
Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));
Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
Возврат Команды;
КонецФункции
Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")
НоваяКоманда = ТаблицаКоманд.Добавить();
НоваяКоманда.Представление = Представление;
НоваяКоманда.Идентификатор = Идентификатор;
НоваяКоманда.Использование = Использование;
НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
НоваяКоманда.Модификатор = Модификатор;
КонецПроцедуры
Функция Печать() Экспорт
ТабДок = новый ТабличныйДокумент;
Макет = ПолучитьМакет("Макет");
ОбластьШапки = Макет.ПолучитьОбласть("Шапка");
ОбластьДанные = Макет.ПолучитьОбласть("Данные");
ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
ОбластьШапки.Параметры.ТекстЗаголовка = "Расходная накладная №"+РеализацияТоваровУслуг.Номер+"от "+РеализацияТоваровУслуг.Дата;
ОбластьШапки.Параметры.Поставщик = РеализацияТоваровУслуг.Организация;
ОбластьШапки.Параметры.Покупатель = РеализацияТоваровУслуг.Контрагент;
ОбластьШапки.Параметры.Склад = РеализацияТоваровУслуг.Склад;
ТабДок.Вывести(ОбластьШапки);
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| РеализацияТоваровУслуг.Товары.(
| НомерСтроки КАК НомерСтроки,
| Номенклатура КАК Номенклатура,
| Серия КАК Серия,
| Количество КАК Количество
| ) КАК Товары
|ИЗ
| Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
|ГДЕ
| РеализацияТоваровУслуг.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка",РеализацияТоваровУслуг);
Запрос.УстановитьПараметр("ТекущаяДата",ТекущаяДата());
Выборка = Запрос.Выполнить().Выбрать();
ИтогоКоличество = 0;
Пока Выборка.Следующий() Цикл
ЗаполнитьЗначенияСвойств(ОбластьДанные.Параметры,Выборка);
ИтогоКоличество = ИтогоКоличество + Выборка.Количество;
ТабДок.Вывести(ОбластьПодвал);
КонецЦикла;
ОбластьПодвал.Параметры.ИтогоКоличество = ИтогоКоличество;
ТабДок.Вывести(ОбластьПодвал);
Возврат ТабДок;
КонецФункции
ПоказатьПо теме из базы знаний
- Внешняя печатная форма Расходная накладная УТ 11.1
- Внешняя печатная форма "Расходная накладная + с ценой закупочной"
- Внешняя печатная форма Расходная накладная на склад для набор-комплектов
- Внешняя печатная форма Расходная накладная для УПП и КА
- Внешняя печатная форма "Расходная накладная" (2 шт. на лист) для УНФ ред. 1.5
Найденные решения
(15) у вас поставщик в макете строка, а должен быть параметр. Посмотрите в макет У Вас "Организация" параметр, то напишите так:
ОбластьШапки.Параметры.Организация= РеализацияТоваровУслуг.Организация;
ОбластьШапки.Параметры.Контрагент = РеализацияТоваровУслуг.Контрагент;
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
Наименование = ЭтотОбъект.Метаданные().Представление();
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм,Наименование,Наименование,ПечатьФормы());
КонецПроцедуры
Функция ПечатьФормы() Экспорт
ТабДок = новый ТабличныйДокумент;
Макет = ПолучитьМакет("Макет");
ОбластьШапки = Макет.ПолучитьОбласть("Шапка");
ОбластьДанные = Макет.ПолучитьОбласть("Данные");
ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
ОбластьШапки.Параметры.ТекстЗаголовка = "Расходная накладная №"+РеализацияТоваровУслуг.Номер+"от "+РеализацияТоваровУслуг.Дата;
ОбластьШапки.Параметры.Поставщик = РеализацияТоваровУслуг.Организация;
ОбластьШапки.Параметры.Покупатель = РеализацияТоваровУслуг.Контрагент;
ОбластьШапки.Параметры.Склад = РеализацияТоваровУслуг.Склад;
ТабДок.Вывести(ОбластьШапки);
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| РеализацияТоваровУслуг.Товары.(
| НомерСтроки КАК НомерСтроки,
| Номенклатура КАК Номенклатура,
| Серия КАК Серия,
| Количество КАК Количество
| ) КАК Товары
|ИЗ
| Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
|ГДЕ
| РеализацияТоваровУслуг.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка",РеализацияТоваровУслуг);
Запрос.УстановитьПараметр("ТекущаяДата",ТекущаяДата());
Выборка = Запрос.Выполнить().Выбрать();
ИтогоКоличество = 0;
Пока Выборка.Следующий() Цикл
ЗаполнитьЗначенияСвойств(ОбластьДанные.Параметры,Выборка);
ИтогоКоличество = ИтогоКоличество + Выборка.Количество;
ТабДок.Вывести(ОбластьПодвал);
КонецЦикла;
ОбластьПодвал.Параметры.ИтогоКоличество = ИтогоКоличество;
ТабДок.Вывести(ОбластьПодвал);
Возврат ТабДок;
КонецФункции
Показать
(15) у вас поставщик в макете строка, а должен быть параметр. Посмотрите в макет У Вас "Организация" параметр, то напишите так:
ОбластьШапки.Параметры.Организация= РеализацияТоваровУслуг.Организация;
ОбластьШапки.Параметры.Контрагент = РеализацияТоваровУслуг.Контрагент;
Откуда функцию печать вызываете? Я вообще совет посмотрите аналогичные обработки, там все типично в большинстве случаем, только процедура формирования отличается..
Пример кода для процедуры печати:
Такие параметры чаще всего указываются
Пример кода для процедуры печати:
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
ПечатнаяФорма = УправлениеПечатью.СведенияОПечатнойФорме(КоллекцияПечатныхФорм, "МТГТД");
КонецПроцедуры;
Такие параметры чаще всего указываются
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот