Оптимизация конфигураций при работе с базами данных в формате 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 минут.

Станет больше трудовых гарантий для тех, кто предоставлен частными кадровыми агентствами

Для частных кадровых агентств занятости в ТК установят ряд запретов, а персоналу на аутстаффинге дадут права и гарантии, как у штатных работников.

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

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

РПД, Fasta и Кнап — что лучше для бухгалтера? Обзор программ

В наше время, бухгалтеры стали ключевыми участниками в управлении финансами компании, а выбор правильного программного обеспечения стал неотъемлемым фактором эффективности их работы. Рассмотрим популярные на рынке программы РПД, Fasta и Knap и попробуем определить, что лучше для бухгалтера.

Общество

Володин заверил, что цифрового рабства не будет

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

Лучшие спикеры, новый каждый день

Цифра дня. Про бухгалтеров

С начала года спрос на специалистов в сфере бухгалтерии и финансов вырос в 1,5 раза.

Цифра дня. Про бухгалтеров

С 1 июля начнется новый эксперимент по маркировке алкоголя. Он распространится на коктейли

Производители алкогольной продукции крепостью до 9% будут наносить маркировку на акцизную марку напитков.

Бесплатно с Больничные

Сколько дней оплачивается по больничному листу на заболевшего ребенка в 2024. Мини-курс

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

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

Зачем нужен логотип для бизнеса и как он помогает в продвижении?

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

Банки

Росфинмониторинг разрешил открывать счета без визита в банк

Если клиент уже открывал счет и лично присутствовал в банке, то он сможет дистанционно завести счет в другой кредитной организации.

В ТК пропишут полноценную альтернативную возможность предоставления персонала

Депутаты уточнят процедуру временного перевода к другому работодателю с приостановлением первоначального трудового договора.

Что такое криптовалюта простыми словами и как она работает

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

Иллюстрация: theshubhamdhage/unsplash
УСН

😱 Суперцена на коллекцию курсов по УСН! Три онлайн-курса за 7 490 рублей!

В коллекции курсов по УСН есть все, чтобы вырасти до главбуха на УСН. Вас ждет много полезного материала, детальный разбор рабочих задач и много практики под руководством преподавателей «Клерка». Сейчас вы можете купить коллекцию из трех курсов дешевле, чем купили бы любые два по отдельности!

Остатки маткапитала предлагают выдавать семьям

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

Миникурсы, текстовые и видеоинструкции для бухгалтеров

Теневые IT: как неконтролируемые технологии влияют на безопасность компании

Каждая десятая компания в мире сталкивалась с киберинцидентами из-за теневых ИТ. Рассказываем, что это такое, какие риски несет и как их снизить.

Теневые IT: как неконтролируемые технологии влияют на безопасность компании

Проверок работодателей станет больше: соглашения приравняют к закону

Роструд получит полномочие проверять выполнение работодателями обязательств по трехсторонним соглашениям.

В 2026 году госзакупки будут полностью переведены в электронный формат

Минфин выполнил все задачи для повышения эффективности бюджетных расходов, остается только завершить начатые проекты.

95% льгот по имущественным налогам предоставляют без заявлений

Больше 5 лет ФНС применяет проактивный он же беззаявительный порядок предоставления налоговых льгот по налогам на имущество физических лиц.

Общество

Минтруд хочет увеличить прожиточный минимум до 17,7 тысяч рублей

Размер прожиточного минимума скорректируют с учетом медианного дохода населения за 2023 год. Сейчас ПМ составляет 15 453 рубля.

Конвертация одной валюты в другую с использованием счета 57.22 в 1С:Бухгалтерии предприятия ред. 3.0

Расчеты в иностранной валюте далеко не просты, а в нынешнее санкционное время стали еще сложнее. Многие организации вынуждены применять конверсионные операции в своей хозяйственной деятельности. Что это такое простыми словами и как они отражаются в 1С:Бухгалтерии предприятия ред. 3.0 расскажем в этом материале. 

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

Что такое рентабельность продаж

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

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

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

🔫 Межведомственные спецкомиссии будут пресекать задержку зарплат. Привлекать к ответственности не могут, но будут дисциплинировать, поясняет эксперт

Для борьбы с задержкой выплаты заработной платы предпримут новые меры. Они будут прописаны в ТК.