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);
КонецЕсли;
|
|