Группа: Пользователи
Сообщений: 10
Спасибо сказали: 0 раз
Рейтинг: 0
Доброго времени суток. Нужна помощь. в подключении внешней печатной формы. При открытии внешней обработки в 1с через Файл-->открыть, и выбрав любой счет, все нормально открывается и отображается. Но уже подключив внешнюю обработку через "Сервис" "дополнительные отчеты и обработки" Открыв любой счет и выбрав печать уже через эту обработку выдает ошибку:
Цитата
Не удалось сформировать внешнюю печатную форму! Поле объекта не обнаружено (мВалютаРегламентированногоУчета)
Где у меня может быть ошибка? В конфигурации ошибки не вылазят.
1с Предприятие 8,3 (8,3,9,2233) Конфигурация: Бухгалтерия для Украины, редакция 1,2(1,2,42,1)
Запрос.Текст = "ВЫБРАТЬ | ВложенныйЗапрос.Номенклатура, | ВЫРАЗИТЬ(ВложенныйЗапрос.Номенклатура.НаименованиеПолное КАК Строка(1000)) КАК Товар, | ВложенныйЗапрос.Номенклатура.Артикул КАК Артикул, | ВложенныйЗапрос.Номенклатура.Код КАК Код, | ВложенныйЗапрос.Количество, | ВложенныйЗапрос.ЕдиницаИзмерения КАК ЕдиницаИзмерения, | ВложенныйЗапрос.Цена, | ВложенныйЗапрос.СуммаБезСкидки, | ВложенныйЗапрос.СуммаСкидки, | ВложенныйЗапрос.Сумма, | ВложенныйЗапрос.СуммаНДС, | ВложенныйЗапрос.НомерСтроки КАК НомерСтроки, | 1 КАК ID |ИЗ | (ВЫБРАТЬ | ЗаказПокупателя.Номенклатура КАК Номенклатура, | ЗаказПокупателя.ЕдиницаИзмерения КАК ЕдиницаИзмерения, | ЗаказПокупателя.Цена КАК Цена, | СУММА(ЗаказПокупателя.Количество) КАК Количество, | СУММА(ЗаказПокупателя.СуммаБезСкидки) КАК СуммаБезСкидки, | СУММА(ЗаказПокупателя.СуммаСкидки) КАК СуммаСкидки, | СУММА(ЗаказПокупателя.Сумма) КАК Сумма, | СУММА(ЗаказПокупателя.СуммаНДС) КАК СуммаНДС, | МИНИМУМ(ЗаказПокупателя.НомерСтроки) КАК НомерСтроки | ИЗ | Документ.СчетНаОплатуПокупателю.Товары КАК ЗаказПокупателя | | ГДЕ | ЗаказПокупателя.Ссылка = &ТекущийДокумент | | СГРУППИРОВАТЬ ПО | ЗаказПокупателя.Номенклатура, | ЗаказПокупателя.ЕдиницаИзмерения, | ЗаказПокупателя.Цена, | ЗаказПокупателя.СтавкаНДС) КАК ВложенныйЗапрос | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | " + ЧастьЗапросаДляВыбораСодержанияУслуг + ", | " + ЧастьЗапросаДляВыбораСодержанияУслуг + ", | ЗаказПокупателя.Номенклатура.Артикул КАК Артикул, | ЗаказПокупателя.Номенклатура.Код КАК Код, | ЗаказПокупателя.Количество, | ЗаказПокупателя.Номенклатура.БазоваяЕдиницаИзмерения.Наименование, | ЗаказПокупателя.Цена, | ЗаказПокупателя.СуммаБезСкидки, | ЗаказПокупателя.СуммаСкидки, | ЗаказПокупателя.Сумма, | ЗаказПокупателя.СуммаНДС, | ЗаказПокупателя.НомерСтроки, | 2 |ИЗ | Документ.СчетНаОплатуПокупателю.Услуги КАК ЗаказПокупателя | |ГДЕ | ЗаказПокупателя.Ссылка = &ТекущийДокумент | |УПОРЯДОЧИТЬ ПО | ID, | НомерСтроки";
ЗапросТовары = Запрос.Выполнить().Выгрузить();
Запрос = Новый Запрос; Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект); Запрос.Текст = "ВЫБРАТЬ | ВложенныйЗапрос.Номенклатура, | ВЫРАЗИТЬ(ВложенныйЗапрос.Номенклатура.НаименованиеПолное КАК Строка(1000)) КАК Товар, | ВложенныйЗапрос.Номенклатура.Артикул КАК Артикул, | ВложенныйЗапрос.Номенклатура.Код КАК Код, | ВложенныйЗапрос.Количество, | ВложенныйЗапрос.ЕдиницаИзмерения, | ВложенныйЗапрос.Цена, | ВложенныйЗапрос.Сумма, | ВложенныйЗапрос.НомерСтроки КАК НомерСтроки |ИЗ | (ВЫБРАТЬ | ЗаказПокупателя.Номенклатура КАК Номенклатура, | ЗаказПокупателя.Номенклатура.БазоваяЕдиницаИзмерения.Наименование КАК ЕдиницаИзмерения, | ЗаказПокупателя.Цена КАК Цена, | СУММА(ЗаказПокупателя.Количество) КАК Количество, | СУММА(ЗаказПокупателя.Сумма) КАК Сумма, | МИНИМУМ(ЗаказПокупателя.НомерСтроки) КАК НомерСтроки | ИЗ | Документ.СчетНаОплатуПокупателю.ВозвратнаяТара КАК ЗаказПокупателя | | ГДЕ | ЗаказПокупателя.Ссылка = &ТекущийДокумент | | СГРУППИРОВАТЬ ПО | ЗаказПокупателя.Номенклатура, | ЗаказПокупателя.Цена) КАК ВложенныйЗапрос | |УПОРЯДОЧИТЬ ПО | НомерСтроки"; ЗапросТара = Запрос.Выполнить().Выгрузить();
Макет = ПолучитьМакет("СчетЗаказ");
// печать производится на языке, указанном в настройках пользователя КодЯзыкаПечать = Локализация.ПолучитьЯзыкФормированияПечатныхФорм(УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "РежимФормированияПечатныхФорм")); Макет.КодЯзыкаМакета = КодЯзыкаПечать;
Если Тип = "Счет" Тогда ОбластьМакета = Макет.ПолучитьОбласть("ЗаголовокСчета"); ОбластьМакета.Параметры.НазваниеОрганизации = СведенияОПоставщике.ПолноеНаименование; ОбластьМакета.Параметры.ЕДРПОУОрганизации = УправлениеКонтактнойИнформацией.ПолучитьКодОрганизации(СведенияОПоставщике); Если ТипЗнч(СтруктурнаяЕдиница) = Тип("СправочникСсылка.БанковскиеСчета") Тогда Банк = СтруктурнаяЕдиница.Банк; МФО = Банк.Код; НомерСчета = СтруктурнаяЕдиница.НомерСчета; Иначе // покажем банковские реквизиты основного счета организации Банк = СведенияОПоставщике.Банк; МФО = СведенияОПоставщике.МФО; НомерСчета = СведенияОПоставщике.НомерСчета; КонецЕсли;
Если НЕ Шапка.ВидДоговораКонтрагента = Перечисления.ВидыДоговоровКонтрагентов.СКомиссионером И НЕ Шапка.ВалютаДокумента <> мВалютаРегламентированногоУчета Тогда ТабДокумент.Вывести(ОбластьМакета); КонецЕсли; КонецЕсли;
ОбластьМакета = Макет.ПолучитьОбласть("Заголовок"); Если Шапка.ВидДоговораКонтрагента = Перечисления.ВидыДоговоровКонтрагентов.СКомиссионером Тогда ОбластьМакета.Параметры.ТекстЗаголовка = ОбщегоНазначения.СформироватьЗаголовокДокумента(Шапка, НСтр("ru='Список товаров на комиссию';uk='Список товарів на комісію'",КодЯзыкаПечать),КодЯзыкаПечать); Иначе ОбластьМакета.Параметры.ТекстЗаголовка = ОбщегоНазначения.СформироватьЗаголовокДокумента(Шапка, НСтр("ru='Счет на оплату';uk='Рахунок на оплату'",КодЯзыкаПечать),КодЯзыкаПечать); КонецЕсли;
ТабДокумент.Вывести(ОбластьМакета);
ОбластьМакета = Макет.ПолучитьОбласть("Поставщик"); ОбластьМакета.Параметры.Заполнить(Шапка); ОбластьМакета.Параметры.ПредставлениеПоставщика = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПоставщике, "ПолноеНаименование,",,КодЯзыкаПечать); Если Тип = "Счет" Тогда ОбластьМакета.Параметры.РеквизитыПоставщика = НСтр("ru='Т/с ';uk='П/р '",КодЯзыкаПечать) + НомерСчета + НСтр("ru=', Банк ';uk=', Банк '",КодЯзыкаПечать) + Банк + НСтр("ru=', МФО ';uk=', МФО '",КодЯзыкаПечать) + МФО + Символы.ПС + ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПоставщике, "ЮридическийАдрес,Телефоны,/,КодПоЕДРПОУ,КодПоДРФО,ИНН,НомерСвидетельства,/,ИнформацияОСтатусеПлательщикаНалогов,",,КодЯзыкаПечать); КонецЕсли; ТабДокумент.Вывести(ОбластьМакета);
// Выводим дополнительно информацию о договоре и сделке СписокДополнительныхПараметров = "ДоговорНаименованиеДляПечати,"; МассивСтруктурСтрок = ФормированиеПечатныхФорм.ДополнительнаяИнформация(Шапка,СписокДополнительныхПараметров,КодЯзыкаПечать); ОбластьМакета = Макет.ПолучитьОбласть("ДопИнформация"); Для каждого СтруктураСтроки Из МассивСтруктурСтрок Цикл ОбластьМакета.Параметры.Заполнить(СтруктураСтроки); ТабДокумент.Вывести(ОбластьМакета); КонецЦикла;
// Вывести табличную часть ОбластьИтого = "Итого";
ТабДокумент.Вывести(ОбластьНомера); Если ВыводитьКоды Тогда ОбластьКодов.Параметры.ИмяКолонкиКодов = Колонка; ТабДокумент.Присоединить(ОбластьКодов); КонецЕсли;
Суффикс = ""; Если Шапка.УчитыватьНДС Тогда Если Шапка.СуммаВключаетНДС Тогда Суффикс = Суффикс + НСтр("ru=' с ';uk=' з '",КодЯзыкаПечать); Иначе Суффикс = Суффикс + НСтр("ru=' без ';uk=' без '",КодЯзыкаПечать); КонецЕсли; Суффикс = Суффикс + НСтр("ru='НДС';uk='ПДВ'",КодЯзыкаПечать); КонецЕсли; ОбластьДанных.Параметры.Цена = НСтр("ru='Цена';uk='Ціна'",КодЯзыкаПечать) + Суффикс; ТабДокумент.Присоединить(ОбластьДанных); Если ЕстьСкидки Тогда ТабДокумент.Присоединить(ОбластьСкидка); КонецЕсли;
ОбластьКолонкаТовар = Макет.Область("Товар"); Если Не ВыводитьКоды Тогда ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки + Макет.Область("КолонкаКодов").ШиринаКолонки; КонецЕсли; Если НЕ ЕстьСкидки Тогда ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки + Макет.Область("СуммаБезСкидки").ШиринаКолонки + Макет.Область("СуммаСкидки").ШиринаКолонки; КонецЕсли;
Для каждого ВыборкаСтрокТовары Из ЗапросТовары Цикл
Если НЕ ЗначениеЗаполнено(ВыборкаСтрокТовары.Номенклатура) Тогда Сообщить(НСтр("ru='В одной из строк не заполнено значение номенклатуры - строка при печати пропущена.';uk='В одному з рядків не заповнене значення номенклатури - рядок під час друку буде пропущений.'"), СтатусСообщения.Важное); Продолжить; КонецЕсли;
Если ВыводитьКоды Тогда Если Колонка = "Артикул" Тогда ОбластьКодов.Параметры.Артикул = ВыборкаСтрокТовары.Артикул; Иначе ОбластьКодов.Параметры.Артикул = ВыборкаСтрокТовары.Код; КонецЕсли; ТабДокумент.Присоединить(ОбластьКодов); КонецЕсли;
ТабДокумент.Вывести(ОбластьНомера); Если ВыводитьКоды Тогда ТабДокумент.Присоединить(ОбластьКодов); КонецЕсли; ТабДокумент.Присоединить(ОбластьДанных);
Если ЕстьСкидки Тогда ОбластьСкидки.Параметры.ВсегоСуммаБезСкидки = ОбщегоНазначения.ФорматСумм(СуммаБезСкидки); ОбластьСкидки.Параметры.ВсегоСуммаСкидки = ОбщегоНазначения.ФорматСумм(СуммаСкидки); ТабДокумент.Присоединить(ОбластьСкидки); КонецЕсли;
// Вывести ИтогоНДС Если Шапка.УчитыватьНДС Тогда // НДС ОбластьМакета = Макет.ПолучитьОбласть("ИтогоНДС"); ОбластьМакета.Параметры.ВсегоНДС = ОбщегоНазначения.ФорматСумм(СуммаНДС,,""""); ОбластьМакета.Параметры.НДС = ?(Шапка.СуммаВключаетНДС, НСтр("ru='В том числе НДС:';uk='У тому числі ПДВ:'",КодЯзыкаПечать), НСтр("ru='Сумма НДС:';uk='Сума ПДВ:'",КодЯзыкаПечать)); ТабДокумент.Вывести(ОбластьМакета);
// всего с НДС (если сумма не включает НДС) Если НЕ Шапка.СуммаВключаетНДС Тогда ОбластьМакета = Макет.ПолучитьОбласть("ИтогоНДС"); ОбластьМакета.Параметры.ВсегоНДС = ОбщегоНазначения.ФорматСумм(Сумма + СуммаНДС); ОбластьМакета.Параметры.НДС = НСтр("ru='Всего с НДС:';uk='Всього із ПДВ:'",КодЯзыкаПечать); ТабДокумент.Вывести(ОбластьМакета); КонецЕсли; КонецЕсли;
// выведем таблицу с возвратной тарой Если ЗапросТара.Количество() > 0 Тогда // сделаем отступ от основной таблицы ОбластьПробел = Макет.ПолучитьОбласть("Пробел"); ТабДокумент.Вывести(ОбластьПробел);
ТабДокумент.Вывести(ОбластьНомера); Если ВыводитьКоды Тогда ОбластьКодов.Параметры.ИмяКолонкиКодов = Колонка; ТабДокумент.Присоединить(ОбластьКодов); КонецЕсли; ТабДокумент.Присоединить(ОбластьДанных);
ОбластьКолонкаТара = Макет.Область("Тара"); Если Не ВыводитьКоды Тогда ОбластьКолонкаТара.ШиринаКолонки = ОбластьКолонкаТара.ШиринаКолонки + Макет.Область("КолонкаКодовТара").ШиринаКолонки; КонецЕсли;
Если НЕ ЗначениеЗаполнено(ВыборкаСтрокТара.Номенклатура) Тогда Сообщить(НСтр("ru='В одной из строк не заполнено значение тары - строка при печати пропущена.';uk='В одному з рядків не заповнене значення тари - рядок під час друку буде пропущений.'"), СтатусСообщения.Важное); Продолжить; КонецЕсли;
Если ВыводитьКоды Тогда Если Колонка = "Артикул" Тогда ОбластьКодов.Параметры.Артикул = ВыборкаСтрокТара.Артикул; Иначе ОбластьКодов.Параметры.Артикул = ВыборкаСтрокТара.Код; КонецЕсли; ТабДокумент.Присоединить(ОбластьКодов); КонецЕсли;
Запрос.Текст = "ВЫБРАТЬ | ВложенныйЗапрос.Номенклатура, | ВЫРАЗИТЬ(ВложенныйЗапрос.Номенклатура.НаименованиеПолное КАК Строка(1000)) КАК Товар, | ВложенныйЗапрос.Номенклатура.Артикул КАК Артикул, | ВложенныйЗапрос.Номенклатура.Код КАК Код, | ВложенныйЗапрос.Количество, | ВложенныйЗапрос.ЕдиницаИзмерения КАК ЕдиницаИзмерения, | ВложенныйЗапрос.Цена, | ВложенныйЗапрос.СуммаБезСкидки, | ВложенныйЗапрос.СуммаСкидки, | ВложенныйЗапрос.Сумма, | ВложенныйЗапрос.СуммаНДС, | ВложенныйЗапрос.НомерСтроки КАК НомерСтроки, | 1 КАК ID |ИЗ | (ВЫБРАТЬ | ЗаказПокупателя.Номенклатура КАК Номенклатура, | ЗаказПокупателя.ЕдиницаИзмерения КАК ЕдиницаИзмерения, | ЗаказПокупателя.Цена КАК Цена, | СУММА(ЗаказПокупателя.Количество) КАК Количество, | СУММА(ЗаказПокупателя.СуммаБезСкидки) КАК СуммаБезСкидки, | СУММА(ЗаказПокупателя.СуммаСкидки) КАК СуммаСкидки, | СУММА(ЗаказПокупателя.Сумма) КАК Сумма, | СУММА(ЗаказПокупателя.СуммаНДС) КАК СуммаНДС, | МИНИМУМ(ЗаказПокупателя.НомерСтроки) КАК НомерСтроки | ИЗ | Документ.СчетНаОплатуПокупателю.Товары КАК ЗаказПокупателя | | ГДЕ | ЗаказПокупателя.Ссылка = &ТекущийДокумент | | СГРУППИРОВАТЬ ПО | ЗаказПокупателя.Номенклатура, | ЗаказПокупателя.ЕдиницаИзмерения, | ЗаказПокупателя.Цена, | ЗаказПокупателя.СтавкаНДС) КАК ВложенныйЗапрос | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | " + ЧастьЗапросаДляВыбораСодержанияУслуг + ", | " + ЧастьЗапросаДляВыбораСодержанияУслуг + ", | ЗаказПокупателя.Номенклатура.Артикул КАК Артикул, | ЗаказПокупателя.Номенклатура.Код КАК Код, | ЗаказПокупателя.Количество, | ЗаказПокупателя.Номенклатура.БазоваяЕдиницаИзмерения.Наименование, | ЗаказПокупателя.Цена, | ЗаказПокупателя.СуммаБезСкидки, | ЗаказПокупателя.СуммаСкидки, | ЗаказПокупателя.Сумма, | ЗаказПокупателя.СуммаНДС, | ЗаказПокупателя.НомерСтроки, | 2 |ИЗ | Документ.СчетНаОплатуПокупателю.Услуги КАК ЗаказПокупателя | |ГДЕ | ЗаказПокупателя.Ссылка = &ТекущийДокумент | |УПОРЯДОЧИТЬ ПО | ID, | НомерСтроки";
ЗапросТовары = Запрос.Выполнить().Выгрузить();
Запрос = Новый Запрос; Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект); Запрос.Текст = "ВЫБРАТЬ | ВложенныйЗапрос.Номенклатура, | ВЫРАЗИТЬ(ВложенныйЗапрос.Номенклатура.НаименованиеПолное КАК Строка(1000)) КАК Товар, | ВложенныйЗапрос.Номенклатура.Артикул КАК Артикул, | ВложенныйЗапрос.Номенклатура.Код КАК Код, | ВложенныйЗапрос.Количество, | ВложенныйЗапрос.ЕдиницаИзмерения, | ВложенныйЗапрос.Цена, | ВложенныйЗапрос.Сумма, | ВложенныйЗапрос.НомерСтроки КАК НомерСтроки |ИЗ | (ВЫБРАТЬ | ЗаказПокупателя.Номенклатура КАК Номенклатура, | ЗаказПокупателя.Номенклатура.БазоваяЕдиницаИзмерения.Наименование КАК ЕдиницаИзмерения, | ЗаказПокупателя.Цена КАК Цена, | СУММА(ЗаказПокупателя.Количество) КАК Количество, | СУММА(ЗаказПокупателя.Сумма) КАК Сумма, | МИНИМУМ(ЗаказПокупателя.НомерСтроки) КАК НомерСтроки | ИЗ | Документ.СчетНаОплатуПокупателю.ВозвратнаяТара КАК ЗаказПокупателя | | ГДЕ | ЗаказПокупателя.Ссылка = &ТекущийДокумент | | СГРУППИРОВАТЬ ПО | ЗаказПокупателя.Номенклатура, | ЗаказПокупателя.Цена) КАК ВложенныйЗапрос | |УПОРЯДОЧИТЬ ПО | НомерСтроки"; ЗапросТара = Запрос.Выполнить().Выгрузить();
Макет = ПолучитьМакет("СчетЗаказ");
// печать производится на языке, указанном в настройках пользователя КодЯзыкаПечать = Локализация.ПолучитьЯзыкФормированияПечатныхФорм(УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "РежимФормированияПечатныхФорм")); Макет.КодЯзыкаМакета = КодЯзыкаПечать;
Если Тип = "Счет" Тогда ОбластьМакета = Макет.ПолучитьОбласть("ЗаголовокСчета"); ОбластьМакета.Параметры.НазваниеОрганизации = СведенияОПоставщике.ПолноеНаименование; ОбластьМакета.Параметры.ЕДРПОУОрганизации = УправлениеКонтактнойИнформацией.ПолучитьКодОрганизации(СведенияОПоставщике); Если ТипЗнч(СтруктурнаяЕдиница) = Тип("СправочникСсылка.БанковскиеСчета") Тогда Банк = СтруктурнаяЕдиница.Банк; МФО = Банк.Код; НомерСчета = СтруктурнаяЕдиница.НомерСчета; Иначе // покажем банковские реквизиты основного счета организации Банк = СведенияОПоставщике.Банк; МФО = СведенияОПоставщике.МФО; НомерСчета = СведенияОПоставщике.НомерСчета; КонецЕсли;
Если НЕ Шапка.ВидДоговораКонтрагента = Перечисления.ВидыДоговоровКонтрагентов.СКомиссионером И НЕ Шапка.ВалютаДокумента <> СсылкаНаОбъект.мВалютаРегламентированногоУчета Тогда ТабДокумент.Вывести(ОбластьМакета); КонецЕсли; КонецЕсли;
ОбластьМакета = Макет.ПолучитьОбласть("Заголовок"); Если Шапка.ВидДоговораКонтрагента = Перечисления.ВидыДоговоровКонтрагентов.СКомиссионером Тогда ОбластьМакета.Параметры.ТекстЗаголовка = ОбщегоНазначения.СформироватьЗаголовокДокумента(Шапка, НСтр("ru='Список товаров на комиссию';uk='Список товарів на комісію'",КодЯзыкаПечать),КодЯзыкаПечать); Иначе ОбластьМакета.Параметры.ТекстЗаголовка = ОбщегоНазначения.СформироватьЗаголовокДокумента(Шапка, НСтр("ru='Счет на оплату';uk='Рахунок на оплату'",КодЯзыкаПечать),КодЯзыкаПечать); КонецЕсли;
ТабДокумент.Вывести(ОбластьМакета);
ОбластьМакета = Макет.ПолучитьОбласть("Поставщик"); ОбластьМакета.Параметры.Заполнить(Шапка); ОбластьМакета.Параметры.ПредставлениеПоставщика = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПоставщике, "ПолноеНаименование,",,КодЯзыкаПечать); Если Тип = "Счет" Тогда ОбластьМакета.Параметры.РеквизитыПоставщика = НСтр("ru='Т/с ';uk='П/р '",КодЯзыкаПечать) + НомерСчета + НСтр("ru=', Банк ';uk=', Банк '",КодЯзыкаПечать) + Банк + НСтр("ru=', МФО ';uk=', МФО '",КодЯзыкаПечать) + МФО + Символы.ПС + ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПоставщике, "ЮридическийАдрес,Телефоны,/,КодПоЕДРПОУ,КодПоДРФО,ИНН,НомерСвидетельства,/,ИнформацияОСтатусеПлательщикаНалогов,",,КодЯзыкаПечать); КонецЕсли; ТабДокумент.Вывести(ОбластьМакета);
// Выводим дополнительно информацию о договоре и сделке СписокДополнительныхПараметров = "ДоговорНаименованиеДляПечати,"; МассивСтруктурСтрок = ФормированиеПечатныхФорм.ДополнительнаяИнформация(Шапка,СписокДополнительныхПараметров,КодЯзыкаПечать); ОбластьМакета = Макет.ПолучитьОбласть("ДопИнформация"); Для каждого СтруктураСтроки Из МассивСтруктурСтрок Цикл ОбластьМакета.Параметры.Заполнить(СтруктураСтроки); ТабДокумент.Вывести(ОбластьМакета); КонецЦикла;
// Вывести табличную часть ОбластьИтого = "Итого";
ТабДокумент.Вывести(ОбластьНомера); Если ВыводитьКоды Тогда ОбластьКодов.Параметры.ИмяКолонкиКодов = Колонка; ТабДокумент.Присоединить(ОбластьКодов); КонецЕсли;
Суффикс = ""; Если Шапка.УчитыватьНДС Тогда Если Шапка.СуммаВключаетНДС Тогда Суффикс = Суффикс + НСтр("ru=' с ';uk=' з '",КодЯзыкаПечать); Иначе Суффикс = Суффикс + НСтр("ru=' без ';uk=' без '",КодЯзыкаПечать); КонецЕсли; Суффикс = Суффикс + НСтр("ru='НДС';uk='ПДВ'",КодЯзыкаПечать); КонецЕсли; ОбластьДанных.Параметры.Цена = НСтр("ru='Цена';uk='Ціна'",КодЯзыкаПечать) + Суффикс; ТабДокумент.Присоединить(ОбластьДанных); Если ЕстьСкидки Тогда ТабДокумент.Присоединить(ОбластьСкидка); КонецЕсли;
ОбластьКолонкаТовар = Макет.Область("Товар"); Если Не ВыводитьКоды Тогда ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки + Макет.Область("КолонкаКодов").ШиринаКолонки; КонецЕсли; Если НЕ ЕстьСкидки Тогда ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки + Макет.Область("СуммаБезСкидки").ШиринаКолонки + Макет.Область("СуммаСкидки").ШиринаКолонки; КонецЕсли;
Для каждого ВыборкаСтрокТовары Из ЗапросТовары Цикл
Если НЕ ЗначениеЗаполнено(ВыборкаСтрокТовары.Номенклатура) Тогда Сообщить(НСтр("ru='В одной из строк не заполнено значение номенклатуры - строка при печати пропущена.';uk='В одному з рядків не заповнене значення номенклатури - рядок під час друку буде пропущений.'"), СтатусСообщения.Важное); Продолжить; КонецЕсли;
Если ВыводитьКоды Тогда Если Колонка = "Артикул" Тогда ОбластьКодов.Параметры.Артикул = ВыборкаСтрокТовары.Артикул; Иначе ОбластьКодов.Параметры.Артикул = ВыборкаСтрокТовары.Код; КонецЕсли; ТабДокумент.Присоединить(ОбластьКодов); КонецЕсли;
ТабДокумент.Вывести(ОбластьНомера); Если ВыводитьКоды Тогда ТабДокумент.Присоединить(ОбластьКодов); КонецЕсли; ТабДокумент.Присоединить(ОбластьДанных);
Если ЕстьСкидки Тогда ОбластьСкидки.Параметры.ВсегоСуммаБезСкидки = ОбщегоНазначения.ФорматСумм(СуммаБезСкидки); ОбластьСкидки.Параметры.ВсегоСуммаСкидки = ОбщегоНазначения.ФорматСумм(СуммаСкидки); ТабДокумент.Присоединить(ОбластьСкидки); КонецЕсли;
// Вывести ИтогоНДС Если Шапка.УчитыватьНДС Тогда // НДС ОбластьМакета = Макет.ПолучитьОбласть("ИтогоНДС"); ОбластьМакета.Параметры.ВсегоНДС = ОбщегоНазначения.ФорматСумм(СуммаНДС,,""""); ОбластьМакета.Параметры.НДС = ?(Шапка.СуммаВключаетНДС, НСтр("ru='В том числе НДС:';uk='У тому числі ПДВ:'",КодЯзыкаПечать), НСтр("ru='Сумма НДС:';uk='Сума ПДВ:'",КодЯзыкаПечать)); ТабДокумент.Вывести(ОбластьМакета);
// всего с НДС (если сумма не включает НДС) Если НЕ Шапка.СуммаВключаетНДС Тогда ОбластьМакета = Макет.ПолучитьОбласть("ИтогоНДС"); ОбластьМакета.Параметры.ВсегоНДС = ОбщегоНазначения.ФорматСумм(Сумма + СуммаНДС); ОбластьМакета.Параметры.НДС = НСтр("ru='Всего с НДС:';uk='Всього із ПДВ:'",КодЯзыкаПечать); ТабДокумент.Вывести(ОбластьМакета); КонецЕсли; КонецЕсли;
// выведем таблицу с возвратной тарой Если ЗапросТара.Количество() > 0 Тогда // сделаем отступ от основной таблицы ОбластьПробел = Макет.ПолучитьОбласть("Пробел"); ТабДокумент.Вывести(ОбластьПробел);
ТабДокумент.Вывести(ОбластьНомера); Если ВыводитьКоды Тогда ОбластьКодов.Параметры.ИмяКолонкиКодов = Колонка; ТабДокумент.Присоединить(ОбластьКодов); КонецЕсли; ТабДокумент.Присоединить(ОбластьДанных);
ОбластьКолонкаТара = Макет.Область("Тара"); Если Не ВыводитьКоды Тогда ОбластьКолонкаТара.ШиринаКолонки = ОбластьКолонкаТара.ШиринаКолонки + Макет.Область("КолонкаКодовТара").ШиринаКолонки; КонецЕсли;
Если НЕ ЗначениеЗаполнено(ВыборкаСтрокТара.Номенклатура) Тогда Сообщить(НСтр("ru='В одной из строк не заполнено значение тары - строка при печати пропущена.';uk='В одному з рядків не заповнене значення тари - рядок під час друку буде пропущений.'"), СтатусСообщения.Важное); Продолжить; КонецЕсли;
Если ВыводитьКоды Тогда Если Колонка = "Артикул" Тогда ОбластьКодов.Параметры.Артикул = ВыборкаСтрокТара.Артикул; Иначе ОбластьКодов.Параметры.Артикул = ВыборкаСтрокТара.Код; КонецЕсли; ТабДокумент.Присоединить(ОбластьКодов); КонецЕсли;
Если НЕ Шапка.ВидДоговораКонтрагента = Перечисления.ВидыДоговоровКонтрагентов.СКомиссионером И НЕ Шапка.ВалютаДокумента <> СсылкаНаОбъект.мВалютаРегламентированногоУчета Тогда ТабДокумент.Вывести(ОбластьМакета); КонецЕсли;
в модуле документа есть такое ?
вооще, если надо - лучше ее объявить/получить у себя
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!