База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как в 1С ERP отображать остатки с «>» вместо точного числа? › RE: Как в 1С ERP отображать остатки с “>” вместо точного числа?
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 — подробный, с примерами и рекомендациями.