Отключить проверку отрицательных остатков организации при закрытии месяца. УТ 11.4

У клиента при закрытии месяца постоянно было несколько позиций с отрицательными остатками и это мешало ему, потому что из-за каких-то нескольких позиций не рассчитывалась вся себестоимость.

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

В общем, решил отключить проверку отрицательных остатков.

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

Первоначально сделал в конфигураторе поиск по строке «отрицательные остатки».

Она привела меня в этот модуль:

Расширил код модуля ЗакрытиеМесяцаСервер:

&Вместо("ОписаниеПроверок_ИсправлениеОтрицательныхОстатковТоваровОрганизаций")
Процедура дор_ОписаниеПроверок_ИсправлениеОтрицательныхОстатковТоваровОрганизаций(ТаблицаПроверок)
	Возврат; //Временно не проверяем отрицательные остатки
	ПродолжитьВызов(ТаблицаПроверок);
КонецПроцедуры

Этот код выдает сообщение при быстрой проверке месяца, когда я его убрал, перестало выскакивать вот такое сообщение:

Однако при расчете себестоимости ошибка все равно проявлялась:

Методом отладки я нашел, что это происходит вот в этих местах (сразу я не нашел эти сообщения, т.к. искал «отрицательные остатки», а тут текстовка другая):

Эти сообщения убрал расширением модуля ЗакрытиеМесяцаСервер:

&Вместо("ИнициализироватьПараметрыРегистрацииПроблемПроверки")
Функция дор_ИнициализироватьПараметрыРегистрацииПроблемПроверки(ИмяВременнойТаблицы, ШаблонТекстаОшибки, СписокПолей, ИмяПоляОбъекта, ИмяРегистраДляРасшифровки)
	Если 
		ИмяВременнойТаблицы = "ВТОстаткиБезКоличества" ИЛИ
		ИмяВременнойТаблицы = "ВТОтрицательныеОстатки" ИЛИ
		ИмяВременнойТаблицы = "ВТОстаткиСРазнымЗнаком" 
		Тогда
		Возврат Новый Массив(); //Просто пустой массив возвращаем
	КонецЕсли;
	
	Результат = ПродолжитьВызов(ИмяВременнойТаблицы, ШаблонТекстаОшибки, СписокПолей, ИмяПоляОбъекта, ИмяРегистраДляРасшифровки);
	
	Возврат Результат;
КонецФункции

После этого получил красивую картинку закрытия месяца:

Как выглядит себестоимость по позициям с отрицательными остатками, не смотрел, надеюсь, 1С предусмотрела более-менее корректные алгоритмы их обработки.

Среда: 11.4.13.46 Объем:

fixin

Программирую на 1С с 1999 года. В 1С просто Гений. В 2020 году ушел из офиса на вольные хлеба фриланса. Принимаю заказы.

Читайте также:

комментариев 14

  1. Павел:

    Отрицательных остатков товара не может быть по определению в конце периода при закрытии.

    • Это как? Отрицание природы вещей? Банальный пересорт легко может повлечь такую ситуацию.
      Или вы сторонник инвентаризаций под конец месяца? А если работают задним числом?

  2. Павел:

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

    • Вы батенька, перфекционист, практики не нюхавший. Но я скажу более — корректная работа с отрицательными остатками это и есть автоматизация, автоматизация обработки отрицательных остатков. Раньше 1С не испытывала проблем с расчетом себестоимости по отрицательным остаткам.
      Тем более что отрицательные остатки обычно всегда в пределах погрешности.

  3. Павел:

    Отрицательные остатки — это не природа, нельзя взять с полки и продать чего нет, это бардак в учете

    • Я уже эти доводы 100500 раз слышал. При больших объемах и ассортименте отрицательные остатки — это как раз в порядке вещей. Я уже писал, что часто к этому приводит банальный пересорт.
      Иногда исправлять отрицательные остатки дороже, чем их списать.
      Но 1с идет по пути перфекционизма в своих типовых. Я бы назвал это кривой дорожкой.

  4. rzd:

    Если стоит контроль остатков организаций и его не снимают, то такого быть просто не может

  5. Сергей:

    Просто огромное спасибо за наводку. Только сегодня поставили задачу. Клиент уже полтора года ведет учет, но про закрытие даже и не думали. При чем почти год данных, они затянули из 10.3 с безумно красивыми минусами. Ваше решение — это спасение. Проделал тоже самое через расширение. Проблема ушла. Еще раз спасибо.

    • Приятно, что мой блог не только читают, но и применяют на практике. 😉
      Люблю улучшать 1С.

  6. Фдуч:

    Тема помогла. Спасибо.
    Но пришлось ещё один модуль расширять. Расхождения остатков по разным знакам не хотели уходить. Хоть эта таблица и есть в условии «ВТОстаткиСРазнымЗнаком» В запросе поменял условие с на >.
    Чтобы не мешало.

    • Мы рождены, чтобы сломать искусственные проблемы, рожденные разработчиками типовых! 😉

Добавить комментарий

Ваш адрес email не будет опубликован.