Имя: Пароль:
1C
1C 7.7
v7: Сканер штрих-кода при инвентаризации
, ,
0 Паштет
 
12.08.13
18:34
Здравствуйте, а подскажите пожалуйста с такой темой. Типовая Тис, документ Инвентаризация ТМЦ. Сканер штрих кода срабатывает только если нажать кнопочку "Подбор". А как сделать чтобы срабатывал прямо на главной форме?
1 Злопчинский
 
12.08.13
20:30
Посмотреть в конфигураторе в модуле формы документа - что там написано по/в процедуре ОбработкаВнешнегоСобытия
2 Паштет
 
12.08.13
22:05
(1) Злоп, такой процедуры нету:(
3 Tatitutu
 
12.08.13
22:21
(0) настроить сканер правильно
подсказка #13
4 ChMikle
 
12.08.13
22:37
(2) в глобальнике ищите процедуру : "Обработка внешнего события "
5 Tatitutu
 
12.08.13
22:38
(4) ставлю 100$ на (3)
6 Паштет
 
12.08.13
22:40
(3) ты не прав. чек ккм работает сканер))
7 Tatitutu
 
12.08.13
22:46
(6)Посмотрел.Признаю.
(4) не поможет тоже.
открываешь конфигуратор
Чек ККМ - ОбработкаВнешнегоСобытия()
копирую, немного правишь - вставляешь в Инвентуру и вперед.
8 Паштет
 
12.08.13
22:53
(7) крейсер мне в бухту)) не вижу я такой процедуры
9 ChMikle
 
12.08.13
22:55
(8) в глобальном модуле ищите
10 Паштет
 
12.08.13
22:56
(9) а, да, есть!
11 Паштет
 
12.08.13
23:00
(7) кстати, отдельное спасибо за магазьку) оч совестный продукт
12 ChMikle
 
12.08.13
23:02
(10) там скорее всего анализируется вид документа и дальнейшие действия
13 ChMikle
 
12.08.13
23:02
(5) 100$ как забрать ?
14 Паштет
 
12.08.13
23:09
Вставляю в инвенту, но что-то не взлетает
15 ChMikle
 
12.08.13
23:10
(14) не взлетит :) , вы процедуру разобрали в глобальнике ?
16 Паштет
 
12.08.13
23:11
(15) нет, не тот уровень у меня еще)) буду учиться
17 Tatitutu
 
12.08.13
23:11
(13) да,успокойся -я тебе говорю
что советуешь

//******************************************************************************
// глОбработкаВнешнегоСобытия(Источник,Событие,Данные)
//
// Параметры:
//  Источник,Событие,Данные
//
// Возвращаемое значение:
//  Нет
//
// Описание:
//  Вызов данной процедуры происходит из всех процедур ОбработкаВнешнегоСобытия(),
// располагающихся в формах справочников, документов, обработок и т.д., для
// обработки независящих от активной в текущий момент формы сообщений.
//
Процедура глОбработкаВнешнегоСобытия(Источник, Событие, Данные) Экспорт
    
    Если (Источник = "A100Online") ИЛИ (Источник = "A200Online") Тогда
        
        глОбработкаСобытияОтККМ(Источник, Событие, Данные);    

    КонецЕсли;
    
КонецПроцедуры // глОбработкаВнешнегоСобытия()

//******************************************************************************
// ОбработкаВнешнегоСобытия(Источник,Событие,Данные)
//
// Параметры:
//  Источник,Событие,Данные
//
// Возвращаемое значение:
//  Нет
//
// Описание:
//  Эта процедура в глобальном модуле отлавливает данные от сканера штрих-кода,
//  когда не открыта ни одна из форм, использующих сканер в своей работе.
//  Пришедшие данные в данном случае пропускаются, чтобы не заполнять буфер сканера
//
Процедура ОбработкаВнешнегоСобытия(Источник, Событие, Данные)
    
    Если Событие = "BarCodeValue" Тогда
        Если глСканерВключен() = 1 Тогда
            глСканерПосылкаДанных(1);
        КонецЕсли;
    Иначе
        глОбработкаВнешнегоСобытия(Источник, Событие, Данные);    
    КонецЕсли;
    
КонецПроцедуры // ОбработкаВнешнегоСобытия()
18 Паштет
 
13.08.13
19:37
млин, не получается ничего)) мож намекнете немножко что еще нужно подправить
19 Tatitutu
 
13.08.13
19:40
открываешь конфигуратор
документ (напримет ПоступлениеТМЦ)
дергаешь оттуда

Процедура ОбработкаВнешнегоСобытия(Источник,Событие,Данные)
    // Процедура разбирает штрих-код, считанный сканером
    // и заполняет строки накладной
    Перем Упаковка,ТекКоличество, Спецификация;
    Перем ВремТовар, ВремЕдиница, ВремКоличество, КодОшибки;
    Перем ВремЦена, ЕдЦены;
    
    Если Событие = "BarCodeValue" Тогда
        Если Форма.ТолькоПросмотр() = 0 Тогда
            
            Если глПолучитьТоварПоШтрихкоду(Данные, ВремТовар, ВремЕдиница, ВремКоличество, КодОшибки) <> 0 Тогда
                ТаблицаПодбора = СоздатьОбъект("ТаблицаЗначений");
                ТаблицаПодбора.НоваяКолонка("ВидТМЦ");
                ТаблицаПодбора.НоваяКолонка("Номенклатура");
                ТаблицаПодбора.НоваяКолонка("Единица");
                ТаблицаПодбора.НоваяКолонка("Количество", "Число");
                ТаблицаПодбора.НоваяКолонка("Цена", "Число");
                
                ТаблицаПодбора.НоваяСтрока();
                ТаблицаПодбора.ВидТМЦ       = Перечисление.ВидыТМЦ.Товар;
                ТаблицаПодбора.Номенклатура = ВремТовар;
                ТаблицаПодбора.Единица      = ВремЕдиница;
                ТаблицаПодбора.Количество   = ВремКоличество;
                ТаблицаПодбора.Цена            = глПолучитьЦену(ВремТовар, ТипЦен, РабочаяДата(), ВремЕдиница, Валюта, Курс, Кратность);
                
                ПараметрыПодбора = СоздатьОбъект("СписокЗначений");
                ПараметрыПодбора.ДобавитьЗначение(1              , "ЕстьВидТМЦ");
                ПараметрыПодбора.ДобавитьЗначение("ИзСправочника", "ЦенаВподборе");
                ПараметрыПодбора.ДобавитьЗначение(ТипЦен         , "ТипЦен");      
                ПараметрыПодбора.ДобавитьЗначение(ТаблицаПодбора , "ТаблицаПодбора");
                
                глОбработкаПодбора(Контекст, ПараметрыПодбора, 1, 1, 0);
                
                //ЗаполнитьГТД();
            КонецЕсли;
    
        КонецЕсли;
        
        // Обработка закончена. Готовы к получению нового штрихкода.
        глСканерПосылкаДанных(1);
    Иначе
        глОбработкаВнешнегоСобытия(Источник, Событие, Данные);    
    КонецЕсли;

КонецПроцедуры // ОбработкаВнешнегоСобытия()

открываешь Инвентаризацию, вставляешь
и смотришь что нужно, а что нет
главное проверь в отладчике сканер реагирует
20 Паштет
 
13.08.13
19:54
(19) благодарю, буду пробовать
21 ech2000
 
16.08.13
00:15
еще нужно сканер перевести в режим КОМ, если он у тебя в разрыве клавиатуры работает.