Оптимизация конфигураций при работе с базами данных в формате SQL

Одним из основных принципов архитектуры 1С:Предприятия является одинаковое функционирование конфигурации при работе с базами данных в формате DBF/CDX и базами данных в формате SQL. Это необходимо для широкого распространения единых прикладных решений и обеспечения плавной масштабируемости. Идентичность работы конфигураций в полной мере относится к их функциональной части, но, разумеется, не относится к производительности конкретных режимов и алгоритмов. Типовые конфигурации могут использоваться с любыми версиями 1С:Предприятия от однопользовательских до клиент-серверных. В них выбираются, обычно, алгоритмы и решения обеспечивающие приемлемые показатели при работе с обоими форматами хранения. В то же время, при внедрении или создании конфигурации, которая будет заведомо использоваться с базой данных в формате SQL имеет смысл в отдельных алгоритмах учесть особенности работы различных механизмов 1С:Предприятия в клиент-серверном варианте.

Одним из основных принципов архитектуры 1С:Предприятия является одинаковое функционирование конфигурации при работе с базами данных в формате DBF/CDX и базами данных в формате SQL. Это необходимо для широкого распространения единых прикладных решений и обеспечения плавной масштабируемости. Идентичность работы конфигураций в полной мере относится к их функциональной части, но, разумеется, не относится к производительности конкретных режимов и алгоритмов. Типовые конфигурации могут использоваться с любыми версиями 1С:Предприятия от однопользовательских до клиент-серверных. В них выбираются, обычно, алгоритмы и решения обеспечивающие приемлемые показатели при работе с обоими форматами хранения. В то же время, при внедрении или создании конфигурации, которая будет заведомо использоваться с базой данных в формате SQL имеет смысл в отдельных алгоритмах учесть особенности работы различных механизмов 1С:Предприятия в клиент-серверном варианте.

Основной выигрыш с точки зрения производительности при работе с базами данных в формате SQL достигается за счет применения тех механизмов 1С:Предприятия, которые осуществляют значительный обЪем операций по выборке данных непосредственно на SQL сервере. Так как сам алгоритм встроенного языка всегда отрабатывает на клиентском компьютере, то максимальный выигрыш достигается при использовании обЪектов языка, выполняющих групповую выборку данных в одном вызове метода обЪекта. Список таких обЪектов и режимов в которых они дают серьезные преимущества приведен в документации поставляемой с версиями 1С:Предприятия для SQL в разделе "Производительность системы".

Перед началом оптимизации конфигурации для работы с базой данных в формате SQL следует внимательно ознакомиться с разделом документации "Производительность системы". Далее рекомендуется выделить наиболее узкие с точки зрения производительности участки конфигурации и рассмотреть возможность замены существующих алгоритмов на алгоритмы, которые максимально используют для выборки данных вызовы методов обЪектов, осуществляющих групповую выборку.

Приведем пример. Обычно, одним из узких мест является проведение документов, выполняющих автоматическое списание товаров или материалов. Для автоматического списания используется обращение к текущим остаткам регистра оперативного учета с помощью обЪекта "Регистр" или обЪекта "Запрос". При проведении задним числом будут также рассчитываться итоги на проводимый документ (обЪектом "Запрос" при указании в качестве границы текущего документа, а обЪектом "Регистр" при выполнении временного расчета на текущий документ). Получение итогов по большому количеству товаров, а особенно с расчетом итогов на документ, может выполняться достаточно долго. В алгоритме проведения существует возможность обрабатывать каждый товар документа отдельно или выполнить один запрос (или обращение к регистру) для получения итогов по всем товарам документа, выгруженным предварительно в список значений. В запросе будет использован оператор "В", а при работе с обЪектом "Регистр" установка фильтра. Временный расчет в любом случае имеет смысл, очевидно, выполняться по всем товарам документа, так как многократная обработка движений регистра существенно замедлит выполнение алгоритма (исключение может составлять вариант, когда для измерения регистра "Товар" установлен в метаданных признак отбора). Обработка текущих итогов по списку товаров при использовании обычных версий 1С:Предприятия будет не вполне эффективной, так как время обработки будет зависеть от общего количества итогов по товарам в информационной базе. В то же время, при использовании версий 1С:Предприятия для SQL более производительным будет вариант единовременной выборки всех итогов по товарам документа с помощью запроса с условием или метода "ВыгрузитьИтоги" обЪекта "Регистр" с установкой фильтра. Это обЪясняется тем, что оба эти механизма будут использовать для отбора необходимой информации возможности SQL-сервера и на клиентском компьютере будет выполняться обработка только необходимой информации.

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

При работе с базой данных в формате DBF/CDX выборка может осуществляться как перебором документов обЪектом "Документ" (с поверкой реквизита в алгоритме модуля) так и с помощью обЪекта "Запрос" с соответствующим условием. Причем скорость выполнения обоих алгоритмов будет различаться не существенно (разумеется, если не существует подходящей графы отбора). При использовании версий для SQL использование запроса будет существенно эффективнее, разумеется, если количество выбираемых документов значительно меньше их общего количества в выбранном интервале. При работе с базой данных в формате DBF/CDX обЪект "Запрос" редко используется для выборки элементов справочника. Однако, при использовании версий для SQL применение запроса для отбора элементов справочника по некоторому критерию будет весьма эффективным.

Следует заметить, что при использовании обЪекта "Запрос" для получения существенного выигрыша в версиях для SQL следует придерживаться общих рекомендаций по оптимизации запросов, приведенных в других разделах, так как значительный выигрыш будет достигаться только в том случае, если сам запрос максимально отрабатывает непосредственно на SQL-сервере.

При обращении к бухгалтерским итогам при использовании версий для SQL часто использование метода "ВыполнитьЗапрос" и обращение затем к результатам запроса эффективнее, чем использование отдельных вызовов методов для обращения к остаткам и оборотам.

При обращении к итогам регистров рекомендуется использовать метод "ВыгрузитьИтоги" вместо методов "ВыбратьИтоги" и "ПолучитьИтог", так как метод "ВыгрузитьИтоги" выполняет получение всей необходимой информации с использованием возможностей SQL- сервера.

При необходимости получения некоторой выборки бухгалтерских проводок рекомендуется использовать обЪект "Операция" в режиме "ВыбратьОперацииСПроводками" с максимальным указанием критериев отбора в параметрах метода и методами "ИспользоватьСубконто" и "ИспользолватьКорСубконто". Такая выборка будет существенно эффективнее, чем фильтрация проводок проверками в алгоритме модуля.

(По материалам ИТС фирмы 1С)

Комментарии

2
  • Хранитель_врат
    обзор поверхностный, и все теперь под оптимизацией под sql будут понимать изменение кода в конфигураторе, а есть еще и сам sql server.
    может кто даст рекомендации по этому поводу ?.
  • Хранитель_врат
    уважаемый peka!

    рекомедация тут может быть дана не вам, а господам ис 1с. не надо сидеть между стульев (sql-dbf) делать надо одну версию - sql и под нее оптимизировать все. проблемы 1с привнедрении такого решения состоят в том, что им приется раскрыть карты и показать, что стоимость их решения совсем не та что в прайсе. на чем строиться маркетинговая политика 1с - народной бухлалтерской программы в ценовой политике. версия sql существенно удорожит продукт (раза в два точно). но если собрать в итоге те деньги, которые предприятие платит за внедрение (стоимость решения) то здесь цифры будут отличаться немного. зато какая скорость! сколько денег удасться сохранить для бизнеса.
    пример. напутали менеджеры чтото в системе. нужно провести документы по новой за неделю. чистое время 18 часов (2xpiii 1000, 256 sql). самопальная система в той же конфигурации м тем же сервером бд при подключенныз 120 пользователях возвращает успешное завершение операции за 5-10 минут.
Интервью

ТоТ еще разговор. Андрей Матюха: Трюфель, юдзу, пондзу

Продолжаем беседу с предпринимателями в рамках проекта «ТоТ еще разговор». Сегодня в гостях Андрей Матюха – шеф-повар, автор и совладелец краснодарских ресторанов: The Печь, Угли-Угли и Племя, которые стабильно попадают в ресторанные рейтинги, а также гриль-бар Ребрышки и Бедрышки, который открылся совсем недавно.

4
Обзоры новостей

Лишение льгот за дорогую аренду жилья, проблемы Прилучного, налог на парковки в обзоре

Финансовые события дня.

Готовим сани летом. На что решиться в 2025 году: остаться на УСН, выбрать ставку 5%, 20% или переходить на ОСНО? 🛷 «Ночной бухгалтер» № 1726

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

Иллюстрация: Вера Ревина / Клерк.ру

Курсы повышения
квалификации

18
Официальное удостоверение с занесением в госреестр Рособрнадзора

С 19 июля воспользоваться картой Union Pay от РСХБ заграницей будет нельзя

Россельхозбанк с 19 июля приостановит расчеты по картам UnionPay за границей. Клиентам предложили снять деньги с карт.

Лицензирование

Как переоформить лицензии при слиянии юридических лиц

При слиянии юридических лиц можно продолжать осуществлять лицензируемую деятельность, но при этом лицензию нужно переоформить.

Как переоформить лицензии при слиянии юридических лиц
Бесплатно с Аренда

Аренда: что нужно раскрыть в учетной политике

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

Аренда: что нужно раскрыть в учетной политике
Опытом делятся эксперты-практики, без воды
НДФЛ

Командированные за границу для строительства АС все равно будут налоговыми резидентами РФ

Физлица, которые в течение года были в России менее 183 дней, являются нерезидентами РФ. Но есть исключения для ряда случаев. Таких исключений станет больше.

Мошенники обманывают сотрудников таможни

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

Регистрация ООО

По какой причине в ЕГРЮЛ может не быть адреса юрлица

Для целей госрегистрации юрлиц используется адрес из Государственного адресного реестра (ГАР) в структуре муниципального деления.

Налоговый мониторинг

Что такое налоговый мониторинг и как его проводят в 2024 году

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

Что такое налоговый мониторинг и как его проводят в 2024 году
1
Маркетинг

22 Сервиса, которые изменят ваш бизнес — автоматизация маркетинга, которая работает

Приветствуем вас, уважаемые предприниматели, руководители, маркетологи! Сегодня у нас особенный обзор, который представит топ незаменимых онлайн помощников, готовых поддержать вас на пути к успеху в вашем бизнесе.

22 Сервиса, которые изменят ваш бизнес — автоматизация маркетинга, которая работает
Самозанятые

Если ИП переходит на НПД без отказа от УСН, его самозанятость рано или поздно аннулируют

При переходе с УСН на НПД обязательно надо направить в ИФНС уведомление о прекращении деятельности по упрощенке. Если не сдать этот документ, постановка на учет по НПД аннулируется. Это произойдет рано или поздно. Как правило – поздно.

УСН

👀 Что выгоднее бизнесу на УСН в 2025 году: НДС 5%, 20% или переход на ОСНО + мнение налогового эксперта

С 2025 года бизнес на УСН с доходами свыше 60 млн рублей будет платить НДС. Можно выбрать ставку как на ОСНО – 20% или вовсе перейти на ОСНО, а можно выбрать ставку 5% без права на вычет.

Карьера бухгалтера

Самые востребованные навыки аналитика 1С: обзор вакансий с зарплатой 150+ тыс. рублей

Что должен уметь аналитик 1С, чтобы рассчитывать на высокий доход? Мы проанализировали вакансии и выделили требования, которые работодатели чаще всего предъявляют к кандидатам на должность. Разбираемся, какие скилы нужно подтянуть, чтобы получить заветное место.

Самые востребованные навыки аналитика 1С: обзор вакансий с зарплатой 150+ тыс. рублей
Маркетинг

Торговым сетям запретят взимать вознаграждение с поставщиков яиц

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

Заявление на открытие компании должно быть подписано одним из трех способов

Подпись заявителя на заявлении при госрегистрации юрлица при его создании должна быть засвидетельствована.

Приостановление Росреестром госрегистрации можно будет обжаловать не в суд

Совет Федерации одобрил разработанным Росреестром закон о внесудебном обжаловании приостановления регистрации права.

УК РФ

Окончательно решен вопрос о мере пресечения одному из руководителей «Локалкитчен»

Мосоргсуд оставил без изменения меру пресечения одному из руководителей «Локалкитчен» по делу о массовом отравлении готовой едой, приведшем к бутулизму.

Цифровой рубль

Путин: цифровой рубль нужно использовать в разных сферах

Тестовая группа провела свыше 30 тысяч операций с цифровым рублем. Помимо внедрения новой формы валюты в России будут заниматься развитием цифровых активов.

Интересные материалы

Банковские карты

Розыгрыш трех именных карт банка Казахстана

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