Моя борьба с расчётом себестоимости выпуска в УПП 1.3

Пару недель назад бухгалтера обратили внимание на проблему: в регистре ПартииТоваровНаСкладах множество остатков без количества, но с суммой. Допрос ИБ показал, что свой вклад в это множество вносил каждый документ РасчетСебестоимости и ситуация с течением времени только ухудшается. Ковыряние отчётов и гугление интернета Яндексом ничего полезного не давали, а просмотр расчёта себестоимости через отладчик лишь показывал, что гигантские процедуры с помощью гигантских запросов формируют гигантские рекордсеты, которые потом долго и нудно обрабатывают. Эта статья для тех, кто окажется в той же ситуации, что и я — пусть яндексение Гугла обернётся для них удачей и выдаст эту статью, которая сэкономит им много времени, а их бухгалтерам много нервов.

Тем, у кого этой проблемы нет, читать это не стоит, ибо получилось слишком многабукав, так что чтобы прорваться через них, надо быть здорово мотивированным имеющейся проблемой, а проблема весьма специфическая и что-то похожее даже у меня вряд ли встретится. В общем, я вас предупредил. Итак:

Речь про УПП 1.3.62.2, управленческий учёт.
Учётная политика: оценка МПЗ — по средней, распределение затрат — директ-костинг, расчет себестоимости — по подразделениям, итерационный расчёт затрат встречного выпуска не установлен.

У нас многопередельный учёт (расчёт себестоимости говорит о 36 переделах) и периодически бухгалтера сталкивались с мелкими проблемами, типа остаётся на полтора доллара незавершёнки, но сильно по этому поводу не напрягались. Для них главное было закрыть крупные косяки, которые появлялись из-за того, что в Требовании-накладной и ОПзС указывались разные номенклатурные группы, либо из-за косяков в самом ОПзС (одна и та же номенклатура в материалах и продукции, несоответствия табличных частей Продукция, Материалы и Распределение материалов друг-другу и т.п.). Первая проблема отлавливалась отчётами, а вторую я решил программной проверкой перед записью ОПзС.

Проблема с партиями существовала уже несколько лет, но её просто не замечали, бухгалтерии было достаточно того, что закрываются (ну, почти) регистры ВыпускПродукции и Затраты.

Гугление интернета выдало не то, чтобы совсем ничего, но то, что выдалось, либо было вопросом на форуме, оставшимся без ответа, либо относилось году этак к 2006-му, либо предлагало задать параметры, которых в моей конфигурации уже не было, либо в конечном итоге не помогало, либо все эти «но» в какой-либо комбинации.

Первым делом я попробовал на копии базы последовать тем советам, которые всё-таки можно было применить к моей ИБ, а именно: убрал все комплектации (обработкой заменил каждую на оприходование комплекта по цене 100) и все подозрительные остатки (количество<=0 ИЛИ Стоимость<0) по регистру ПартииТоваровНаСкладах — списал «в космос» концом предыдущего месяца. Не помогло.

Потом попробовал дважды указать в документе действие «Расчет затрат встречного выпуска по подразделениям» — это убрало хвосты из незавершёнки, но проблемы в регистре партий остались.

Попробовал врубить итерационный расчёт затрат встречного выпуска в учётной политике — не помогло.

Попробовал провести перед расчётом себестоимости документ Корректировка стоимости списания (потому что написано, что его надо проводить, если учёт МПЗ «По средней стоимости», а у меня как раз по средней) — не помогло. Помогало, если провести его после расчёта себестоимости, но тогда появляются суммы в регистре Затраты.

Внимательно посмотрев на движения, которые Расчёт себестоимости делает по одному из проблемных товаров, я обнаружил, что он корректирует движения только одной из двух требований-накладных и на остатках подвисает как раз сумма, на которую должны были быть скорректированы движения второго требования. Становится понятнее: в отладчике отловил момент, когда делаются движения по интересующему меня товару, скопировал в консоль запросов запрос из процедуры, которая вызвала эту запись, сделал в нём отбор по этому товару, выкинул лишние поля и таблицы и проанализировал то, что осталось. А осталось условие, которое убирало из результатов запроса те записи, в которых были регистраторы, указанные в регистре «Корректировка встречного выпуска продукции», движения в котором делает тот же Расчет себестоимости.

