Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 12:53

Внешняя печатная форма в 1С 8.3

Автор Sergowa, 23 июн 2016, 14:45

0 Пользователей и 1 гость просматривают эту тему.

Sergowa

Добрый день. Я только осваиваю 1С) Делаю внешнюю печатную форму для документа КалькуляцияСебестоимости, но при выводе этой печатной формы появляется ошибка "Обращение к процедуре объекта как к функции (Печать)"

Вот код моей обработки
Функция СведенияОВнешнейОбработке() Экспорт

ПараметрыРегистрации = Новый Структура;

МассивНазначений = Новый Массив;
МассивНазначений.Добавить("Документ.КалькуляцияСебестоимости"); //Указываем документ к которому делаем внешнюю печ. форму
ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма"); //может быть - ПечатнаяФорма, ЗаполнениеОбъекта, ДополнительныйОтчет, СозданиеСвязанныхОбъектов...
ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
ПараметрыРегистрации.Вставить("Наименование", "Калькуляция себестоимости"); //имя под которым обработка будет зарегестрирована в справочнике внешних обработок
ПараметрыРегистрации.Вставить("БезопасныйРежим", ЛОЖЬ);
ПараметрыРегистрации.Вставить("Версия", "1.0");
ПараметрыРегистрации.Вставить("Информация", "Внешня обработка для документа калькуляции");
ТаблицаКоманд = ПолучитьТаблицуКоманд();
ДобавитьКоманду(ТаблицаКоманд, "Калькуляция себестоимости", "КалькуляцияСебестоимости", "ВызовСерверногоМетода", Истина, "ПечатьMXL");
ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);

Возврат ПараметрыРегистрации;

Конецфункции

Функция ПолучитьТаблицуКоманд()
Команды = Новый ТаблицаЗначений;
Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));//как будет выглядеть описание печ.формы для пользователя
Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка")); //имя макета печ.формы
Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка")); //ВызовСерверногоМетода
Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
Возврат Команды;
КонецФункции

Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")

НоваяКоманда = ТаблицаКоманд.Добавить();
НоваяКоманда.Представление = Представление;
НоваяКоманда.Идентификатор = Идентификатор;
НоваяКоманда.Использование = Использование;
НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
НоваяКоманда.Модификатор = Модификатор;

КонецПроцедуры


Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт

УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
КоллекцияПечатныхФорм,
"КалькуляцияСебестоимости",
"Калькуляция себестоимости",
СформироватьПечатнуюФорму(МассивОбъектов[0], ОбъектыПечати));
КонецПроцедуры // Печать()


функция СформироватьПечатнуюФорму(СсылкаНаОбъект, ОбъектыПечати)

ТабличныйДокумент = Новый ТабличныйДокумент;
МакетОбработки = ПолучитьМакет("МакетПечати");

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

ОбластьСтроки = МакетОбработки.ПолучитьОбласть("СтрокаТЧ");
Для Каждого ТекущаяСтрока ИЗ СсылкаНаОбъект.Номенклатура Цикл
ОбластьСтроки.Параметры.Номенклатура = ТекущаяСтрока.Номенклатура;
ОбластьСтроки.Параметры.Количество =  ТекущаяСтрока.Количество;

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

КонецЦикла;

Возврат ТабличныйДокумент;

Конецфункции


Я так понимаю что вместо процедуры, должна быть функция. Но что-то не получается у меня правильно ее реализовать!

Rasty

внешняя печатная форма должна только формировать табличный документ, который выводится на печать
Помогли - Скажи спасибо! Решил сам - поделись решением!
:)

Sergowa

Спасибо за ответ) Уже разобрался!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск