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

28.07.20

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

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

Файлы

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

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

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

Вступайте в нашу телеграмм-группу Инфостарт

См. также

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

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

30000 руб.

28.08.2020    488006    3060    140    

1233

ККМ Кассовые операции Розничная торговля Системный администратор Программист 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    862674    5690    9988    

3106

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

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

61200 руб.

16.08.2019    98954    287    91    

168

ККМ Кассовые операции Розничная торговля Системный администратор Программист 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%.

7900 руб.

25.05.2015    360621    1573    3157    

1131

Обмен с ГосИС Бухгалтер Пользователь 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С с ГИИС ДМДК. Государственная интегрированная информационная система в сфере контроля за оборотом драгоценных металлов, драгоценных камней и изделий из них на всех этапах этого оборота.

72000 руб.

12.04.2022    23413    186    34    

49

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

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

8970 руб.

15.12.2015    178720    1186    374    

414
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. mikitondom 24 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 1457 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 Сейчас в теме
помоему, строки
| ШтрихкодыУпаковок.Штрихкод
нужно поставить ниже
| ШтрихкодыУпаковок.ОрганизацияЕГАИС

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