Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Печать n-пустых ценников в обработке Печать ценников
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
OleGG
Доброго времени суток, уважаемые форумчане!

Возникла необходимость в печати с определенного места или напечатать n-пустых этикеток.

Например, на лист А4 помещается 180 ценников(клеящихся этикеток) 50 распечатали, необходимо начать вывод с 51-го.
пользователь указывает с какой этикетки печатать.


Функция вывода:

Функция ПечатьЦенника128() Экспорт
    

    Если НЕ ЗначениеЗаполнено(Организация) Тогда
        Предупреждение("Не выбрана организация!");
        Возврат Неопределено;
    КонецЕсли;
    
ТабДокумент = Новый ТабличныйДокумент();

//
ТабДокумент.АвтоМасштаб = Истина;
ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Портрет;
ТабДокумент.ПолеСверху = 0;
ТабДокумент.ПолеСнизу = 0;
ТабДокумент.ПолеСправа = 0;
ТабДокумент.ПолеСлева = 0;

ТабДокумент.РазмерКолонтитулаСверху = 0;
ТабДокумент.РазмерКолонтитулаСнизу = 0;
//


ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_Ценник128";

    Макет                           = ПолучитьМакет("Ценник128");
    ОбластьЦенника                  = Макет.ПолучитьОбласть("Строка|Столбец");
    ДатаПечати = РабочаяДата;

    
    ТекСтолбец = 0;       //c какого столбца
    ТекСтрока  = 0;     // с каой строки

    
    
                        
                
    
    Для Каждого СтрокаТаблицы Из Товары Цикл
        Если СтрокаТаблицы.Печать Тогда
            Для Тмп = 1 По СтрокаТаблицы.Количество Цикл
                ОбластьЦенника.Параметры.Заполнить(СтрокаТаблицы);
                                ШтрихКод = СокрЛП(ПолучитьШтрихКод(СтрокаТаблицы.Номенклатура));
              
                Если ВыводитьШтрихкод Тогда
                    ОбластьЦенника.Параметры.АртикулШтрихкод                 = СтрокаТаблицы.Номенклатура.Артикул;
                    Если СтрДлина(ШтрихКод) = 13 Тогда
                        ПредставлениеШтрихкода = МодульДоработок.ПредставлениеПечатиШтрихкодEAN13(ШтрихКод);
                    ИначеЕсли СтрДлина(ШтрихКод) = 8 Тогда
                        ПредставлениеШтрихкода = МодульДоработок.ПредставлениеПечатиШтрихкодEAN8(ШтрихКод);
                    Иначе
                        ПредставлениеШтрихкода = "";
                    КонецЕсли;
                    ОбластьЦенника.Параметры.ШтрихКод                         = ПредставлениеШтрихкода;
                Иначе
                    ОбластьЦенника.Параметры.ШтрихКод                         = "";
                    ОбластьЦенника.Параметры.АртикулШтрихкод                 = ШтрихКод;
                КонецЕсли;
                
                
                
                
                
                
                Если ТекСтолбец = 0 Тогда
                    ТабДокумент.Вывести(ОбластьЦенника);
            Иначе
                    ТабДокумент.Присоединить(ОбластьЦенника);
                КонецЕсли;
                

                ТекСтолбец = ТекСтолбец + 1;

                Если ТекСтолбец = 7 Тогда
                    ТекСтрока  = ТекСтрока + 1;
                    ТекСтолбец = 0;
                КонецЕсли;

                Если ТекСтрока = 27 Тогда
                    ТекСтрока = 0;
                    ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
                КонецЕсли;
            КонецЦикла;
        КонецЕсли;
    КонецЦикла;


    Возврат ТабДокумент;


///////Oleg_end_141116

КонецФункции


Понимаю, что нужно циклом вставить n-ценников с пустыми полями, а дальше печатать нужные. Но вот с реализацией пока замнулся.

ОбластьЦенника.Параметры.ШтрихКод = "";
ОбластьЦенника.Параметры.АртикулШтрихкод = "";
podcast
OleGG @ Сегодня, 11:01 необходимо зарегистрироваться для просмотра ссылки ,
Сделайте Область в макете без параметров, и выводите её.
OleGG
в таком случае выводится вся строка:




 ! 

необходимо зарегистрироваться для просмотра ссылки: 8
 
podcast
OleGG @ Сегодня, 13:12 необходимо зарегистрироваться для просмотра ссылки ,





Используйте метод Присоединить если нужно в этой же строке вывести, а метод Вывести выводить с новой строки.


 ! 

необходимо зарегистрироваться для просмотра ссылки: 8
 
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.