Ускоряем поиск по акцизной марке ЕГАИС в 1С:Розница 2.3.5

28.07.20

Задачи пользователя - Поиск данных

Ускоряем поиск по акцизной марке ЕГАИС (для целей эксперимента было сгенерировано 1 000 000 кодов акцизных марок ЕГАИС нового формата).

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование SM По подписке [?] Купить один файл
Ускоряем поиск по акцизной марке ЕГАИС в 1С:Розница 2.3.5: готовое расширение
.cfe 5,58Kb
6
6
1 SM
Скачать Купить за 1 850 руб.

До одного сообщения на форуме не задумывался даже о том, что поиск по марке может быть долгим, так как под рукой не было баз с большим количеством акцизных марок. Отладчик показывал упорно, что большая часть времени тратится на заполнение остатка в РМК при подборе по марке. Поэтому решил наполнить базу, сгенерировав некоторое количество марок, добавив их в справочник "Штрихкоды упаковок и товаров", а также статус "В наличии" в регистр сведений "Акцизные марки ЕГАИС".

Итак, для целей эксперимента было сгенерировано 1 000 000 кодов акцизных марок ЕГАИС нового формата. База используется файловая, компьютер вполне посредственный, файл базы располагается на HDD.

Посмотрим, на что 1С тратит больше всего времени при сканировании акцизной марки ЕГАИС в РМК:

Это результат запроса, который возвращает нам "специфику" алкогольной продукции: код марки, статус, какой организации принадлежит марка и т.д.

Собственно, сам текст запроса располагается в общем модуле "ШтрихкодированиеЕГАИС" в функции "ТекстЗапросаПолученияСпецификиДанныхШтрихкодов":

 
 Листинг запроса

Сам запрос ничего сверхъестественного не представляет. Однако, если посмотреть внимательно на индексирование, порядок полей в связях таблиц и порядок измерений регистра сведений "Акцизные марки ЕГАИС", то приходим к выводу, что есть куда стремиться) А именно, порядок индексов должен быть строго в последовательности

  • ОрганизацияЕГАИС
  • АкцизнаяМарка

По сути, разработчики забыли про статью Типичные причины неоптимальной работы запросов и методы оптимизации, а именно:

 
 Выдержка из статьи

Ну что ж, давайте поменяем порядок полей индекса и порядок связей:

 
 Измененный текст запроса (для расширения)

Перезапускаем 1С, заходим в РМК, включаем замер производительности и сканируем акцизную марку:

Думаю, в дополнительных комментариях нет смысла) Вывод: используйте индексы правильно!

Желающие могут скачать расширение или использовать готовый текст исправленной функции:

 
 Листинг готовой функции

 

См. также

Бюджетный учет Обмен с ГосИС Бухгалтер Пользователь Бухгалтерский учет 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 1С:Управление холдингом Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Управляйте учетной политикой раздельного учета ГОЗ в 1С:Бухгалтерия 3.0 ПРОФ/КОРП и УХ 3.2. Отчеты по исполнению госконтрактов, расчетно-калькуляционные материалы и контроль операций для исполнения в срок. Готовое расширение подходит для всех бухгалтеров и руководителей производства, помогая вести правильный учет по гособоронзаказу в соответствии 275-ФЗ. Профессиональный консалтинг и регулярные обновления продукта.

28.08.2020    228588    1829    vvmanannikov    134    

910

Обмен с ГосИС Программист Платформа 1С v8.3 Конфигурации 1cv8 Оптовая торговля, дистрибуция, логистика Россия Управленческий учет Платные (руб)

Универсальная конфигурация ХамелеонЗерно для взаимодействия с системой ФГИС Зерно (тестовый+рабочий контур) может использоваться для интеграции в любую конфигурацию на базе 1С, версии ПРОФ и выше. Работа через API 1.0.7 и на API 1.0.8. Для удобства реализован общий интерфейс в виде обработки, схожей с интерфейсом ФГИС Зерно, но возможностей гораздо больше, т.к. при интеграции в Вашу учетную систему, можно на основании Ваших справочников и документов, создавать соответствующие документы и справочники в системе ФГИС Зерно и наоборот.

20400 руб.

27.06.2023    3855    19    0    

16

Оптовая торговля Розничная торговля Обмен с ГосИС Бухгалтер Платформа 1С v8.3 1С:Управление торговлей 10 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Рестораны, кафе и фаст-фуд Россия Бухгалтерский учет Управленческий учет Акцизы Платные (руб)

Полнофункциональное расширение (ранее известное как Модуль 1С-ЕГАИС) для взаимодействия типовых конфигураций 1С и ЕГАИС, предоставляющее максимум возможностей по работе с УТМ. Получение и отправка ТТН, отправка акта о постановке на баланс и акта о списании. Получение остатков. Загрузка и сопоставление номенклатуры и контрагентов. Оправка в ЕГАИС отчетов о производстве и импорте.

8970 руб.

15.12.2015    168645    795    364    

394

ККМ Кассовые операции Розничная торговля Системный администратор Программист Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Бухгалтерия государственного учреждения 1С:Бухгалтерия 1.6 1С:Бухгалтерия автономного учреждения 1С:CRM ПРОФ, КОРП Россия Платные (руб)

Универсальная обработка для обслуживания любых фискальных регистраторов (ККТ), в том числе Веб сервер АТОЛ. Работает в соответствии с 54-ФЗ. (ФФД 1.0, ФФД 1.05, ФФД 1.1). Подключайте любую онлайн кассу к практически любой конфигурации. Нет необходимости обновлять 1С. Можно бесплатно скачать и протестировать. Может работать одновременно с несколькими онлайн-кассами, либо одной с разных рабочих мест. (через RDP, TCP\IP или веб-сервер) Позволяет разделить один чек сразу на несколько ККТ или на несколько систем налогообложения. Поддерживает разрешительный режим. Можно настроить собственный шаблонов чека. Можно использовать эквайринг там, где он не поддерживается. Работает на LINUX и Windows ЭМУЛЯТОР + ЭКВАЙРИНГ + МАРКИРОВКА + ПОДДЕРЖКА ФФД 1.2

