Управленческий учет, даже если предприятие самое что ни на есть честное, отличается от бухгалтерского, а тем более от налогового. Многие крупные компании, внедрившие у себя комплексные продукты (УПП, КА, ERP и т.п.), были вынуждены значительно изменить управленческий учет (или его видение на этапе макетирования) под влиянием регламентированного учета. Найти баланс между требованиями бизнеса и регламентированным учетом довольно сложно. Первый, как правило, требует много изменений в типовые конфигурации. И мы можем не принимать во внимание выпуск новых версий с исправлением ошибок, добавлением нового функционала, так как для этого у нас уже есть устоявшаяся система учета, которая покрывает потребности. Но с регламентированным учетом так не получается. Изменений тут более чем предостаточно (ходит даже такая шутка: агенты 1С есть во всех госорганах и в доле за изменения форм отчетности, бланков, сроков и т.п.). Действительно, 1С оперативно выпускает изменения, связанные с регламентированным учетом. И здесь возникает самая большая проблема: как «накатить» изменения, не тронув устоявшийся рабочий механизм? Особенно это актуально для организаций, работающих 24/7, где простой даже в полчаса может очень дорого стоить компании. | ||
Многие компании пошли по пути полного разделения управленческого и регламентированного учета. Да, такой подход требует бОльших начальных затрат, написание дополнительных обменов, регламентов, но в долгой перспективе он выгоднее. Трудозатраты на обновление «типовой» бухгалтерии незначительные, и при этом не останавливается основной рабочий процесс. Максимум, что дополнительно потребуется, это «допиливание» обмена для какого-нибудь нового реквизита. Есть еще один немаловажный пункт — бухгалтерия может ждать, и задержка данных даже на несколько дней не остановит общий процесс. В таких предприятиях, как правило, регламентированный учет упрощен до минимума. С ростом предприятия увеличивается документооборот, и если в управленческой базе с наступлением таких проблем можно изменить структуру, разделить базы (например, по складам, и получать сводную отчетность менее детализировано), то с регламентированным учетом все сложнее: сильно изменять конфигурацию нельзя, но по скорости работа уже не удовлетворяет. К примеру, на момент обращения представителей крупного интернет-магазина в ООО «Кодерлайн» с просьбой помочь с оптимизацией регламентированного учета в программе «1С:Бухгалтерия 2.0», количество документов «Реализация товаров и услуг» доходило у них до 8000–10 000 в день, а проведение месяца занимало более двух дней. | ||
Перед нами поставили две основные задачи: | ||
|
||
Задача относительно простая, но второй пункт связывает руки и полет фантазии. Было решено разделить задание: | ||
|
||
Создание каждого объекта документа опрашивает константы. Кроме того, что само получение объекта вызывает обращение к БД, так и получение констант, например, валюты учета, занимает сопоставимое с ним время. А как часто меняется валюта регламентированного учета? Первое что было сделано, это переопределен вызов на получение констант в дополнительный модуль повторного использования. Благодаря уменьшению количества обращений к базе данных только на константах был получен прирост около 3–5%. Затем последовали переопределение на этот же модуль получения часто используемых реквизитов (например, получение «Головной организации»: при проведении каждой проводки обращение минимум 2 раза) и отключение лишних проверок в типовом функционале (например, проверки дат запрета редактирования для некоторых регистров, вызовов подсистемы обмена и т.п.). За счет всего вышеперечисленного нам удалось увеличить производительность и уменьшить время проведения документов на 15%. Нами был проведен анализ быстродействия существующего нетипового функционала (программных модулей, написанных сторонними организациями). В результате проведенных работ по оптимизации нетипового функционала удалось добиться уменьшения времени проведения еще на 10%. | ||
В итоге добились прироста производительности приблизительно на 25%. Кто-то может возразить, что мало, но при поставленных ограничениях на изменения конфигурации — это очень даже много. И заметьте, без изменений аппаратной части. А сколько бы стоило upgrade «железа» для такой производительности? Еще один немаловажный момент: чисто технически можно обновить конфигурацию несмотря на изменения, для бухгалтерии ничего не поломается и будет работоспособно, позже можно снова внести эти изменения. | ||
Технические моменты оптимизации программы "1С:Бухгалтерия 2.0" |
||
В общем модуле “Общиймодуль.Бухгалтерскийучет” для уменьшения количества обращений к базе данных произведено перенаправление на модуль повторного использования | ||
ДО: |
||
Функция ЭтоСубсчет( Субсчет, Счет) Экспорт
Если НЕ ЗначениеЗаполнено(Субсчет) Тогда Возврат Ложь; КонецЕсли; Возврат ( Субсчет.ПринадлежитЭлементу(Счет) ИЛИ Субсчет = Счет); КонецФункции
|
||
ПОСЛЕ: |
||
Функция ЭтоСубсчет( Субсчет, Счет) Экспорт
Возврат ПолучениеЗначенийПовтИсп.ЭтоСубсчет( Субсчет, Счет); Если НЕ ЗначениеЗаполнено(Субсчет) Тогда Возврат Ложь; КонецЕсли; Возврат ( Субсчет = Счет ИЛИ Субсчет.ПринадлежитЭлементу(Счет) ); КонецФункции |
Полный вариант статьи с кодом 1С - ЗДЕСЬ Если есть вопросы по оптимизации программы “1С:Бухгалтерия” - обращайтесь! |
||
Александр Логачев, руководитель отдела разработки ООО “Кодерлайн” |