Имя: Пароль:
1C
1С v8
Формирование печатной формы с полным заполнением листа А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) Спасибо тебе, добрый человек!
Теперь ярлыки как надо отображаются.