Логинов Кирилл

117
Рейтинг

kirlog
Кирилл Логинов



  •   Регистрация: 17.05.2006 (17 лет назад)

  •   Был(а) на сайте: 25.04.2024

Друзья
  • Алексей
  • Евгений Ачкасов
  • zavedeev
  • Дмитрий Малышев
  • Александр Шипков
  • Евгений Комиссаров
  • Гордей Голиков
  • Виктория Ершова
  • Виталий Ангелов
  • Сергей Кузьмин
  • Руслан Григорьев
  • Андрей Волин
  • Александр Кузиков
Подписчики 18

Группы

Партнер IS-SP

Профессиональный разработчик

Рейтинг 117

Онлайн проверка марок Честный знак при разрешительном порядке в розничной торговле для v.8 и 7.7

Инструменты и обработки Программист Платформа 1С v7.7 Платформа 1С v8.3 1С:Управление торговлей 10 Россия Абонемент ($m) Внешняя обработка (ert,epf) Обмен с ГосИС

Уже с 01.04.2024 вводится так называемый "разрешительный" режим продажи маркированной продукции в розницу. Это значит, что перед продажей нужно запрашивать у сервиса ЦРПТ разрешение на реализацию каждой марки. Здесь кратко опишу, как это делается, и приложу примеры для 1С 8 и 7.7.

1 стартмани

15.03.2024    2482    34    kirlog    70       

16

Маркировка табака. Формирование тега 1162 "код товара" для передачи в ККТ и ОФД

Статья Программист Платформа 1С v8.3 Конфигурации 1cv8 Розничная и сетевая торговля (FMCG) Россия Бесплатно (free) Нет файла Адаптация типовых решений ЭДО и ОФД

С 01.07.2019 стартует новый этап маркировки сигарет. Теперь в кассе обязательно надо будет считывать марку с пачек табака, если она там есть. Считывать и передавать в ОФД через тег 1162 в онлайн-кассе. А как сформировать данные этого тега? Не все так просто...

27.06.2019    20560    kirlog    62       

11

Загрузка данных из ОФД "Платформа"

Инструменты и обработки Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m) Внешняя обработка (ert,epf) Кассовые операции Внешние источники данных ЭДО и ОФД

Внешняя обработка УФ демонстрирует получение из ОФД "Платформа" списка зарегистрированных ККТ и продаж за период.

1 стартмани

12.10.2018    10498    61    kirlog    5       

7

Как открыть форму внешней обработки из другой формы внешней обработки. 8.2. Управляемый режим.

Инструменты и обработки Программист Платформа 1С v8.3 Конфигурации 1cv8 Windows Абонемент ($m) Внешняя обработка (ert,epf) Универсальные функции

Обсуждений на эту тему достаточно много, но окончательного ответа на вопрос, как открыть одну форму внешней обработки из другой в управляемом режиме, я не нашел. Решил разместить свое решение.

1 стартмани

23.05.2012    29298    83    kirlog    12       

12

Комментарии

ПубликацииОнлайн проверка марок Честный знак при разрешительном порядке в розничной торговле для v.8 и 7.7#70 16.04.24 21:56
(69) По проверке марки средствами ККТ, да, не важно М+ будет, М-, или просто М.
Важно, чтобы такая проверка просто выполнялась для данной марки. Это обязательно.
Проверка марки средствами ККТ это уведомительный механизм.
Важно отличать этот механизм от нового - разрешительного, того что обсуждается в этой публикации.
Механизмы эти не связаны. Сейчас нужно использовать оба.

А вот продавать товар как немаркированный при получении ответа М-, это, с моей точки зрения, нарушение.
Марка у Вас в таком случае не уходит с оборота в ЧЗ, т.к. Вы ее не передаете в чек.
Кроме того, что эти марки повисают у Вас в обороте, а за это обещают штрафовать по истечении срока годности партии (и в лекарствах уже штрафуют), отсутствие в чеке кода маркировки, например на сигареты, это уже сейчас 100% штраф при первом же обращении покупателя "куда следует" или контрольной закупке.

Поэтому, методика проверки средствами ККТ должна быть такая:
- Проверяем все марки в чеке
- Если проверка не прошла, не пробиваем весь чек.
- Или изымаем из чека ту марку, что вызывает проблемы, и не продаем этот товар вовсе, т.к. это скорее всего некорректная марка с точки зрения структуры кода, и ошибку мы получим все равно на добавлении ее в чек.
- Если проверка прошла, пробиваем в чеке все марки с теми статусами, что вернула проверка (М+/М-/М)

