Имя: Пароль:
1C
1С v8
Очередь печати
0 inmortal203
 
17.07.13
12:11
Здравствуйте!
Задача такая... имеется принтер этикеток, который не умеет обрезать этикетку по завершении печати документа.
Но если отправить на него файл с соответствующей командой принтера, то происходит обрезка.
Внимание вопрос! Возможно ли каким-либо образом при печати из 1С добавлять в очередь печати кроме печатаемого документа еще один ?

То есть после печати нашего документа с этикетками, "печатается" файл с командой принтера для обрезки.
1 inmortal203
 
17.07.13
12:15
Добавлю, работать будет только если команда находится в файле txt
2 inmortal203
 
17.07.13
12:16
Макет = ПолучитьОбщийМакет("ЭтикеткаДляЗаявкиНаВыпускПродукцииНовая");
   МакетПечи = ПолучитьОбщийМакет("ЭтикеткаДляЗаявкиНаВыпускПродукцииНоваяПечи");
   
   МассивТабДокумент = Новый Массив;
   
   ЭтикеткаОбласть = Макет.ПолучитьОбласть("Товар|Этикетка");
   ЭтикеткаОбластьПечи = МакетПечи.ПолучитьОбласть("Товар|Этикетка");
   
   Результат = Запрос.Выполнить();
   
   ВыборкаКатегории = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
   
   Пока ВыборкаКатегории.Следующий() Цикл
       
       ТабДокумент = Новый ТабличныйДокумент;
       ТекстДок = Новый ТекстовыйДокумент;
           
       ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ЗаявкаНаПроизводство_Этикетка";
       
       ТабДокумент.ИспользуемоеИмяФайла = ВыборкаКатегории.Категория;
       
       ТабДокумент.ПолеСлева = 0;
       ТабДокумент.ПолеСправа = 0;
       ТабДокумент.ПолеСверху = 0;
       ТабДокумент.ПолеСнизу = 0;
       
       СтрокаИзСписка = ВыборкаКатегории.Выбрать();
       
       Пока СтрокаИзСписка.Следующий() Цикл
           
           Если СтрокаИзСписка.Качество<>Справочники.Качество.Новый И ЗначениеЗаполнено(СтрокаИзСписка.Качество) Тогда //Коломоец
               Продолжить;
           КонецЕсли;                                                                                                  //!Коломоец

           Если НЕ ЗначениеЗаполнено(СтрокаИзСписка.Номенклатура) Тогда
               Сообщить("В одной из строк не заполнено значение номенклатуры - строка при печати пропущена.", СтатусСообщения.Важное);
               Продолжить;
           КонецЕсли;
           
           ТипШтрихкода = СтрокаИзСписка.ТипШтрихкода;
           ШтрихКод = СтрокаИзСписка.ШтрихКод;
           
           // если штрих код не найден, то создадим его
           Если НЕ ЗначениеЗаполнено(СтрокаИзСписка.ТипШтрихкода) Тогда
               
               ТекЗапись = РегистрыСведений.Штрихкоды.СоздатьМенеджерЗаписи();
           
               ТекЗапись.Владелец         = СтрокаИзСписка.Номенклатура;
               ТекЗапись.ЕдиницаИзмерения = СтрокаИзСписка.ЕдиницаИзмерения;
               ТекЗапись.ТипШтрихкода     = ПланыВидовХарактеристик.ТипыШтрихкодов.EAN13;
               ТекЗапись.Качество         = Справочники.Качество.Новый;
               ТекЗапись.Штрихкод         = РаботаСТорговымОборудованием.СформироватьШтрихКод();

               Попытка
                   ТекЗапись.Записать();
               Исключение
               КонецПопытки;
               
               ТипШтрихкода = ТекЗапись.ТипШтрихкода;
               ШтрихКод = ТекЗапись.Штрихкод;
               
           КонецЕсли;
           
           ТипКода = ПолучитьЗначениеТипаШтрихкодаДляЭУ(ТипШтрихкода);
           Если ТипКода = -1 Тогда
               ОбщегоНазначения.СообщитьОбОшибке("Для штрихкода формата """ + СтрокаИзСписка.ТипШтрихкода
                                + """ не существует соответствующего типа в ЭУ ""1С:Печать штрихкодов"".
                                | Позиция будет пропущена");
               Продолжить;
           КонецЕсли;
           
           Если РаботаСТорговымОборудованием.ПроверитьШтрихКод(ШтрихКод, ТипШтрихкода) Тогда
               Если СтрокаИзСписка.Категория = Справочники.категорииОбъектов.НайтиПоНаименованию("Категория 13 Піч") Тогда
                   ЭтикеткаОбластьПечи.Рисунки.Штрихкод.Объект.ТипКода = ТипКода;
                   ЭтикеткаОбластьПечи.Рисунки.Штрихкод.Объект.Сообщение = ШтрихКод;
                   ЭтикеткаОбластьПечи.Параметры.Товар = СтрокаИзСписка.Товар+?(ЗначениеЗаполнено(СтрокаИзСписка.КолвоДеталей)," "+Строка(СтрокаИзСписка.КолвоДеталей)+" шт.","");
               Иначе
                   ЭтикеткаОбласть.Рисунки.Штрихкод.Объект.ТипКода = ТипКода;
                   ЭтикеткаОбласть.Рисунки.Штрихкод.Объект.Сообщение = ШтрихКод;
                   ЭтикеткаОбласть.Параметры.Товар = СтрокаИзСписка.Товар+?(ЗначениеЗаполнено(СтрокаИзСписка.КолвоДеталей)," "+Строка(СтрокаИзСписка.КолвоДеталей)+" шт.","");
               КонецЕсли;
               Для Копий = 1 По СтрокаИзСписка.Количество Цикл
                   Если СтрокаИзСписка.Категория = Справочники.категорииОбъектов.НайтиПоНаименованию("Категория 13 Піч") Тогда
                       ТабДокумент.Вывести(ЭтикеткаОбластьПечи);
                       ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
                   Иначе
                       ТабДокумент.Вывести(ЭтикеткаОбласть);
                       ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
                   КонецЕсли;
               КонецЦикла;
           Иначе
               ТекстСообщения = "У товара """ + СтрокаИзСписка.Товар + """ штрихкод не задан или имеет неверный формат!";
               Сообщить(ТекстСообщения,СтатусСообщения.БезСтатуса);
           КонецЕсли;
           
       КонецЦикла;
       МассивТабДокумент.Добавить(ТабДокумент);
       
   КонецЦикла;
   
   Возврат МассивТабДокумент;
3 inmortal203
 
17.07.13
12:28
Это вообще возможно или пытаться даже не стоит?