Нулевые остатки по спецификации в 1С:УНФ 3.0: как увидеть дефицит
В 1С:УНФ 3.0 отчёт «Остатки товаров» показывает только позиции с ненулевым количеством: если комплектующей из спецификации нет на складе, строка просто отсутствует в списке, а не выводится с нулём. Чтобы видеть весь дефицит сразу, отчёт дорабатывают — меняют внутреннее соединение с остатками на левое, тогда каждая позиция спецификации остаётся в отчёте, даже если её остаток равен нулю.
когда нулевая строка «пропадает» — и что это стоит цеху
Мебельная мастерская на полтора десятка человек берёт заказ на 20 стульев к пятнице. Мастер открывает спецификацию, сверяется с отчётом «Остатки товаров» по складу фурнитуры — список короткий и чистый, всё нужное как будто в наличии. Раскрой заготовок стартует в тот же день.
Отчёт при этом не соврал в буквальном смысле. Он просто не вывел три строки: петли, саморезы нужного размера и клеевой стержень — их остаток равен нулю, а нулевые позиции типовой отчёт по остаткам не показывает вообще. Строки нет в списке — для мастера её как будто не существует, хотя по спецификации она обязательна.
Поэтому проблема всплывает не на этапе планирования, а в цехе: заготовки раскроены, комплект стянуть нечем. Заказ фурнитуры у поставщика — минимум сутки-двое, значит отгрузка в пятницу под вопросом, а деньги за раскрой и станочное время уже потрачены.
Похожая картина повторяется не только с фурнитурой. В производстве стройматериалов то же самое случается с крепежом, в электронике — с мелкими радиодеталями, в пищевом цехе — с упаковкой: любая позиция спецификации с нулевым остатком в моменте одинаково выпадает из отчёта независимо от отрасли.
Цена такой невидимой нулевой строки — не абстрактный риск, а конкретная пересборка графика: простой цеха на день-два, срочная закупка у первого попавшегося поставщика по завышенной цене и разговор с клиентом о переносе даты, который бьёт по отношениям сильнее, чем сама задержка.
три способа увидеть дефицит по спецификации — что выбрать
Проверить обеспеченность заказа комплектующими можно тремя разными путями, и они не равноценны ни по надёжности, ни по трудозатратам при повторном использовании.
| способ | показывает нулевые позиции спецификации | нужен оформленный заказ | трудозатраты при повторном использовании | стоимость |
|---|---|---|---|---|
| ручная сверка спецификации с остатками по каждой строке | да, но глазами и вручную | нет | заново на каждый заказ, растёт с числом позиций | только рабочее время сотрудника |
| типовой отчёт «обеспечение заказов покупателей» | частично, в привязке к уже созданному заказу | да | считает заново под каждый заказ отдельно | без доплат, входит в УНФ |
| доработка отчёта под спецификацию с выводом нулевых строк | да, автоматически по любой спецификации | нет | минимальные — открыл отчёт и сразу увидел дефицит | по факту часов сопровождения, от 3800 руб/час |
Ручная сверка работает, пока в спецификации пять-семь позиций и заказы редкие. На производстве, где спецификации меняются под каждый заказ и счёт идёт на десятки комплектующих, ручная проверка — источник ровно тех ошибок, которые и приводят к простою из сценария выше. Типовое «обеспечение заказов покупателей» снимает часть риска, но требует, чтобы заказ уже был оформлен в системе — проверить обеспеченность заранее, на этапе переговоров с клиентом, им неудобно.
Ещё один нюанс типового отчёта «обеспечение заказов покупателей»: он показывает потребность по номенклатуре в целом, а не разворачивает состав спецификации построчно с пометкой, какая именно деталь в дефиците — приходится дополнительно открывать саму спецификацию и сверять глазами. На практике первый и второй способ чаще используют вместе, а не вместо друг друга.
почему галочка «показывать нули» в настройках отчёта не спасает
В отчётах на системе компоновки данных действительно есть настройка вывода нулевых значений — но она работает только с теми строками, которые запрос уже получил. Если по позиции было и поступление, и расход, а итоговый остаток случайно свёлся к нулю, такая строка в выборке есть, и галочка её честно покажет. Это другая ситуация: движение по позиции было, просто итог нулевой.
Позиция из спецификации, по которой на складе вообще никогда не было прихода, в выборку не попадает ни при каком сочетании настроек отчёта — потому что запрос к виртуальной таблице остатков строится от движений, а не от справочника номенклатуры. Нет ни одной записи в регистре — нет строки в результате запроса, и «показывать нули» здесь бессилен: показывать нечего, строка отсутствует физически, а не скрыта визуально. Отсюда и путаница: сотрудники годами ищут нужную галочку в настройках, хотя решение лежит в источнике данных отчёта, а не в его оформлении.
как устроена доработка: меняем соединение в СКД
где теряются нулевые строки
Типовой запрос отчёта строится в системе компоновки данных и связывает таблицу спецификации с виртуальной таблицей остатков через внутреннее соединение. В выборку попадают только те позиции, для которых есть хоть какое-то движение по регистру остатков. Если движений не было — позиции физически нет в результате запроса, и никакая настройка отбора или группировки её не вернёт, потому что строки нет уже на уровне данных, а не на уровне отображения.
что меняет программист
Решение — заменить соединение с внутреннего на левое: от таблицы спецификации к таблице остатков. Тогда каждая позиция спецификации сохраняется в выборке, а остаток, если движений не было, просто подставляется нулём. Дополнительно донастраивают отбор по складу и по ресурсу производства, чтобы отчёт не путал остатки одной и той же номенклатуры на разных площадках — иначе нулевая строка по одному складу может «перекрыться» ненулевым остатком по другому.
Отдельно стоит протестировать отчёт на позициях, у которых спецификация содержит вложенные узлы — сборочные единицы, которые сами состоят из деталей. Если доработка учитывает только один уровень вложенности, дефицит по комплектующей внутри узла второго уровня снова останется невидимым, а внешне отчёт будет выглядеть исправленным.
Такую доработку правильно делать расширением конфигурации, а не правкой самого отчёта «в лоб». Расширение переживает штатное обновление платформы и типовых форм, а прямая правка объекта конфигурации — нет: после ближайшего обновления 1С изменения могут просто исчезнуть или конфликтовать с новой версией отчёта.
сколько это стоит и как оформляется
Мы в ukved делаем такие доработки в рамках доработки 1С: сначала смотрим текущий отчёт и спецификации в вашей базе, формулируем короткое ТЗ — какие склады и ресурсы участвуют, нужен ли вывод нулевых строк только в отчёте или ещё и при подборе номенклатуры в заказ. Дальше правим отчёт расширением, тестируем на копии базы и переносим в рабочую — без остановки текущей работы пользователей.
Оплата идёт по факту часов внедрения и сопровождения 1С — от 3800 руб/час. Точное число часов зависит от того, сколько отчётов и подборов номенклатуры нужно доработать: иногда хватает одного отчёта, иногда клиент просит ту же логику в подборе позиций при создании заказа на производство. Логика одинаковая для любого производства на УНФ — мебельного, металлообрабатывающего или пищевого, меняется только состав таблиц отбора: где-то это склад и партия, где-то — склад и серия.
Если отчёт после доработки начинает строиться медленно — типично на базах с большим ассортиментом и историей движений за несколько лет, — узкое место чаще не в самом запросе, а в производительности сервера, на котором стоит база. В этом случае имеет смысл отдельно посмотреть на текущее железо: аренда сервера под 1С обходится от 3300 руб/мес и снимает вопрос «отчёт открывается минуту», не трогая логику самого отчёта.
что проверить перед заказом доработки — короткий чек-лист
- ✓у всех позиций, которые собираетесь производить, в базе заведены и актуальны спецификации — без этого выводить «нулевые строки» просто не из чего;
- ✓сколько складов и производственных участков задействовано — доработка должна учитывать отбор по складу, иначе остатки разных площадок перепутаются;
- ✓нужен ли вывод нулевых остатков только в отчёте для просмотра или ещё и в подборе номенклатуры на этапе создания заказа на производство;
- ✓сделана ли доработка расширением, а не правкой типового объекта — от этого зависит, переживёт ли она следующее обновление конфигурации;
- ✓кто будет сопровождать отчёт дальше — штатный программист 1С в компании или подрядчик на договоре сопровождения.
Пункт про расширение стоит проверить отдельно, даже если доработку делали не вы: если предыдущий подрядчик правил типовой отчёт напрямую, при следующем обновлении конфигурации нулевые строки могут снова исчезнуть — и мастер в цехе опять увидит чистый список там, где на самом деле дефицит.
Если ни один пункт чек-листа не выполняется — спецификации вообще не ведутся в базе, а остатки считаются в экселе — доработка отчёта не поможет: сначала нужно навести порядок в НСИ и завести спецификации, и только потом настраивать вывод нулевых строк.
❓ Частые вопросы
Почему в 1С:УНФ 3.0 отчёт «Остатки товаров» не показывает позиции спецификации, которых нет на складе?
Отчёт строит выборку от движений по регистру остатков через внутреннее соединение с таблицей спецификации. Если по позиции никогда не было прихода, записи в регистре нет, и строка отсутствует в результате запроса физически — настройка отображения её не вернёт без доработки источника данных отчёта.
Можно ли включить показ нулевых остатков стандартной настройкой отчёта, без программирования?
Нет. Настройка «показывать нули» в системе компоновки данных работает только с уже полученными строками, где итог случайно свёлся к нулю при движениях. Позиции без единого движения по регистру в выборку не попадают в принципе, и стандартных настроек для их вывода в 1С:УНФ 3.0 не предусмотрено.
Слетит ли доработанный отчёт после очередного обновления конфигурации УНФ?
Если доработку сделали прямой правкой типового отчёта, риск высокий: изменения могут пропасть или конфликтовать с новой версией формы. Доработка расширением конфигурации переживает штатные обновления платформы и типовых объектов, поэтому такой способ используют по умолчанию.
Сколько времени и денег занимает такая доработка?
Точный срок зависит от числа отчётов и подборов номенклатуры, которые нужно изменить, и от сложности спецификаций — с вложенными узлами или без. Оплата идёт по факту часов сопровождения 1С от 3800 руб/час, финальную оценку дают после короткого ТЗ.
Подходит ли доработка, если производство ведётся на нескольких складах?
Да, но доработку нужно сразу делать с учётом отбора по складу и ресурсу производства. Без этого отчёт может показать нулевой остаток по одному складу, хотя на другом та же позиция есть в наличии, и картина по дефициту снова окажется недостоверной.
Если задача шире одной настройки и речь о переходе на другую конфигурацию — это уже внедрение 1С: этапы, сроки и ответственность фиксируются договором.
Или позвоните: +7 495 133-92-44 — в рабочее время с 9:00 до 19:00
Остались вопросы? Нужна помощь?
Менеджеры компании с радостью ответят на ваши вопросы, произведут расчет стоимости услуг и подготовят индивидуальное коммерческое предложение.
Бесплатная консультация

