Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Сканирование в поле ввода, без возможности ввода руками. , Нужно запретить ввод в поле данных вручную. 2 страниц V  < 1 2          
Gazulo Подменю пользователя
сообщение 21.12.17, 9:56
Сообщение #21

Оратор
*****
Группа: Пользователи
Сообщений: 273
Спасибо сказали: 46 раз
Рейтинг: 46

Vofka @ Сегодня, 9:48 * ,
а может сделать поле ввода недоступным, а курсор сфокусировать на этом поле приоткрытии формы...

Vofka Подменю пользователя
сообщение 21.12.17, 10:06
Сообщение #22

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

Gazulo @ Сегодня, 9:56 * ,
мне кажется, если поле недоступно, то установить туда курсор не получится.
Если курсор устанавливается и если вас такой сценарий устраивает, то почему бы и нет. Вам решать smile.gif

Batchir Подменю пользователя
сообщение 21.12.17, 12:38
Сообщение #23

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1426 раз
Рейтинг: 0

Никогда не было проблем со сканерами.
Ставите SCANOPOS (или АТОЛ последние бесплатные) и работаете как с внешним событием. Во всех типовых реализовано.
А если конфа самописная так вообще подключайте библиотеку торгового оборудования и закроете вопрос не только со сканерами.

Сообщение отредактировал Batchir - 21.12.17, 16:10

Gazulo Подменю пользователя
сообщение 21.12.17, 14:30
Сообщение #24

Оратор
*****
Группа: Пользователи
Сообщений: 273
Спасибо сказали: 46 раз
Рейтинг: 46

Batchir @ Сегодня, 12:38 * ,
у меня не проблема в подключении сканера, почитайте выше в чем проблема и чем ваш комментарий здесь мне поможет?

Gazulo Подменю пользователя
сообщение 21.12.17, 15:47
Сообщение #25

Оратор
*****
Группа: Пользователи
Сообщений: 273
Спасибо сказали: 46 раз
Рейтинг: 46

Alex78 @ Вчера, 11:57 * ,
а как быть если не сканер, а считыватель магнитных карт??

Сообщение отредактировал Vofka - 21.12.17, 15:59

Batchir Подменю пользователя
сообщение 21.12.17, 15:56
Сообщение #26

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1426 раз
Рейтинг: 0

Цитата(Gazulo @ 21.12.17, 14:30) *
у меня не проблема в подключении сканера, почитайте выше в чем проблема и чем ваш комментарий здесь мне поможет?

Цитата(Gazulo @ 21.12.17, 15:47) *
а как быть если не сканер, а считыватель магнитных карт??

Вам ведь нужно что бы при сканировании (считывании) карты система распознавала штрихкод и обрабатывала по своему алгоритму?
Для того что бы это сделать не нужны никакие курсоры и поля. Нужно заставить сканирование выполняться как внешнее событие.
Как это сделать? читать тут.

Сообщение отредактировал Vofka - 21.12.17, 16:00

Gazulo Подменю пользователя
сообщение 21.12.17, 17:14
Сообщение #27

Оратор
*****
Группа: Пользователи
Сообщений: 273
Спасибо сказали: 46 раз
Рейтинг: 46

Batchir @ Сегодня, 15:56 * ,
Да можно пробывать и так, на для этого надо на каждом рабочем месте ставить драйвера SCANOPOS ?

Gazulo Подменю пользователя
сообщение 21.12.17, 22:20
Сообщение #28

Оратор
*****
Группа: Пользователи
Сообщений: 273
Спасибо сказали: 46 раз
Рейтинг: 46

Batchir @ Сегодня, 15:56 * ,
Написал обработку
Вот код

&НаКлиенте
Перем ОбъектДрайвера;

&НаКлиенте
Процедура ВнешнееСобытие(Источник, Событие, Данные)
    Сообщить(Источник);
КонецПроцедуры

&НаКлиенте
Процедура ПриОткрытии(Отказ)
    ОписаниеОшибки = "";
    Попытка
        ProgID = "AddIn.Scanner";
        ПодключитьВнешнююКомпоненту(ProgID);
        ОбъектДрайвера = Новый (ProgID);
    Исключение
        ОписаниеОшибки = "Невозможно подключить внешнюю компоненту";
    КонецПопытки;
    Если ОписаниеОшибки <> "" Тогда
        Сообщить(ОписаниеОшибки);
    КонецЕсли;
КонецПроцедуры


Но не срабатывает процедура ВнешнееСобытие

Gazulo @ Сегодня, 21:22 * ,
Получилось так:
    ProgID = "AddIn.Scaner45";
        ПодключитьВнешнююКомпоненту(ProgID);
        ОбъектДрайвера = Новый (ProgID);
        ОбъектДрайвера.DataEventEnabled=1;
        ОбъектДрайвера.стараяВерсия=1;
        ОбъектДрайвера.autoDisable=0;
        ОбъектДрайвера.УстройствоВключеноПриCтарте = 1;
        ОбъектДрайвера.УстройствоВключено = 1;


Но немного тормозит...

Gazulo @ Сегодня, 21:59 * ,
при создании драйвера где то 10 секунд и после того как просканировно карточку 10 секунд примерно..

logist Подменю пользователя
сообщение 22.12.17, 7:12
Сообщение #29

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(Gazulo @ 21.12.17, 22:20) *
при создании драйвера где то 10 секунд и после того как просканировно карточку 10 секунд примерно..