Это, опять же, мое личное мнение.
ПубликацииОнлайн проверка марок Честный знак при разрешительном порядке в розничной торговле для v.8 и 7.7#68 16.04.24 20:11
(67)Если команда registration не выдает ошибок (Вы проверили errorCode() и errorDescription() после ее выполнения), значит позиция добавилась в чек.
Но если позиция не маркированная (а по логу именно так), в ЧЗ она не пойдет.
ПубликацииОнлайн проверка марок Честный знак при разрешительном порядке в розничной торговле для v.8 и 7.7#66 16.04.24 14:24
(65)Сложно сказать что то определенное без полного кода формирования чека в 1С.
Судя по логу, вторая регистрация продажи как то сильно отличается от первой.
Видимо, что то совсем иное происходит в цикле на второй строке.
Похоже, вторая позиция у Вас идет как немаркированная. Нет ни марки в логе, ни попытки передать тег 1260, еще тега 1212 нет (а он обязательный).

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

Например, так:

Код
Ответ = ДрайверККМ.registration();
Если Ответ <> 0 Тогда
   Сообщить(ДрайверККМ.errorDescription());
   ДрайверККМ.cancelReceipt();
   Возврат 0;
КонецЕсли;


Ну и общий совет для 7.7: всегда и везде для передачи строчных данных в драйвер ККТ используйте СокрЛП()
Иначе драйвер будет получать строку добитую пробелами до длины поля в 1С.
ПубликацииВыгрузка УПД в формате XML 820 для Диадок.Коннектор. Автоматизация отправки документов по ЭДО#2 08.04.24 16:11
Если ошибка и документ не отправился, коннектор оставляет файл в каталоге. Это бывает, но редко.
Я у себя мониторю эту ситуацию: если файл лежит более 1 часа, то шлю уведомление ответственным лицам.

Что касается статуса (подписан/не подписан), то он отслеживается в кабинете Диадока. Документы, отправленные через коннектор, попадают туда в папку "отправленные".
ПубликацииВыгрузка УПД в формате XML 820 для Диадок.Коннектор. Автоматизация отправки документов по ЭДО#0 08.04.24 4:00
В публикации описывается способ автоматизации отправки документов по ЭДО через Диадок.Коннектор.
AdminЗависание 1С на Linux по RDP#39 05.04.24 2:07
1С 8.3.23.1865
Клиент-сервер
Лицензия программная
Использование аппаратной защиты выключено
postgre
Ubuntu 20.04.6 LTS (Focal Fossa)
xRDP
Модуль vhci-hcd выгружен.
Проблема имеется.
Виснет конфигуратор с загрузкой одного ядра на 100%
Фризится минут на 10, потом сам отвисает. За день может раз 10 так. Работать затруднительно.

В момент фриза иногда (но не всегда) есть артефакты отрисовки окон: часть окна конфигуратора на переднем плане заслоняет все остальное и не сворачивается, пока не отвиснет.

Проблема почти всегда возникает, когда в базе есть другие пользователи и они активно работают (есть загрузка сервера). Не важно, как они зашли, через web-клиент, тонкий клиент, или другой сеанс xRDP.
Когда конфигуратор единственный сеанс - проблема не возникает.

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

С обработкой событий устройств ввода, возможно, связано. Иногда фризится прямо на глазах при попытке проскроллить список перетягиваниьем ползунка в окне конфигурации. Также замечено, что проблема возникает при попытке найти что то в окне конфигурации по первым буквам подбором (не поиск по подстроке, который сверху).

При этом в тонких клиентах проблемы нет, в том числе и если запускать их в сеансе xRDP.
С другими приложениями (коих немало) в xRDP проблемы нет.

Кто нибудь решил эту проблему?
ПубликацииОнлайн проверка марок Честный знак при разрешительном порядке в розничной торговле для v.8 и 7.7#53 04.04.24 18:16
(42)Проверка перед пробитием вызывает ряд сложно разрешимых методических проблем.
Вот пример:

