Печать склада из табличной части документа реализация товаров и услуг!
Добрый день,
Возникла ситуация:
Необходимо в печатной форме реализация товаров и услуг в табличной части выводить склады которые также указаны в табличной части документа а не тот который основной, в табличной части могут быть сразу несколько разных складов и их надо выводить на печать!
Возникла ситуация:
Необходимо в печатной форме реализация товаров и услуг в табличной части выводить склады которые также указаны в табличной части документа а не тот который основной, в табличной части могут быть сразу несколько разных складов и их надо выводить на печать!
Прикрепленные файлы:
По теме из базы знаний
- Себестоимость и прибыль по документу "Реализация товаров и услуг" по товарам
- Расходный ордер на товары из документа Реализация товаров и услуг, из Заказа клиента, из Заказа на перемещение или из Перемещения товаров
- Групповая пакетная печать актов выполненных работ в БП 3.0
- Загрузка заказов по API Wildberries. Печать стикеров для FBS (в т.ч. в формате QR-кода). Для УТ 10.3. Загрузка и выгрузка остатков
- Упаковочный лист из документа Реализация товаров и услуг – УТ 11.5, КА 2.5, ЕРП 2.5
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(4)
Функция ПечатьДокумента(СуммыВРублях = Ложь)
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка);
Запрос.Текст =
"ВЫБРАТЬ
| РеализацияТоваровУслуг.Номер,
| РеализацияТоваровУслуг.Дата,
| РеализацияТоваровУслуг.ДоговорКонтрагента,
| РеализацияТоваровУслуг.Контрагент КАК Получатель,
| РеализацияТоваровУслуг.Организация,
| РеализацияТоваровУслуг.Организация КАК Поставщик,
| РеализацияТоваровУслуг.СуммаДокумента,
| РеализацияТоваровУслуг.ВалютаДокумента,
| РеализацияТоваровУслуг.УчитыватьНДС,
| РеализацияТоваровУслуг.СуммаВключаетНДС,
| РеализацияТоваровУслуг.ОтпускПроизвел,
| РеализацияТоваровУслуг.КурсВзаиморасчетов,
| РеализацияТоваровУслуг.КратностьВзаиморасчетов,
| РеализацияТоваровУслуг.Товары.(
| ЦенаСоСкидкой,
| Склад
| )
|ИЗ
| Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
|ГДЕ
| РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент";
Шапка = Запрос.Выполнить().Выбрать();
Шапка.Следующий();
ТекстКурс = "";
СтрокаВыборкиПоляСодержания = ОбработкаТабличныхЧастей.ПолучитьЧастьЗапросаДляВыбораСодержания("РеализацияТоваровУслуг");
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка);
Запрос.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка);
Запрос.Текст =
"ВЫБРАТЬ
| ВложенныйЗапросПоТоварам.Номенклатура,
| ВЫРАЗИТЬ(ВложенныйЗапросПоТоварам.Номенклатура.НаименованиеПолное КАК СТРОКА(1000)) КАК Товар,
| ВложенныйЗапросПоТоварам.Номенклатура.Код КАК Код,
| ВложенныйЗапросПоТоварам.Номенклатура.Артикул КАК Артикул,
| ВложенныйЗапросПоТоварам.Количество,
| ВложенныйЗапросПоТоварам.КоличествоМест,
| ВложенныйЗапросПоТоварам.ЕдиницаИзмерения.Представление КАК ЕдиницаЦены,
| ВложенныйЗапросПоТоварам.ЕдиницаИзмеренияМест.Представление КАК ЕдиницаМест,
| ВложенныйЗапросПоТоварам.Цена,
| ВложенныйЗапросПоТоварам.Сумма,
| ВложенныйЗапросПоТоварам.СуммаНДС,
| ВложенныйЗапросПоТоварам.ПроцентСкидкиНаценки КАК Скидка,
| ВложенныйЗапросПоТоварам.ПроцентАвтоматическихСкидок КАК АвтоматическаяСкидка,
| ВложенныйЗапросПоТоварам.ХарактеристикаНоменклатуры КАК Характеристика,
| ВложенныйЗапросПоТоварам.СтранаПроисхождения КАК СтранаПроисхождения,
| ВложенныйЗапросПоТоварам.НомерГТД КАК НомерГТД,
// | ВложенныйЗапросПоТоварам.Склад,
| ВложенныйЗапросПоТоварам.СерияНоменклатуры КАК Серия,
| ВложенныйЗапросПоТоварам.НомерСтроки КАК НомерСтроки,
| ВложенныйЗапросПоТоварам.Метка КАК Метка
|ИЗ
| (ВЫБРАТЬ
| РеализацияТоваровУслуг.Номенклатура КАК Номенклатура,
| РеализацияТоваровУслуг.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| РеализацияТоваровУслуг.ЕдиницаИзмеренияМест КАК ЕдиницаИзмеренияМест,
| РеализацияТоваровУслуг.Цена КАК Цена,
| РеализацияТоваровУслуг.СтавкаНДС КАК СтавкаНДС,
| РеализацияТоваровУслуг.ПроцентСкидкиНаценки КАК ПроцентСкидкиНаценки,
| РеализацияТоваровУслуг.ПроцентАвтоматическихСкидок КАК ПроцентАвтоматическихСкидок,
| РеализацияТоваровУслуг.СерияНоменклатуры.НомерГТД КАК НомерГТД,
| РеализацияТоваровУслуг.СерияНоменклатуры.СтранаПроисхождения КАК СтранаПроисхождения,
// | РеализацияТоваровУслуг.Склад КАК Склад,
| РеализацияТоваровУслуг.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
| РеализацияТоваровУслуг.СерияНоменклатуры КАК СерияНоменклатуры,
| СУММА(РеализацияТоваровУслуг.Количество) КАК Количество,
| СУММА(РеализацияТоваровУслуг.КоличествоМест) КАК КоличествоМест,
| СУММА(РеализацияТоваровУслуг.Сумма) КАК Сумма,
| СУММА(РеализацияТоваровУслуг.СуммаНДС) КАК СуммаНДС,
| МИНИМУМ(РеализацияТоваровУслуг.НомерСтроки) КАК НомерСтроки,
| 0 КАК Метка
| ИЗ
| Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслуг
| ГДЕ
| РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент
|
| СГРУППИРОВАТЬ ПО
| РеализацияТоваровУслуг.Номенклатура,
| РеализацияТоваровУслуг.ЕдиницаИзмерения,
| РеализацияТоваровУслуг.ЕдиницаИзмеренияМест,
| РеализацияТоваровУслуг.Цена,
| РеализацияТоваровУслуг.СтавкаНДС,
| РеализацияТоваровУслуг.ПроцентСкидкиНаценки,
| РеализацияТоваровУслуг.ПроцентАвтоматическихСкидок,
| РеализацияТоваровУслуг.СерияНоменклатуры,
| РеализацияТоваровУслуг.ХарактеристикаНоменклатуры,
| РеализацияТоваровУслуг.СерияНоменклатуры.НомерГТД,
| РеализацияТоваровУслуг.СерияНоменклатуры.СтранаПроисхождения) КАК ВложенныйЗапросПоТоварам
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| " + СтрокаВыборкиПоляСодержания + ",
| " + СтрокаВыборкиПоляСодержания + ",
| РеализацияТоваровУслуг.Номенклатура.Код,
| РеализацияТоваровУслуг.Номенклатура.Артикул,
| РеализацияТоваровУслуг.Количество,
| NULL,
| РеализацияТоваровУслуг.Номенклатура.ЕдиницаХраненияОстатков.Представление,
// | РеализацияТоваровУслуг.Склад,
| NULL,
| РеализацияТоваровУслуг.Цена,
| РеализацияТоваровУслуг.Сумма,
| РеализацияТоваровУслуг.СуммаНДС,
| РеализацияТоваровУслуг.ПроцентСкидкиНаценки,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| РеализацияТоваровУслуг.НомерСтроки,
| 1
|ИЗ
| Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслуг
|ГДЕ
| РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| РеализацияТоваровУслуг.Номенклатура,
| ВЫРАЗИТЬ(РеализацияТоваровУслуг.Номенклатура.НаименованиеПолное КАК СТРОКА(1000)),
| РеализацияТоваровУслуг.Номенклатура.Код,
| РеализацияТоваровУслуг.Номенклатура.Артикул,
| РеализацияТоваровУслуг.Количество КАК Количество,
| NULL,
| РеализацияТоваровУслуг.Номенклатура.ЕдиницаХраненияОстатков.Представление,
| NULL,
| РеализацияТоваровУслуг.Цена,
| РеализацияТоваровУслуг.Сумма КАК Сумма,
| 0,
| 0,
| NULL,
| NULL,
| NULL,
| NULL,
| NULL,
| РеализацияТоваровУслуг.НомерСтроки КАК НомерСтроки,
| 2
|ИЗ
|(ВЫБРАТЬ
| РеализацияТоваровУслуг.Номенклатура,
| СУММА(РеализацияТоваровУслуг.Количество) КАК Количество,
| РеализацияТоваровУслуг.Номенклатура.ЕдиницаХраненияОстатков.Представление,
| РеализацияТоваровУслуг.Цена,
| СУММА(РеализацияТоваровУслуг.Сумма) КАК Сумма,
| МИНИМУМ(РеализацияТоваровУслуг.НомерСтроки) КАК НомерСтроки
|ИЗ
| Документ.РеализацияТоваровУслуг.ВозвратнаяТара КАК РеализацияТоваровУслуг
|ГДЕ
| РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент
|СГРУППИРОВАТЬ ПО
| РеализацияТоваровУслуг.Номенклатура,
| РеализацияТоваровУслуг.Цена
|) КАК РеализацияТоваровУслуг
|УПОРЯДОЧИТЬ ПО
| Метка,
| НомерСтроки";
ЗапросТовары = Запрос.Выполнить().Выгрузить();
флВыводитьМест = истина;
Если ЗапросТовары.Итог("КоличествоМест")=0 Тогда
флВыводитьМест = ложь;
КонецЕсли;
ТабДокумент = Новый ТабличныйДокумент;
ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_РеализацияТоваровУслуг_Накладная";
Макет = ПолучитьМакет("Накладная1");
// Выводим шапку накладной
ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
ОбластьМакета.Параметры.ТекстЗаголовка = ОбщегоНазначения.СформироватьЗаголовокДокумента(Шапка, "Реализация");
ТабДокумент.Вывести(ОбластьМакета);
ОбластьМакета = Макет.ПолучитьОбласть("Поставщик");
ПредставлениеПоставщика = ФормированиеПечатныхФорм.ОписаниеОрганизации(УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Организация, Шапка.Дата), "ПолноеНаименование,");
// ОбластьМакета.Параметры.ПредставлениеПоставщика = ПредставлениеПоставщика;
// ОбластьМакета.Параметры.Поставщик = Шапка.Поставщик;
ТабДокумент.Вывести(ОбластьМакета);
ОбластьМакета = Макет.ПолучитьОбласть("Покупатель");
ПредставлениеПолучателя = ФормированиеПечатныхФорм.ОписаниеОрганизации(УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Получатель, Шапка.Дата), "ПолноеНаименование,");
ОбластьМакета.Параметры.ПредставлениеПолучателя = ПредставлениеПолучателя;
ОбластьМакета.Параметры.Получатель = Шапка.Получатель;
ТабДокумент.Вывести(ОбластьМакета);
ЕстьСкидки = ЗапросТовары.Итог("Скидка") + ЗапросТовары.Итог("АвтоматическаяСкидка") <> 0;
ДопКолонка = Константы.ДополнительнаяКолонкаПечатныхФормДокументов.Получить();
Если ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Артикул Тогда
ВыводитьКоды = Истина;
Колонка = "Артикул";
ИначеЕсли ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Код Тогда
ВыводитьКоды = Истина;
Колонка = "Код";
Иначе
ВыводитьКоды = Ложь;
КонецЕсли;
ОбластьНомера = Макет.ПолучитьОбласть("ШапкаТаблицы|НомерСтроки");
ОбластьКодов = Макет.ПолучитьОбласть("ШапкаТаблицы|КолонкаКодов");
ОбластьТовар = Макет.ПолучитьОбласть("ШапкаТаблицы|Товар");
ОбластьМест = Макет.ПолучитьОбласть("ШапкаТаблицы|Мест");
ОбластьДанных = Макет.ПолучитьОбласть("ШапкаТаблицы|КоличествоЦена");
ОбластьСкидок = Макет.ПолучитьОбласть("ШапкаТаблицы|Скидка");
ОбластьСуммы = Макет.ПолучитьОбласть("ШапкаТаблицы|Сумма");
ОбластьСклад = Макет.ПолучитьОбласть("ШапкаТаблицы|Склад");
ТабДокумент.Вывести(ОбластьНомера);
Если ВыводитьКоды Тогда
ОбластьКодов.Параметры.ИмяКолонкиКодов = Колонка;
ТабДокумент.Присоединить(ОбластьКодов);
КонецЕсли;
ТабДокумент.Присоединить(ОбластьТовар);
Если флВыводитьМест Тогда
ТабДокумент.Присоединить(ОбластьМест);
КонецЕсли;
ТабДокумент.Присоединить(ОбластьДанных);
Если ЕстьСкидки Тогда
ТабДокумент.Присоединить(ОбластьСкидок);
КонецЕсли;
ТабДокумент.Присоединить(ОбластьСуммы);
ТабДокумент.Присоединить(ОбластьСклад);
ОбластьКолонкаТовар = Макет.Область("Товар");
Если Не ВыводитьКоды Тогда
ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки +
Макет.Область("КолонкаКодов").ШиринаКолонки;
КонецЕсли;
Если НЕ ЕстьСкидки Тогда
ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки +
Макет.Область("СуммаБезСкидки").ШиринаКолонки +
Макет.Область("СуммаСкидки").ШиринаКолонки;
КонецЕсли;
Если не флВыводитьМест Тогда
ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки +
ФормированиеПечатныхФорм.РасчетШириныОбластиМакета("Мест", Макет);
КонецЕсли;
ОбластьНомера = Макет.ПолучитьОбласть("Строка|НомерСтроки");
ОбластьКодов = Макет.ПолучитьОбласть("Строка|КолонкаКодов");
ОбластьТовар = Макет.ПолучитьОбласть("Строка|Товар");
ОбластьМест = Макет.ПолучитьОбласть("Строка|Мест");
ОбластьДанных = Макет.ПолучитьОбласть("Строка|КоличествоЦена");
ОбластьСкидок = Макет.ПолучитьОбласть("Строка|Скидка");
ОбластьСуммы = Макет.ПолучитьОбласть("Строка|Сумма");
ОбластьСклад = Макет.ПолучитьОбласть("Строка|Склад");
Сумма = 0;
СуммаНДС = 0;
ВсегоСкидок = 0;
ВсегоБезСкидок = 0;
КоэфКурса = ?( СуммыВРублях, Шапка.КурсВзаиморасчетов / Шапка.КратностьВзаиморасчетов, 1);
Для каждого ВыборкаСтрокТовары из ЗапросТовары Цикл
Если Не ЗначениеЗаполнено(ВыборкаСтрокТовары.Номенклатура) Тогда
Сообщить("В одной из строк не заполнено значение номенклатуры - строка при печати пропущена.", СтатусСообщения.Важное);
Продолжить;
КонецЕсли;
ОбластьНомера.Параметры.НомерСтроки = ЗапросТовары.Индекс(ВыборкаСтрокТовары) + 1;
ТабДокумент.Вывести(ОбластьНомера);
Если ВыводитьКоды Тогда
Если Колонка = "Артикул" Тогда
ОбластьКодов.Параметры.Артикул = ВыборкаСтрокТовары.Артикул;
Иначе
ОбластьКодов.Параметры.Артикул = ВыборкаСтрокТовары.Код;
КонецЕсли;
ТабДокумент.Присоединить(ОбластьКодов);
КонецЕсли;
ОбластьТовар.Параметры.Заполнить(ВыборкаСтрокТовары);
ОбластьТовар.Параметры.Товар = СокрЛП(ВыборкаСтрокТовары.Товар)
+ ФормированиеПечатныхФорм.ПредставлениеСерий(ВыборкаСтрокТовары)
+ ?(ВыборкаСтрокТовары.Метка = 2, " (возвратная тара)", "");
ТабДокумент.Присоединить(ОбластьТовар);
Если флВыводитьМест Тогда
ОбластьМест.Параметры.Заполнить(ВыборкаСтрокТовары);
ТабДокумент.Присоединить(ОбластьМест);
КонецЕсли;
СуммаРуб = Окр(ВыборкаСтрокТовары.Сумма * КоэфКурса, 2, 1);
ОбластьДанных.Параметры.Заполнить(ВыборкаСтрокТовары);
//ОбластьДанных.Параметры.Цена = ?(ВыборкаСтрокТовары.Количество = 0, СуммаРуб, Окр( СуммаРуб / ВыборкаСтрокТовары.Количество, 2, 1));
ОбластьДанных.Параметры.Цена = Окр(ВыборкаСтрокТовары.Цена * КоэфКурса, 2, 1);
ТабДокумент.Присоединить(ОбластьДанных);
// Скидка может быть NULL
ПроцентСкидки = ?(ЗначениеЗаполнено(ВыборкаСтрокТовары.Скидка),ВыборкаСтрокТовары.Скидка,0)
+ ?(ЗначениеЗаполнено(ВыборкаСтрокТовары.АвтоматическаяСкидка),ВыборкаСтрокТовары.АвтоматическаяСкидка,0);
Скидка = Ценообразование.ПолучитьСуммуСкидки(СуммаРуб, ПроцентСкидки);
Если ЕстьСкидки Тогда
ОбластьСкидок.Параметры.Скидка = Скидка;
ОбластьСкидок.Параметры.СуммаБезСкидки = ?(СуммыВРублях, СуммаРуб, ВыборкаСтрокТовары.Сумма) + Скидка;
ТабДокумент.Присоединить(ОбластьСкидок);
КонецЕсли;
ОбластьСуммы.Параметры.Заполнить(ВыборкаСтрокТовары);
Если СуммыВРублях Тогда
ОбластьСуммы.Параметры.Сумма = СуммаРуб;
КонецЕсли;
ОбластьСуммы.Параметры.НомерГТДСтранаПроисхождения = ?(ЗначениеЗаполнено(ВыборкаСтрокТовары.НомерГТД),
СокрЛП(ВыборкаСтрокТовары.НомерГТД.Код)+",", "") + Символы.ПС + ВыборкаСтрокТовары.СтранаПроисхождения;
ТабДокумент.Присоединить(ОбластьСуммы);
Если СуммыВРублях Тогда
Сумма = Сумма + СуммаРуб;
СуммаНДС = СуммаНДС + Окр( ВыборкаСтрокТовары.СуммаНДС * КоэфКурса, 2, 1);
Иначе
Сумма = Сумма + ВыборкаСтрокТовары.Сумма;
СуммаНДС = СуммаНДС + ВыборкаСтрокТовары.СуммаНДС;
КонецЕсли;
ВсегоСкидок = ВсегоСкидок + Скидка;
ВсегоБезСкидок = Сумма + ВсегоСкидок;
//Склад = Макет.ПолучитьОбласть(Склад);
//Склад.Параметры.Заполнить(Склад);
//Склад.Параметры.Склад = ВыборкаСтрокТовары.Склад;
//ТабДокумент.Присоеденить(ОбластьСклад);
//
// ОбластьСклад = Макет.ПолучитьОбласть("Склад");
ОбластьСклад.Параметры.Заполнить(ВыборкаСтрокТовары);
ОбластьСклад.Параметры.СКЛ = ВыборкаСтрокТовары.Склад;
ТабДокумент.Присоединить(ОбластьСклад);
КонецЦикла;
// Вывести Итого
ОбластьНомера = Макет.ПолучитьОбласть("Итого|НомерСтроки");
ОбластьКодов = Макет.ПолучитьОбласть("Итого|КолонкаКодов");
ОбластьТовар = Макет.ПолучитьОбласть("Итого|Товар");
ОбластьМест = Макет.ПолучитьОбласть("Итого|Мест");
ОбластьДанных = Макет.ПолучитьОбласть("Итого|КоличествоЦена");
ОбластьСкидок = Макет.ПолучитьОбласть("Итого|Скидка");
ОбластьСуммы = Макет.ПолучитьОбласть("Итого|Сумма");
ОбластьСклад = Макет.ПолучитьОбласть("Итого|Склад");
ТабДокумент.Вывести(ОбластьНомера);
Если ВыводитьКоды Тогда
ТабДокумент.Присоединить(ОбластьКодов);
КонецЕсли;
ТабДокумент.Присоединить(ОбластьТовар);
Если флВыводитьМест Тогда
ТабДокумент.Присоединить(ОбластьМест);
КонецЕсли;
ТабДокумент.Присоединить(ОбластьДанных);
Если ЕстьСкидки Тогда
ОбластьСкидок.Параметры.ВсегоСкидок = ВсегоСкидок;
ОбластьСкидок.Параметры.ВсегоБезСкидок = ВсегоСкидок+СуммаДокумента;
ТабДокумент.Присоединить(ОбластьСкидок);
КонецЕсли;
ОбластьСуммы.Параметры.Всего = ОбщегоНазначения.ФорматСумм(Сумма);
ТабДокумент.Присоединить(ОбластьСуммы);
ТабДокумент.Присоединить(ОбластьСклад);
// Вывести ИтогоНДС
Если Шапка.УчитыватьНДС Тогда
ОбластьНомера = Макет.ПолучитьОбласть("ИтогоНДС|НомерСтроки");
ОбластьКодов = Макет.ПолучитьОбласть("ИтогоНДС|КолонкаКодов");
ОбластьТовар = Макет.ПолучитьОбласть("ИтогоНДС|Товар");
ОбластьМест = Макет.ПолучитьОбласть("ИтогоНДС|Мест");
ОбластьДанных = Макет.ПолучитьОбласть("ИтогоНДС|КоличествоЦена");
ОбластьСкидок = Макет.ПолучитьОбласть("ИтогоНДС|Скидка");
ОбластьСуммы = Макет.ПолучитьОбласть("ИтогоНДС|Сумма");
ТабДокумент.Вывести(ОбластьНомера);
Если ВыводитьКоды Тогда
ТабДокумент.Присоединить(ОбластьКодов);
КонецЕсли;
ТабДокумент.Присоединить(ОбластьТовар);
Если флВыводитьМест Тогда
ТабДокумент.Присоединить(ОбластьМест);
КонецЕсли;
ОбластьДанных.Параметры.НДС = ?(Шапка.СуммаВключаетНДС, "В том числе НДС:", "Сумма НДС:");
ТабДокумент.Присоединить(ОбластьДанных);
Если ЕстьСкидки Тогда
ТабДокумент.Присоединить(ОбластьСкидок);
КонецЕсли;
ОбластьСуммы.Параметры.ВсегоНДС = ОбщегоНазначения.ФорматСумм(СуммаНДС);
ТабДокумент.Присоединить(ОбластьСуммы);
КонецЕсли;
// Вывести Сумму прописью
ОбластьМакета = Макет.ПолучитьОбласть("СуммаПрописью");
СуммаКПрописи = Сумма + ?(Шапка.СуммаВключаетНДС, 0, СуммаНДС);
Если СуммыВРублях Тогда
ОбластьМакета.Параметры.ИтоговаяСтрока ="Всего наименований " + ЗапросТовары.Количество()
+ ", на сумму " + ОбщегоНазначения.ФорматСумм(СуммаКПрописи, мВалютаРегламентированногоУчета);
ОбластьМакета.Параметры.СуммаПрописью = ОбщегоНазначения.СформироватьСуммуПрописью(СуммаКПрописи, мВалютаРегламентированногоУчета);
Иначе
ОбластьМакета.Параметры.ИтоговаяСтрока ="Всего наименований " + ЗапросТовары.Количество()
+ ", на сумму " + ОбщегоНазначения.ФорматСумм(СуммаКПрописи, Шапка.ВалютаДокумента);
ОбластьМакета.Параметры.СуммаПрописью = ОбщегоНазначения.СформироватьСуммуПрописью(СуммаКПрописи, Шапка.ВалютаДокумента);
КонецЕсли;
ТабДокумент.Вывести(ОбластьМакета);
// Вывести подписи
ОбластьМакета = Макет.ПолучитьОбласть("Подписи");
ОбластьМакета.Параметры.Оплатил = Оплатил;
ОстатокДолга = ОбщегоНазначения.ФорматСумм(УчетНДС.ПолучитьСуммуДокументаСНДС(ЭтотОбъект, "Товары")+УчетНДС.ПолучитьСуммуДокументаСНДС(ЭтотОбъект, "Услуги"))-Оплатил;
Сдача = Оплатил - ОбщегоНазначения.ФорматСумм(УчетНДС.ПолучитьСуммуДокументаСНДС(ЭтотОбъект, "Товары")+УчетНДС.ПолучитьСуммуДокументаСНДС(ЭтотОбъект, "Услуги"));
Если ОстатокДолга <= 0 Тогда
ОбластьМакета.Параметры.ОстатокДолга = 0;
Иначе
ОбластьМакета.Параметры.ОстатокДолга = ОстатокДолга;
КонецЕсли;
Если Сдача <= 0 Тогда
ОбластьМакета.Параметры.Сдача = 0;
Иначе
ОбластьМакета.Параметры.Сдача = Сдача;
КонецЕсли;
// Отпуск товара произвел
Если ЗначениеЗаполнено(Шапка.ОтпускПроизвел) Тогда
ФамилияИмяОтчествоФизЛица = ФормированиеПечатныхФорм.ФамилияИмяОтчество(Шапка.ОтпускПроизвел, Шапка.Дата);
ФамилияИмяОтчествоОтпускПроизвел = ФамилияИмяОтчествоФизЛица.Фамилия + " " + ФамилияИмяОтчествоФизЛица.Имя + " " + ФамилияИмяОтчествоФизЛица.Отчество;
ФИООтпускПроизвел = ОбщегоНазначения.ФамилияИнициалыФизЛица(ФамилияИмяОтчествоОтпускПроизвел);
ОбластьМакета.Параметры.ОтветственныйПредставление = ФИООтпускПроизвел;
КонецЕсли;
ТабДокумент.Вывести(ОбластьМакета);
Возврат ТабДокумент;
КонецФункции // ПечатьДокумента()
Показать
Вот говонокод без проверки
заменить строку
ОбластьСклад.Параметры.СКЛ = ВыборкаСтрокТовары.Склад
НА
ОбластьСклад.Параметры.СКЛ = ЯНеХочуУчится(ЭтотОбъект.Товары, ВыборкаСтрокТовары.Номенклатура);
Функция ЯНеХочуУчится(Таб,мНоменклатура)
мСклад = "";
мТаб = Таб.СкопироватьКолонки("Номенклатура, Склад");
мТаб.Свернуть("Номенклатура, Склад");
Отбор = Новый Структура();
Отбор.Вставить("Номенклатура",мНоменклатура);
Строки = мТаб.НайтиСтроки(Отбор);
Для Каждого мСтрока из Строки Цикл
мСклад = мСклад + Строка(мСтрока.Склад) + ", ";
КонецЦикла;
мСклад = мСклад + "@@";
мСклад = СтрЗаменить(мСклад,", @@",""0;
Возврат мСклад
КонецФункции
(8)
заменить строку
ОбластьСклад.Параметры.СКЛ = ВыборкаСтрокТовары.Склад
НА
ОбластьСклад.Параметры.СКЛ = ЯНеХочуУчится(ЭтотОбъект.Товары, ВыборкаСтрокТовары.Номенклатура);
Функция ЯНеХочуУчится(Таб,мНоменклатура)
мСклад = "";
мТаб = Таб.СкопироватьКолонки("Номенклатура, Склад");
мТаб.Свернуть("Номенклатура, Склад");
Отбор = Новый Структура();
Отбор.Вставить("Номенклатура",мНоменклатура);
Строки = мТаб.НайтиСтроки(Отбор);
Для Каждого мСтрока из Строки Цикл
мСклад = мСклад + Строка(мСтрока.Склад) + ", ";
КонецЦикла;
мСклад = мСклад + "@@";
мСклад = СтрЗаменить(мСклад,", @@",""0;
Возврат мСклад
КонецФункции
(8)
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот