Функция СведенияОВнешнейОбработке () экспорт ПараметрыРегистрации = Новый Структура; МассивНазначений = Новый Массив; МассивНазначений.Добавить("Документ.ЗаказКлиента"); ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма"); ПараметрыРегистрации.Вставить("Назначение", МассивНазначений); ПараметрыРегистрации.Вставить("Наименование", "Распечатка Чека"); ПараметрыРегистрации.Вставить("БезопасныйРежим", ИСТИНА); ПараметрыРегистрации.Вставить("Версия", "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; ТабличныйДокумент.ВерхнийКолонтитул.Выводить=ложь; ТабличныйДокумент.НижнийКолонтитул.Выводить=ложь; Возврат ТабличныйДокумент; КонецФункции