В общем, что это за регистр и зачем там записи. Представьте себе производство, некая продукция которого может пойти на общепроизводственные расходы (ОПР). В этом случае мы рассчитываем себестоимость, распределяя на неё в том числе ОПР, а затем корректируем движения документов на разницу между посчитанной себестоимостью и тем, что двинули сами документы. В том числе мы должны скорректировать движения требования-накладной, которая передаёт продукцию на ОПР. В результате у нас на затратах, которые мы вроде как распределили на предыдущем этапе, снова оказывается сумма ОПР. У этой задачи два решения: либо повторять имеющуюся процедуру «распределили ОПР — скорректировали движения» до тех пор, пока всё не сойдётся к нулевой сумме корректировки, либо написать алгоритм так, чтобы он сразу рассчитывал окончательные суммы. В 1С выбрали третий вариант — не решать. Для этого они сделали регистр, в который запихивают все Требования-накладные, которые передают продукцию на ОПР и в процедуре корректировки списания просто их игнорируют. В большинстве случаев (у меня таких около тысячи в месяц) остаток списывается не «в ноль», так что проблема (чуть-чуть не та сумма) незаметна, но есть такие, которые списываются полностью — они и повисают.

В результате стало понятно, что как минимум нужно исключить эти исключения, для чего из списка выполняемых действий документа «Расчёт себестоимости» вычёркиваем «Определение продукции, исключаемой из базы распределения». Затем добавляем столько действий «Распределение косвенных расходов по подразделениям», сколько нужно для полного закрытия регистра «Затраты» по ОПР (у меня директ-костинг, так что этом этапе закрываются только ОПР). Количество определяется опытным путём. Мне, как вы видите на скриншоте, понадобилось 6. В другом месяце может понадобиться больше или меньше.

Между этими действиями может понадобиться вставить «Расчет затрат встречного выпуска по подразделениям». Тут тоже зависит от ситуации. Например, в копии, в которой я прибил комплектации, этого не потребовалось, а в рабочей базе пришлось, иначе оставался хвост в регистре ВыпускПродукции.

Ну, вот и всё. Разве что нужно добавить, что определение количества распределений косвенных расходов лучше проводить на копии, ибо документ проводится долго и экспериментировать на рабочей базе будет излишне жестоко по отношению к пользователям.

13 Comments

  1. druv

    Если честно, то статья не очень.

    Действительно СЛИШКОМ много буков. Описана проблема закрытия мес. при использовании встречного выпуска на предприятии. Пример встречного выпуска: выпусают Хлеб, из Хлеба — панировочные сухари, сухари идут на выпуск хлеба. (Что было раньше, яйцо или курица?).

    Как правило, проблема сразу бросается в глаза из-за того что не закрывается 20й счет у бухгалтера (или незавершенное производство в УУ).

    Для решения проблемы необходимо:

    1. правильно настроить учетную политику, поставив галку «итерационный расчёт затрат встречного выпуска»,

    2. в документе РСВ указать несколько «итераций» расчета встречного выпуска по переделам или подразделениям (в зависимости от вида производства по-подразделениям — когда разные полуфабрикаты выпускают разные подразделения, или по-переделам — когда выпуск продукции происходит в рамках одного подразделения в несколько этапов)

    3. Заполнить регистр сведений «Встречный выпуск» — указать что является продукцией, а что материалом. (н-р Продукция- Хлеб, Материал — панировочные сухари).

    На самом деле самым проблематичным является найти «косяки» при появлении новой продукции и изменении технологических процессов, чтобы правильно заполнить регистр. «встречный выпуск», или найти документ, в котором накосячили, и выпустили «валенкок» из «валенка».

    Reply
  2. Confucius

    Тот случай когда комментарий лучше статьи. Но за труды написания и анализа статьи спасибо!

    Reply
  3. Rustig

    (0) скриншот не видно (все изображения надо размещать в публикации в разделе Изображения), совет из последнего абзаца «разбираться на копии» из области «мыть руки перед едой», термин рекордсет — не «одинэсовский» — не все консультанты 1С поймут смысл фразы.

    Укажите номера версий УПП, режим налогообложения организации (ООО или ИП на ОСНО, УСНО), параметры учета и настройки учетной политики — так оно нагляднее для постановки задачи.

    Ошибки ведения учета есть во всех конфигруациях: и в БП, и УПП. Из статьи не ясно: то ли программа УПП не доведена до ума, то ли присутствует явная ошибка ведения учета самими бухгалтерами?

    Reply
  4. Dach

    Статья занятная, но будьте так любезны — доработайте! Скриншота не видно, куча фраз типа «становится понятнее: во отладчике отловил момент, когда делаются движения по интересующему меня товару» — покажите кусок кода, где это происходит. Напишите код, который Вы изменили и в каких процедурах и функциях. А пока что мало что понятно

    Reply
  5. vasyak319

    (1) druv, вы невнимательно читали многабукав. Проблема НЕ во встречном выпуске и тот совет, который вы даёте, совпадает с одним из тех, который я отнёс в категорию «можно применить, но не поможет», потому что он касается проблем с незакрытием незавершёнки (регистр «ВыпускПродукции», удобно смотреть отчётом Отчеты-Затраты-Ведомость по производственным затратам). Навести порядок в регистре партий так не выйдет. И вообще никак не выйдет, пока в расчёте себестоимости остаётся этап «Определение продукции, исключаемой из базы распределения».

    Вот для тех, у кого проблемы только с закрытием незавершёнки, ваш совет идеален. Ну, разве что я бы не советовал взводить флажок «итерационный расчёт затрат встречного выпуска», потому что с несколькими итерациями расчёта всё закроется и без флажка, а вот с ним вылезут суммы в регистре «Затраты» (тут я не уверен на 100%: помню, что были проблемы, из-за которых я этот флажок снял, но могу ошибаться, что проблемы были именно с регистром «Затраты»).

    Reply
  6. vasyak319

    (4) Dach, вы правы, пока сегодня перечитывал, мой внутренний grammar nazi материл меня всю дорогу. А скриншот я размещал, куда надо и БМП, почему он не показывается.

    Чтобы отловить момент, когда делаются движения, я в модуль набора записей регистра ПартииТоваровНаСкладах добавил обработчик события «ПриЗаписи» с одной строчкой х=1, на которой установил точку останова с условием на наличие в наборе записей нужного мне товара. Вы уверены, что это стоило вставлять в статью?

    Reply
  7. vasyak319

    (3) Rustig,

    Из статьи не ясно: то ли программа УПП не доведена до ума, то ли присутствует явная ошибка ведения учета самими бухгалтерами

    Дело в том, что я, хоть и склоняюсь к косяку УПП, сам до конца в этом не уверен. Документировано всё бедненько и я был готов к тому, что к статье накидают каментов типа: «Да вы что, вот на курсе «Висяки и косяки в УПП после расчёта себестоимости» в УЦ 1С нам чётко сказали, что <тут решение моей проблемы>», но похоже, что такого камента всё-таки не будет.

    Reply
  8. I_r_a
    Reply
  9. vasyak319

    (8) I_r_a,

    в конце концов плюнула, написала обработку по распределению сумм без количества на др.склады

    Во-во, мне бухгалтера тоже такое предлагали, когда на вопрос «ну когда же» я смотрел на них осовелыми глазами и отвечал «в процессе». Времени нереальная куча убивается.

    А вы, судя по описанию вашей одиссеи, добрались почти до самого финиша.

    За ссылку на обработку спасибо. Пока я решаю проблемы со встречным выпуском, просто добавляя вторую итерацию, но если это вдруг перестанет действовать, она мне пригодится.

    Reply
  10. I_r_a

    Я тоже так подумала, но оказалось, что это совсем не конец, важную роль в корректировке играет регистр «распределение продукции по переделам организации», все что нашла в официальных источниках, т.е. как формируются номера переделов — к нам не подходило никаким образом, напр. продукция имеет 3 передел по логике, в регистре стоит 4 и наоборот, а в зависимости от этих переделов идет корректировка стоимости, т.е. продукция не должна корректироваться, а она попадает в запрос и начинает обсчитываться. Одним словом, времени уже просто не было, надо было решать др.задачи.

    Reply
  11. lakzn

    Тема актуальная. У нас еще осложняется требованиями внутренней учетной политики о совпадении бухгалтерского и управленческого учета. Так вот, бухгалтерский учет закрылся сразу без проблем. По упр. учету оставался остаток по партиям. Добавляю в РСВ еще одну «итерацию» распределения косвенных затрат по переделам и расчет затрат встречного выпуска по переделам — партии по УУ тоже закрываются в ноль. Но за счет разного распределения расползаются остатки по партиям в УУ и БУ. Что делать — ума не приложу 🙁

    Reply
  12. dbaser

    И у нас долго была похожая ситуация с суммами без количества, переделами, переработкой, встречным выпуском и т.д.

    Номенклатура ведется в разрезе характеристик. Учет по сериям не ведется. Партионный учет по средней.

    Суммы зависали по тем позициям где была комплектация номенклатуры.

    При чем в комплектации менялись только характеристики, а номенклатура оставалась одна и та же в исходных материалах и в продукции (изменение маркировки, перевешивание бирок без изменения количества).

    После замены таких кривых комплектаций, на более подходящий методически документ, но ранее не использовавшийся — проблема с суммами без количества ушла.

    Правильный документ для нашей ситуации — Корректировка серий и характеристик товаров.

    Reply
  13. nabok

    Спасибо! Советы пригодились!

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *