При работе в программе «1С:Управление нашей фирмой» (1С:УНФ) пользователи часто сталкиваются с парадоксальной ситуацией: при проведении документа Заказ покупателя или связанных с ним документов отгрузки (например, актов или накладных) система выдает ошибку «Не хватает остатка по учету запасов и затрат на складе». Удивление вызывает то, что данная ошибка возникает по позиции номенклатуры, которая изначально заведена в базе данных как Услуга. Казалось бы, у услуги не может быть физического склада и остатков, так почему же программа блокирует проведение и требует их наличия?
В этой статье мы подробно разберем, почему возникает эта ошибка при работе с услугами и работами, проанализируем опыт пользователей форума и рассмотрим пошаговые инструкции по устранению данной проблемы.
Рассмотрим наиболее частую практическую причину, с которой столкнулись пользователи на форуме. Если в базе данных было изменено наименование или ключевые свойства карточки Номенклатура после того, как с этой позицией уже были созданы, записаны или проведены документы, в системе может возникнуть конфликт ссылочной целостности.
При переименовании или перезаписи карточки номенклатуры старые документы продолжают ссылаться на измененный объект, но внутренние регистры накопления (такие как Запасы и ЗапасыНаСкладах) могут некорректно отражать информацию о типе номенклатуры, продолжая считать её «Запасом» (товаром), требующим контроля остатков.
Разберем по шагам, как исправить эту ситуацию:
Проанализируем ситуацию, упомянутую пользователями форума, когда ошибка возникает из-за нарушения последовательности работы со связанными документами. Например, когда в базе одновременно открыты Счет на оплату, Заказ покупателя и Акт выполненных работ.
Если Заказ покупателя, выступающий в роли основания для последующих документов отгрузки (акта или расходной накладной), не был проведен или был открыт для редактирования в другом сеансе, программа не может корректно рассчитать баланс по сделке. Система выдает ошибку нехватки остатков запасов и затрат, так как пытается списать услугу по закрытому или заблокированному заказу.
Для решения этой проблемы выполните следующие действия:
Заказ покупателя проведен (на его иконке должен стоять зеленый флажок).Заказ покупателя, а затем повторно проведите созданный на его основании Акт или Счет.Выясним причину, связанную со спецификой заполнения табличных частей в 1С:УНФ. Очень часто менеджеры по продажам используют механизм автоматического резервирования товара на складе под конкретный заказ покупателя с помощью команды «Заполнить» -> «В резерв по свободным остаткам».
Если в табличной части Заказ покупателя среди товаров присутствует услуга, автоматический алгоритм резервирования может по ошибке проставить количество в колонку «Резерв» (или «В резерв») напротив строки с услугой. Поскольку у услуги нет физического склада, 1С пытается зарезервировать несуществующий материальный остаток, что моментально вызывает ошибку проведения.
Для исправления этой ошибки:
Заказ покупателя, вызывающий ошибку.Рассмотрим критическую ошибку, которая часто совершается на этапе внедрения или администрирования системы. Если карточка номенклатуры изначально была ошибочно создана с типом «Запас», по ней были оформлены складские операции (поступления, перемещения), а затем пользователь зашел в карточку и вручную изменил тип на «Услуга», база данных придет в несогласованное состояние.
В регистрах накопления останутся старые движения, зафиксировавшие эту позицию как товар на складе. Новые документы пытаются провести её как нематериальную услугу, что вызывает конфликт аналитики в учетных регистрах.
Решать данную проблему рекомендуется следующим образом:
Проанализируем ситуацию, когда для оказываемой услуги или выполняемой работы в базе данных зарегистрирована и привязана Спецификация (калькуляция затрат, содержащая перечень необходимых материалов и комплектующих).
При проведении документа Заказ покупателя (или Заказ-наряд) система автоматически обращается к спецификации и пытается зарезервировать или списать материалы, требуемые для оказания услуги. Если хотя бы одного материала из спецификации нет на выбранном складе в достаточном количестве, программа выдаст стандартную ошибку «Не хватает остатка по учету запасов», которая на первый взгляд кажется ошибкой самой услуги.
Чтобы локализовать и устранить эту проблему:
Приходная накладная для их поступления, либо временно уберите признак резервирования материалов в документе, переведя их в статус «К обеспечению».Выясним, к каким последствиям может привести массовое редактирование реквизитов базы данных. Если бухгалтер или администратор воспользовался обработкой «Групповое изменение реквизитов» и изменил счета учета номенклатуры (например, счета учета затрат или запасов), счета обновились только в карточках позиций. В регистре накопления Запасы движения прошлых периодов остались записаны по старым счетам учета.
При попытке провести новый документ программа обнаруживает расхождение между счетами учета, указанными в карточке номенклатуры, и счетами, по которым числится остаток в регистре, что приводит к отказу в проведении.
Для исправления ситуации необходимо выполнить групповое перепроведение документов за период, в котором использовалась данная номенклатура, чтобы актуализировать движения в регистрах в соответствии с новыми счетами учета.
Разберем важную техническую особенность работы платформы 1С:УНФ. Контроль остатков при проведении документов по умолчанию настроен на текущий момент времени (актуальную дату), а не на дату проведения документа. Если вы проводите документ «задним числом», а на текущую дату остатки изменились или заблокированы другими операциями, система выдаст ошибку.
Для временного обхода этого ограничения (если вы уверены в корректности своих действий):
Иногда ошибка может быть вызвана чисто техническим сбоем платформы «1С:Предприятие» (например, после динамического обновления конфигурации или аварийного завершения работы программы). В этом случае внутренние итоги регистров накопления сбиваются, и система «не видит» реальных остатков, хотя в стандартных отчетах все отображается корректно.
Для восстановления работоспособности базы данных: