Некоторые крупные предприятия привыкли вести регламентированный учет в УПП. Но со временем у предприятий встает вопрос о переводе управленческого учета в ЕРП систему и выведение регламентированного учета в отдельную систему БП 3. Но в части расчета себестоимости в УПП и БП различаются значительно – возможностей для настройки распределения затрат в БП значительно меньше. В статье раскроем, как решили вопрос заказчика «А сделайте нам в БП3 расчет себестоимости как в УПП».
Необходимо предоставить заказчику следующие возможности разнесения затрат на производство:
- Для случая, когда на этапе ввода затрат уже известно на какую продукцию нужно их списать, БП не требует доработки.
- Для остальных случаев номенклатурная группа и продукция должны оставаться незаполненными и при расчете себестоимости распределяться на выпуски продукции.
Правила распределения должны настраиваться в разрезе статей затрат, аналогично УПП.
Всю широту отборов аналитик списания затрат, существующих в УПП реализовывать не требовалось, только то, что использовал заказчик: отбор по подразделению и статье затрат.
Для того, чтобы не ломать проверку в БП 3 на заполоненную номенклатурную группу при закрытии месяца, решили создать и использовать служебную номенклатурную группу «К распределению».
Необходимо реализовать следующие методы распределения расходов на выпуск, которые применяются к затратам, накопленным на служебной номенклатурной группе «К распределению»:
- Распределение по плановой себестоимости. Плановая цена продукции устанавливается в конце месяца документом «Установка цен номенклатуры».
- Распределение по количеству.
- По фактической трудоемкости и прочим произвольным базам, задаваемым вручную отдельными документами.
- Пропорционально амортизации или прочим заданным в настройках распределения видам затрат НУ.
Регламентные операции «Корректировка стоимости списания», «Закрытие счетов 20,23,25,26,29», «Закрытие 44 счета» используют одни и те же модули для своей работы. Основной расчета, так же как в ERP-системах, является граф затрат.
Особенность расчета в БП3 в том, что основным источником данных для заполнения графа является регистр бухгалтерии с его ограничениями: можно использовать только ограниченное количество ключей аналитики, в зависимости от счета: Подразделение, Субконто 1, 2,3 и сам счет. Эта особенность ограничивает возможность добавления своих правил распределения. Например, если на счете нет субконто «Статья затрат», то и назначать разные правила в зависимости от статей мы не сможем. Тут нам повезло - на счетах 20, 23, 25 и 29, для которых нужно было добавить свои правила, нужное субконто есть.
Добавление правил
Разработчики БП 3.0, вероятно, подозревали что задачи по модификации расчета себестоимости будут возникать и для облегчения задачи разработчиками добавили модуль «ПравилаРаспределенияРасходовМодификацияКонфигурации». Здесь можно добавить свои правила, или аккуратно поправить типовые.
Согласно постановке задачи от заказчика, мы должны добавить правила только для одной служебной номенклатурной группы – «К распределению», остальные номенклатурные группы должны закрываться на выпуски по типовым алгоритмам.
Для этого в параметр СтандартнаяОбработка устанавливаем значение «Истина» и добавляем новые правила по статьям затрат с отбором по номенклатурной группе. Тогда при распределении затрат система сначала проверит заданные правила для номенклатурной группы, и, если не найдет, воспользуется типовыми. Если бы параметр Стандартная обработка был установлен в «Ложь», то после неудачного поиска номенклатурной группы в добавленных правилах затрата будет списана на счет по умолчанию.
Возможные действия правил
По блоку расчета себестоимости очень радует большое количество комментариев разработчиков с пояснениями алгоритмов. Да, они создали сложную систему расчета, но при этом приложили все усилия, что бы её было возможно аккуратно дорабатывать. В функции ПравилаРаспределенияРасходов.НовыеПравилаРаспределения() разработчики БП в комментариях заботливо расписали возможные действия правил распределения:
Для своей задачи я взяла действие «РаспределитьНаСубконто», т.к. оно прекрасно своей универсальностью. Затраты можно распределять на произвольные счета.
Текст запроса базы распределения
Для работы правила необходимо задать запрос для задания базы распределения. Для каждого возможного действия определены обязательные поля, которые должны быть в запросе. Для действия «РаспределитьНаСубконто» это:
- Счет, подразделение, субконто1, 2, 3 – куда будет распределяться затрата,
- Номенклатура – обычно устанавливается значение ЗНАЧЕНИЕ(справочник.номенклатура.пустаяссылка).
- База – число. Именно от него будет считаться сумма к распределению.
При определении полей Субконто 1,2,3 главное помнить, что порядок субконто на счете – вещь условная и может поменяться в любой момент по щелчку пользователя. Если данные для расчета рассчитываются непосредственно в запросе в правиле, то обязательно нужно соединятся с таблицей субконто счета, на который распределяется затрата и четко прописывать какие поля в какие субконто должны попасть. Поэтому идеальным решением будет какой-либо вспомогательный документ/обработка/регл. операция и т.д. которые подготовят данные для расчета базы и в тексте запроса для правила будет достаточно только получить итоги. Это так же позволит немного сократить процесс выполнения операции, особенно если алгоритм получения базы довольно ресурсоемкий.
В запросе можно использовать временные таблицы, но нужно учитывать, что из всех правил (и типовых и не типовых) будет заполнятся один большой (очень-очень большой) менеджер временных таблиц. Потому послушаем разработчиков и обязательно:
Поля источника
Задаем поля источника – это разрезы, по которым система будет решать к какой сумме какую базу применять. Важно не забывать, что в запросе обязательно должно быть поле с аналогичным именем - что бы система потом могла правильно применить базу.
В моем случае правила общие для счетов 20, 23, 25, 29. На части из них присутствует ном. группа – и правила будут применены в разрезе номенклатурных групп, а на 25 – номенклатурных групп нет и правила будут действовать для счета целиком.
Есть перечень предопределенных разрезов, которые можно использовать в качестве полей источника. Это – подразделение, номенклатурная группа, Статья затрат, Продукция, и др. Так же в качестве разреза может быть использовано любое, даже добавленное пользователем, субконто, по которому включен учет остатков.
Механизм расчета себестоимости в БП прекрасен своей гибкостью и может быть подстроен под множество потребностей заказчика. Например,
- А давайте будем закрывать в одном контуре счета 20,23,25,26,29 и счет 16. Потому что с 20 счета идет выпуск услуг на 16, а с 16 – списание ТЗР на производство. – Да, давайте
- А давайте сделаем, что бы счет 29 закрывался по тем же алгоритмам, что и основное производство? – Да, давайте
- А давайте оформлять выпуск одной продукции на два счета - на одном счете стоимость выпущенной продукции будет задаваться вручную и не пересчитываться, а на втором – рассчитываться автоматически? – Да, давайте.
- А давайте закрывать 44 счет на другие счета вот по такой базе? – Да, давайте.
- А давайте мы будем запускать регламентную операцию по себестоимости в цикле вот с этим документом, пока счета не закроются? Нет, нет, нет!!! Давайте просто опишем свои новые правила для закрытия счетов.