Сокращения:

В зависимости от учетной политики расчета себестоимости схема (топология) движения материально-денежных средств может быть самой разнообразной.
Рассмотрим один из примеров на уровне Счетов.

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

Уровни содержат этапы.
Этапы содержат документы.
ПодЭтапы служат для сортировки документов внутри этапа.
Все документы соотносятся с некоторым этапом.
Расположение этапов в списке задает последовательность расчета.
Рассмотрим два варианта (подхода) к заданию последовательности расчета себестоимости.
Первый. Код этапа 25. Этот код указываем всем документам счета 25. Тогда в ОСВ по счету 25 увидим все закрытые узлы.
Второй. Код АТ. Этот код указываем всем документам закрытия счетов подразделения АТЦ. Тогда увидим, что АТЦ закрыт по всем счетам.
На рис. выше видим документы этапа АТ. Они будут выполнены в сортировке по подэтапам.
Очередность выполнения этапов задается порядковым номером в списке этапов (стрелки перемещения).
При нажатии кнопки Выполнить будут выполнены этапы, для которых взведен флаг в колонке выполнить.

Этапы собираются в уровень. Уровень служит для удобства просмотра его этапов.
Для уровня можно задать параметр расчета всех его этапов – в режиме СЛАУ.
Колонка ветвь задает этапы, которые нужно выполнить параллельно (на практике используется редко).

Каждый этап тоже можно рассчитать в режиме СЛАУ или итерационным методом.
Метод расчета СЛАУ в 1С – очень хороший. Но на больших объемах при отрицательных диагональных элементах дает сбой.
Поэтому для этапа есть выбор указать количество итераций или рассчитать себестоимость услуг подразделений этапа методом СЛАУ.
Можно также рассчитать пакет уровней в режиме СЛАУ. Этот режим позволяет не задумываться о траекториях движения ресурсов.
То есть все документы участвуют в расчете методом СЛАУ.
Последовательность создания подсистемы расчета себестоимости.
-
Определение баз распределения для каждого узла
-
Определение этапов расчета
-
Создание документов для закрытия каждого узла (узлов) с указанием кода этапа (подэтапа)
-
Создание ТЧ этапов с порядком их выполнения.
-
Указание режима СЛАУ для нужных этапов, уровней или просто взвести флаг – Расчет пакета СЛАУ.
Подсистема реализована на расширении. Типовая конфигурация остается полностью на поддержке поставщика.
То есть на обновления типовой нет никакого влияния.
Первые два уровня типовые (обязательные для всех организаций). Можно исключить расчет себестоимости покупных.

Последние два уровня тоже типовые.

Остальные уровни, этапы и содержимое этапов (документы) – подлежат проектированию.
В начале проектирования отрабатываются все документы в ручном варианте. После проведения документа узел должен быть закрыт (остаток = 0).
По мере отработки узлов может выяснится, что узел уже не закрыт. Это значит от следующих настроенных узлов пришли суммы.
Это нормально. После настройки документов устанавливаем расчет СЛАУ для этапа, уровня или всех уровней (режим Пакет).
Уровням можно задать цвета:

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

Резюме:
Функционал подсистемы позволяет пользователю настроить сложный вариант расчета себестоимости.
Доработки, возможно, будут нужны для самых сложных БР (их можно поместить в классы и/или справочник, не заходя в конфигуратор, есть шаблоны, примеры).
В отличие от типовых конфигураций пользователь «чувствует на кончиках пальцев» движения ресурсов всех узлов. Проектирует траектории движения. Сочетает блоки с простым последовательным расчетом и блоки СЛАУ.
Использует параллельные расчеты ветвей графа затрат для ускорения расчета себестоимости.
Создает справки этапов. Получает готовый подробный документ – «Учетная политика» на основе построенной схемы этапов, их документов с БР и справок.
Функционал постоянно расширяется.
Тестировалась на платформе 8.3.27.2214.
Вступайте в нашу телеграмм-группу Инфостарт