Имя: Пароль:
1C
 
Печать без вывода на экран и диалогового окна принтера
0 Alenka_Simf
 
21.02.08
22:58
Вопрос: в программе по циклу запускается печать штрих кодов. Надо выводить на экран и задавать вопрос только для первого (там выбирается принтер) и ЕСЛИ СКАЗАЛИ ОК, то печатать все, ЕСЛИ ОТМЕНА не печатаь ничего...как быть? Вот код, здесь даже если нажата ОТМЕНА, все остальное продолжает печататься, а надо прервать...

       печ = 0;
   СписокЭтикеток.ВыбратьСтроки();
   Пока СписокЭтикеток.Получитьстроку() = 1 Цикл  
...
   //  Создание Таблицы для выходного отчета
   Таб=СоздатьОбъект("Таблица");
   Таб.ИсходнаяТаблица("Этикетка");
       ...    
   ПечШтрихКод=Строка(ПечШтрихКод);
      ...
   Таб.ВывестиСекцию("Товар|Этикетка");
           
   //Вызов выходного отчета в окно просмотра и редактирования.
   Таб.Защита(Константа.ФлагЗащитыТаблиц);
   Таб.ТолькоПросмотр(1);
   Таб.ПараметрыСтраницы(1,,,2,2,2,0,0,0,1);
   Если печ = 0 Тогда
         Таб.Показать("Этикетка","");  
   Конецесли;    
   Таб.КоличествоЭкземпляров(СписокЭтикеток.Количество);
           
   Если печ = 0 Тогда
       Таб.Напечатать(1);
   Иначе
       Таб.Напечатать(0);
   КонецЕсли;    
               
   Печ = 1;
   
   КонецЦикла;
1 Темный Эльф
 
21.02.08
23:36
Используй функцию Вопрос и явное указание принтера методом ПараметрыСтраницы
Или как то так:
   Таб=СоздатьОбъект("Таблица");
   Таб.ИсходнаяТаблица("Этикетка");
       печ = 0;
   СписокЭтикеток.ВыбратьСтроки();
   Пока СписокЭтикеток.Получитьстроку() = 1 Цикл  
...
   //  Создание Таблицы для выходного отчета

       ...    
   ПечШтрихКод=Строка(ПечШтрихКод);
      ...
   Таб.ВывестиСекцию("Товар|Этикетка");
Если СписокЭтикеток.НомерСтроки<>СписокЭтикеток.КоличествоСтрок() Тогда
   Таб.НоваяСтраница();        
Конецесли;
   КонецЦикла;
           
   //Вызов выходного отчета в окно просмотра и редактирования.

   Таб.Защита(Константа.ФлагЗащитыТаблиц);
   Таб.ТолькоПросмотр(1);
   Таб.ПараметрыСтраницы(1,,,2,2,2,0,0,0,1);
   Если печ = 0 Тогда
         Таб.Показать("Этикетка","");  
   Конецесли;    
   Таб.КоличествоЭкземпляров(СписокЭтикеток.Количество);
   Если печ = 0 Тогда
       Таб.Напечатать(1);
   Иначе
       Таб.Напечатать(0);
   КонецЕсли;
2 Alenka_Simf
 
22.02.08
12:35
Спасибо, сделела вопрос и прямое указание принтера.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn