8.х Автоматическая печать

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Arturios, 18 янв 2011.

  1. TopicStarter Overlay
    Arturios
    Offline

    Arturios

    Регистрация:
    18 янв 2011
    Сообщения:
    1
    Симпатии:
    0
    Баллы:
    1
    Добрый день! Помогите разобраться
    Я создал новую обработку печати ценников все формируеться все отлично работает, но идея вот в чем необходимо при сканировании одного товара сразу автоматом печатался ценник той позиции которую просканировали.Не могу подобрать правильную команду.Заранее спасибо.
    Процедура для сканера

    Процедура ВнешнееСобытие(Источник, Событие, Данные)
    Если
    Источник="Сканер" Тогда
    // поищем товар
    СтруктураНоменклатуры=ОбработкаОбъектШтрихКоды.НайтиСтруктуруПоШтрихКоду(Данные);
    Если НЕ обЗначениеНеЗаполнено(СтруктураНоменклатуры) И НЕ обЗначениеНеЗаполнено(СтруктураНоменклатуры.Объект) Тогда
    ТекСтрока=Товары.Найти(СтруктураНоменклатуры.Объект);
    Если обЗначениеНеЗаполнено(ТекСтрока) Тогда
    // добавляем товар в список
    ТекСтрока=Товары.Добавить();
    ТекСтрока.Номенклатура=СтруктураНоменклатуры.Объект;
    ТекСтрока.ЕдиницаИзмерения=СтруктураНоменклатуры.Объект.ОсновнаяЕдиницаИзмерения;
    ТекСтрока.Количество=1;
    ТекСтрока.Коэффициент=ТекСтрока.ЕдиницаИзмерения.Коэффициент;
    ТекСтрока.Выбран=Истина;
    ПолучитьЦену(ТекСтрока);
    Иначе
    ТекСтрока.Количество=ТекСтрока.Количество+1;
    КонецЕсли;
    // позиционируемся на товар
    ЭлементыФормы.Товары.ТекущаяСтрока=ТекСтрока;
    Иначе
    Предупреждение("Номенклатура со штрихкодом " + Данные + " не найдена!");
    КонецЕсли;
    КонецЕсли;
    КонецПроцедуры

    и процедура для печати

    Процедура ОсновныеДействияФормыПечать
    Если Товары.Количество()<=0 И НЕ ЭлементыФормы.ПанельРежимов.ТекущаяСтраница.Имя = "МягкиеЧеки" Тогда
    Сообщить("Необходимо выбрать номенклатуру!"); Возврат;
    КонецЕсли;
    Если ЭлементыФормы.ПанельРежимов.ТекущаяСтраница.Имя="Этикетки" Тогда
    //Печать этикеток
    Если ЭтикеткиПринтерWindows=0 Тогда
    //Печать на принтере Windows
    ПечатьЭтикеток(0);
    ИначеЕсли ЭтикеткиПринтерWindows=1 Тогда
    //Печать на принтере ценников
    ПечатьЭтикетокНаПринтереЦенников(0);
    ИначеЕсли ЭтикеткиПринтерWindows=2 Тогда
    ПечатьЭтикетокTXT();
    ИначеЕсли ЭтикеткиПринтерWindows=3 Тогда
    ПечатьЭтикетокTXT2();
    ИначеЕсли ЭтикеткиПринтерWindows=4 Тогда
    ПечатьЭтикетокTXT_ZPL();
    КонецЕсли;
    ИначеЕсли ЭлементыФормы.ПанельРежимов.ТекущаяСтраница.Имя="Ценники" Тогда
    //Печать ценников
    Если ЦенникиПринтерWindows=0 Тогда
    //Печать на принтере Windows
    ПечатьЭтикеток(1);
    ИначеЕсли ЦенникиПринтерWindows=1 Тогда
    //Печать на принтере ценников
    ПечатьЭтикетокНаПринтереЦенников(1);
    КонецЕсли;
    ИначеЕсли ЭлементыФормы.ПанельРежимов.ТекущаяСтраница.Имя="СписокКодов" Тогда
    //Печать списка кодов
    ПечатьСпискаЭтикеток();
    ИначеЕсли ЭлементыФормы.ПанельРежимов.ТекущаяСтраница.Имя="МягкиеЧеки" Тогда
    //Печать списка кодов
    ПечатьМягкихЧеков();
    КонецЕсли;
    КонецПроцедуры
  2. has
    Offline

    has Опытный в 1С

    Регистрация:
    18 июн 2009
    Сообщения:
    708
    Симпатии:
    0
    Баллы:
    26
    После строки
    Код:
    ЭлементыФормы.Товары.ТекущаяСтрока=ТекСтрока;
    
    вызываете нужную процедуру печати. Только вот скорей всего ее надо переделать немного, т.к. как я понял она печатает всю табличную часть, а вам надо только одну позицию.

Поделиться этой страницей