gifts2017

Борьба с минусами в УПП 1.3 с РАУЗ

Опубликовал Осипов Сергей (fixin) в раздел Программирование - Практика программирования

В 1С немного идеалистически подходят к учёту. Так, на взгляд методистов УПП, перед закрытием месяца не должно быть отрицательных остатков материалов и регламентных затрат.
Но жизнь всегда вносит свои коррективы, и отрицательные остатки всегда есть. При этом процедура расчета себестоимости выдает бешеное число итераций и накручивает огромные суммы себестоимости - миллионы и даже триллионы рублей.

Конечно, не мешало бы разработчикам в 1С самим поставить разумную защиту от отрицательных остатков, но мы не будем ждать от них милостей, а сами сделаем такую защиту.

Разработка проверялась на релизе 1.3.66.2.

Чем чреваты минуса?

1С не гарантирует корректный расчет себестоимости по РАУЗ при наличии отрицательных остатков на регистре "УчетЗатратРегл", на счетах 10.*, на регистре учета МПЗ.

Это проявляется в том, что по 20-му счету выдаются большие суммы оборотов - миллионы или даже триллионы. А также в большом количестве итераций при расчете себестоимости.

Когда впервые видите такую ситуацию, она может привести Вас к панике, т.к. совершенно непонятно, как с нею бороться, а система решения линейных уравнений в РАУЗ имеет очень сложный код, чтобы в него залезать. Поэтому я в первый раз сделал предположение, что причина такого поведения в отрицательных остатках, и нужно заменить их нулями.  Оно оправдалось, так и есть.

Защита от минусов на остатках материалов

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

Поэтому нужно предохранить алгоритм, заменив минус на ноль модуль "КорректировкаСтоимостиУчетЗатрат", процедура "СформироватьВременнуюТаблицуУзлыКорректировкиСтоимостиСписания":

 

       Если НЕ Результат.Пустой() Тогда
            
             Выборка = Результат.Выбрать();
             ...
            
             Пока Выборка.Следующий() Цикл
                    //Осипов 2016-02-24 корректируем минуса, заменяем их на ноль +++
                    //Потому что при рассчетах с минусами получаются ошибки
                    НовыйУзел.Количество = Макс(НовыйУзел.Количество, 0);
                    НовыйУзел.КоличествоНУ = Макс(НовыйУзел.КоличествоНУ, 0);
                    НовыйУзел.СтоимостьНУ = Макс(НовыйУзел.СтоимостьНУ, 0);
                    НовыйУзел.ПостояннаяРазница       = Макс(НовыйУзел.ПостояннаяРазница, 0);
                    НовыйУзел.Стоимость = Макс(НовыйУзел.Стоимость, 0);
                    //Осипов 2016-02-24 корректируем минуса, заменяем их на ноль ---
             КонецЦикла;

Защита от минусов на остатках затрат

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

Поэтому в промежуточных помесячных расчетах нужно поставить защиту от минусов по остаткам в этом регистре, модуль "КорректировкаСтоимостиУчетЗатрат", процедура "СформироватьВременнуюТаблицуУзлыКорректировкиСтоимостиСписания":

       Запрос.Текст = УправлениеЗатратами.ЗаменитьКомментарииВТекстеЗапроса(Запрос.Текст, ВидОтраженияВУчете);
       //Осипов - убираем отрицательные остатки по затратам 2016-04-25 +++
       Запрос.Текст = СтрЗаменить(Запрос.Текст,
       "УчетЗатратОстатки.КоличествоОстаток",
       " ВЫБОР КОГДА УчетЗатратОстатки.КоличествоОстаток < 0 ТОГДА 0 ИНАЧЕ УчетЗатратОстатки.КоличествоОстаток КОНЕЦ ");
      
       Запрос.Текст = СтрЗаменить(Запрос.Текст,
       "УчетЗатратОстатки.КоличествоНУОстаток",
       " ВЫБОР КОГДА УчетЗатратОстатки.КоличествоНУОстаток < 0 ТОГДА 0 ИНАЧЕ УчетЗатратОстатки.КоличествоНУОстаток КОНЕЦ ");
      
       Запрос.Текст = СтрЗаменить(Запрос.Текст,
       "УчетЗатратОстатки.СтоимостьОстаток",
       " ВЫБОР КОГДА УчетЗатратОстатки.СтоимостьОстаток < 0 ТОГДА 0 ИНАЧЕ УчетЗатратОстатки.СтоимостьОстаток КОНЕЦ ");
      
       Запрос.Текст = СтрЗаменить(Запрос.Текст,
       "УчетЗатратОстатки.СтоимостьНУОстаток",
       " ВЫБОР КОГДА УчетЗатратОстатки.СтоимостьНУОстаток < 0 ТОГДА 0 ИНАЧЕ УчетЗатратОстатки.СтоимостьНУОстаток КОНЕЦ ");
       //Осипов - убираем отрицательные остатки 2016-04-25 ---

Кстати, если сделать корректировку в текущем месяце, а потом пересчитать себестоимость, для оборотов по корректировке затрат тоже будут оценены обороты, т.е. результат будет неправильным. Поэтому сначала расчет себестоимости, потом корректировка.

 

Выбрать дату, при этом автоматически подставится существующий документ корректировки.

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

Показывать таблицу минусов - покажет таблицу минусовых остатков.

Если не ставить галочку "Формировать движения в корректировке", обработка сработает в тестовом режим, только выводят таблицу минусов.

Документ корректировки ищется по маркеру и названию организации.

Неправильные количества сырья на переработку

