Важно, это расширение не является таблеткой от всех "болячек" себестоимости и не является полной заменой стандартного механизма, но позволяет дополнительно обрабатывать ситуации с движениями с нулевой себестоимостью.
Главное это идея, я не сомневаюсь что вы сможете самостоятельно доработать ее под свои особенности.
Данное расширение это набор различных костылей для исправление детских болезней себестоимости в УНФ, когда УНФ при не возможности определить себестоимость делает списание с нулевой себестоимостью.
Выражаются эти детские болезни в появлении в остатках себестоимости
- нулевой или отрицательной себестоимости (неправильно списанная себестоимость)
- нулевое количество остатка с ненулевой суммой (не полностью списанная себестоимость)
- значений себестоимости с большим количеством знаков и появлении в движениях себестоимости сумма с 0 или отрицательной себестоимостью.
Эти проблемы возникают даже при включенном контроле остатков, в следствии
- Делают резервы через заказы и снимают их убирая резерв из заказа в самом заказе.
- Пользователи меняют у документов даты и время задним числом, отменяют проведение документов или делают другие не оперативные проведения.
- Когда в базе отсутствует механизм восстановления последовательности после правок задним числом и у документов списывается не полная себестоимость.
- Не видят наглядно ряды последовательности товаров.
Костыли себестоимости
1. Создание опорного регистра сведений "История закупочных цен", с автоматическим заполнением закупочных цен при оформлении приходных накладных. С автоматическим первичным заполнением значений при первом запуске.
2. Доработка кода, формирующего списания и оприходования себестоимость почти во всех документах, работающих с регистром "Запасы". Если стандартный код не смог получить себестоимость, то выполняется расчет себестоимости от закупочной цен(понятно что это не точная себестоимость, но лучше списания с нулевой себестоимостью). В результате даже проведения даже продажи в минус будет на выходе иметь более менее корректную себестоимость и закрытие месяца отлично корректирует отклонения.
3. Обработка для поиска ошибок в себестоимости, показывающая цепочку всех движений товара формирующую себестоимость, с возможностью быстрого перепроведения выбранных документов.
4. Отчет, показывающий развернутые остатки себестоимости
5. Отчет сравнения себестоимости и закупочных цен на выбранную дату, с выделением даты.
6. Механизм отслеживания границы последовательности с возможностью перепроведения документов
Как исправлять себестоимость
1. Устанавливаете расширение, перезапускаете 1С. При первом запуске запустится автоматическое заполнение регистра "История закупочных цен". В этот регистр попадут все цены из регистра Закупки на даты документов + срез первых значений с датой 01.01.2000.
2. Отменить все операции закрытия месяца(или сделать не проведенным регламентные документы)
3. Сделать полное перепроведение всех проведенных документов, за весь период.
4. Помесячно начиная с самого первого движения по себестоимости(
- перепроводим месяц,
- выполняем штатное закрытие месяца,
- формируем отчет "Остатки себестоимости" на дату начала следующего месяца
- убеждаемся что в остатках начало следующего месяце нет явных ошибок себестоимости, нулевой или отрицательной ПСС, нулевого количества остатка с ненулевой суммой.
- при наличии ошибок по найденным ошибкам запускаем обработку "Поиск и исправление ошибок себестоимости". делаем отбор по товару. Открываем детализацию по каждой номенклатуре, находим документ ломающий конечную ППС и исправляем.
- переходим к следующему месяцу
Как исключить большинство ошибок в будущем
Расширение добавляет дополнительный контроль действий пользователей, вкладка в карточке пользователя "Ограничения себестоимость". Почему это ограничение через реквизиты, а не роли. Все просто данные ограничения применяются и на администраторов у которых может быть только 1 роль администратора.
- Закрытие доступа к дате у проведенных документов: Запрещает изменение даты документы спустя указанное количество часов, запрещает менять день проведенного документа. Это исключает ситуации когда перенесли допустим перемещение или приход товара немного позднее расходной или резерва.
- Доступ к проведению задним числом: Аналог оперативного проведения. По умолчанию у всех пользователей(кроме тех кому включили галку), все непроведенные документы, всегда записываются с ТЕКУЩЕЙ ДАТОЙВРЕМЕНЕМ.
- Доступ к отмене проведения. По умолчанию пользователи не могу отменять проведение проведенных документов. При включении пользователь может отменить проведение документ с контролем остатка и поменять дату, но если у пользователя нет права на проведение задним числом, документ проведется документ с текущим временем.
Как контролировать какой период надо перепроводить после исправления ошибок
- Открываем регистр сведений "Границы последовательности", добавляем в нужные организации и включаем опцию "Восстанавливать последовательность" И теперь при каждом изменении документов проверяется попал ли он за границу последовательности и если попал то граница сдвигается.
- Нажимаем кнопку "Восстановить" и это запустить фоновое перепроведение документов по организациям с включенной опцией восстановления последовательности.
Костыли делались в разное время под разных клиентов, были успешно обкатаны на нескольких организациях и максимально упрощены(для макс. совместимости) и собраны в это расширение.
Расширение поставляется как есть, на оригинальность или исключительную верность подхода не претендую. Это всего лишь набор методов костылей позволяющих быстро решить проблемы себестоимости в запущенных базах без значительных исправлений ошибок документооборота, что то из этого вам подойдет, что то нет, код открыт - пилите :)
Точно подойдет торгующим организациям, но не всем производственным организациям, так как у них проблемы себестоимости сильно сложнее, но тем не менее многие проблемы уйдут и у них, как минимум точно будет проще отлаживать проблемы себестоимости .
--------------------------------------------------
Все "врезки" сделаны с максимально возможным сохранением конфигурации на поддержке. Отлажено на УНФ 1.6.23, предыдущие версии не поддерживаются без напильника. Рекомендую обновиться.
Используйте на свой страх и риск :) Перед запуском на рабочей - обязательно протестируйте на копии базы.