Потому что вы каждый раз подключаете внешнюю компоненту. Сделайте это один раз при запуске сеанса, и храните объект драйвера в какой-то глобально переменной на клиенте.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Batchir Подменю пользователя
сообщение 22.12.17, 9:01
Сообщение #30

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1426 раз
Рейтинг: 0

Цитата(Gazulo @ 21.12.17, 17:14) *
Да можно пробывать и так, на для этого надо на каждом рабочем месте ставить драйвера SCANOPOS ?

Так же как на каждом рабочем месте нужно поставить 1С. А если к компу подключен принтер, то нужно и драйвера на него поставить.
Вроде всё логично. Для нормальной работы девайса нужно поставить необходимое ПО.

Я бы всё таки скачал "1С:Библиотека подключаемого оборудования" нужной редакции и подсадил бы её в самописную конфу.
Там всё уже реализовано. Сиди только формочки настраивай на работу с ней.

Сообщение отредактировал Batchir - 22.12.17, 9:04

Gazulo Подменю пользователя
сообщение 22.12.17, 9:25
Сообщение #31

Оратор
*****
Группа: Пользователи
Сообщений: 273
Спасибо сказали: 46 раз
Рейтинг: 46

Batchir @ Сегодня, 9:01 * ,
да но все сейчас работает и без драйверов SCANOPOS , а теперь значит мне на каждый комп его надо поставить, а это порядка 20-30 машин))). Я думал как то без этого справиться, хотел только доработать саму конфигурацию..

Batchir Подменю пользователя
сообщение 22.12.17, 11:04
Сообщение #32

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1426 раз
Рейтинг: 0

Цитата(Gazulo @ 22.12.17, 9:25) *
да но все сейчас работает и без драйверов SCANOPOS

Это работает через одно место, просто как ввод руками в любое поле формы.
С моей точки зрения это работает не корректно. Ведь не зря существуют все эти драйверы торгового оборудования и целая библиотека работы с ними?

20-30 машин это ж не проблема. Зайти удаленно и настроить.
Можно бесконечно долго встраивать различного рода костыли для того что бы как-то работало.
Потом появятся весы в магазинах - опять костыли? Появятся разные фискальные регистраторы - опять костыли?
Можно ведь подойти к вопросу с другой стороны и сделать всё по уму сразу. Решать в конечном счете Вам. Как бы я сделал - уже озвучил.

Сообщение отредактировал Batchir - 22.12.17, 11:05

Спасибо сказали: Gazulo,

Gazulo Подменю пользователя
сообщение 22.12.17, 16:48
Сообщение #33

Оратор
*****
Группа: Пользователи
Сообщений: 273
Спасибо сказали: 46 раз
Рейтинг: 46

Batchir @ Сегодня, 11:04 * ,
Спасибо.

Sl@V@ Подменю пользователя
сообщение 23.12.17, 21:01
Сообщение #34

Общительный
**
Группа: Пользователи
Сообщений: 35
Спасибо сказали: 0 раз
Рейтинг: 0

Я сам не программер, но была ситуация 1-в-1, плюс все сидят на RemoteApp. Перечитал кучу всего, говорил с тучей специалистов.
Заказал реализацию у человека, который сразу понял и начал предлагать тоокоые варианты. Вот что получилось.

&НаКлиенте
Процедура ТекстКАвтоПодбор(Элемент, Текст, ДанныеВыбора, Параметры, Ожидание, СтандартнаяОбработка)
    // Вставить содержимое обработчика.
    СтандартнаяОбработка = ложь;
     WSHShell = Новый COMОбъект("WScript.Shell");
     WSHShell.SendKeys("{ENTER}");
КонецПроцедуры

&НаКлиенте
Процедура ТекстКОкончаниеВводаТекста(Элемент, Текст, ДанныеВыбора, Параметры, СтандартнаяОбработка)
    // Вставить содержимое обработчика.
    Текст = СтрЗаменить(Текст,Символы.НПП,"");
    htmlfile = Новый COMОбъект("htmlfile");
    Буф = htmlfile.ParentWindow.ClipboardData.GetData("Text");
    Если Текст = Буф Тогда
        Текст="";
        htmlfile.ParentWindow.ClipboardData.SetData("Text","");
    КонецЕсли;    
        СтандартнаяОбработка = ложь;
        //Сообщить("Окончание"+Текст+ "*Буф*"+Буф);    
    Если Не ЕстьСканКасса() Тогда
        Закрыть(Истина);
    КонецЕсли;    
    
    Если Не ПустаяСтрока(Текст) И КодКартыКлиента = Текст  Тогда
        Закрыть(Истина);
    Иначе
        Закрыть(Ложь);
    КонецЕсли;    
КонецПроцедуры

Плюс контроль на наличие сканера в кассе

&НаСервере
//БезКонтекста
Функция ЕстьСканКасса()
    //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
    // Данный фрагмент построен конструктором.
    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    ШтрихкодерНаТочке.КассаККМ
        |ИЗ
        |    РегистрСведений.ШтрихкодерНаТочке КАК ШтрихкодерНаТочке
        |ГДЕ
        |    ШтрихкодерНаТочке.КассаККМ = &КассаККМ";

    Запрос.УстановитьПараметр("КассаККМ", КассаККМ);
    
    
    РезультатЗапроса = Запрос.Выполнить();

    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

    Если   ВыборкаДетальныеЗаписи.Следующий() Тогда
        Возврат(Истина)
    КонецЕсли;
    Возврат(Ложь);

КонецФункции


Все работает чудесно. Понятно, что ушлые всегда найдутся обойти, но пока на этом остановился.

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


2 страниц V  < 1 2
Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 29.03.24, 17:46
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!