1. Покупается 3 пачки одинаковых сигарет (более 1 пачки берет каждый четвертый покупатель, из статистики).
2. Вот их пикнули, добавили в чек, хотим пробить.
3. На одну из марок приходит запрет.
4. Как теперь убрать эту марку из чека и забрать у покупателя нужную пачку?
5. Только считывая заново все 3 марки.
6. Значит, надо забрать у покупателя эти три пачки, все считать, одну отменить. Это не просто сложность, это конфликтная ситуация и серьезный затор на кассовом узле. Особенно, если пачек не три а пять, и в чеке 20 позиций, которые покупатель уже рассовал по пакетам.
7. Я не говорю уже о том, что для отмены позиции из чека во всех приличных магазинах нужен старший кассир или администратор смены со своей карточкой доступа или ключом.

Выводы:
1. В универсамах и вообще в магазинах с большой проходимостью проверка марок перед пробитием не годится.
2. На кассах самообслуживания тоже не годится.
3. В магазинах с небольшой проходимостью экономить время на добавление марки в чек нет необходимости в принципе.

Поэтому, ИМХО, онлайн-проверку марок целесообразно реализовывать только при добавлении в чек.
ПубликацииОнлайн проверка марок Честный знак при разрешительном порядке в розничной торговле для v.8 и 7.7#52 04.04.24 18:02
(47)Мы сделали справочник (регистр сведений) площадок.
Запрашиваем список площадок раз в сутки и пишем туда. Выбираем лучшую и помечаем. Если тут есть ответ - контроль включен. Иначе контроль выключаем до конца дня.
Запрашиваем статус площадки каждый раз при входе в режим продаж. Если она не отвечает выбираем лучшую, если ни одна не отвечает, отключаем контроль до конца дня.
При проверке кода, если нет ответа, повторяем запрос, если на второй нет ответа, меняем площадку, если ни одна не ответила, отключаем контроль до конца дня.
Все сопровождаем записью подробных логов и сообщениями на экран.

В распределенке площадки запрашивает только центральный узел и раздает на точки.
Точки только выбирают из уже полученных площадок.
ПубликацииОнлайн проверка марок Честный знак при разрешительном порядке в розничной торговле для v.8 и 7.7#51 04.04.24 17:55
(46)
Цитата
1260

Проверку марок средствами ККТ надо оставлять. Новый механизм ее не отменяет.

Рабочий код формирования тега 1260 для Штриха.

ДрайверФР.TagNumber=1262;
ДрайверФР.TagType=7;
ДрайверФР.TagValueStr="030";
ДрайверФР.FNSendTagOperation();

ДрайверФР.TagNumber=1263;
ДрайверФР.TagType=7;
ДрайверФР.TagValueStr="21.11.2023";
ДрайверФР.FNSendTagOperation();

ДрайверФР.TagNumber=1264;
ДрайверФР.TagType=7;
ДрайверФР.TagValueStr="1944";
ДрайверФР.FNSendTagOperation();

ДрайверФР.TagNumber=1265;
ДрайверФР.TagType=7;
ДрайверФР.TagValueStr="UUID=56662403-e336-4114-88f3-6bd727f61a028&Time=1710432829649"
ДрайверФР.FNSendTagOperation();
ПубликацииОнлайн проверка марок Честный знак при разрешительном порядке в розничной торговле для v.8 и 7.7#50 04.04.24 17:45
(48)На windows 7 помогло вот это (Раздел Easy Fix, там качается msi файл, установил, и все заработало): https://support.microsoft.com/en-us/topic/update-to-enable-tls-1-1-and-tls-1-2-as-default-secure-protocols-in-winhttp-in-windows-c4bd73d2-31d7-761e-0178-11268bb10392
Нужны сервис-паки, конечно тоже.
Возможно, еще надо будет обновить корневые сертификаты. На 7-ке, т.е. заставить это работать 100% можно.

Под обычную windows xp без SP3 решения нет и можно не искать.
Но вот вот под windows POSEmbedded на базе XP решения в сети есть. Они заключаются в добавлении поддержки TLS 1.2 и обновлении корневых сертификатов. Пишут также, что обычную winXP можно переделать в POSEmbedded добавлением ключей в реестр.
Однако, я все это проделал, и результат неудовлетворительный. Возможно, когда то пару лет назад это было актуально. Но сейчас в 2024г запросы идут очень медленно (из за глюков в согласовании безопасности), и в 90% случаев приходит ошибка. Т.е. корректно отрабатывает только один запрос из 10.
Так что, мы у себя решили, что кассы на базе XP - всё. Их заменяем.