Общее количество позиций и склад в форму печать
Доброго времени суток.
Конфигурация Управление торговлей для Украины, редакция 3.1 (3.1.8.1) то же что и УТ11
Подскажите пожалуйста как добавить сумму колонки количество, общее количество позиций в форму печать. В обработке печать общих форм.
И нужно создать строку с отображением склада с которого отпускается товар.
Помогите пож.
Конфигурация Управление торговлей для Украины, редакция 3.1 (3.1.8.1) то же что и УТ11
Подскажите пожалуйста как добавить сумму колонки количество, общее количество позиций в форму печать. В обработке печать общих форм.
И нужно создать строку с отображением склада с которого отпускается товар.
Помогите пож.
По теме из базы знаний
- Алкогольная декларация для 1С 8.1, 8.2, 8.3 (1, 2, 3, 4, 5, 6, 7, 8 формы) УТ10.2/10.3, УТ11, УПП, КА, БП2.0/3.0, БП КОРП, Розница 1.0/2.1, Далион, Астор, УТАП и др. с подписью и шифрованием, редакция 2.3
- Универсальный передаточный документ для Управление торговлей релиза 10.3.21.1 (бета для УТ 10.3.30.2) - печатная форма 2 в 1 альтернатива счету фактуре и расходной накладной.
- Красивый склад
- Накладная на перемещение для документа "Перемещение товаров" с выводом веса и объема без проведения для УТ 11
- Интеграция с маркетплейсами МегаМаркет, Wildberries, OZON, ЯндексМаркет, VK, Avito, Леруа Мерлен, Aliexpress, КУПЕР, Dostavista
Найденные решения
Самый простой способ перед циклом вывода строк ТЧ сделать счетчики и в цикле их переопределять.
Еще как вариант:
Табличная часть (Tabular section)
Итог (Total)
Синтаксис:
Итог(<Колонка>)
Параметры:
<Колонка> (обязательный)
Тип: Число, Строка.
Индекс либо имя колонки, по которой подсчитывается итог.
Возвращаемое значение:
Тип: Число, Неопределено.
Описание:
Суммирует значения всех строк в указанной колонке.
Если в колонке установлен тип и он единственный, то при суммировании будет предприниматься попытка преобразования значения к типу Число.
Если колонке не присвоены типы, то в процессе суммирования будут принимать участие только значения, имеющие тип Число, значения других типов будут игнорироваться.
Если в колонке несколько типов и среди них есть тип Число, то в процессе суммирования будут принимать участие только значения, имеющие тип Число, значения других типов будут игнорироваться.
Если в колонке несколько типов и среди них нет типа Число, то результатом будет значение Неопределено.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Пример:
ВсегоПоДокументу = Состав.Итог("Всего");
Использование в версии:
Доступен, начиная с версии 8.0.
ИтогКоличество = 0;
ИтогВес = 0
Для Каждого Стр из Товары Цикл
//Запоняем параметры строки
ИтогКоличество = ИтогКоличество + Стр.Количество;
ИтогВес = ИтогВес + Стр.Вес;
КонецЦикла;
Еще как вариант:
Табличная часть (Tabular section)
Итог (Total)
Синтаксис:
Итог(<Колонка>)
Параметры:
<Колонка> (обязательный)
Тип: Число, Строка.
Индекс либо имя колонки, по которой подсчитывается итог.
Возвращаемое значение:
Тип: Число, Неопределено.
Описание:
Суммирует значения всех строк в указанной колонке.
Если в колонке установлен тип и он единственный, то при суммировании будет предприниматься попытка преобразования значения к типу Число.
Если колонке не присвоены типы, то в процессе суммирования будут принимать участие только значения, имеющие тип Число, значения других типов будут игнорироваться.
Если в колонке несколько типов и среди них есть тип Число, то в процессе суммирования будут принимать участие только значения, имеющие тип Число, значения других типов будут игнорироваться.
Если в колонке несколько типов и среди них нет типа Число, то результатом будет значение Неопределено.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Пример:
ВсегоПоДокументу = Состав.Итог("Всего");
Использование в версии:
Доступен, начиная с версии 8.0.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Не выводит в печатную форму.
Сообщение выводит если "Сообщить(ДанныеПечати.Ссылка.Склад);"
В форму нет.
В области "покупатель" создал ячейку с параметром "склад", что не так.
Сообщение выводит если "Сообщить(ДанныеПечати.Ссылка.Склад);"
В форму нет.
В области "покупатель" создал ячейку с параметром "склад", что не так.
ОбластьМакета = Макет.ПолучитьОбласть("Покупатель");
ПредставлениеПолучателя = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПокупателе, "ПолноеНаименование",,КодЯзыкаПечать);
РеквизитыПокупателя = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПокупателе, "ФактическийАдрес,Телефоны,",,КодЯзыкаПечать);
Склад = ДанныеПечати.Ссылка.Склад;
СтруктураДанныхПокупатель = Новый Структура;
СтруктураДанныхПокупатель.Вставить("ПредставлениеПолучателя", ПредставлениеПолучателя);
СтруктураДанныхПокупатель.Вставить("Получатель", ДанныеПечати.Получатель);
СтруктураДанныхПокупатель.Вставить("РеквизитыПокупателя", РеквизитыПокупателя);
СтруктураДанныхПокупатель.Вставить("Склад", ДанныеПечати.Ссылка.Склад);
Сообщить(ДанныеПечати.Ссылка.Склад);
ОбластьМакета.Параметры.Заполнить(СтруктураДанныхПокупатель);
Показать
Самый простой способ перед циклом вывода строк ТЧ сделать счетчики и в цикле их переопределять.
Еще как вариант:
Табличная часть (Tabular section)
Итог (Total)
Синтаксис:
Итог(<Колонка>)
Параметры:
<Колонка> (обязательный)
Тип: Число, Строка.
Индекс либо имя колонки, по которой подсчитывается итог.
Возвращаемое значение:
Тип: Число, Неопределено.
Описание:
Суммирует значения всех строк в указанной колонке.
Если в колонке установлен тип и он единственный, то при суммировании будет предприниматься попытка преобразования значения к типу Число.
Если колонке не присвоены типы, то в процессе суммирования будут принимать участие только значения, имеющие тип Число, значения других типов будут игнорироваться.
Если в колонке несколько типов и среди них есть тип Число, то в процессе суммирования будут принимать участие только значения, имеющие тип Число, значения других типов будут игнорироваться.
Если в колонке несколько типов и среди них нет типа Число, то результатом будет значение Неопределено.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Пример:
ВсегоПоДокументу = Состав.Итог("Всего");
Использование в версии:
Доступен, начиная с версии 8.0.
ИтогКоличество = 0;
ИтогВес = 0
Для Каждого Стр из Товары Цикл
//Запоняем параметры строки
ИтогКоличество = ИтогКоличество + Стр.Количество;
ИтогВес = ИтогВес + Стр.Вес;
КонецЦикла;
Еще как вариант:
Табличная часть (Tabular section)
Итог (Total)
Синтаксис:
Итог(<Колонка>)
Параметры:
<Колонка> (обязательный)
Тип: Число, Строка.
Индекс либо имя колонки, по которой подсчитывается итог.
Возвращаемое значение:
Тип: Число, Неопределено.
Описание:
Суммирует значения всех строк в указанной колонке.
Если в колонке установлен тип и он единственный, то при суммировании будет предприниматься попытка преобразования значения к типу Число.
Если колонке не присвоены типы, то в процессе суммирования будут принимать участие только значения, имеющие тип Число, значения других типов будут игнорироваться.
Если в колонке несколько типов и среди них есть тип Число, то в процессе суммирования будут принимать участие только значения, имеющие тип Число, значения других типов будут игнорироваться.
Если в колонке несколько типов и среди них нет типа Число, то результатом будет значение Неопределено.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Пример:
ВсегоПоДокументу = Состав.Итог("Всего");
Использование в версии:
Доступен, начиная с версии 8.0.
(11) а таблица с номенклатурой для заполнения каким образом получается?
ИтогВес = ИтогВес + (Стр.Номенклатура.Вес*Стр.Количество);
Это вариант со счетчиком, если таблица с номенклатурой получается запросом, можно переделать запрос и в запросе напрямую получать и вычислять весь для строки
ИтогВес = ИтогВес + (Стр.Номенклатура.Вес*Стр.Количество);
Это вариант со счетчиком, если таблица с номенклатурой получается запросом, можно переделать запрос и в запросе напрямую получать и вычислять весь для строки
Вес ладно не до него пока
Товары - Переменная не определена (Товары)
Для Каждого Стр из Товары Цикл
//Запоняем параметры строки
ИтогКоличество = ИтогКоличество + Стр.Количество;
Товары - Переменная не определена (Товары)
Функция ЗаполнитьТабличныйДокументРасходнаяНакладная(ТабличныйДокумент, ДанныеДляПечати, ОбъектыПечати, КомплектыПечати, ПараметрыПечати, ПараметрыВывода)
Перем КомплектПечатиПоСсылке;
КодЯзыкаПечать = ПараметрыВывода.КодЯзыкаДляМногоязычныхПечатныхФорм;
ДанныеПечати = ДанныеДляПечати.РезультатПоШапке.Выбрать();
ВыборкаПоДокументам = ДанныеДляПечати.РезультатПоТабличнойЧасти.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Если ПараметрыПечати <> Неопределено И ПараметрыПечати.Свойство("ОтображатьСкидки") Тогда
ОтображатьСкидки = ПараметрыПечати.ОтображатьСкидки;
Иначе
ОтображатьСкидки = (Константы.ОтображениеСкидокВПечатныхФормахДокументовПродажи.Получить()
<> Перечисления.ВариантыВыводаСкидокВПечатныхФормах.НеВыводитьСкидки);
КонецЕсли;
КолонкаКодов = ФормированиеПечатныхФорм.ИмяДополнительнойКолонки();
ВыводитьКоды = ЗначениеЗаполнено(КолонкаКодов);
ИспользоватьРучныеСкидки = ПолучитьФункциональнуюОпцию("ИспользоватьРучныеСкидкиВПродажах");
ИспользоватьАвтоматическиеСкидки = ПолучитьФункциональнуюОпцию("ИспользоватьАвтоматическиеСкидкиВПродажах");
ПоказыватьНДС = Константы.ВыводитьДопКолонкиНДС.Получить();
ПервыйДокумент = Истина;
Пока ДанныеПечати.Следующий() Цикл
//Для печати комплектов
Отказ = Ложь;
ПодготовкаДляПечатиКомплектов(ДанныеПечати, КомплектыПечати, КомплектПечатиПоСсылке, Отказ);
Если Отказ Тогда
Продолжить;
КонецЕсли;
// Найдем в выборке товары по текущему документу
СтруктураПоиска = Новый Структура("Ссылка", ДанныеПечати.Ссылка);
НайденСледующий = ВыборкаПоДокументам.НайтиСледующий(СтруктураПоиска);
// В одном вызове этой функции обрабатываются документы одного типа
Если ТипЗнч(ДанныеПечати.Ссылка) = Тип("ДокументСсылка.РеализацияУслугПрочихАктивов")
ИЛИ ТипЗнч(ДанныеПечати.Ссылка) = Тип("ДокументСсылка.ВыкупВозвратнойТарыКлиентом")
ИЛИ ТипЗнч(ДанныеПечати.Ссылка) = Тип("ДокументСсылка.ПередачаТоваровМеждуОрганизациями") Тогда
ИспользоватьРучныеСкидки = Ложь;
ИспользоватьАвтоматическиеСкидки = Ложь;
КонецЕсли;
Если ТипЗнч(ДанныеПечати.Ссылка) = Тип("ДокументСсылка.РеализацияУслугПрочихАктивов") Тогда
ВыводитьКоды = Ложь;
КонецЕсли;
// Если в накладной только услуги - перейдем к следующему документу
Если НайденСледующий Тогда
ВыборкаПоТоварам = ВыборкаПоДокументам.Выбрать();
ЗаголовокСкидки = ФормированиеПечатныхФорм.НужноВыводитьСкидки(ВыборкаПоТоварам, ИспользоватьРучныеСкидки Или ИспользоватьАвтоматическиеСкидки, КодЯзыкаПечать);
ЕстьСкидки = ЗаголовокСкидки.ЕстьСкидки;
ЕстьНДС = ДанныеПечати.УчитыватьНДС;
ВыборкаПоТоварам.Сбросить();
Иначе
Текст = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru='В документе %1 отсутствуют товары. Печать накладной не требуется';uk='У документі %1 відсутні товари. Друк накладної не потрібний'"),
ДанныеПечати.Ссылка
);
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
Текст,
ДанныеПечати.Ссылка
);
Продолжить;
КонецЕсли;
// Макет необходимо получать для каждого документа, т.к. размеры колонок изменяются динамически
Макет = УправлениеПечатью.ПолучитьМакет("Обработка.ПечатьОбщихФорм.ПФ_MXL_РасходнаяНакладная", КодЯзыкаПечать);
Если Не ПервыйДокумент Тогда
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ПервыйДокумент = Ложь;
НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;
// Выводим шапку накладной
ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
ШтрихкодированиеПечатныхФорм.ВывестиШтрихкодВТабличныйДокумент(ТабличныйДокумент, Макет, ОбластьМакета, ДанныеПечати.Ссылка);
ТекстЗаголовка = ОбщегоНазначенияУТКлиентСервер.СформироватьЗаголовокДокумента(ДанныеПечати, НСтр("ru='Расходная накладная';uk='Видаткова накладна'",КодЯзыкаПечать), КодЯзыкаПечать);
СтруктураДанныхШапки = Новый Структура;
СтруктураДанныхШапки.Вставить("ТекстЗаголовка", ТекстЗаголовка);
ОбластьМакета.Параметры.Заполнить(СтруктураДанныхШапки);
ТабличныйДокумент.Вывести(ОбластьМакета);
СведенияОПоставщике = ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Организация, ДанныеПечати.Дата,,ДанныеПечати.БанковскийСчетОрганизации);
СведенияОПокупателе = ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Получатель, ДанныеПечати.Дата,,ДанныеПечати.БанковскийСчетКонтрагента);
ОбластьМакета = Макет.ПолучитьОбласть("Поставщик");
ПредставлениеПоставщика = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПоставщике, "ПолноеНаименование",,КодЯзыкаПечать);
РеквизитыПоставщика = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПоставщике, "НомерСчета,Банк,МФО,/,ЮридическийАдрес,Телефоны,/,КодПоЕДРПОУ,КодПоДРФО,ИНН,НомерСвидетельства,/,ИнформацияОСтатусеПлательщикаНалогов,",,КодЯзыкаПечать);
СтруктураДанныхПоставщик = Новый Структура;
СтруктураДанныхПоставщик.Вставить("ПредставлениеПоставщика", ПредставлениеПоставщика);
СтруктураДанныхПоставщик.Вставить("Поставщик", ДанныеПечати.Организация);
СтруктураДанныхПоставщик.Вставить("РеквизитыПоставщика", РеквизитыПоставщика);
СтруктураДанныхПоставщик.Вставить("Склад", ДанныеПечати.Ссылка.Склад);
ОбластьМакета.Параметры.Заполнить(СтруктураДанныхПоставщик);
ТабличныйДокумент.Вывести(ОбластьМакета);
ОбластьМакета = Макет.ПолучитьОбласть("Покупатель");
ПредставлениеПолучателя = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПокупателе, "ПолноеНаименование",,КодЯзыкаПечать);
РеквизитыПокупателя = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПокупателе, "ФактическийАдрес,Телефоны,",,КодЯзыкаПечать);
Склад = ДанныеПечати.Ссылка.Склад;
СтруктураДанныхПокупатель = Новый Структура;
СтруктураДанныхПокупатель.Вставить("ПредставлениеПолучателя", ПредставлениеПолучателя);
СтруктураДанныхПокупатель.Вставить("Получатель", ДанныеПечати.Получатель);
СтруктураДанныхПокупатель.Вставить("РеквизитыПокупателя", РеквизитыПокупателя);
ОбластьМакета.Параметры.Заполнить(СтруктураДанныхПокупатель);
Запрос2 = Новый Запрос(
"ВЫБРАТЬ
| РасчетыСКлиентамиОстаткиИОбороты.СуммаКонечныйОстаток КАК СуммаКонечныйОстаток,
| РасчетыСКлиентамиОстаткиИОбороты.АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
| РасчетыСКлиентамиОстаткиИОбороты.Регистратор КАК Регистратор
|ИЗ
| РегистрНакопления.РасчетыСКлиентами.ОстаткиИОбороты(, , Регистратор, Движения, ) КАК РасчетыСКлиентамиОстаткиИОбороты
|ГДЕ
| РасчетыСКлиентамиОстаткиИОбороты.АналитикаУчетаПоПартнерам.Контрагент = &Контрагент
| И РасчетыСКлиентамиОстаткиИОбороты.Период = &Регистратор" );
Запрос2.УстановитьПараметр("Контрагент", ДанныеПечати.Получатель);
Запрос2.УстановитьПараметр("Регистратор", ДанныеПечати.Дата);
Результат2 = Запрос2.Выполнить();
ВыборкаДетальныеЗаписи2 = Результат2.Выбрать();
Если ВыборкаДетальныеЗаписи2.Следующий() Тогда
КонечныйДолг = ВыборкаДетальныеЗаписи2.СуммаКонечныйОстаток;
Если КонечныйДолг < 0 Тогда
ОбластьМакета.Параметры.ДолгИнфа = "Передоплата контрагента з урахуванням цієї накладної становить " + (-1)*КонечныйДолг + " грн.";
Иначе
ОбластьМакета.Параметры.ДолгИнфа = "Заборгованість контрагента з урахуванням цієї накладної становить " + КонечныйДолг + " грн.";
КонецЕсли;
Иначе
ОбластьМакета.Параметры.ДолгИнфа = "";
КонецЕсли;
ТабличныйДокумент.Вывести(ОбластьМакета);
// Выводим дополнительно информацию о договоре и заказе
СписокДополнительныхПараметров = "ДоговорНаименованиеДляПечати,";
Если ДанныеПечати.ПечататьЗаказ Тогда
// Реализацию и договор уже вывели
СписокДополнительныхПараметров = СписокДополнительныхПараметров + "Заказ,";
КонецЕсли;
СписокДополнительныхПараметров = СписокДополнительныхПараметров + "АдресДоставки,";
МассивСтруктурСтрок = ФормированиеПечатныхФорм.ДополнительнаяИнформация(ДанныеПечати, СписокДополнительныхПараметров, КодЯзыкаПечать);
ОбластьМакета = Макет.ПолучитьОбласть("ДопИнформация");
Для каждого СтруктураСтроки Из МассивСтруктурСтрок Цикл
ОбластьМакета.Параметры.Заполнить(СтруктураСтроки);
ТабличныйДокумент.Вывести(ОбластьМакета);
КонецЦикла;
// Выводим заголовок таблицы Товары
СуффиксОбластиСтроки = ?(ЕстьСкидки, "СоСкидкой", "") + ?(ЕстьНДС И ПоказыватьНДС, "СНДС", "");
СуффиксОбластиКолонки = ?(ЕстьСкидки И ЕстьНДС И ПоказыватьНДС, "СоСкидкойСНДС", ?(ЕстьСкидки Или (ЕстьНДС И ПоказыватьНДС), "СоСкидкойИлиСНДС", ""));
ОбластьКолонкаТовар = Макет.Область("ПерваяКолонкаТовара");
ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки
+ ?(ВыводитьКоды, 0, Макет.Область("КолонкаКодов").ШиринаКолонки)
;
ОбластьНомера = Макет.ПолучитьОбласть("ШапкаТаблицы" + СуффиксОбластиСтроки + "|НомерСтроки");
ОбластьКодов = Макет.ПолучитьОбласть("ШапкаТаблицы" + СуффиксОбластиСтроки + "|КолонкаКодов");
ОбластьТовар = Макет.ПолучитьОбласть("ШапкаТаблицы" + СуффиксОбластиСтроки + "|Товар" + СуффиксОбластиКолонки);
ОбластьДанных = Макет.ПолучитьОбласть("ШапкаТаблицы" + СуффиксОбластиСтроки + "|Данные" + СуффиксОбластиКолонки);
ТабличныйДокумент.Вывести(ОбластьНомера);
Если ВыводитьКоды Тогда
ОбластьКодов.Параметры.ИмяКолонкиКодов = КолонкаКодов;
ТабличныйДокумент.Присоединить(ОбластьКодов);
КонецЕсли;
ЗаполнитьЗначенияСвойств(ОбластьДанных.Параметры, ФормированиеПечатныхФорм.СформироватьЗаголовкиДляСуммовыхПоказателей(ДанныеПечати, КодЯзыкаПечать));
Если ЕстьСкидки Тогда
СтруктураЗаголовокСкидки = Новый Структура("Скидка, СуммаБезСкидки",
ЗаголовокСкидки.Скидка,
ЗаголовокСкидки.СуммаСкидки);
ОбластьДанных.Параметры.Заполнить(СтруктураЗаголовокСкидки);
КонецЕсли;
ТабличныйДокумент.Присоединить(ОбластьТовар);
ТабличныйДокумент.Присоединить(ОбластьДанных);
ОбластьНомераСтрокиСтандарт = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "|НомерСтроки");
ОбластьКодовСтрокиСтандарт = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "|КолонкаКодов");
ОбластьТоварСтрокиСтандарт = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "|Товар" + СуффиксОбластиКолонки);
ОбластьДанныхСтрокиСтандарт = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "|Данные" + СуффиксОбластиКолонки);
ИспользоватьНаборы = Ложь;
Если ОбщегоНазначенияУТКлиентСервер.ЕстьРеквизитОбъекта(ВыборкаПоДокументам, "ЭтоНабор") Тогда
ИспользоватьНаборы = Истина;
ОбластьНомераСтрокиНабор = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "Набор" + "|НомерСтроки");
ОбластьНомераСтрокиКомплектующие = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "Комплектующие" + "|НомерСтроки");
ОбластьКодовСтрокиНабор = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "Набор" + "|КолонкаКодов");
ОбластьКодовСтрокиКомплектующие = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "Комплектующие" + "|КолонкаКодов");
ОбластьТоварСтрокиНабор = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "Набор" + "|Товар" + СуффиксОбластиКолонки);
ОбластьТоварСтрокиКомплектующие = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "Комплектующие" + "|Товар" + СуффиксОбластиКолонки);
ОбластьДанныхСтрокиНабор = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "Набор" + "|Данные" + СуффиксОбластиКолонки);
ОбластьДанныхСтрокиКомплектующие = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "Комплектующие" + "|Данные" + СуффиксОбластиКолонки);
КонецЕсли;
Сумма = 0;
СуммаНДС = 0;
ВсегоСкидок = 0;
НомерСтроки = 0;
ВсегоБезСкидок = 0;
ПустыеДанные = НаборыСервер.ПустыеДанные();
// Выводим строки таблицы Товары
Пока ВыборкаПоТоварам.Следующий() Цикл
Если НаборыСервер.ИспользоватьОбластьНабор(ВыборкаПоТоварам, ИспользоватьНаборы) Тогда
ОбластьКодовСтроки = ОбластьКодовСтрокиНабор;
ОбластьНомераСтроки = ОбластьНомераСтрокиНабор;
ОбластьДанныхСтроки = ОбластьДанныхСтрокиНабор;
ОбластьТоварСтроки = ОбластьТоварСтрокиНабор;
ИначеЕсли НаборыСервер.ИспользоватьОбластьКомплектующие(ВыборкаПоТоварам, ИспользоватьНаборы) Тогда
ОбластьКодовСтроки = ОбластьКодовСтрокиКомплектующие;
ОбластьНомераСтроки = ОбластьНомераСтрокиКомплектующие;
ОбластьДанныхСтроки = ОбластьДанныхСтрокиКомплектующие;
ОбластьТоварСтроки = ОбластьТоварСтрокиКомплектующие;
Иначе
ОбластьКодовСтроки = ОбластьКодовСтрокиСтандарт;
ОбластьНомераСтроки = ОбластьНомераСтрокиСтандарт;
ОбластьДанныхСтроки = ОбластьДанныхСтрокиСтандарт;
ОбластьТоварСтроки = ОбластьТоварСтрокиСтандарт;
КонецЕсли;
Если НаборыСервер.ВыводитьТолькоЗаголовок(ВыборкаПоТоварам, ИспользоватьНаборы) Тогда
УстановитьПараметр(ОбластьНомераСтроки, "НомерСтроки", Неопределено);
Иначе
НомерСтроки = НомерСтроки + 1;
УстановитьПараметр(ОбластьНомераСтроки, "НомерСтроки", НомерСтроки);
КонецЕсли;
ТабличныйДокумент.Вывести(ОбластьНомераСтроки);
Если ВыводитьКоды Тогда
СтруктураДанныхКоды = Новый Структура("Артикул", ВыборкаПоТоварам[КолонкаКодов]);
ОбластьКодовСтроки.Параметры.Заполнить(СтруктураДанныхКоды);
ТабличныйДокумент.Присоединить(ОбластьКодовСтроки);
КонецЕсли;
ПрефиксИПостфикс = НаборыСервер.ПолучитьПрефиксИПостфикс(ВыборкаПоТоварам, ИспользоватьНаборы);
ОбластьТоварСтроки.Параметры.Заполнить(ВыборкаПоТоварам);
Если ТипЗнч(ДанныеПечати.Ссылка) = Тип("ДокументСсылка.РеализацияУслугПрочихАктивов") Тогда
Товар = ВыборкаПоТоварам.Содержание;
СтруктураДанныхТовар = Новый Структура("Товар", Товар);
ОбластьТоварСтроки.Параметры.Заполнить(СтруктураДанныхТовар);
Иначе
Товар = ПрефиксИПостфикс.Префикс + НоменклатураКлиентСервер.ПредставлениеНоменклатурыДляПечати(
ВыборкаПоТоварам.ТоварНаименованиеПолное,
ВыборкаПоТоварам.Характеристика,
,
,
,
ВыборкаПоТоварам.ЭтоВозвратнаяТара,
КодЯзыкаПечать) + ПрефиксИПостфикс.Постфикс;
СтруктураДанныхТовар = Новый Структура("Товар", Товар);
ОбластьТоварСтроки.Параметры.Заполнить(СтруктураДанныхТовар);
КонецЕсли;
ТабличныйДокумент.Присоединить(ОбластьТоварСтроки);
Если ЗаголовокСкидки.ЕстьСкидки Тогда
СтруктураДанныхСуммаСкидки = Новый Структура("СуммаСкидки",
?(ЗаголовокСкидки.ТолькоНаценка,- ВыборкаПоТоварам.СуммаСкидки,ВыборкаПоТоварам.СуммаСкидки));
ОбластьДанныхСтроки.Параметры.Заполнить(СтруктураДанныхСуммаСкидки);
КонецЕсли;
Если НаборыСервер.ВыводитьТолькоЗаголовок(ВыборкаПоТоварам, ИспользоватьНаборы) Тогда
ОбластьДанныхСтроки.Параметры.Заполнить(ПустыеДанные);
Иначе
ОбластьДанныхСтроки.Параметры.Заполнить(ВыборкаПоТоварам);
КонецЕсли;
ТабличныйДокумент.Присоединить(ОбластьДанныхСтроки);
Если Не НаборыСервер.ИспользоватьОбластьКомплектующие(ВыборкаПоТоварам, ИспользоватьНаборы) Тогда
Сумма = Сумма + ВыборкаПоТоварам.Сумма;
СуммаНДС = СуммаНДС + ВыборкаПоТоварам.СуммаНДС;
Если ЕстьСкидки Тогда
ВсегоСкидок = ВсегоСкидок + ВыборкаПоТоварам.СуммаСкидки;
ВсегоБезСкидок = ВсегоБезСкидок + ВыборкаПоТоварам.СуммаБезСкидки;
КонецЕсли;
КонецЕсли;
КонецЦикла;
// Выводим подвал
ОбластьНомера = Макет.ПолучитьОбласть("ПодвалТаблицы" + СуффиксОбластиСтроки + "|НомерСтроки");
ОбластьКодов = Макет.ПолучитьОбласть("ПодвалТаблицы" + СуффиксОбластиСтроки + "|КолонкаКодов");
ОбластьТовар = Макет.ПолучитьОбласть("ПодвалТаблицы" + СуффиксОбластиСтроки + "|Товар" + СуффиксОбластиКолонки);
ОбластьДанных = Макет.ПолучитьОбласть("ПодвалТаблицы" + СуффиксОбластиСтроки + "|Данные" + СуффиксОбластиКолонки);
ТабличныйДокумент.Вывести(ОбластьНомера);
Если ВыводитьКоды Тогда
ТабличныйДокумент.Присоединить(ОбластьКодов);
КонецЕсли;
ТабличныйДокумент.Присоединить(ОбластьТовар);
СтруктураДанныхВсегоСкидки = Новый Структура;
Если ЕстьСкидки Тогда
СтруктураДанныхВсегоСкидки.Вставить("ВсегоСкидок", ?(ЗаголовокСкидки.ТолькоНаценка,-ВсегоСкидок, ВсегоСкидок));
СтруктураДанныхВсегоСкидки.Вставить("ВсегоБезСкидок", ВсегоБезСкидок);
КонецЕсли;
СтруктураДанныхВсегоСкидки.Вставить("Всего", ФормированиеПечатныхФорм.ФорматСумм(Сумма));
ОбластьДанных.Параметры.Заполнить(СтруктураДанныхВсегоСкидки);
ТабличныйДокумент.Присоединить(ОбластьДанных);
// Выводим ИтогоНДС
Область = Макет.ПолучитьОбласть("ПодвалНДС");
СтруктураДанныхПодвалНДС = Новый Структура;
СтруктураДанныхПодвалНДС.Вставить("ВсегоНДС", СуммаНДС);
Если ЕстьНДС Тогда
СтруктураДанныхПодвалНДС.Вставить("НДС", ?(ДанныеПечати.ЦенаВключаетНДС, НСтр("ru='В том числе НДС:';uk='У тому числі ПДВ:'",КодЯзыкаПечать), НСтр("ru='Сумма НДС:';uk='Сума ПДВ:'",КодЯзыкаПечать)));
Если Не ДанныеПечати.ЦенаВключаетНДС Тогда
Область.Параметры.Заполнить(СтруктураДанныхПодвалНДС);
ТабличныйДокумент.Вывести(Область);
СтруктураДанныхПодвалНДС = Новый Структура;
СтруктураДанныхПодвалНДС.Вставить("НДС", НСтр("ru='Всего с НДС:';uk='Всього із ПДВ:'",КодЯзыкаПечать));
СтруктураДанныхПодвалНДС.Вставить("ВсегоНДС", Сумма + СуммаНДС);
КонецЕсли;
Иначе
СтруктураДанныхПодвалНДС.Вставить("НДС", НСтр("ru='Без налога (НДС)';uk='Без податку (ПДВ)'",КодЯзыкаПечать));
КонецЕсли;
Область.Параметры.Заполнить(СтруктураДанныхПодвалНДС);
ТабличныйДокумент.Присоединить(Область);
// Выводим Сумму прописью
ОбластьМакета = Макет.ПолучитьОбласть("СуммаПрописью");
СуммаКПрописи = Сумма + ?(ДанныеПечати.ЦенаВключаетНДС, 0, СуммаНДС);
СтруктураДанныхСуммаПрописью = Новый Структура;
ИтоговаяСтрока = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru='Всего наименований %1, на сумму %2';uk='Всього найменувань %1, на суму %2'",КодЯзыкаПечать),
ВыборкаПоТоварам.Количество(),
ФормированиеПечатныхФорм.ФорматСумм(СуммаКПрописи, ДанныеПечати.Валюта));
СтруктураДанныхСуммаПрописью.Вставить("ИтоговаяСтрока", ИтоговаяСтрока);
СтруктураДанныхСуммаПрописью.Вставить("СуммаПрописью", РаботаСКурсамиВалют.СформироватьСуммуПрописью(СуммаКПрописи, ДанныеПечати.Валюта, , КодЯзыкаПечать));
ОбластьМакета.Параметры.Заполнить(СтруктураДанныхСуммаПрописью);
ТабличныйДокумент.Вывести(ОбластьМакета);
Если ЗначениеЗаполнено(ДанныеПечати.МестоСоставленияДокумента) Тогда
ОбластьМакета = Макет.ПолучитьОбласть("МестоСоставления");
СтруктураДанныхМестоСоставления = Новый Структура;
СтруктураДанныхМестоСоставления.Вставить("МестоСоставления", СокрЛП(ДанныеПечати.МестоСоставленияДокумента));
ОбластьМакета.Параметры.Заполнить(СтруктураДанныхМестоСоставления);
ТабличныйДокумент.Вывести(ОбластьМакета);
КонецЕсли;
// Выводим подписи
ОбластьМакета = Макет.ПолучитьОбласть("Подписи");
ОбластьМакета.Параметры.Заполнить(ФормированиеПечатныхФорм.СведенияОбОтветсвенныхЛицах(ДанныеПечати, КодЯзыкаПечать));
ТабличныйДокумент.Вывести(ОбластьМакета);
ЗавершениеДляПечатиКомплектов(КомплектыПечати, КомплектПечатиПоСсылке, ТабличныйДокумент, НомерСтрокиНачало);
УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НомерСтрокиНачало, ОбъектыПечати, ДанныеПечати.Ссылка);
КонецЦикла;
КонецФункции
#КонецОбласти
ПоказатьСумма = 0;
СуммаНДС = 0;
ВсегоСкидок = 0;
НомерСтроки = 0;
ВсегоБезСкидок = 0;
ИтогКоличество = 0;
ИтогВес = 0;
Тут добавляешь счетчики.
В конце Цикла переопределяешь значения счетчиков
Пока ВыборкаПоТоварам.Следующий() Цикл
//Тут все тело цикла
ИтогКоличество = ИтогКоличество + ВыборкаПоТоварам.Количество;
ИтогВес = ИтогВес + ВыборкаПоТоварам.Номенклатура.Вес;
КонецЦикла;
Определить в какой области у тебя находятся параметры с этими итогами и заполнить.
будет что то потипу:
ОбластьТоварСтроки.Параметры.ИтогВес = ИтогВес //вместо ИтогВес название твоего параметра на макете, название области тоже будет другое, по коду не понятно в какой области расположены эти параметры
ОбластьТоварСтроки.Параметры.ИтогКоличество = ИтогКоличество //вместо ИтогКоличество название твоего параметра на макете, название области тоже будет другое, по коду не понятно в какой области расположены эти параметры
ох жесть какая
{Обработка.ПечатьОбщихФорм.МодульМенеджера(1017,1)}: Переменная не определена (ОбластьПодвалТаблицы)
<<?>>ОбластьПодвалТаблицы.Параметры.ИтогВес = ИтогВес; (Проверка: Сервер)
{Обработка.ПечатьОбщихФорм.МодульМенеджера(1018,1)}: Переменная не определена (ОбластьПодвалТаблицы)
<<?>>ОбластьПодвалТаблицы.Параметры.ИтогКоличество = ИтогКоличество; (Проверка: Сервер)
https://drive.google.com/file/d/1JLYnLH37PAAFjvaGbEIfsJLEAAWdGNen/view?usp=sharing
Сумма = 0;
СуммаНДС = 0;
ВсегоСкидок = 0;
НомерСтроки = 0;
ВсегоБезСкидок = 0;
ИтогКоличество = 0;
ИтогВес = 0;
Пока ВыборкаПоТоварам.Следующий() Цикл
//Тут все тело цикла
ИтогКоличество = ИтогКоличество + ВыборкаПоТоварам.Количество;
ИтогВес = ИтогВес + ВыборкаПоТоварам.Номенклатура.Вес;
КонецЦикла;
ОбластьПодвалТаблицы.Параметры.ИтогВес = ИтогВес;
ОбластьПодвалТаблицы.Параметры.ИтогКоличество = ИтогКоличество;
ПустыеДанные = НаборыСервер.ПустыеДанные();
// Выводим строки таблицы Товары
Показать{Обработка.ПечатьОбщихФорм.МодульМенеджера(1017,1)}: Переменная не определена (ОбластьПодвалТаблицы)
<<?>>ОбластьПодвалТаблицы.Параметры.ИтогВес = ИтогВес; (Проверка: Сервер)
{Обработка.ПечатьОбщихФорм.МодульМенеджера(1018,1)}: Переменная не определена (ОбластьПодвалТаблицы)
<<?>>ОбластьПодвалТаблицы.Параметры.ИтогКоличество = ИтогКоличество; (Проверка: Сервер)
Как обозначить переменную, чтоб не накосячить
заполняется она
заполняется она
// Выводим подвал
ОбластьНомера = Макет.ПолучитьОбласть("ПодвалТаблицы" + СуффиксОбластиСтроки + "|НомерСтроки");
ОбластьКодов = Макет.ПолучитьОбласть("ПодвалТаблицы" + СуффиксОбластиСтроки + "|КолонкаКодов");
ОбластьТовар = Макет.ПолучитьОбласть("ПодвалТаблицы" + СуффиксОбластиСтроки + "|Товар" + СуффиксОбластиКолонки);
ОбластьДанных = Макет.ПолучитьОбласть("ПодвалТаблицы" + СуффиксОбластиСтроки + "|Данные" + СуффиксОбластиКолонки);
ТабличныйДокумент.Вывести(ОбластьНомера);
Если ВыводитьКоды Тогда
ТабличныйДокумент.Присоединить(ОбластьКодов);
КонецЕсли;
ТабличныйДокумент.Присоединить(ОбластьТовар);
СтруктураДанныхВсегоСкидки = Новый Структура;
Если ЕстьСкидки Тогда
СтруктураДанныхВсегоСкидки.Вставить("ВсегоСкидок", ?(ЗаголовокСкидки.ТолькоНаценка,-ВсегоСкидок, ВсегоСкидок));
СтруктураДанныхВсегоСкидки.Вставить("ВсегоБезСкидок", ВсегоБезСкидок);
КонецЕсли;
СтруктураДанныхВсегоСкидки.Вставить("Всего", ФормированиеПечатныхФорм.ФорматСумм(Сумма));
ОбластьДанных.Параметры.Заполнить(СтруктураДанныхВсегоСкидки);
ТабличныйДокумент.Присоединить(ОбластьДанных);
ПоказатьПока ВыборкаПоТоварам.Следующий() Цикл
//Тут все тело цикла
ИтогКоличество = ИтогКоличество + ВыборкаПоТоварам.Количество;
ИтогВес = ИтогВес + ВыборкаПоТоварам.Номенклатура.Вес;
КонецЦикла;
ОбластьПодвалТаблицы = макет.ПолучитьОбласть("ПодвалТаблицы");
ОбластьПодвалТаблицы.Параметры.ИтогВес = ИтогВес;
ОбластьПодвалТаблицы.Параметры.ИтогКоличество = ИтогКоличество;
Показатьругается
{Обработка.ПечатьОбщихФорм.МодульМенеджера(1019)}: Поле объекта не обнаружено (ИтогКоличество)
ОбластьПодвалТаблицы.Параметры.ИтогКоличество = ИтогКоличество;
с этим кодом пусто в строке товары
Сумма = 0;
СуммаНДС = 0;
ВсегоСкидок = 0;
НомерСтроки = 0;
ВсегоБезСкидок = 0;
ПустыеДанные = НаборыСервер.ПустыеДанные();
// вес
ИтогКоличество = 0;
ИтогВес = 0;
Пока ВыборкаПоТоварам.Следующий() Цикл
//Тут все тело цикла
ИтогКоличество = ИтогКоличество + ВыборкаПоТоварам.Количество;
ИтогВес = ИтогВес + ВыборкаПоТоварам.Номенклатура.Вес;
КонецЦикла;
Сообщить(ИтогКоличество);
Сообщить(ИтогВес);
Показать// Выводим заголовок таблицы Товары
СуффиксОбластиСтроки = ?(ЕстьСкидки, "СоСкидкой", "") + ?(ЕстьНДС И ПоказыватьНДС, "СНДС", "");
СуффиксОбластиКолонки = ?(ЕстьСкидки И ЕстьНДС И ПоказыватьНДС, "СоСкидкойСНДС", ?(ЕстьСкидки Или (ЕстьНДС И ПоказыватьНДС), "СоСкидкойИлиСНДС", ""));
ОбластьКолонкаТовар = Макет.Область("ПерваяКолонкаТовара");
ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки
+ ?(ВыводитьКоды, 0, Макет.Область("КолонкаКодов").ШиринаКолонки)
;
ОбластьНомера = Макет.ПолучитьОбласть("ШапкаТаблицы" + СуффиксОбластиСтроки + "|НомерСтроки");
ОбластьКодов = Макет.ПолучитьОбласть("ШапкаТаблицы" + СуффиксОбластиСтроки + "|КолонкаКодов");
ОбластьТовар = Макет.ПолучитьОбласть("ШапкаТаблицы" + СуффиксОбластиСтроки + "|Товар" + СуффиксОбластиКолонки);
ОбластьДанных = Макет.ПолучитьОбласть("ШапкаТаблицы" + СуффиксОбластиСтроки + "|Данные" + СуффиксОбластиКолонки);
ТабличныйДокумент.Вывести(ОбластьНомера);
Если ВыводитьКоды Тогда
ОбластьКодов.Параметры.ИмяКолонкиКодов = КолонкаКодов;
ТабличныйДокумент.Присоединить(ОбластьКодов);
КонецЕсли;
ЗаполнитьЗначенияСвойств(ОбластьДанных.Параметры, ФормированиеПечатныхФорм.СформироватьЗаголовкиДляСуммовыхПоказателей(ДанныеПечати, КодЯзыкаПечать));
Если ЕстьСкидки Тогда
СтруктураЗаголовокСкидки = Новый Структура("Скидка, СуммаБезСкидки",
ЗаголовокСкидки.Скидка,
ЗаголовокСкидки.СуммаСкидки);
ОбластьДанных.Параметры.Заполнить(СтруктураЗаголовокСкидки);
КонецЕсли;
ТабличныйДокумент.Присоединить(ОбластьТовар);
ТабличныйДокумент.Присоединить(ОбластьДанных);
ОбластьНомераСтрокиСтандарт = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "|НомерСтроки");
ОбластьКодовСтрокиСтандарт = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "|КолонкаКодов");
ОбластьТоварСтрокиСтандарт = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "|Товар" + СуффиксОбластиКолонки);
ОбластьДанныхСтрокиСтандарт = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "|Данные" + СуффиксОбластиКолонки);
ИспользоватьНаборы = Ложь;
Если ОбщегоНазначенияУТКлиентСервер.ЕстьРеквизитОбъекта(ВыборкаПоДокументам, "ЭтоНабор") Тогда
ИспользоватьНаборы = Истина;
ОбластьНомераСтрокиНабор = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "Набор" + "|НомерСтроки");
ОбластьНомераСтрокиКомплектующие = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "Комплектующие" + "|НомерСтроки");
ОбластьКодовСтрокиНабор = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "Набор" + "|КолонкаКодов");
ОбластьКодовСтрокиКомплектующие = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "Комплектующие" + "|КолонкаКодов");
ОбластьТоварСтрокиНабор = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "Набор" + "|Товар" + СуффиксОбластиКолонки);
ОбластьТоварСтрокиКомплектующие = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "Комплектующие" + "|Товар" + СуффиксОбластиКолонки);
ОбластьДанныхСтрокиНабор = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "Набор" + "|Данные" + СуффиксОбластиКолонки);
ОбластьДанныхСтрокиКомплектующие = Макет.ПолучитьОбласть("СтрокаТаблицы" + СуффиксОбластиСтроки + "Комплектующие" + "|Данные" + СуффиксОбластиКолонки);
КонецЕсли;
Сумма = 0;
СуммаНДС = 0;
ВсегоСкидок = 0;
НомерСтроки = 0;
ВсегоБезСкидок = 0;
ПустыеДанные = НаборыСервер.ПустыеДанные();
// вес
ИтогКоличество = 0;
ИтогВес = 0;
Пока ВыборкаПоТоварам.Следующий() Цикл
//Тут все тело цикла
ИтогКоличество = ИтогКоличество + ВыборкаПоТоварам.Количество;
ИтогВес = ИтогВес + ВыборкаПоТоварам.Номенклатура.Вес;
КонецЦикла;
Сообщить(ИтогКоличество);
Сообщить(ИтогВес);
// Выводим строки таблицы Товары
Пока ВыборкаПоТоварам.Следующий() Цикл
Если НаборыСервер.ИспользоватьОбластьНабор(ВыборкаПоТоварам, ИспользоватьНаборы) Тогда
ОбластьКодовСтроки = ОбластьКодовСтрокиНабор;
ОбластьНомераСтроки = ОбластьНомераСтрокиНабор;
ОбластьДанныхСтроки = ОбластьДанныхСтрокиНабор;
ОбластьТоварСтроки = ОбластьТоварСтрокиНабор;
ИначеЕсли НаборыСервер.ИспользоватьОбластьКомплектующие(ВыборкаПоТоварам, ИспользоватьНаборы) Тогда
ОбластьКодовСтроки = ОбластьКодовСтрокиКомплектующие;
ОбластьНомераСтроки = ОбластьНомераСтрокиКомплектующие;
ОбластьДанныхСтроки = ОбластьДанныхСтрокиКомплектующие;
ОбластьТоварСтроки = ОбластьТоварСтрокиКомплектующие;
Иначе
ОбластьКодовСтроки = ОбластьКодовСтрокиСтандарт;
ОбластьНомераСтроки = ОбластьНомераСтрокиСтандарт;
ОбластьДанныхСтроки = ОбластьДанныхСтрокиСтандарт;
ОбластьТоварСтроки = ОбластьТоварСтрокиСтандарт;
КонецЕсли;
Если НаборыСервер.ВыводитьТолькоЗаголовок(ВыборкаПоТоварам, ИспользоватьНаборы) Тогда
УстановитьПараметр(ОбластьНомераСтроки, "НомерСтроки", Неопределено);
Иначе
НомерСтроки = НомерСтроки + 1;
УстановитьПараметр(ОбластьНомераСтроки, "НомерСтроки", НомерСтроки);
КонецЕсли;
ТабличныйДокумент.Вывести(ОбластьНомераСтроки);
Если ВыводитьКоды Тогда
СтруктураДанныхКоды = Новый Структура("Артикул", ВыборкаПоТоварам[КолонкаКодов]);
ОбластьКодовСтроки.Параметры.Заполнить(СтруктураДанныхКоды);
ТабличныйДокумент.Присоединить(ОбластьКодовСтроки);
КонецЕсли;
ПрефиксИПостфикс = НаборыСервер.ПолучитьПрефиксИПостфикс(ВыборкаПоТоварам, ИспользоватьНаборы);
ОбластьТоварСтроки.Параметры.Заполнить(ВыборкаПоТоварам);
Если ТипЗнч(ДанныеПечати.Ссылка) = Тип("ДокументСсылка.РеализацияУслугПрочихАктивов") Тогда
Товар = ВыборкаПоТоварам.Содержание;
СтруктураДанныхТовар = Новый Структура("Товар", Товар);
ОбластьТоварСтроки.Параметры.Заполнить(СтруктураДанныхТовар);
Иначе
Товар = ПрефиксИПостфикс.Префикс + НоменклатураКлиентСервер.ПредставлениеНоменклатурыДляПечати(
ВыборкаПоТоварам.ТоварНаименованиеПолное,
ВыборкаПоТоварам.Характеристика,
,
,
,
ВыборкаПоТоварам.ЭтоВозвратнаяТара,
КодЯзыкаПечать) + ПрефиксИПостфикс.Постфикс;
СтруктураДанныхТовар = Новый Структура("Товар", Товар);
ОбластьТоварСтроки.Параметры.Заполнить(СтруктураДанныхТовар);
КонецЕсли;
ТабличныйДокумент.Присоединить(ОбластьТоварСтроки);
Если ЗаголовокСкидки.ЕстьСкидки Тогда
СтруктураДанныхСуммаСкидки = Новый Структура("СуммаСкидки",
?(ЗаголовокСкидки.ТолькоНаценка,- ВыборкаПоТоварам.СуммаСкидки,ВыборкаПоТоварам.СуммаСкидки));
ОбластьДанныхСтроки.Параметры.Заполнить(СтруктураДанныхСуммаСкидки);
КонецЕсли;
Если НаборыСервер.ВыводитьТолькоЗаголовок(ВыборкаПоТоварам, ИспользоватьНаборы) Тогда
ОбластьДанныхСтроки.Параметры.Заполнить(ПустыеДанные);
Иначе
ОбластьДанныхСтроки.Параметры.Заполнить(ВыборкаПоТоварам);
КонецЕсли;
ТабличныйДокумент.Присоединить(ОбластьДанныхСтроки);
Если Не НаборыСервер.ИспользоватьОбластьКомплектующие(ВыборкаПоТоварам, ИспользоватьНаборы) Тогда
Сумма = Сумма + ВыборкаПоТоварам.Сумма;
СуммаНДС = СуммаНДС + ВыборкаПоТоварам.СуммаНДС;
Если ЕстьСкидки Тогда
ВсегоСкидок = ВсегоСкидок + ВыборкаПоТоварам.СуммаСкидки;
ВсегоБезСкидок = ВсегоБезСкидок + ВыборкаПоТоварам.СуммаБезСкидки;
КонецЕсли;
КонецЕсли;
КонецЦикла;
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот