|
Формирование печатной формы с полным заполнением листа А4 | ☑ | ||
---|---|---|---|---|
0
Hlorka
21.11.22
✎
17:20
|
Всем доброго времени суток! Стоит задача сформировать документ с полным заполнением листа A4 ярлыками в количестве, указанном в ТЧ документа. Например так: https://ibb.co/jgLw1rP
Не получается их вывести в ряд по горизонтали, отчего-то выстраиваются только по вертикали друг за другом https://ibb.co/7ry6wjQ Макет выглядит таким образом: https://ibb.co/PmQZsyD Что в коде сделано не так? Функция СформироватьПечатнуюФорму(СсылкаНаДокумент, ОбъектыПечати) ОбластьВертРазрыв = МакетОбработки.ПолучитьОбласть("ВертикальныйРазрыв"); ОбластьГоризРазрыв = МакетОбработки.ПолучитьОбласть("ГоризонтальныйРазрыв"); ... ЭтикетокВСтроке = 0; СтрокНаСтранице = 1; КоличествоПоГоризонтали = 4; КоличествоПоВертикали = 4; Пока ВыборкаДетальныеЗаписи.Следующий() Цикл КоличествоЯрлыков = ВыборкаДетальныеЗаписи.Количество; Если КоличествоЯрлыков > 1 Тогда Для Инд = 1 По КоличествоЯрлыков Цикл // Цикл по количеству экземпляров Область = МакетОбработки.ПолучитьОбласть("Ярлык"); Область.Параметры.Номенклатура = ВыборкаДетальныеЗаписи.Номенклатура; Область.Параметры.Характеристика = ВыборкаДетальныеЗаписи.Характеристика; ХарактеристикаНоменклатуры = СтрРазделить(ВыборкаДетальныеЗаписи.Характеристика," "); Область.Параметры.Цвет = ХарактеристикаНоменклатуры[0]; Область.Параметры.Размер = ХарактеристикаНоменклатуры[1]; Область.Параметры.Количество = ВыборкаДетальныеЗаписи.Количество; Если ВыборкаДетальныеЗаписи.Штрихкод = NULL Тогда Область.Параметры.Штрихкод = ДобавитьШтрихкод(ВыборкаДетальныеЗаписи.Номенклатура,ВыборкаДетальныеЗаписи.Характеристика); Иначе Область.Параметры.Штрихкод = ВыборкаДетальныеЗаписи.Штрихкод КонецЕсли; Если ЭтикетокВСтроке = КоличествоПоГоризонтали Тогда ТабличныйДокумент.Вывести(ОбластьГоризРазрыв); Если СтрокНаСтранице = КоличествоПоВертикали Тогда ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц(); СтрокНаСтранице = 0; КонецЕсли; ТабличныйДокумент.Вывести(Область); ЭтикетокВСтроке = 0; СтрокНаСтранице = СтрокНаСтранице + 1; Иначе ТабличныйДокумент.Присоединить(Область); КонецЕсли; ЭтикетокВСтроке = ЭтикетокВСтроке + 1; ТабличныйДокумент.Присоединить(ОбластьВертРазрыв); КонецЦикла; КонецЕсли; КонецЦикла; ТабличныйДокумент.АвтоМасштаб = Истина; Возврат ТабличныйДокумент; КонецФункции |
|||
1
saaken
21.11.22
✎
17:57
|
Давай ты напишешь какая именно строка тебя не устраивает.
|
|||
2
Мимохожий Однако
21.11.22
✎
17:58
|
Включи отладчик и пройдись. Делов-то
|
|||
3
Hlorka
21.11.22
✎
18:02
|
(1) ну, допустим ТабличныйДокумент.Присоединить(Область) по идее и должен присоединять по горизонтали ярлыки.
Присоединить(<Таблица>, <Уровень>, <ИмяГруппы>, <Открыта>)Описание: Присоединяет табличный документ к результирующему табличному документу, помещая его в следующей колонке правее самой правой выведенной колонки, начиная со строки, с которой выводился предыдущий табличный документ. Но табличка лепится отчего-то внизу предыдущего документа, а не справа( |
|||
4
Dmitrii
гуру
21.11.22
✎
18:07
|
(0) Область "Ярлык" представляет из себя горизонтальную область.
Замени
На
|
|||
5
Dmitrii
гуру
21.11.22
✎
18:10
|
И вертикальный разрыв нафиг не нужен, по-моему.
|
|||
6
Hlorka
21.11.22
✎
18:25
|
(4) Спасибо тебе, добрый человек!
Теперь ярлыки как надо отображаются. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |