Имя: Пароль:
1C
1С v8
Набивший оскомину ScanOPOS. Есть исходники?
,
0 Lex_Liven
 
27.12.11
12:43
Наткнулся на одном сайте на пост плана "Мне пришлось самому переписать scanopos.dll, могу поделиться исходниками".
Проблема в том, что это написано давно и связаться с автором нет возможности. Может у кого еще есть такое чудо, как исходники самописной замены Scanopos?
1 Vladal
 
27.12.11
12:46
Что тебе в скаонпосе не так?
2 Lex_Liven
 
27.12.11
12:50
(1) Он при настройке пишется в реестр, а при подключении - не читается оттуда автоматом. Через каждый час в терминале приходится заново настраивать порты и суффиксы.
Атолл и Штрих-М тоже не надо предлагать. Если пишем, то давайте по теме - есть - есть, нет - нет, поищи тут, и т.п.
3 Serginio1
 
27.12.11
12:52
Написать обработку срм порта нужно всего нсколько строчек
public void ПодключитьСканер(int НомерПорта)
       {
           sp = new SerialPort("COM" + НомерПорта.ToString());

           sp.BaudRate = 9600;
           sp.Parity = Parity.None;
           sp.StopBits = StopBits.One;
           sp.DataBits = 8;
           sp.Handshake = Handshake.None;

           sp.DataReceived += (sender, e) => {
               SerialPort sp1 = (SerialPort)sender;
               string indata = sp1.ReadExisting();
               Sc.Send(d => EventTo1C.ExternalEvent("ДанныеОтСканера", sp1.PortName, indata), null);
                   
               
           sp.Open();

       
       }

где SC при инициализации
public void InitFrom1C(object Object1C)
       {
               
           EventTo1C = Object1C as IAsyncEvent;
           SynchronizationContext.SetSynchronizationContext(new WindowsFormsSynchronizationContext());
           Sc = SynchronizationContext.Current;
       }
4 Lex_Liven
 
27.12.11
19:15
Я просто думал, может с кого готовая осталась? Было бы быстрее...
5 Злопчинский
 
27.12.11
19:32
(2) может быть проблема не в том что "не читается", а в том что после подключения к новой сесии nCL - просто нет нужной ветки с натсройками?
6 Lex_Liven
 
27.12.11
19:39
Ветка есть, настройки в LOCAL MACHINE пишутся. они не считываются при вызове ТорговоеОборудование.Подключить.
7 Злопчинский
 
27.12.11
19:40
эээ яне спец.. но локалмашине при запуске на терми нале меня несколько напрягают, особенно в услвоиях работы нескольких пользователей
8 Lex_Liven
 
27.12.11
22:42
ну вот и мне оно не нравится. потому и спрашиваю исходник, который смогу натравить на другую ветку или на файл.
9 big
 
28.12.11
05:38
(2) осмелюсь спросить - а чем не подошел Атол-Штрих?
10 Lex_Liven
 
28.12.11
09:18
тем же самым - Не запоминают настройки
11 Lex_Liven
 
29.12.11
08:07
И никто не знает человека с ником Blondin с сайта 1c.proclub.ru?
12 Lex_Liven
 
30.12.11
09:12
Тема все еще актуальна.
13 Vovchai
 
30.12.11
09:29
Атол конечно не предлагать. но все же... все эти настройки (суффиксы-префиксы-порты) там можно задавать программно. без чтения-записи в реестре. в сканоопосе мне кажется так же д.б
14 Lex_Liven
 
30.12.11
09:36
(13) В описании - все красиво! Свойство Порт - чтение/запись, да! А на деле валится с ошибкой при попытке записать что-то в свойство Порт.
15 MikeFromAtol
 
30.12.11
09:37
(10) так может дело не в длл-ках, а в правах доступа на реестр?
16 Shurjk
 
30.12.11
09:39
Не понял  а чем переписывание длл-к решит эту проблему?
17 Lex_Liven
 
30.12.11
09:42
(15) Нет, Михаил из АТОЛа, не в них. Scanopos тупо не хочет их оттуда читать. На локальном компе также теряет порт.
(16) В переписанной длл я смогу при подключении принудительно читать настройки хоть с реестра, хоть с файла... Да и свойство Порт сделать реально RW!
18 MikeFromAtol
 
30.12.11
09:47
(17) я все таки думаю что дело не в драйверах.
Вообще первый раз сталкиваюсь с тем чтобы драйвера отказывались читать настройки из реестра... Ладно бы записывать - прав не хватает, но чтобы читать
19 Lex_Liven
 
30.12.11
09:57
(18) Кстати, вы не путаете "драйвер" и "внешнюю компоненту"?
20 big
 
30.12.11
10:01
(15) +100500. Но автор просто в это не верит. Как всё работает у остальных его не интересует :)
21 MikeFromAtol
 
30.12.11
10:04
(19) может быть, мне сейчас вообще думать и работать неохота, хоть и приперся в офис в 9-10 утра :)