6000 руб.

27.02.2017    787971    4749    9507    

2816

Бюджетирование и планирование Оптовая торговля Розничная торговля Логистика, склад и ТМЦ Анализ продаж Пользователь Платформа 1С v7.7 Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Беларусь Украина Россия Казахстан Управленческий учет Платные (руб)

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

28500 руб.

21.04.2017    93608    119    40    

210

Бюджетный учет Обмен с ГосИС Бухгалтер Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Государственные, бюджетные структуры Россия Бухгалтерский учет Платные (руб)

Доработка конфигурации 1С: Бухгалтерия предприятия, редакция 3.0. Предназначена для ведения раздельного учета и автоматизации заполнения отчетности исполнения контрактов ГОЗ в конфигурациях 1С БП КОРП, ПРОФ, БИТ.ФИНАНС.

30000 руб.

16.08.2019    89852    216    86    

134

Обмен с ГосИС Бухгалтер Платформа 1С v8.3 Бухгалтерский учет 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Обработка для обмена платежными документами в формате xml для системы Федерального казначейства "Электронный бюджет" из конфигураций 1С. Поставляется для БП 3.0 Работа только с контрагентами.

15000 руб.

14.10.2020    61054    376    101    

298

Розничная торговля Маркетплейсы Программист Платформа 1С v8.3 1С:Розница 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Розничная и сетевая торговля (FMCG) Россия Управленческий учет Платные (руб)

Модуль для интеграции 1С с сервисом СберМаркет/Купер. Предназначен для обмена данными из торговых точек розничных сетей из баз данных 1С в базы данных СберМаркет/Купер, для отображения информации по товарам, остаткам, ценам, заказам и статусам заказов. Позволяет оперативно начать работать с сервисом СберМаркет, существенно повысить продажи и лояльность клиентов.

35000 руб.

14.10.2022    8698    15    14    

11
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. mikitondom 23 18.08.20 21:17 Сейчас в теме
Отличный разбор и эффект.
Еще бы как то порешать проблему транзакций обмена при записи-
пробитии чека..)
2. user594182_igorhi 20.09.20 07:40 Сейчас в теме
Здравствуйте.
Устанавливать через Администрирование\Инернет-сервисы...\Обновление программ...\Обновление из файла...?
Выскочила ошибка:

При установке исправления хасУскорениеПоискаПоМарке произошла ошибка:

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

Это нормально, правильно?
4. markers 277 30.09.21 03:22 Сейчас в теме
(2) Нормально и правильно, так как у вас базовая версия. Установка расширений конфигураций сторонних, возможно только в версии ПРОФ
3. Stason13 10.11.20 18:59 Сейчас в теме
Для сигарет такого нет?))
5. CrimeanWind 17.12.21 15:34 Сейчас в теме
С вами можно связаться по поводу расширения при закрытии чека и при сканировании в РМК, доработать под новую розницу? Нужно срочно, оплата соответственно. Спасибо
6. kote 537 25.08.22 16:48 Сейчас в теме
(0)

Вы серьёзно нарушили логику работы запроса.

Как только возникнет ситуация, когда марки в базе нет - ваш запрос вернёт неверную (первую попавшуюся) акцизку..

В итоге, ЕГАИС либо не пропустит, либо уйдет неверная марка и возможен нехилый штраф..

Ошибка тут:

    #Удаление // Было - верни акцизку, не привязанную к организации..
    |        ПО ШтрихкодыУпаковок.АкцизнаяМарка = АкцизныеМаркиЕГАИС.АкцизнаяМарка
    |        И ШтрихкодыУпаковок.ОрганизацияЕГАИС <> АкцизныеМаркиЕГАИС.ОрганизацияЕГАИС
    #КонецУдаления
    #Вставка // Стало - верни первую акцизку, привязанную к организации.
    |        ПО ШтрихкодыУпаковок.ОрганизацияЕГАИС = АкцизныеМаркиЕГАИС.ОрганизацияЕГАИС
    |        И ШтрихкодыУпаковок.АкцизнаяМарка <> АкцизныеМаркиЕГАИС.АкцизнаяМарка
    #КонецВставки

Показать
7. RocKeR_13 1345 25.08.22 17:29 Сейчас в теме
(6) Добрый день! Спасибо за внимательность, действительно, в этой части запроса порядок условий поменял, а вот знаки сравнения оставил прежними.
8. kote 537 26.08.22 07:43 Сейчас в теме
(7) думаю, что как только исправите ошибку - запрос начнёт тормозить как и раньше.

Тормоза возникают там по другой причине - условие <> приводит сканированию без индекса, мне кажется..

Тут лучше полностью заменить запрос - отобрать сначала все записи в временную таблицу по условию равенства Акцизки,
потом уже отобрать с организацией ЕГАИС и без (надеюсь, понятно обьяснил)

Если будете тестировать -- отпишитесь, пожалуйста, как стало, любопытно )
9. kote 537 26.08.22 08:54 Сейчас в теме
(8) .. или закомментировать:
	|		И ШтрихкодыУпаковок.ОрганизацияЕГАИС <> АкцизныеМаркиЕГАИС.ОрганизацияЕГАИС

в предпоследней строчке,
и поменять в последнем запросе
ОБЪЕДИНИТЬ ВСЕ

на
ОБЪЕДИНИТЬ

чтобы не двоилось..
Оставьте свое сообщение