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

28.07.20

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

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

Скачать файл

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

См. также

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

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

44000 руб.

28.08.2020    357078    2386    137    

1059

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

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

6000 руб.

27.02.2017    808225    5125    9727    

2922

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

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

55200 руб.

16.08.2019    93341    247    87    

143

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

Автоматизация учета ЕГАИС в 1С для оптовой торговли, производства и импорта. Получение и отправка ТТН, отправка акта о постановке на баланс и акта о списании. Получение остатков. Загрузка и сопоставление номенклатуры и контрагентов. Оправка в ЕГАИС отчетов о производстве и импорте.

828 руб.

15.12.2015    171946    854    368    

404

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

Обработка осуществляет обслуживание ККТ АТОЛ, Штрих, Вики Принт и Меркурий для конфигураций "УТ 10.3", "КА 1.1", "УПП 1.3", "Розница 1.0", "БП 2.0" и других отраслевых решений, построенных на основе указанных выше конфигурациях. Поддерживает возможность параллельно пробития чеков на одной ККМ несколькими пользователями. Поддерживает Веб-сервер Атол. Соответствует требованиям 54-ФЗ. Поддерживает ФФД 1.0, 1.05, 1.1 и 1.2. Разделяет чеки по нескольким СНО. Поддерживает механизмы подключения ККТ по TCP/IP, для работы через RDP или интернет. Поддержка маркировки и разрешительного режима. Поддержка пробития чеков с новыми ставками НДС 5% и НДС 7%.

5880 руб.

25.05.2015    340027    2040    3112    

1056

Обмен с ГосИС Бухгалтер Пользователь 8.3.14 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Ювелирная промышленность и торговля Россия Управленческий учет Платные (руб)

Интеграция для работы 1С с ГИИС ДМДК. Государственная интегрированная информационная система в сфере контроля за оборотом драгоценных металлов, драгоценных камней и изделий из них на всех этапах этого оборота.

65000 руб.

12.04.2022    17184    142    30    

30

Управление взаимоотношениями с клиентами (CRM) Оптовая торговля Розничная торговля Пользователь Платформа 1С v8.3 Оперативный учет Управляемые формы 1С:Управление торговлей 10 1С:Розница 2 Россия Управленческий учет Платные (руб)

Подсистема призвана упростить и автоматизировать процесс расчета и начисления бонусов покупателей. Бонусная система работает с конфигурациями 1С:УТ 10.3, 1С:Розница. Механизм реализован в начале 2013г. и работает до сих пор с постоянными совершенствованиями.

30000 руб.

02.11.2015    113301    102    88    

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

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

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

Это нормально, правильно?
4. markers 278 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)

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

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

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

Ошибка тут:

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

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

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

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

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

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

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

чтобы не двоилось..
10. rabotana 22.08.24 10:39 Сейчас в теме
помоему, строки
| ШтрихкодыУпаковок.Штрихкод
нужно поставить ниже
| ШтрихкодыУпаковок.ОрганизацияЕГАИС

если следовать ссылке с инструкцией по оптимизации
Оставьте свое сообщение