Помогите, пож, вывести корректную печатную форму.
Мой код см. ниже. На первом изображ. что у меня получается, на втором - что должно быть
Мой код см. ниже. На первом изображ. что у меня получается, на втором - что должно быть
Процедура Печать(ТабДок, Ссылка) Экспорт
Макет = Документы.РеализацияТоваровИУслуг.ПолучитьМакет("Печать");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| РеализацияТоваровИУслугТовары.Наименование КАК Наименование,
| РеализацияТоваровИУслугТовары.Количество КАК Количество,
| РеализацияТоваровИУслугТовары.Цена КАК Цена,
| РеализацияТоваровИУслугТовары.Сумма КАК Сумма
|ИЗ
| Документ.РеализацияТоваровИУслуг.Товары КАК РеализацияТоваровИУслугТовары
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| РеализацияТоваровИУслугУслуги.Наименование,
| РеализацияТоваровИУслугУслуги.Количество,
| РеализацияТоваровИУслугУслуги.Цена,
| РеализацияТоваровИУслугУслуги.Сумма
|ИЗ
| Документ.РеализацияТоваровИУслуг.Услуги КАК РеализацияТоваровИУслугУслуги";
Запрос.Параметры.Вставить("Ссылка", Ссылка);
Выборка = Запрос.Выполнить().Выбрать();
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
ОбластьТоварыШапка = Макет.ПолучитьОбласть("ТоварыШапка");
ОбластьТовары = Макет.ПолучитьОбласть("Товары");
ОбластьУслугиШапка = Макет.ПолучитьОбласть("УслугиШапка");
ОбластьУслуги = Макет.ПолучитьОбласть("Услуги");
ТабДок.Очистить();
ВставлятьРазделительСтраниц = Ложь;
Пока Выборка.Следующий() Цикл
Если ВставлятьРазделительСтраниц Тогда
ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ТабДок.Вывести(ОбластьЗаголовок);
ТабДок.Вывести(ОбластьТоварыШапка);
ОбластьТовары.Параметры.Заполнить(Выборка);
ТабДок.Вывести(ОбластьТовары);
ВставлятьРазделительСтраниц = Истина;
КонецЦикла;
КонецПроцедуры ПоказатьПрикрепленные файлы:
По теме из базы знаний
- Генерация QR 2D на api google + ITF14 при помощи "1С печать штрихкодов"
- Сервер ККМ: Сетевая печать чеков, 54-ФЗ, Требования от 1 сентября 2025г, НДС 5%,7% и 22%, разрешительный режим, бесплатный эмулятор ККМ, очередь печати с нескольких ПК, быстрая печать чеков из терминального сеанса.
- Ошибка при печати штрихкодов на х64-клиенте 1С: Компонента 1С:Печать штрихкодов не установлена на данном компьютере
- 1С:Fresh (1С:Фреш) - 1С через Интернет: цены на тарифы от 10 340 руб.
- Внешняя обработка "Мастер управления отпусками": комплексное решение для 1С:ЗУП 3.1
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2)
ТабДок.Вывести(ОбластьТоварыШапка); - сюда надо?
Процедура Печать(ТабДок, Ссылка) Экспорт
Макет = Документы.РеализацияТоваровИУслуг.ПолучитьМакет("Печать");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| РеализацияТоваровИУслугТовары.Наименование КАК Наименование,
| РеализацияТоваровИУслугТовары.Количество КАК Количество,
| РеализацияТоваровИУслугТовары.Цена КАК Цена,
| РеализацияТоваровИУслугТовары.Сумма КАК Сумма
|ИЗ
| Документ.РеализацияТоваровИУслуг.Товары КАК РеализацияТоваровИУслугТовары
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| РеализацияТоваровИУслугУслуги.Наименование,
| РеализацияТоваровИУслугУслуги.Количество,
| РеализацияТоваровИУслугУслуги.Цена,
| РеализацияТоваровИУслугУслуги.Сумма
|ИЗ
| Документ.РеализацияТоваровИУслуг.Услуги КАК РеализацияТоваровИУслугУслуги";
Запрос.Параметры.Вставить("Ссылка", Ссылка);
Выборка = Запрос.Выполнить().Выбрать();
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
ОбластьТоварыШапка = Макет.ПолучитьОбласть("ТоварыШапка");
ОбластьТовары = Макет.ПолучитьОбласть("Товары");
ОбластьУслугиШапка = Макет.ПолучитьОбласть("УслугиШапка");
ОбластьУслуги = Макет.ПолучитьОбласть("Услуги");
ТабДок.Очистить();
ВставлятьРазделительСтраниц = Ложь; ПоказатьТабДок.Вывести(ОбластьТоварыШапка); - сюда надо?
Пока Выборка.Следующий() Цикл
Если ВставлятьРазделительСтраниц Тогда
ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ТабДок.Вывести(ОбластьЗаголовок);
ОбластьТовары.Параметры.Заполнить(Выборка);
ТабДок.Вывести(ОбластьТовары);
ВставлятьРазделительСтраниц = Истина;
КонецЦикла;
КонецПроцедуры Показать
Блин... Такие вещи изучают на первом месяце курсов по 1с...
Да и банальная логика может подсказать, когда и что выводить...
Может, книжки почитаешь для начала? Хотя бы Митичкина (с)...
Да и банальная логика может подсказать, когда и что выводить...
Может, книжки почитаешь для начала? Хотя бы Митичкина (с)...
Как сказали выше вынесите вывод заголовка за цикл! Сейчас выводя строки документа вы каждый раз выводите заголовок документа
Держи
Вообще можешь одним запросом получить товары и услуги просто раскидать их на 2 пакета
Процедура Печать(ТабДок, Ссылка) Экспорт
Макет = Документы.РеализацияТоваровИУслуг.ПолучитьМакет("Печать");
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
ТабДок.Вывести(ОбластьЗаголовок);
ОбластьТоварыШапка = Макет.ПолучитьОбласть("ТоварыШапка");
ТабДок.Вывести(ОбластьТоварыШапка);
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| РеализацияТоваровИУслугТовары.Наименование КАК Наименование,
| РеализацияТоваровИУслугТовары.Количество КАК Количество,
| РеализацияТоваровИУслугТовары.Цена КАК Цена,
| РеализацияТоваровИУслугТовары.Сумма КАК Сумма
|ИЗ
| Документ.РеализацияТоваровИУслуг.Товары КАК РеализацияТоваровИУслугТовары
|ГДЕ
| РеализацияТоваровИУслугТовары.Ссылка = &Ссылка";
Запрос.Параметры.Вставить("Ссылка", Ссылка);
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
ОбластьУслуги = Макет.ПолучитьОбласть("Услуги");
ОбластьУслуги.Параметры.Заполнить(Выборка);
ТабДок.Вывести(ОбластьУслуги);
КонецЦикла;
ОбластьУслугиШапка = Макет.ПолучитьОбласть("УслугиШапка");
ТабДок.Вывести(ОбластьУслугиШапка);
Запрос.Текст = "ВЫБРАТЬ
| РеализацияТоваровИУслугУслуги.Наименование,
| РеализацияТоваровИУслугУслуги.Количество,
| РеализацияТоваровИУслугУслуги.Цена,
| РеализацияТоваровИУслугУслуги.Сумма
|ИЗ
| Документ.РеализацияТоваровИУслуг.Услуги КАК РеализацияТоваровИУслугУслуги";
|ГДЕ
| РеализацияТоваровИУслугУслуги.Ссылка = &Ссылка";
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
ОбластьУслуги = Макет.ПолучитьОбласть("Услуги");
ОбластьУслуги.Параметры.Заполнить(Выборка);
ТабДок.Вывести(ОбластьУслуги);
КонецЦикла;
КонецПроцедуры
ПоказатьВообще можешь одним запросом получить товары и услуги просто раскидать их на 2 пакета
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот
