Код 1C v 8.3 А это сам код. Функция СведенияОВнешнейОбработке () экспорт
ПараметрыРегистрации = Новый Структура;
МассивНазначений = Новый Массив;
МассивНазначений.Добавить("Документ.ЗаказКлиента");
ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма");
ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
ПараметрыРегистрации.Вставить("Наименование", "Распечатка Чека"); ПараметрыРегистрации.Вставить("БезопасныйРежим", ИСТИНА);
ПараметрыРегистрации.Вставить("Версия", "1.0");
ТаблицаКоманд = ПолучитьТаблицуКоманд();
ДобавитьКоманду(ТаблицаКоманд, "Распечатка Чека (1.0)", "ПечатьЗаказ", "ВызовСерверногоМетода", Истина, "ПечатьMXL");
ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
Возврат ПараметрыРегистрации;
КонецФункции
Функция ПолучитьТаблицуКоманд()
Команды = Новый ТаблицаЗначений;
Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));
Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка")); //имя макета печ.формы
Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка")); //ВызовСерверногоМетода
Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
Возврат Команды;
КонецФункции
Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")
НоваяКоманда = ТаблицаКоманд.Добавить();
НоваяКоманда.Представление = Представление;
НоваяКоманда.Идентификатор = Идентификатор;
НоваяКоманда.Использование = Использование;
НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
НоваяКоманда.Модификатор = Модификатор;
КонецПроцедуры
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "ПечатьЗаказ", "Печать Заказа", СформироватьПечатнуюФорму(МассивОбъектов[0], ОбъектыПечати));
КонецПроцедуры // Печать()
//Данные выводимой информации
Функция СформироватьПечатнуюФорму(СсылкаНаДокумент, ОбъектыПечати)
ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.ИмяПараметровПечати = "ПечатьЗаказ";
МакетОбработки = ПолучитьМакет("МакетПечатиЗаказа");
//шапка
ОбластьШапка = МакетОбработки.ПолучитьОбласть("Шапка");
ОбластьШапка.Параметры.НомерЗаказа = СсылкаНаДокумент.Номер;
ОбластьШапка.Параметры.ДатаЗаказа = Формат (СсылкаНаДокумент.Дата,"Л=az_AZ; ДФ=dd.MM.yyyy; ДЛФ=D");
//ОбластьШапка.Параметры.Контрагент = СсылкаНаДокумент.Контрагент;
//ОбластьШапка.Параметры.АдресДоставки = СсылкаНаДокумент.АдресДоставки;
ТабличныйДокумент.Вывести(ОбластьШапка);
//оглавление
ОбластьОглавление = МакетОбработки.ПолучитьОбласть("Оглавление");
ТабличныйДокумент.Вывести(ОбластьОглавление);
//строка ТЧ
ОбластьСтроки = МакетОбработки.ПолучитьОбласть("СтрокаТЧ");
для каждого ТекущаяСтрока из СсылкаНаДокумент.Товары цикл
ОбластьСтроки.Параметры.Товар = ТекущаяСтрока.Номенклатура;
ОбластьСтроки.Параметры.Номер = ТекущаяСтрока.НомерСтроки;
ОбластьСтроки.Параметры.ЦенаБезСкидки = Формат(ТекущаяСтрока.Цена,"Л=az_AZ; ЧФ='Ч azn'");
ОбластьСтроки.Параметры.Количество = ТекущаяСтрока.Количество;
//ОбластьСтроки.Параметры.СуммаНДС = ТекущаяСтрока.СтавкаНДС;
//ОбластьСтроки.Параметры.СуммаНДС = Формат(Окр(ТекущаяСтрока.Цена - (ТекущаяСтрока.Цена * 18 / 100),2),"Л=az_AZ; ЧФ='Ч azn'");
//ОбластьСтроки.Параметры.Сумма = ТекущаяСтрока.Сумма;
//Если ТекущаяСтрока.ПроцентРучнойСкидки > 0 тогда
//ОбластьСтроки.Параметры.СуммаБезСкидки = ОбластьСтроки.Параметры.Сумма + ОбластьСтроки.Параметры.Скидка;
//ИначеЕсли ТекущаяСтрока.ПроцентАвтоматическойСкидки > 0 тогда
//ОбластьСтроки.Параметры.СуммаБезСкидки = ОбластьСтроки.Параметры.Сумма - ОбластьСтроки.Параметры.Скидка;
//Иначе ОбластьСтроки.Параметры.СуммаБезСкидки = ОбластьСтроки.Параметры.Сумма;
//КонецЕсли;
//ОбластьСтроки.Параметры.Артикул = ТекущаяСтрока.Номенклатура.Артикул;
//Если ТекущаяСтрока.ПроцентРучнойСкидки тогда ОбластьСтроки.Параметры.Скидка = Формат (ТекущаяСтрока.ПроцентРучнойСкидки, "ЧФ='Ч %'");
//ИначеЕсли ТекущаяСтрока.ПроцентАвтоматическойСкидки тогда ОбластьСтроки.Параметры.Скидка = ТекущаяСтрока.ПроцентАвтоматическойСкидки;
//Иначе ОбластьСтроки.Параметры.Скидка = "0%" КонецЕсли;
////ОбластьСтроки.Параметры.СуммаНДС = Формат(Окр(ТекущаяСтрока.Цена * 18 / 100,2),"Л=az_AZ; ЧФ='Ч azn'");
//Если ТекущаяСтрока.ПроцентРучнойСкидки > 0 тогда
//ОбластьСтроки.Параметры.СуммаБезСкидки = ТекущаяСтрока.Сумма + (Окр(ТекущаяСтрока.Цена * ТекущаяСтрока.ПроцентРучнойСкидки / 100,2) * ТекущаяСтрока.Количество);
//ИначеЕсли ТекущаяСтрока.ПроцентАвтоматическойСкидки > 0 тогда
//ОбластьСтроки.Параметры.СуммаБезСкидки = ТекущаяСтрока.Сумма + (Окр(ТекущаяСтрока.Цена * ТекущаяСтрока.ПроцентАвтоматическойСкидки / 100,2) * ТекущаяСтрока.Количество);
//Иначе ОбластьСтроки.Параметры.СуммаБезСкидки = "0 AZN";
//КонецЕсли;
//Если ТекущаяСтрока.ПроцентРучнойСкидки > 0 тогда
//ОбластьСтроки.Параметры.ЦенаСкидки = (Окр(ТекущаяСтрока.Цена * ТекущаяСтрока.ПроцентРучнойСкидки / 100,2) * ТекущаяСтрока.Количество);
//ИначеЕсли ТекущаяСтрока.ПроцентАвтоматическойСкидки > 0 тогда
//ОбластьСтроки.Параметры.ЦенаСкидки = ОбластьСтроки.Параметры.ЦенаСкидки = (Окр(ТекущаяСтрока.Цена * ТекущаяСтрока.ПроцентАвтоматическойСкидки / 100,2) * ТекущаяСтрока.Количество);
//Иначе ОбластьСтроки.Параметры.ЦенаСкидки = "0 AZN";
//КонецЕсли;
ТабличныйДокумент.Вывести(ОбластьСтроки);
КонецЦикла;
//подвал
ОбластьПодвал = МакетОбработки.ПолучитьОбласть("Подвал");
//ОбластьПодвал.Параметры.КоличествоИтог = СсылкаНаДокумент.Товары.Итог("Количество");
ОбластьПодвал.Параметры.СуммаИтог = СсылкаНаДокумент.Товары.Итог("Сумма");
ОбластьПодвал.Параметры.СуммаНДС = СсылкаНаДокумент.Товары.Итог("СуммаНДС");
//Если СсылкаНаДокумент.Товары.Итог("СуммаРучнойСкидки") тогда
//ОбластьПодвал.Параметры.СкидкаИтог = СсылкаНаДокумент.Товары.Итог("СуммаРучнойСкидки");
//ИначеЕсли СсылкаНаДокумент.Товары.Итог("ПроцентАвтоматическойСкидки")тогда
//ОбластьПодвал.Параметры.СкидкаИтог = СсылкаНаДокумент.Товары.Итог("ПроцентАвтоматическойСкидки");
//Иначе ОбластьПодвал.Параметры.СкидкаИтог = "0%" КонецЕсли;
ОбластьПодвал.Параметры.СуммаПрописью = ЧислоПрописью(СсылкаНаДокумент.Товары.Итог("Сумма"),"Л=az_AZ; ДП=истина","manat, qəpik, qəpik, м, qəpik, qəpik, qəpik, ж" );
ТабличныйДокумент.Вывести(ОбластьПодвал);
//параметры страницы
ТабличныйДокумент.АвтоМасштаб = истина;
ТабличныйДокумент.ОриентацияСтраницы=ОриентацияСтраницы.Портрет;
ТабличныйДокумент.ПолеСлева=0;
ТабличныйДокумент.ПолеСправа=0;
ТабличныйДокумент.ПолеСверху=0;
ТабличныйДокумент.ПолеСнизу=0;
ТабличныйДокумент.ВерхнийКолонтитул.Выводить=ложь;
ТабличныйДокумент.НижнийКолонтитул.Выводить=ложь;
Возврат ТабличныйДокумент;
КонецФункции