Иногда минуса по 20-му счету связаны с неправильной передачей сырья на переработку.

Откройте отчет "Отчеты - Расширенная аналитика учета - Ведомость по учету затрат"

Поищите расхождения по количеству прихода и расхода. Обычно материалы в переработку отдаются по количеству в спецификации документом "Поступление товаров из переработки", а приходуют по фактическому количеству документом "Получение услуг по переработке".

После того, как известно фактическое количество, количество в документе "Поступление товаров из переработки" нужно скорректировать, чтобы оно соответствовало документу "Получение услуг по переработке", иначе возникнут минуса. Для выявления расхождений как раз можно использовать этот отчет.

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
down.zip
.zip 8,36Kb
26.04.16
14
.zip 8,36Kb 14 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Константин Соболевский (Константин С.) 26.04.16 22:08
Но жизнь всегда вносит свои коррективы, и отрицательные остатки всегда есть. При этом процедура расчета себестоимости выдает бешеное число итераций и накручивает огромные суммы себестоимости - миллионы и даже триллионы рублей.


Руки оторвать и лечить электрошоком за такие советы.

Отрицательные остатки это в первую очередь ошибка пользователей в учете. Их надо исправлять.
В первую очередь надо научить пользоваться отчетами РАУЗ, по ключам учета.
manlak; Операция1Ы; meuses; Chif13; Рамзес; vener2004; +6 Ответить 3
2. Осипов Сергей (fixin) 27.04.16 17:30
(1) Константин, вы сперва в рознице поработайте, а потом уже за производство беритесь, где объем побольше будет.

В любой реально живой системе отрицательные остатки если и исправляются, то массово. В рознице - инвентаризациями списывается пересорт, например. На производстве их можно закрыть перед закрытием месяца. Но не обязательно.

В общем, вы как и идеологи 1С слишком зациклены на идеальных случаях.А в итоге мне приходится как-то объяснять причины триллионных оборотов (косяк программиста 1с, который не предусмотрел минуса на входе и элементарную защиту от них)...

В той же рознице если продается товар в минус, он продается по нулевой себестоимости и проблем нет. А в РАУЗ не подумали об этом, монстры УПП.
3. Анд Ск (and_sk) 27.04.16 17:44
взять все и обрубить неплохой подход))
4. Константин Соболевский (Константин С.) 27.04.16 22:26
 В рознице - инвентаризациями списывается пересорт, например.

Это да, но предлагаешь это сделать корректировкой записей регистров т.е. в трубу без документального отражение действия.

Да инвентаризация, и на основании ее делается N-ное количество документов, зависти от въедливости учета (оприходование, реализации, акты побраку пересорту и прочее ....).

>>>объяснять причины триллионных оборотов
ну есть такое) это надо восстановить последовательность можно обработкой прогнать.

Как по мне УПП не приспособлена для розницы в чистом ее виде.
5. Осипов Сергей (fixin) 27.04.16 23:37
(4) я имел ввиду, что минуса в рознице - это обычное дело, а не что нужно использовать УПП для розницы, гыгыгы..
и вообще, батенька, вы идеалист, видимо реальной розницы и/или производства не нюхали.
В данном случае у клиента минуса по материалом связаны с тем, что поступления де юре оформляются позже, чем приходят де факто. Соответственно, склад в минусах.
себестоимость на 41-м и 20-ка особо не парит, надо чтобы она была правдоподобной для бухучета.
И что, ради этого бухи будут тратить свое драгоценное время, чтобы закрыть минуса по материалам и затратам?
да вы фантазер, простите за выражение.
6. Константин Соболевский (Константин С.) 28.04.16 14:09
 с тем, что поступления де юре оформляются позже, чем приходят де факто. Соответственно, склад в минусах. 

вам не стоит мешать УУ и БУ в одну кашу. В штатном варианте это называется ОрдернаяСистама учета ТМЦ, в не штатной фантазия безгранична.
7. Осипов Сергей (fixin) 28.04.16 14:23
(6) я вам про бухучет толкую
8. Осипов Сергей (fixin) 05.05.16 16:55
Поправить: "Минуса по материалам не всегда можно закрыть оприходованием, иногда ждут поступления материалов накладной в будующем." здесь "в будущем" будет правильно
9. Константин Куликов (Светлый ум) 10.06.16 20:30
(1) Константин С., нормальные советы - покрайней мере как вариант одного из решений.

- как показала практика настроенным отчетом с аналитиками "Ведомость по учету МПЗ" - в лучшем случае научается пользоваться только главбух и то когда красноты уж больно много.
В моем случае ГЛбух всю жизнь проработала на партионке и с РАУЗом все шло очень со скрипом.
Желание учить было, внедрил УПП за 4-5 месяцев - но по прошествии 2 лет никто так типовые отчеты для РАУЗа и не использует.
- помогли яркие отчеты от автора: Aleksey81 (http://infostart.ru/profile/130474/)
Проверки УПП №1-13
и выравнивание отрицательных остатков (платная) http://infostart.ru/public/193518/

Жирный шрифт и выделение конкретных ошибок форева... научать бухов это хорошо - но долго трудно и нередко безрезультатно.
Бывалый77; +1 Ответить
10. zero1 zero1 (zero1) 27.06.16 20:25
Вот так все просто! Вместо того, чтобы понять, в чем причина возникновения этих минусов - просто тупо взять и списать их в ноль! Зашибись, чо.
11. Осипов Сергей (fixin) 28.06.16 00:51
(10) что? по второму кругу? Почитайте (1) и мой ответ на него. Ну или свой конструктив на больших объемах предложите.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа