Проведение документа Расчет себестоимости выпуска (РСВ) в конфигурации «Управление производственным предприятием 1.3» — одна из самых ресурсоемких операций закрытия месяца. Нередко бухгалтерии требуется запускать перерасчет неоднократно в течение рабочего дня для поиска ошибок, корректировки баз распределения и выверки незавершенного производства (НЗП). В этот момент оперативная работа пользователей может полностью парализоваться: возникают таймауты и блокировки даже при проведении несвязанных документов, таких как ЗаказПокупателя или РеализацияТоваровУслуг.
Проанализируем технические причины возникновения конфликтов доступа и разберем практические варианты организации закрытия месяца без остановки работы предприятия.
Чтобы выбрать правильный метод устранения проблемы, выясним причину, почему фоновое или интерактивное проведение РСВ блокирует работу пользователей:
Рассмотрим архитектурное решение. В отличие от классического партионного учета, режим РАУЗ не использует классические границы последовательностей документов и работает по принципу математического решения систем линейных уравнений по регистрам УчетЗатрат.
В режиме РАУЗ проведение документов оперативного контура в течение месяца делает только количественные движения, не обращаясь к партионным таблицам стоимости. Это позволяет выполнять расчет себестоимости выпуска с минимальным воздействием на проведение документов реализации и заказов.
Для дополнительного ускорения расчета в РАУЗ убедимся, что на сервере 1С зарегистрирована и используется штатная внешняя C++ компонента для решения СЛАУ (систем линейных алгебраических уравнений), которая выполняет математические итерации значительно быстрее встроенного языка 1С.
Разберем по шагам, как избавиться от одной длинной монопольной транзакции. Вместо создания одного документа РСВ со всеми включенными флагами создадим несколько отдельных документов Расчет себестоимости выпуска за один и тот же отчетный период, разделив операции на смысловые этапы:
Такое разделение разбивает 20-минутную блокировку на несколько коротких транзакций по 2–4 минуты. В промежутках между проведением этих документов оперативные менеджеры успевают беспрепятственно провести свои документы.
Для устранения эскалации блокировок на уровне СУБД проанализируем режим управления блокировками. В свойствах конфигурации и критических регистров (регистры учета затрат, накопления остатков партий, взаиморасчетов) переведем режим управления блокировкой в Управляемый.
При управляемом режиме блокировок платформа накладывает блокировки исключительно на уровне конкретных записей пространства данных, благодаря чему чтение остатков и создание документов ЗаказПокупателя не конфликтует с расчетом производственных затрат.
Если в базе развернуты внешние надстройки (например, БИТ.ФИНАНС или трансляция в МСФО), онлайн-формирование движений по параллельным планам счетов многократно увеличивает время блокировки таблиц. Отключим онлайн-трансляцию на время выполнения регламентных процедур закрытия месяца и перенесем формирование движений бюджетирования в фоновый регламентный режим после завершения РСВ.
Если на предприятии жестко используется партионный учет, база имеет огромный объем и проведение длится несколько часов, применим методику расчета на отдельном контуре:
Чтобы избежать многократных перезапусков расчета себестоимости в течение рабочего дня, настроим регламент предварительной проверки учетных данных. До запуска документа РСВ бухгалтеру следует формировать отчеты экспресс-проверки: поиск отрицательных остатков на складах и в производстве, проверка корректности заполнения аналитики выпуска и номенклатурных групп. Устранение ошибок до проведения документа исключает необходимость регулярного повторного пересчета в часы пиковой нагрузки пользователей.