ИМХО в данном случае "драйвер" "длл" "внешняя компонента" - одно и то же. Я не прав?
22 Lex_Liven
 
30.12.11
10:20
(20) Хорошо, скажите, как это проверить - я проверю. Сейчас ситуация такая:
1. В реестре записаны настройки для 26 сканеров. У каждого свой порт.
2. В регистре сведений ТорговоеОборудование создан реквизит Пользователь и все устройства привязаны по номерам лог. устройств к каждому пользователю терминала. (Сделано это по советам из ветки v8: ScanOPOS.dll 8.0.8.4 програмно задать COM???
3. При запуске 1С вызывается ТорговоеОбородувание.Подключить(); И у каждого пользователя (в том числе при подключении админа сервера, у которого в реестре полные права на все) - стоит его сканер на ПЕРВОМ коме.
23 Lex_Liven
 
30.12.11
10:21
Сообщения об ошибках - только "Не удалось установить монопольный доступ к устройству Сканер №№". И все. Про реестр или еще что-то - тишина, логов нет.
24 Lex_Liven
 
30.12.11
12:31
Блин, сам не могу это терпеть, но АП! Сроки горят, до НГ надо решить!
25 Жирафка
 
30.12.11
12:39
У всех работает. У тебя нет.
Зри в корень(с)
26 Lex_Liven
 
30.12.11
12:49
(25) Распишите по пунктам, как настроено "у всех"? Глядишь и у меня заработает!
27 Lex_Liven
 
30.12.11
12:49
Я же не утверждаю, что сделал все идеально правильно. Укажите, где я ошибся, а как исправить, так и быть, поищу.
28 Lex_Liven
 
30.12.11
13:48
Такое ощущение, что народ просто сговорился против тех, кто использует scanopos. Все советы обрывочные. Пытаешься вызвать на диалог - пропадают нафиг. Мне что орать дурным голосом "ПАМАГИТЕ!"???
29 Жирафка
 
30.12.11
14:34
(28) паникеров здесь не любят
30 Жирафка
 
30.12.11
14:36
(28) для начала пишут версию ОС, версию конфигурацию, версию драйвера, версию обрабокти
31 Жирафка
 
30.12.11
14:37
Установите на ключ реестра "HKEY_LOCAL_MACHINE\SOFTWARE\1C" (если его нет, то создайте) разрешение пользователям на запись.
32 Lex_Liven
 
30.12.11
14:40
(29) Зато сразу реагировать начали.
(30) Win2003x64 + RDP + Scanopos 8.0.8.4. Обработка вшита намертво, конфигурация полу-самописная.
(31) Устанавливал. При каждом подключении юзера Порт в реестре сбрасывался на 1 и оставался таким, даже если потом юзер выбирал другой порт.
33 Жирафка
 
30.12.11
15:00
(32) попробуйте смоделировать ситуацию на типовой конфигурации. Будет ли повторяться ошибка?
34 Lex_Liven
 
30.12.11
15:53
(33) Типовая только Бухгалтерия.
Удалось найти старый Атол... Попробую, отпишусь... наверное, завтра.
35 MikeFromAtol
 
30.12.11
23:00
(28) Да нет, просто у всех уже праздники на носу, и народ вместо работы в ашанах стоит с тележками :)
36 Fragster
 
гуру
31.12.11
00:31
автор, походу, неудачник - только у него не работает...
37 Lex_Liven
 
31.12.11
06:55
(36) Мог бы, например, помочь, а не умничать.

(34) Атол - та же ж.., вид спереди. Настройки хранятся в реестре до первого релогина. Потом весь куст CURRENT_USER перестраивается, по-ходу с нуля. Ветки ATOL в Software не остается вообще.
38 Vovchai
 
31.12.11
09:27
если сканирование происходит в обработке, что бы в ней не прописать ЗагрузитьВнешнююКомпоненту() и устанавливать свойства сканера, таких как порт/скорость/четность, при открытии формы например, в конце концов?
39 Lex_Liven
 
31.12.11
09:55
(38) потому что (14)
40 Vovchai
 
31.12.11
09:59
(39) даже с Атоловскими драйверами?
41 Lex_Liven
 
31.12.11
10:04
(40) даже с ними.
42 MikeFromAtol
 
31.12.11
13:57
(37) слушай, ну не при чем тут драйвера.
Если после перелогина затирается ветка реестра - значит какие то политики безопасности так работают. Попробуй на другом компе с другой ОС локально проблему воспроизвести
43 Fragster
 
гуру
31.12.11
14:49
(37) подумай над "Настройки хранятся в реестре до первого релогина"
44 Torquader
 
01.01.12
13:56
(43) Это называется удаляемый Профиль - то есть настройки в реестре хранятся, а вот сам файл реестра пользователю в профиль не сохранятся, так что лучше решить эту проблему, чем переписывать dll.
Ошибка? Это не ошибка, это системная функция.