Имя: Пароль:
1C
 
Какие инструменты нужны чтобы заработал Сканер штрих-кодов + 1с
0 Genri
 
25.08.10
18:33
Пишу с нуля конфу под 8.2 упр.предложение.
Есть задача подключить сканер штрих-кодов под клаву.
В стандартной я знаю, как это делать и в подробности не вникал бо там км-ры кода.
Смотрел конфы упр.предложение и торговое оборудование с ИТС, но так до сути не дошел там тоже км-ры кода.

Если простая научная логическая обоснованность что должно быть чтобы  1с принимала инфу от сканера ну типа так для того чтобы работал сканер+1с...
1.Должен быть драйвер АТОЛ
2... и так далее.
1 wuff
 
25.08.10
18:38
head & hand`s tools kit
2 kuromanlich
 
25.08.10
18:39
думаю лучше посмотреть как в УТ11 сделано...
3 Шапокляк
 
25.08.10
18:40
драйвер не обязательно Атолл.
Если в разрыв клавы, то сигнал со сканера = набору с клавиатуры.
Эти "км-ры кода в упр прЕДложении" - не с бодуна туда поместили.
4 Genri
 
25.08.10
19:00
Я смотрел как сделано в УНФ даже перекопировал от туда все элементы и код который был хоть как-то связан со сканером штрихкодов.
Получилось что из 1мб моей конфы сразу стал 55МБ и я задумался может там что-то лишнее  там же идет подключенние не только сканера, а всего оборудования.
5 Расколбас
 
25.08.10
19:06
(4) Не пиши с 0 свою конфу.
6 Расколбас
 
25.08.10
19:08
Нет, я конечно понимаю, что каждый программист должен написать свой "Блокнот" и свой "Калькулятор", а программист 1С ещё и свою конфу с 0.
Но занимайся этим в нерабочее время, для удовольствия. А для работы допили типовую какую нибудь.
7 Расколбас
 
25.08.10
19:10
Работа со сканером штрихкода это строчек 20 - 50 максимум. Если интересуешься, у Штриха есть демо конфигурации. Пошукай на их сайте.
8 Шапокляк
 
25.08.10
19:11
(3) "Получилось что из 1мб моей конфы сразу стал 55МБ". Лучше сразу, чем постепенно в страшных мучениях.
9 Asmody
 
25.08.10
19:13
[даже перекопировал от туда все элементы и код] - только заказчику не пали, скажешь все сам, ночами не спал, сидел и писал
10 МастерВопросов
 
25.08.10
19:26
Может так:
1. Загрузить внешнюю компоненту, например scanopos.dll (или Scaner1S.dll для Атол-а)
2. Через методы этой длл-ки, работаешь со сканером.
3. Запускаешь обработку ожидания, которая каждую секунду опрашивает нет ли новой инфы от длл-ки.
11 Fragster
 
гуру
25.08.10
19:28
(0) клавиатурные сканеры могут работать без спец драйверов  от 1са
12 Genri
 
25.08.10
20:45
(10)Ну ВОТ другое дело, Спасибо !
13 Fragster
 
гуру
25.08.10
21:15
(10) обработка ожидания???
14 Genri
 
25.08.10
21:17
(11)Каким образом ?
15 Fragster
 
гуру
25.08.10
21:22
(14) самый простой и дубовый способ - настраиваем у сканера префикс, скажем F7 и постфикс enter, на форму кидаем кнопку с горячей клавишей как префикс, в ее начало - ВвестиСтроку(...), а дальше - обработка этой самой строки, в которой окажется наш отсканированный штрихкод. минусов у этого решения, конечно, много, но зато никаких геморроев с терминалом, одновременная работа одного сканера в нескольких базах, сразу же реализованный ручной ввод ШК (нажимаем f7, вводим :)).
16 Genri
 
25.08.10
21:38
(15)Все прекрасно все чудесно но мне нужно без "нажимаем f7, вводим :))" и без кнопок.
Может я не совсем доганяю идею но мне нужно чтобы пользователь не нажимал не каких кнопок.
17 Fragster
 
гуру
25.08.10
21:42
(16) если сканировать сканером - то юзер ничего и не жмет. а вот если ШК не читается - есть возможность ввести руками
18 Genri
 
25.08.10
21:48
(17)Я готов попробовать.
Сразу первый вопрос (настраиваем у сканера префикс, скажем F7 и постфикс enter)
как это сделать где ему задавать эти параметры.
19 Fragster
 
гуру
25.08.10
21:55
отсканировать соответствующие ШК (в книге, прилагающейся к сканеру)
20 Genri
 
25.08.10
21:59
Понятно книжки к нет, я так понимаю в инете должно быть.
21 Genri
 
25.08.10
22:03
Понятно книжки к сожалению у меня нет, я так понимаю в инете должно быть.
22 Fragster
 
гуру
25.08.10
22:06
должно быть
23 МастерВопросов
 
26.08.10
06:53
Пример работы с ScanOPOS.dll:
24 МастерВопросов
 
26.08.10
06:55
Пример работы с ScanOPOS.dll:

Процедура ПодключитьСканер(Элемент)
   // Здесь это поля формы. В реальной УТ 10.3 эти значения берутся из Регистра сведений/ТорговоеОборудование, попадают они туда
   //по нажатию кнопки ОК в Сервис/Подключение торгового оборудования
   Если БитДанных         = Неопределено
    Или Порт              = Неопределено
    Или Скорость          = Неопределено
    Или СтопБит           = Неопределено
    Или Префикс           = Неопределено
    Или Суффикс           = Неопределено
    //Или СовместимыеВерсии = Неопределено
    Тогда
       Предупреждение("Заполните все параметры");
   Иначе
       Попытка
           ПрогИД = "AddIn.Scanner";
           ПодключитьВнешнююКомпоненту(ПрогИД);
           Драйвер = Новый (ПрогИД);
           Результат = "мНетОшибки";
       Исключение
           ОписаниеОшибки = "Невозможно подключить внешнюю компоненту.
           | Проверьте, что внешняя компонента корректно установлена и имеет ту же версию,
           | что и требуемая обработкой обслуживания.";
           Предупреждение(ОписаниеОшибки);
           Возврат;
       КонецПопытки;
   КонецЕсли;
   РезПодкл= Драйвер.Подсоединить("Сканер штрихкода");
       Если РезПодкл <> 0 Тогда
Сообщить("Подсоединились не успешно");    
Сообщить(""+РезПодкл);
         Результат = "мНетОшибки";
     Иначе
Сообщить("Подсоединились успешно");        
       КонецЕсли;

   Если Результат = "мНетОшибки" Тогда
       Драйвер.БитДанных  = БитДанных;
       Драйвер.Порт       = Порт;
       Драйвер.Скорость   = Скорость;
       Драйвер.СтопБит    = СтопБит;
       Драйвер.СтопСимвол = Суффикс;

       Драйвер.ИмяСобытия = "ПолученШтрихкод";
       РезЗанять=Драйвер.Занять(1);
       Если РезЗанять = 0 Тогда
Сообщить("Подключаемся к сканеру");            
           Драйвер.УстройствоВключено = 1;
           Драйвер.ПосылкаДанных      = 1;
           Драйвер.ОчиститьВход();
           Драйвер.ОчиститьВыход();
           Если Драйвер.УстройствоВключено <> 1 Тогда
               ОтключитьСканер();
               Результат = "мОшибкаПриПодключении";
           КонецЕсли;
       Иначе
           ОтключитьСканер();
           Результат = "мОшибкаПриПодключении";
       КонецЕсли;
   КонецЕсли;
КонецПроцедуры

Процедура ОтключитьСканер()
   // Вставить содержимое обработчика.
   Драйвер.УстройствоВключено = 0;
   Драйвер.Освободить();
   Драйвер.Отсоединить();

КонецПроцедуры

Процедура ВнешнееСобытие(Источник, Событие, Данные)
   Сообщить(Данные);
КонецПроцедуры
25 МастерВопросов
 
26.08.10
09:30
+24
Блин, рано обрадовался...
чтобы внешнее событие начало срабатывать нужно еще написать:
Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
   // Вставить содержимое обработчика.
   ПолучитьСерверТО().ПодключитьКлиента(ЭтаФорма);
КонецПроцедуры

Функция ПоддерживаетсяВидТО(Вид) Экспорт

   Результат = Ложь;

   Если Вид = Перечисления.ВидыТорговогоОборудования.СканерШтрихКода
    Или Вид = Перечисления.ВидыТорговогоОборудования.ТерминалСбораДанных
    Или Вид = Перечисления.ВидыТорговогоОборудования.СчитывательRFIDМеток Тогда
       Результат = Истина;
   КонецЕсли;

   Возврат Результат;

КонецФункции // ПоддерживаетсяВидТО()

короче, с этим ПолучитьСерверТО опять км кода
26 МастерВопросов
 
26.08.10
13:19
Блин, не могу понять, что такого чудесного проихсодит в ПолучитьСерверТО().ПодключитьОборудование(Перечисления.ВидыТорговогоОборудования.СканерШтрихКода,ЭтаФорма);
, что открытая форма начинает реагировать на внешнее событие...
27 sapphire
 
26.08.10
13:24
(0) Исходя из поста- см. (15).
Для остальных: читайте внимательно: для управляемого приложения (видать таки предложением управлять вельми сложно см. (0)).

Есть определенные тонкости при работе в тонком и web-клиенте.
Необходимо проштудировать документацию + ИТС. Что-там мелькало.
28 МастерВопросов
 
27.08.10
10:28
блин, сегодня отрабатывет внешнее событие и без (25)