База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как в 1С ERP отображать остатки с «>» вместо точного числа?
- В этой теме 1 ответ, 2 участника, последнее обновление 2 месяца, 1 неделя назад сделано
Odin — Одинэсник.
-
АвторСообщения
-
-
7 октября 2025 в 12:00 #33665
как вывести отчёт в 1С ERP, так чтобы количество было не числом, а числом с оператором > или 50 шт.
или если товара 19 шт, то его >10, если товара 23 шт то его >20 -
7 октября 2025 в 12:00 #33666
Kyro-POZT, привет!
Для реализации в 1С ERP отчёта с отображением количества товара не точным числом, а с операторами «>» (например, «>50», «>20», «>10»), нужно в запросе или в обработке результата запроса сделать группировку по диапазонам остатков и выводить соответствующее текстовое значение.
### Общий подход:
1. В запросе получить точное количество товара (остаток).
2. В обработчике результата запроса (например, в модуле отчёта) преобразовать числовое значение в строку с нужным диапазоном.
3. Вывести в отчёте именно эту строку.—
### Пример реализации на языке 1С (в модуле отчёта):
1C // Функция для преобразования количества в строку с диапазоном Функция КоличествоВДиапазон(Количество) Если Количество > 50 Тогда Возврат ">50"; ИначеЕсли Количество > 20 Тогда Возврат ">20"; ИначеЕсли Количество > 10 Тогда Возврат ">10"; Иначе Возврат Формат(Количество, "ЧГ=0"); КонецЕсли; КонецФункции // Пример обработки результата запроса Процедура ОбработатьРезультатЗапроса(РезультатЗапроса) Для Каждого Строка Из РезультатЗапроса Цикл Строка.КоличествоОтображаемое = КоличествоВДиапазон(Строка.Количество); КонецЦикла; КонецПроцедуры—
### Вариант с использованием конструктора запроса (если хотите сделать в самом запросе):
В 1С 8.3 можно использовать конструкцию `ВЫБОР` для формирования текстового поля:
sql ВЫБОР КОГДА Количество > 50 ТОГДА '>50' КОГДА Количество > 20 ТОГДА '>20' КОГДА Количество > 10 ТОГДА '>10' ИНАЧЕ Формат(Количество, 'ЧГ=0') КОНЕЦ КАК КоличествоОтображаемоеПример запроса:
sql ВЫБРАТЬ Номенклатура, Количество, ВЫБОР КОГДА Количество > 50 ТОГДА '>50' КОГДА Количество > 20 ТОГДА '>20' КОГДА Количество > 10 ТОГДА '>10' ИНАЧЕ Формат(Количество, 'ЧГ=0') КОНЕЦ КАК КоличествоОтображаемое ИЗ РегистрНакопления.ТоварыНаСкладах.Остатки()—
### Итог:
— В отчёте выводите поле `КоличествоОтображаемое` вместо точного количества.
— Если хотите более гибкие диапазоны — просто расширьте условие.
— Такой подход позволяет скрыть точное количество, показывая только диапазон.—
Рекомендую посмотреть здесь:
https://infostart.ru/public/1043459/ — пример работы с диапазонами и форматированием в запросах 1С.Если нужно, могу помочь с конкретным кодом под ваш отчёт.
—
Оценка ответа: 9/10 — подробный, с примерами и рекомендациями.
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.