Помогите, пож, вывести корректную печатную форму.
Мой код см. ниже. На первом изображ. что у меня получается, на втором - что должно быть
Мой код см. ниже. На первом изображ. что у меня получается, на втором - что должно быть
Процедура Печать(ТабДок, Ссылка) Экспорт
Макет = Документы.РеализацияТоваровИУслуг.ПолучитьМакет("Печать");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| РеализацияТоваровИУслугТовары.Наименование КАК Наименование,
| РеализацияТоваровИУслугТовары.Количество КАК Количество,
| РеализацияТоваровИУслугТовары.Цена КАК Цена,
| РеализацияТоваровИУслугТовары.Сумма КАК Сумма
|ИЗ
| Документ.РеализацияТоваровИУслуг.Товары КАК РеализацияТоваровИУслугТовары
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| РеализацияТоваровИУслугУслуги.Наименование,
| РеализацияТоваровИУслугУслуги.Количество,
| РеализацияТоваровИУслугУслуги.Цена,
| РеализацияТоваровИУслугУслуги.Сумма
|ИЗ
| Документ.РеализацияТоваровИУслуг.Услуги КАК РеализацияТоваровИУслугУслуги";
Запрос.Параметры.Вставить("Ссылка", Ссылка);
Выборка = Запрос.Выполнить().Выбрать();
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
ОбластьТоварыШапка = Макет.ПолучитьОбласть("ТоварыШапка");
ОбластьТовары = Макет.ПолучитьОбласть("Товары");
ОбластьУслугиШапка = Макет.ПолучитьОбласть("УслугиШапка");
ОбластьУслуги = Макет.ПолучитьОбласть("Услуги");
ТабДок.Очистить();
ВставлятьРазделительСтраниц = Ложь;
Пока Выборка.Следующий() Цикл
Если ВставлятьРазделительСтраниц Тогда
ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ТабДок.Вывести(ОбластьЗаголовок);
ТабДок.Вывести(ОбластьТоварыШапка);
ОбластьТовары.Параметры.Заполнить(Выборка);
ТабДок.Вывести(ОбластьТовары);
ВставлятьРазделительСтраниц = Истина;
КонецЦикла;
КонецПроцедуры
ПоказатьПрикрепленные файлы:
По теме из базы знаний
- Генерация QR 2D на api google + ITF14 при помощи "1С печать штрихкодов"
- Ошибка при печати штрихкодов на х64-клиенте 1С: Компонента 1С:Печать штрихкодов не установлена на данном компьютере
- Печать pdf, xlsx, docx, jpeg и подобных файлов из 1С
- Печать этикеток и ценников из УТ 10.3 на обычные и термопринтеры Argox и Godex
- Печать этикеток со штрихкодом из документа Отчет производства за смену (КА 1.1, УПП 1.3)
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2)
ТабДок.Вывести(ОбластьТоварыШапка); - сюда надо?
Процедура Печать(ТабДок, Ссылка) Экспорт
Макет = Документы.РеализацияТоваровИУслуг.ПолучитьМакет("Печать");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| РеализацияТоваровИУслугТовары.Наименование КАК Наименование,
| РеализацияТоваровИУслугТовары.Количество КАК Количество,
| РеализацияТоваровИУслугТовары.Цена КАК Цена,
| РеализацияТоваровИУслугТовары.Сумма КАК Сумма
|ИЗ
| Документ.РеализацияТоваровИУслуг.Товары КАК РеализацияТоваровИУслугТовары
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| РеализацияТоваровИУслугУслуги.Наименование,
| РеализацияТоваровИУслугУслуги.Количество,
| РеализацияТоваровИУслугУслуги.Цена,
| РеализацияТоваровИУслугУслуги.Сумма
|ИЗ
| Документ.РеализацияТоваровИУслуг.Услуги КАК РеализацияТоваровИУслугУслуги";
Запрос.Параметры.Вставить("Ссылка", Ссылка);
Выборка = Запрос.Выполнить().Выбрать();
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
ОбластьТоварыШапка = Макет.ПолучитьОбласть("ТоварыШапка");
ОбластьТовары = Макет.ПолучитьОбласть("Товары");
ОбластьУслугиШапка = Макет.ПолучитьОбласть("УслугиШапка");
ОбластьУслуги = Макет.ПолучитьОбласть("Услуги");
ТабДок.Очистить();
ВставлятьРазделительСтраниц = Ложь;
ПоказатьТабДок.Вывести(ОбластьТоварыШапка); - сюда надо?
Пока Выборка.Следующий() Цикл
Если ВставлятьРазделительСтраниц Тогда
ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ТабДок.Вывести(ОбластьЗаголовок);
ОбластьТовары.Параметры.Заполнить(Выборка);
ТабДок.Вывести(ОбластьТовары);
ВставлятьРазделительСтраниц = Истина;
КонецЦикла;
КонецПроцедуры
Показать
Держи
Вообще можешь одним запросом получить товары и услуги просто раскидать их на 2 пакета
Процедура Печать(ТабДок, Ссылка) Экспорт
Макет = Документы.РеализацияТоваровИУслуг.ПолучитьМакет("Печать");
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
ТабДок.Вывести(ОбластьЗаголовок);
ОбластьТоварыШапка = Макет.ПолучитьОбласть("ТоварыШапка");
ТабДок.Вывести(ОбластьТоварыШапка);
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| РеализацияТоваровИУслугТовары.Наименование КАК Наименование,
| РеализацияТоваровИУслугТовары.Количество КАК Количество,
| РеализацияТоваровИУслугТовары.Цена КАК Цена,
| РеализацияТоваровИУслугТовары.Сумма КАК Сумма
|ИЗ
| Документ.РеализацияТоваровИУслуг.Товары КАК РеализацияТоваровИУслугТовары
|ГДЕ
| РеализацияТоваровИУслугТовары.Ссылка = &Ссылка";
Запрос.Параметры.Вставить("Ссылка", Ссылка);
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
ОбластьУслуги = Макет.ПолучитьОбласть("Услуги");
ОбластьУслуги.Параметры.Заполнить(Выборка);
ТабДок.Вывести(ОбластьУслуги);
КонецЦикла;
ОбластьУслугиШапка = Макет.ПолучитьОбласть("УслугиШапка");
ТабДок.Вывести(ОбластьУслугиШапка);
Запрос.Текст = "ВЫБРАТЬ
| РеализацияТоваровИУслугУслуги.Наименование,
| РеализацияТоваровИУслугУслуги.Количество,
| РеализацияТоваровИУслугУслуги.Цена,
| РеализацияТоваровИУслугУслуги.Сумма
|ИЗ
| Документ.РеализацияТоваровИУслуг.Услуги КАК РеализацияТоваровИУслугУслуги";
|ГДЕ
| РеализацияТоваровИУслугУслуги.Ссылка = &Ссылка";
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
ОбластьУслуги = Макет.ПолучитьОбласть("Услуги");
ОбластьУслуги.Параметры.Заполнить(Выборка);
ТабДок.Вывести(ОбластьУслуги);
КонецЦикла;
КонецПроцедуры
ПоказатьВообще можешь одним запросом получить товары и услуги просто раскидать их на 2 пакета
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот