При проведении регламентного документа Расчет себестоимости выпуска (РСВ) в конфигурации «1С:Управление производственным предприятием 1.3» бухгалтеры и системные администраторы нередко сталкиваются с ситуацией, когда документ начинает выполняться аномально долго. Особое внимание привлекают повторяющиеся операции «Распределение косвенных расходов по переделам» и «Расчет затрат встречного выпуска по переделам». В нормальном режиме каждая последующая итерация этих операций должна завершаться быстрее предыдущей, так как суммы распределения уменьшаются. Однако при возникновении сбоев все итерации выполняются с одинаковой длительностью, а процесс затягивается на многие часы без выдачи сообщений об ошибках.
Рассмотрим подробно причины возникновения этой проблемы и проверенные способы её устранения.
Одной из наиболее частых причин зависания итерационных расчетов является рассогласование накопленных итогов в регистрах накопления и сведений платформы 1С. В процессе ежедневной работы с большим объемом документов таблицы итогов могут рассинхронизироваться с фактическими записями. В результате механизм расчета себестоимости начинает выбираться из базы лишние или корректно не закрытые данные на каждой итерации.
Решением данной проблемы является проведение процедуры Тестирование и исправление информационной базы. Рассмотрим порядок действий по шагам:
Важное предупреждение: Не следует без крайней необходимости выбирать пункт Реструктуризация таблиц информационной базы на больших рабочих базах. Реструктуризация представляет собой полное пересоздание таблиц базы данных. На крупной базе УПП этот процесс может занять очень много времени и в случае сбоя привести к неработоспособности базы. Для сжатия и оптимизации таблиц предпочтительнее использовать выгрузку/загрузку информационного дампа (файл .dt) или штатное обслуживание средств СУБД MS SQL Server.
В конфигурации 1С:УПП 1.3 расчет встречного выпуска осуществляется итерационным методом (методом последовательных приближений). Если в текущем месяце возникла кольцевая (циклическая) технологическая цепочка — например, полуфабрикат А используется для выпуска продукции Б, а остатки или брак продукции Б повторно списываются на выпуск А, — итерационный алгоритм может попасть в замкнутый круг.
При зацикливании суммы на каждом шаге не сходятся к нулю, и алгоритм выполняет максимально допустимое количество итераций с одинаковой продолжительностью. Чтобы выявить и устранить кольцевую зависимость, проанализируем следующие варианты:
Встречный выпуск продукции. Для закольцованных позиций следует явно задать фиксированную или расчетную стоимость, чтобы раззорвать замкнутый круг.Анализ распределения производственных затрат для выявления узлов, где затраты возвращаются на те же номенклатурные группы и подразделения.Установка порядка закрытия подразделений.Если на подразделении или номенклатурной группе накопились косвенные расходы (например, общепроизводственные или общехозяйственные затраты), но в текущем периоде по данной аналитике не зарегистрирован выпуск продукции или отсутствуют показатели для базы распределения (оплата труда, материальные затраты и т.д.), алгоритм распределения совершает «холостые» ходы.
Для диагностики рассогласования аналитики выполним следующие действия:
Ведомость по производственным затратам с группировкой по подразделениям, номенклатурным группам и статьям затрат. Найдём статьи, по которым есть остатки, но отсутствуют выпуски.Способы распределения статей затрат организаций. Если база распределения по статье равна нулю, измените способ распределения или скорректируйте аналитику списания затрат.Если база данных работает под управлением MS SQL Server, причина замедления часто кроется в неактуальной статистике оптимизатора запросов. При итеративном расчете себестоимости документ Расчет себестоимости выпуска активно создает и удаляет временные таблицы в базе tempdb. Если статистика устаревает прямо во время проведения документа, SQL Server начинает строить неэффективные планы выполнения запросов.
Для предотвращения проблем со стороны СУБД выполним комплексное обслуживание:
UPDATE STATISTICS [ИмяБазыДанных] WITH FULLSCAN;
tempdb.Если документ Расчет себестоимости выпуска зависает на операциях распределения косвенных расходов и встречного выпуска, рекомендуется придерживаться следующего порядка действий: