Вашему вниманию предлагается обработка, позволяющая добавить марки на проверку на service.fsrar.ru, а также получить протоколы по проверке. Скорость работы обработки по получению протоколов проверки значительно выше стандартной процедуры работы через ресурс service.fsrar.ru.
Для работы требуется действующая учетная запись (ИНН, Пароль). Обработка открыта для редактирования и модернизации.
Спасибо за обработку, все работает отлично, единственное, добавил функцию конвертации русских букв в латиницу, что-бы не переключать раскладку клавиатуры перед сканированием АМ:
Можно немного сократить текст функции(в половину!), если сначала привести строку к верхнему регистру, но, уже сделал, а потом подумал... Переделывать не стал, работает и ладно...
Процедура ОбработкаВнешнегоСобытия(Источник,Событие,Данные)
УжеДобавили = 0; // ******** Объявляем переменную для контроля, надо вводить новую строку или нет Влад 30.10.16
Если Событие= "BarCodeValue" тогда
Если Форма.АктивныйЭлемент()="ШтрихКоды" Тогда
Если СтрДлина(Данные)=68 Тогда
Данные=ПроверитьРаскладкуМарки(Данные);
ШтрихКоды = ШтрихКоды + Данные+РазделительСтрок;
КонецЕсли;
КонецЕсли;
Если Форма.АктивныйЭлемент()="ШтрихМарки" Тогда
Если СтрДлина(Данные)=68 Тогда
Данные=ПроверитьРаскладкуМарки(Данные);
ШтрихМарки = Данные;
КонецЕсли;
КонецЕсли;
Если Форма.АктивныйЭлемент()="Штрих_Серия" Тогда
Расшифровка="";
Если м1=1 Тогда
Если СтрДлина(Данные)=68 Тогда ///большой штрихкод
Если (ПустоеЗначение(Штрих_Серия.СерияМарки)=1)и(ПустоеЗначение(Штрих_Серия.ШтрихМарки)=1) Тогда
Штрих_Серия.НоваяСтрока();
Штрих_Серия.ArrayМарки=Array.ПолучитьЗначение(Array.ТекущаяСтрока(),Расшифровка);
Штрих_Серия.Array=Расшифровка;
Штрих_Серия.ШтрихМарки=ПроверитьРаскладкуМарки(Данные);
ИначеЕсли (ПустоеЗначение(Штрих_Серия.СерияМарки)=0)и(ПустоеЗначение(Штрих_Серия.ШтрихМарки)=0) Тогда
Штрих_Серия.НоваяСтрока();
Штрих_Серия.ArrayМарки=Array.ПолучитьЗначение(Array.ТекущаяСтрока(),Расшифровка);
Штрих_Серия.Array=Расшифровка;
Штрих_Серия.ШтрихМарки=ПроверитьРаскладкуМарки(Данные);
Иначе
Штрих_Серия.ШтрихМарки=ПроверитьРаскладкуМарки(Данные);
КонецЕсли;
Иначе ///маленький штрихкод
// ********** Позиционируемся на нужной строке Array и вводим новую строку Влад 30.10.16
Если Array.ТекущаяСтрока() = 1 Тогда
Если Найти(СокрЛП(Данные),"-") = 4 Тогда
КодМаркиЕГАИС = Лев(СокрЛП(Данные),3);
КодМаркиФСРАР = "";
НомСтрСоотв = СзСоотвКодов.НайтиЗначение(КодМаркиЕГАИС);
Если НомСтрСоотв > 0 Тогда
СзСоотвКодов.ПолучитьЗначение(НомСтрСоотв,КодМаркиФСРАР);
НомСтрArray = Array.НайтиЗначение(КодМаркиФСРАР);
Если НомСтрArray > 0 Тогда
Array.ТекущаяСтрока(НомСтрArray);
КонецЕсли;
КонецЕсли;
КонецЕсли;
Штрих_Серия.НоваяСтрока();
УжеДобавили = 1;
КонецЕсли;
// **********
Если (ПустоеЗначение(Штрих_Серия.ШтрихМарки)=1)и(ПустоеЗначение(Штрих_Серия.СерияМарки)=1) Тогда
// ********** Проверяем, нужно ли добавлять новую строку Влад 30.10.16
Если УжеДобавили = 0 Тогда
Штрих_Серия.НоваяСтрока();
КонецЕсли;
// **********
Штрих_Серия.ArrayМарки=Array.ПолучитьЗначение(Array.ТекущаяСтрока(),Расшифровка);
Штрих_Серия.Array=Расшифровка;
Если Найти(Штрих_Серия.Array,"ФСМ. ")>0 Тогда
ДлинаНомераМарки=9;
Иначе
ДлинаНомераМарки=8
КонецЕсли;
Штрих_Серия.СерияМарки=Сред(Данные,Найти(Данные,"-")+1,3);
Штрих_Серия.НомерМарки=Сред(Данные,Найти(Данные,"-")+4,ДлинаНомераМарки);
ИначеЕсли (ПустоеЗначение(Штрих_Серия.ШтрихМарки)=0)и(ПустоеЗначение(Штрих_Серия.СерияМарки)=0) Тогда
// ********** Проверяем, нужно ли добавлять новую строку Влад 30.10.16
Если УжеДобавили = 0 Тогда
Штрих_Серия.НоваяСтрока();
КонецЕсли;
// **********
Штрих_Серия.ArrayМарки=Array.ПолучитьЗначение(Array.ТекущаяСтрока(),Расшифровка);
Штрих_Серия.Array=Расшифровка;
Если Найти(Штрих_Серия.Array,"ФСМ. ")>0 Тогда
ДлинаНомераМарки=9;
Иначе
ДлинаНомераМарки=8
КонецЕсли;
Штрих_Серия.СерияМарки=Сред(Данные,Найти(Данные,"-")+1,3);
Штрих_Серия.НомерМарки=Сред(Данные,Найти(Данные,"-")+4,ДлинаНомераМарки);
Иначе
Если Найти(Штрих_Серия.Array,"ФСМ. ")>0 Тогда
ДлинаНомераМарки=9;
Иначе
ДлинаНомераМарки=8
КонецЕсли;
Штрих_Серия.СерияМарки=Сред(Данные,Найти(Данные,"-")+1,3);
Штрих_Серия.НомерМарки=Сред(Данные,Найти(Данные,"-")+4,ДлинаНомераМарки);
КонецЕсли;
// ********** Позиционируемся на первой строке Array и сбрасываем УжеДобавили в ноль Влад 30.10.16
Array.ТекущаяСтрока(1);
УжеДобавили = 0;
// **********
КонецЕсли;
Иначе
Если СтрДлина(Данные)=68 Тогда ///большой штрихкод
Штрих_Серия.НоваяСтрока();
Штрих_Серия.ArrayМарки=Array.ПолучитьЗначение(Array.ТекущаяСтрока(),Расшифровка);
Штрих_Серия.Array=Расшифровка;
Штрих_Серия.ШтрихМарки=ПроверитьРаскладкуМарки(Данные);
КонецЕсли;
КонецЕсли;
Штрих_Серия.ТекущаяСтрока(Штрих_Серия.КоличествоСтрок());
КонецЕсли;
КонецЕсли;
глСканерПосылкаДанных(1);
КонецПроцедуры
Показать
Кроме нее, в конец модуля обработки надо добавить заполнение списка соответствия из предыдущего сообщения, и в начале модуля, объявить переменную:
Перем СзСоотвКодов;
Работает все как и работало, если вручную выбрать тип марки, то при сканировании заполняется только серия и номер.
А вот если не выбирать тип марки - то при сканировании добавляется новая строка сразу с типом, серией и номером. Можно добавлять сразу несколько строк с разными типами, все вроде корректно работает.
Единственное, я пока не придумал, куда вот это прикрутить:
Активизировать(Штрих_Серия)
Оно срабатывает при выборе типа марки, а тут мы не выбираем...
Пока, можно перед сканированием первой марки просто выбрать первую строку списка типов(Выберите тип марки) или щелкнуть мышкой на таблице, чтобы она была активная.
(60)"Пока, можно перед сканированием первой марки просто выбрать первую строку списка типов(Выберите тип марки) или щелкнуть мышкой на таблице, чтобы она была активная."
Хотя, если в функции Функция АктивизацияСканераДляШтрих_Серия()
закомментировать:
//Если ПустоеЗначение(Array.ПолучитьЗначение(Array.ТекущаяСтрока()))=1Тогда
// Возврат 0;
//КонецЕсли;
То работает и так, можно сразу после перехода на закладку "Жесткий" начинать сканировать "маленький" ШК...
(62,(62) M_W_W,
Все правильно и логично....Если нет формулы нахождения соответствия, то остается искать его на "Кошках". Единственное...в этой темной комнате кошки каждый раз могут разными....
Спасибо, за моральную поддержку.
Во, блин... Форум извратил код... В двух местах, там где Array.ТекущаяСтрока(1); и глСканерПосылкаДанных(1); он какую-то html строку вписал... Наверное надо для кода 1С не тег Code использовать, а просто как цитату вставлять...
(4) Alexei_fox,
Отдельной процедуры обработки событий от сканера в представленной обработке нет. Все тестировалось со сканером подключенным в режиме "Клавиатура". Также можно вставлять акцизные штрихи копипастом.
(6) tarzan654,
Спасибо за предложение.
Функционал расширил.
1. Удаление марок из списка с одновременным удалением из ЛК ФСРАР, также предусмотрен.
2. Добавлена конвертацию с русской на английскую раскладку (по наводке M_W_W).
3. Добавил отдельную обработку событий сканера. Теперь можно сканировать сразу в обработку. Следить за количеством марок на проверку необязательно. Необходимое число запросов будет сформировано автоматически.
будет ли добавлен функционал ввода серии/номера/типа АМ?
чтобы проверка была самой жесткой - дабы у фсрар при обнаружении нелегала не было претензий насчет того что проверяли марки "по-простому"
спасибо
Скажите, а сейчас этот сервис функционирует? 15/04/16 проверял - марки проверялись, а теперь в процессе отладки вижу ответ сервера, что документ перемещен
<head><title>Документ перемещен</title></head>
<body><h1>Объект перемещен</h1>Документ теперь находится здесь</body>
и марки не проверяются :(
Очередное обновление.
Добавлена проверка по жесткому.
Для сканирования марок с сериями, переходим на закладку "Жесткий".
Выбираем тип марки, активируем таблицу штрих-кодов и сканируем большой-маленький штрих.
при запуске обработки выходит ошибка:
"СканерШтрихКода<<?>>.ПосылкаДанных = 0;
{ПРОВЕРКАМАРОКИЗЛК_ФСРАР.ERT(771)}: Переменная не определена (СканерШтрихКода)"
Переменная вызывается в процедуре: ОбработкаВнешнегоСобытия
Но сама переменная нигде не определена.
Что это за переменная, как ее определить?
Приобрели обработку "Проверка марок из ЛК ФСРАР", установили, но при нажатии кнопки "Передать" в легком режиме передача не происходит - в личном кабинете не появляются марки и в обработке по кнопке обновить тоже нет изменений. Если забить марку в самом личном кабинете ФСРАР и потом нажать в обработке "Обновить", то информация появляется. То есть связь из ФСРАР есть, а в ФСРАР не уходит. Подскажите пожалуйста, может мы что-то не так установили, или не доустановили.
Пытался на 4-х компьютерах запустить обработку, везде подключение к сайту ФСРАР, безуспешно :(
С Windows ХР работа поддерживается? Я запускал на работе, там после нажатия кнопки "Подключить" вываливается ошибка: (532)}: WinHttp.WinHttpRequest: The server name or address could not be resolved
На работе используется прокси, может в этом проблема. Решил попробовать дома, на прямом соединении. В этом случае другая ошибка: (532)}: WinHttp.WinHttpRequest: Отсутствует пакет безопасности.
Запускал на двух компьютеров с Win 7, там после нажатия "Подключить" ничего не происходит, внизу написано "Выполняется обработка", закрыть нельзя. Приходилось через диспетчер задач снимать 1С.
Как у всех работает, ума не приложу..
Есть несколько запросов на встраивание в обработку возможности авторизации по Сертификату.
На сколько актуален данный функционал?
Стоит ли этим заниматься?
Добрый день.
Скачал обработку... кое как понял как отправлять "лёгкую" проверку марки, оказалось капчу надо обновлять при нажатии "передать" и вводить соответственно, если капча не правильная просто ничего не происходит при нажатии "передачи" . Не получается внести данные сканером для "Жёсткой проверки", при сканировании ничего кроме звукового сигнала не выдаёт.
(23) natanvidja,
Капчу обновлять кнопкой со стрелками, до читабельного состояния. При ошибке, в ЛК ничего не уйдет.
Для работы "Жесткой проверки", необходимо полноценное подсоединение сканера к конфигурации (через драйвер).
При отсутствии такого подключения смотреть ответ (15)
Здравствуйте,
Установил Вашу обработку. Все было ОК, но в какой-то момент в ответ на первый запрос сервер ФС РАР перестал возвращать мне раздел скрипта id=f5_cspm.
Соответственно, "Что-то не так...". Это у меня что-то не так, или у них что-то поменялось?
(27) kumi2012,
Обновление на 28.06.16
Файл версии 1.3.0 - авторизация по ИНН-пароль
Файл версии 1.3.1 - авторизация по ИНН-пароль, или по цифровой подписи (необходимо наличие CAPICOM)
Все работает, автору спасибо большое! И процедура авторизации, перенесенная отсюда в обработку получения лицензий из ЛК тоже.
Но, вопрос скорее методически-правового характера - если при проверке ФСМ пишет "данных не найдено", это однозначный левак, или что-то в консерватории не правильно???
Уж больно много таких бутылок, бОльшая часть... Особенно по ФСМ, по АМ пока все правильные попадаются... Думал, может обработка что-то не так передает, перевел сканер в режим KB, зашел "пешком" в ЛК на сайте, попробовал - все аналогично... Фигня какая-то, не верю, такого не может быть, что-то в ФСРАРе косячит ИМХО... Как у остальных с этим дела обстоят?
(33) M_W_W,
На сколько я понял из вопроса, сканирование происходит по "жесткому" сценарию, при этом необходимо указывать тип марки, серию, номер и PDF417-код. Серия и номер выдергивается из QR-кода, вероятно не совсем верно формируются эти данные. Не проверяли цифирьки на бутылке? Определяется ли марка вообще по "легкому" режиму?
Может действительно левак....
(34)
Да, по "жесткому" сценарию. По легкому - проходит нормально, как и в старых версиях проходило.
Тип марки, естественно указываю правильно, визуально считывая с бутылки, серию/номер получаю из ДатаМатрикс... Для "чистоты эксперимента" попробовал серию/номер ввести в ЛК вручную, а ПДФ считал сканером в клавиатурном режиме, результат тот-же...
При проверке "по легкому" тип марки показывает правильный, такой как в "жестком режиме" вручную выбираю...
И, как уже писал, проблемы в основном с ФСМ, АМ по жесткому проверяется нормально...
Может у самого ФСРАРа проблемы с БД марок? У них вечно не пойми-что творится... Форум третий день "лежит" на "регламентных работах", может и по БД ФСМ какие-то работы, а я тут напрягаюсь???
Ну, как-бы да... Все совпадает... На скриншоте в этом сообщении, более полная картина. Самая верхняя строка в верхнем окошке - жесткая проверка марки - "данных не найдено", выделенная строка в том-же окне - легкая проверка той-же марки, в нижнем окне информация по ней. Видно хорошо, что серия и номер одни и те-же...
И ладно-бы, единичный случай, можно было-бы подумать, что контрофакт, а таких большинство, и именно по ФСМ. :-(
Да, сам дурак... Разобрался еще днем, действительно, в списке есть и "до 0.5" и "0.5"... Сразу и не заметил... После того, когда понял, что не проверяются только пол-литровки, внимательнее посмотрел список, и нашел ровно 0.5. После этого, стало все проверяться:-)
(39) M_W_W,
Бывает....из всего этого, родилась идея "Псевдо Жесткой" проверки. Отправляем на проверку PDF417, а затем по протоколу проверяем схожесть серии-номера марки. При этом не заносим тип марки(слишком уж большой этот список). Может реализую в очередных обновлениях. Как вы думаете?
Думаю, это правильно. Я тоже уже об этом подумал - зачем указывать тип марки, когда он в ПДФе есть?
А вообще, у них похоже разные, отдельные базы для разных типов марок:-) Была-бы общая база, могли бы выводить сообщение, что считанная марка не соответствует выбранному типу... А так, не найдена, и все тут...
(41) M_W_W,
К каким цифрам из штрихкодов можно подвязать список "тип марки" (001011, 001012,...002013, 002014...) ?
вот цитата с форума РАРа
Цитата:
Re: Расшифровка штрих-кода PDF-417 акцизной марки
Сообщение operator9 » 11 дек 2015, 13:02
Данные полученные из марки ФСМ, пример:
136-102719868197240715410498397226
136- тип марки - в данном случае ФСМ, так как первая цифра "1" (если первые три цифры начинаются на "2", то это АМ)
Далее идет последовательность цифр, составляющая серию + номер марки + контрольная сумма.
Для ФСМ 12 цифр (серия + номер)
136- тип марки ФСМ
102- серия марки
719868197 - номер марки
240715410498397226 - контрольная сумма гознака
20N00001CGUMZYCB99J1NKN31105001000056NQQMS5VP4HTF5SB46ZSQQJD8BNJP891
20 – Номер Версии ПС ЕГАИС
00001CGUMZYCB99J – Зашифрованный в кодировке Base36 код продукции(алккод)
1NKN31105001 – Номер заявки на печать.
000056 – номер марки на печать
NQQMS5VP4HTF5SB46ZSQQJD8BNJP891 - защитная последовательность
К каким цифрам из штрихкодов можно подвязать список "тип марки"
При "легкой проверке" в протокол выводится тип марки. Значит, он возвращается из сервиса, как они его там определяют, ИМХО не принципиально...
Отсюда идея - отсканировали список марок, как по жесткому, с номерами, сериями и ШК, запустили "легкую" проверку, если что-то не проверилось - сразу отсеяли, с соответствующим результатом, на оставшиеся - из протоколов "легкой проверки", вытащили типы марок и дозаполнили таблицу. И только после этого, разрешить запуск "жесткой проверки". Изначально, до проведения "легкой проверки" кнопку "жесткой" сделать недоступной. Тогда, по идее, таких ошибок уже не будет.
(43) M_W_W,
Действительно, на жесткую проверку выводить только те марки, что не сошлись при легкой проверке.
Алгоритм ловкий...попробовать реализовать и испытать.
на жесткую проверку выводить только те марки, что не сошлись при легкой проверке
Не! Наоборот... Не сошлись при "легкой" проверке, какая может быть "жесткая"-??? Уже и так ясно, что левак. А вот если "легкая" прошла, получаем из нее протокол, и в "жесткую" передаем тип марки из него(он там есть), что-бы не выбирать руками.
Как-бы "жесткая" проверка в два этапа, сначала предварительная проверка, с отсевом того, что не проверилось "по легкому"(с одновременным получением типов марок на прошедшие проверку марки из протокола), а потом уже сама "жесткая" проверка, с использованием данных, полученных при легкой...
Можно, конечно, и после "легкой" устроить еще и "промежуточную" проверку, со сверкой отсканированных кода и номера с полученными из протокола "легкой" проверки, но, не знаю, стоит ли... Я так понимаю, смысл "жесткой" проверки - это поиск мрки в базе данных ФСРАР... Найдено - "Проверено", "Данных не найдено" - контрафакт...
(46) M_W_W,
На сколько я себе представляю, смысл "жесткой" проверки заключен в проверке (нахождении соответствия) трех составляющих, полученных от реальных штампов (тип марки, серия-номер, PDF417). Если брать тип марки из протокола "легкой проверки" уже заведомо обманываемся с реальным типом марки бутылки.
Двухуровневая проверка наверно не имеет смысла. Каждому PDF417 соответствует только один комплект "серия-номер", повторов PDF417 не может быть. И задача передать на проверку, как можно больше реальных данных, а не перебрасывая их из одного протокола в другой. Протоколы "легкой" и "жесткой" проверки не различимы, только присутствуют ответы "Не проверялась - Совпадает". Вопрос определения типа марки, остается открытым.
смысл "жесткой" проверки заключен в проверке (нахождении соответствия) трех составляющих, полученных от реальных штампов (тип марки, серия-номер, PDF417)
Если так - то да.
Но, мне показалось, что при проверке ищется марка в базе фиксации марок ФСРАР... Иначе какой смысл "жесткого" запроса, когда все данные и в "легком" есть, только сравнить с отсканированными?
(48) M_W_W,
Вот и получается, что быстро (без типа марки) можно обойтись и "легкой" проверкой, добавив для себя анализ данных из протокола. Но при этом в ЛК ФСРАР останется метка о не полной проверке, что может дать некоторое преимущество Росалко в обвинении в распространении нелегала.
"Золотая середина" - ..... со сверкой отсканированных кода и номера с полученными из протокола "легкой" проверки....
Добрый день.
До сегодняшнего дня Ваша проверка работала безупречно.
Начиная с 28-09-2016 при попытке подключения к ЛК ФСРАР получаем ошибку -
WinHttp.SetRequestHeader("Cookie",Кука);
{\\XXXXXXX\YYYYYY\ZZZZZZZZZ\EXTFORMS\ПРОВЕРКАМАРОКИЗЛК_ФСРАР.ERT(945)}: WinHttp.WinHttpRequest: The requested header was not found
(54) user631592_rs148,
1. Список штрих-кодов можно скопировать из текстового файла в окно ввода марок. В связи с этим не вижу особой надобности в отдельной кнопке-загрузки из файла. Единственное ограничение, каждый штрих на своей строке.
2. Выгрузки проверенных марок из ЛК обратно в текстовой файл нет. Хотя реализовать не сложно и своими силами при должном умении. Хотя бы командой ЗначениеВФайл(КаталогПользователя()+"\МаркиОбратно.txt",Марки)
3.При жесткой проверке необходимо указывать тип марки. Указав один раз, сканируем всю партию данного типа. При появлении партии другого типа, предварительно изменить тип марки на нужный и т.д. Автоматом вычислять тип марки не представляется возможным.
Автоматом вычислять тип марки не представляется возможным.
Ну, на самом деле, ничего невозможного нет... Первые три символа "маленького" ШтрихКода, которые до "-", это и есть тип марки...
Вот только, или я чего-то не понял, или ФСРАР как всегда "в своем репертуаре", надо же намутить воды на пустом месте...
Вот пример:
То, что Вы получаете из ЛК ФСРАР:
ArrayМарки = "001013"
ArrayРасшифровка = "ФСМ. ВОДКА ДО 0,1 Л"
Первые три символа ШК этой марки - "133".
Если заглянуть в схему "EGCommonEnum.xsd" из УТМ, то видим:
<xs:enumeration value="133">
<xs:annotation>
<xs:documentation>ФСМ. Водка до 0,1 л</xs:documentation>
</xs:annotation>
</xs:enumeration>
То есть, первые три символа ШК с бутылки однозначно идентифицирует тип марки, с точки зрения УТМ ЕГАИС.
Но, получается, что в ЛК ФСРАР код совсем другой - "001013"... Бред какой-то... Две разных базы, с совершенно разной организацией справочников?
В принципе, можно подгрузить список кодов из XSD схемы УТМ, находить отсканированный код(первые три символа) в этом списке, и потом как-то сопоставлять найденый тип марки с типом, полученным из ЛК ФСРАР... Только, пока не понятно, как их связать - по строковому наименованию(приведя их к одному регистру так, как написаны они тоже по разному - в ЛК все большие буквы, а в УТМ нет), но, как-то это криво получается - а вдруг они там не только регистром отличаются, а где-то еще и какую нибудь точку пропустили...
Может есть какой-то другой способ сопоставить коды из ЛК и из схемы XSD УТМ - ?
Похоже опять что-то поменяли...
До этого, работало исправно.
WinHttp.Send();
{Îáðàáîòêà.ÏðîâåðêàÀÌâËÊ.Ôîðìà.Ìîäóëü(634)}: WinHttp.WinHttpRequest: An error occurred in the secure channel support
WinHttp.SetRequestHeader("Cookie",Êóêà);
{Îáðàáîòêà.ÏðîâåðêàÀÌâËÊ.Ôîðìà.Ìîäóëü(930)}: WinHttp.WinHttpRequest: The requested header was not found
Извиняюсь, нечем перекодировать в удобочитаемый текст... Но, я думаю, и так понятна ошибка.
Ложная тревога. Сейчас - все отлично работает, как и раньше. Видимо, днем были какие-то проблемы... При этом, по той-же связке ИНН и пароль, "пешком" в ЛК заходило нормально. А из программы - ни в какую... И в получение лицензий - тоже.
(57) M_W_W,
"Ложная тревога. Сейчас - все отлично работает, как и раньше. Видимо, днем были какие-то проблемы..."
У меня - все нормально работает. А на том компе, где тогда не работало - так и не работает. Стал разбираться - оказалось, там древний Windows XP SP2! Скорее всего, в этом причина. Не находит поддержку какого-то протокола наверное... Хотя, раньше, одна из первых версий обработки еще до "фокусов" ФСРАР, там вроде работала.
PS Обновил винду, установил SP3, все заработало!:-)
(66) M_W_W,
Протестировал на Windows XP SP3, в ЛК входит отлично, марки отправляет и получает результаты.
Что может быть на SP2 такое, что не переваривает обработка???
А теперь, уже дело техники - ищем код из отсканированного DataMatrix, первые три символа, в этом списке, и получаем код ФСРАР, его в свою очередь находим в Array, и подставляем в таблицу Штрих_Серия.
PS Вот только, насколько это соответствие и в дальнейшем сохранится, х.з... У них может заскок зайти, поменяют в ЛК что-нибудь, и вся работа на смарку... В ЕГАИС так просто не поменяют - есть схема XSD, а в ЛК могут:-(
Да, запросто могут... И отследить мы это никак не сможем. Единственное, если "вдруг, не с того ни с сего" протокол проверки будет отрицательный, будет повод сразу, без паники(ААА!!!! Контрафакт!!! :-)) обратить внимание на визуальное соответствие автоматически полученного типа марки - марке на соответствующей бутылке.
Да, еще кстати...
В XSD схемах ЕГАИС, недавно появились еще новые коды для "старых" марок, с 001 по 031. Буквально пару недель назад, делал документ запроса нового ШК для не читаемых марок, их не было, а вчера заглянул в схему - уже есть.
Что по старым маркам возвращает сайт ФСРАР - ? Вроде их там тоже нет... Для таблицы соответствия, я их из Array вытащил, может они где-то опубликованные есть?
Хотя, для этой задачи толку от них не много - их все равно негде взять, второго то ШК нет...
Ну, когда я сегодня обновил винду до SP3, то тоже все отлично и сразу заработало.
Вот это:
WinHttp.WinHttpRequest: An error occurred in the secure channel support
наводит на мысль, что что-то с защищенным протоколом не то... Да и фиг с ним, пора вообще забывать об XP, а тем более без обновлений.
Просто, вдруг еще кто-то наступит на эти грабли, будет хоть понятно, что посоветовать проверить.
А зачем их удалять? То, что Вы проверяете марки, Вам только плюс! Коснись чего, не дай бог конечно, а у Вас будет дополнительный аргумент - "а мы марки проверяем, вся история в ЛК-!".
PS Но, конечно, если Вас захотят поиметь, то все равно поимеют, не зависимо от истории проверки марок :(
Здравствуйте. Во время сканирования марки не заполняется поле. Сканер пикает и дергается графа.Подскажите пожалуйста что делаю не так ? Заранее благодарен
Похоже, опять ФСРАРовцы чего-то нахимичили... Подключение на этот раз проходит нормально, капча появляется, но после нажатия кнопки "Передать на проверку" ничего не происходит. Марка не появляется в списке. На сайте в ЛК она тоже не добавляется. В самом ЛК проверка работает. Такое обычно происходило, когда при вводе капчи ошибались. Но, тут точно правильно - раз десять пробовал, с перегенерацией капчи, выбирал самые легкие, где ошибок быть не может... Что-то поломали, видимо...
"Подключение на этот раз проходит нормально, капча появляется, но после нажатия кнопки "Передать на проверку" ничего не происходит. Марка не появляется в списке. На сайте в ЛК она тоже не добавляется."
Такая же проблема во всех наших торговых точках. Подскажите , может ест какой нить способ !!!
(83) Других сервисов похоже нет и не будет, ибо тогда "злоумышленники" начнут такими сервисами активно пользоваться для наклейки на нелегальную продукцию якобы легальных марок, проверка которых проходит успешно.
Добрый день! А подпись только через внешние криптопровайдеры(Крипто-Про, VipNet CSP) - ? Использовать аппаратную "криптографию на борту" с ДжаКарты или Рутокен ЭЦП-2.0 не получается?
Было-бы очень интересно...
И еще один "нюанс"... Попробовал проверить марку, заведомо проданную(в свете грядущего "помарочного" учета, их ШК у меня в программе сохраняются), секцию "продажи" вывело, ИНН правильный, нашей организации, дату проверки сегодняшнюю поставила, а даты и времени продажи нет. При проверке в ЛК они выводятся. Для "разбора полетов" с нерадивыми продавцами, информация очень даже нужная.
Да нет, с этим все нормально, ничего не надо, а будет надо, сам допишу.
Меня больше волнует вопрос - можно ли как-то ДжаКарту или РуТокен ЭЦП 2.0 прикрутить...
Боюсь, что через КапиКом не получится. Там есть какая-то новая примочка, сейчас не помню какая, можно поискать.
Просто у многих клиентов, кроме ЕГАИсовских ключей ничего нет. Декларации подписывают с помощью КриптоАРМ-Стандарт Плюс, он умеет с ними работать, и в ЛК тоже можно с ними заходить. Было-бы интересно и в обработке проверки марок использовать.
Не все так просто... Вот скриншот. Сертификаты на компе видны, которые через VipNet созданы.
По первому из списка, даже заходит в ЛК. По остальным не зайдет - они не "Алкогольные", я их
просто для регистрации ККТ в ФНС и ОФД делал.
А поверху окна 1С, окно единого клиента ДжаКарты. На ней есть сертификат, естественно "алкогольный".
Но, как видите - он не виден в обработке. Но, "пешком" по нему я спокойно захожу в ЛК на сайте ФСРАР.
Тут есть небольшая тонкость - при входе выбирается в меню сайта не "По сертификату", а "По аппаратному ключу".
Это другой принцип входа. VipNet или CriptoPro не может получить ключи с ДжаКарты или Рутокен ЭЦП 2.0, потому,
как они в них "неизвлекаемые". Для работы с ними используются встроенные в токен криптопровайдеры, внешние
не используются. Поэтому CapiCom и не может до этих сертификатов добраться.
Как-то так...
Библиотека PKCS#11 предоставляет универсальный кроссплатформенный программный интерфейс к USB-токенам и смарт-картам.
Функции делятся на:
Функции доступа к устройству;
Функции записи/чтения произвольных данных;
Функции работы с ключами (поиск, создание, удаление, импорт, экспорт);
Функции работы с сертификатами (поиск, импорт, экспорт);
Функции ЭЦП;
Функции хэширования;
Функции шифрования;
Функции вычисления имитовставки;
Функции выработки ключа согласования (Диффи-Хeллман);
Функции экспорта/импорта сессионного ключа;
Я со своим Рутокеном захожу спокойно из обработки в ЛК. Правда, если память не изменяет, единожды делал регистрацию сертификата в системе, с помощью КриптоАРМ.
Сертификат вроде скопирован в хранилище... Он к ключам обратиться не может.
А у Вас РуТокен именно "ЭЦП-2.0" - ? Просто, их там куча до этого была разных,
у которых не было "криптографии на борту", просто ключи и сертификаты хранились...
Как в еТокене...
Попробую сегодня перепроверить, есть ли сертификат в хранилище "Личные", отпишусь.
Установка PKI ничего не меняет, его просто не видно в списке, и его наличие/отсутствие никак не влияет на работу ГОСТа.
Но, это ДжаКарта, и с тестовым PKI. Сейчас, под рукой, нет РуТокена с "боевыми" сертификатами, вечером, после 10, смогу зайти к клиенту по удаленке и проверить с РуТокеном...