- В этой теме 1 ответ, 2 участника, последнее обновление 1 минута назад сделано .
Просмотр 1 ветки ответов
Просмотр 1 ветки ответов
- Для ответа в этой теме необходимо авторизоваться.
Программирование и администрирование в 1С
База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как удалить пробелы из реквизита справочника в запросе 1С?
как из запроса в реквизите справочника убрать пробелы
В запросе 1С нельзя напрямую внутри самого запроса убрать пробелы из значения реквизита, потому что в языке запросов 1С нет встроенной функции для удаления пробелов из строк.
Как сделать на практике:
1. Убирать пробелы после выполнения запроса, в коде 1С
Например, после получения выборки из запроса, пройтись по результатам и применить функцию СокрЛП() (сокращение левых и правых пробелов) или СтрЗаменить() для удаления всех пробелов.
Пример:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Запрос = Новый Запрос; Запрос.Текст = |ВЫБРАТЬ | Справочник.НомерРеквизита КАК Номер |ИЗ | Справочник.Справочник КАК Справочник ; Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(); Пока Выборка.Следующий() Цикл ЧистыйНомер = СтрЗаменить(Выборка.Номер, " ", ""); // Удаляем все пробелы // Используйте ЧистыйНомер дальше КонецЦикла; |
2. Если нужно убрать пробелы только в начале и конце строки — используйте СокрЛП()
|
1 |
ЧистыйНомер = СокрЛП(Выборка.Номер); |
3. Если хотите убрать пробелы только в запросе, можно использовать функцию ПОДСТАВИТЬ
В запросе 1С есть функция ПОДСТАВИТЬ(Строка, ЧтоЗаменить, НаЧтоЗаменить), которая заменяет подстроки.
Пример удаления пробелов:
|
1 2 3 4 |
|ВЫБРАТЬ | ПОДСТАВИТЬ(Справочник.НомерРеквизита, " ", "") КАК НомерБезПробелов |ИЗ | Справочник.Справочник КАК Справочник |
Это удалит все пробелы из значения реквизита прямо в запросе.
—
Итого:
— Для удаления всех пробелов в запросе используйте ПОДСТАВИТЬ(Реквизит, " ", "").
— Для удаления пробелов в начале и конце — после запроса применяйте СокрЛП().
— Для более сложной очистки (например, убрать табуляции, переносы строк) — делайте это в коде 1С после выборки.
Рекомендую использовать именно ПОДСТАВИТЬ в запросе, если нужно сразу получить значение без пробелов.