Доброго времени суток, уважаемые форумчане!
Возникла необходимость в печати с определенного места или напечатать 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-ценников с пустыми полями, а дальше печатать нужные. Но вот с реализацией пока замнулся.
ОбластьЦенника.Параметры.ШтрихКод = "";
ОбластьЦенника.Параметры.АртикулШтрихкод = "";