Поиск пробелов в элементе справочника (наименование)

1. G_105095389470697559379 12.02.21 20:27 Сейчас в теме
Доброго времени суток. Прошу помощи....что-то не могу понять почему не ищет элементы с пробелами....УФ, внешняя обработка
Делаю вот так:
Запрос = Новый Запрос;
	Запрос.Текст = 
	"ВЫБРАТЬ
	|	Состав.Наименование,
	|	Состав.Ссылка
	|ИЗ
	|	Справочник.Состав КАК Состав
	|ГДЕ
	|	Состав.Наименование ПОДОБНО &Наименование";
	
	Запрос.УстановитьПараметр("Наименование", " ");
	
	ЭтотОбъект.ТЗ.Загрузить(Запрос.Выполнить().Выгрузить());

	
	РезультатЗапроса = Запрос.Выполнить();
	
	Выборка = РезультатЗапроса.Выбрать();
	
	Пока Выборка.Следующий() цикл
		            
		НовоеЗначениеЭлемента = Выборка.Ссылка.ПолучитьОбъект();
		НовоеЗначениеЭлемента.Наименование = СтрЗаменить(Выборка.Наименование, Символы.НПП,"");
		
		НовоеЗначениеЭлемента.Записать();
		
Показать


Наименований много с пробелами....но их ненаходит.
По теме из базы знаний
Найденные решения
9. taurus__ 80 12.02.21 22:14 Сейчас в теме
(7)А вы попробуйте в параметр запроса пробел не на клавиатуре вбить, а скопировать-вставить из названия одного из элементов справочника состав.

Если запрос типа

ВЫБРАТЬ
	Номенклатура.Наименование КАК Наименование,
	Номенклатура.Ссылка КАК Ссылка
ИЗ
	Справочник.Номенклатура КАК Номенклатура
ГДЕ
	Номенклатура.Наименование ПОДОБНО "% %"


у вас ничего не выдает, значит не тот символ в параметр вставили, запрос вполне рабочий. А символы бывают всякие разные, может там и не пробел, а просто похож ))
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. dhurricane 12.02.21 20:54 Сейчас в теме
(1) Очевидно, шаблон составлен неправильно:
Запрос.УстановитьПараметр("Наименование", "% %");
G_105095389470697559379; +1 Ответить
4. spacecraft 12.02.21 21:07 Сейчас в теме
(1) в данном случае использовать параметр не обязательно:
Запрос.Текст = 
    "ВЫБРАТЬ
    |    Состав.Наименование,
    |    Состав.Ссылка
    |ИЗ
    |    Справочник.Состав КАК Состав
    |ГДЕ
    |    Состав.Наименование ПОДОБНО ""% %""";
Показать
G_105095389470697559379; +1 Ответить
8. G_105095389470697559379 12.02.21 22:14 Сейчас в теме
(4) Интересно, вот так сейчас в выборку попали элементы. Но не происходит их замена.
5. taurus__ 80 12.02.21 21:58 Сейчас в теме
А еще учитите, что может быть табуляция кроме пробелов! Ее тоже надо удалять

Символы.Таб


А если сделаете вот так - время перезаписи сократите в разы:

УстановитьПривилегированныйРежим(Истина);
н=0;
НачатьТранзакцию();

Пока Выборка.Следующий() цикл
    НовоеЗначениеЭлемента = Выборка.Ссылка.ПолучитьОбъект();
    НовоеЗначениеЭлемента.Наименование = СтрЗаменить(Выборка.Наименование, Символы.НПП,"");
    
    НовоеЗначениеЭлемента.Записать();
	
	Если н=100 Тогда
		ЗафиксироватьТранзакцию();
		НачатьТранзакцию();
                н=0;
	Иначе
		н=н+1;
	КонецЕсли;
КонецЦикла;
	
Если н>0 Тогда
	ЗафиксироватьТранзакцию();
КонецЕсли;
Показать
G_105095389470697559379; +1 Ответить
7. G_105095389470697559379 12.02.21 22:10 Сейчас в теме
(5)Да хорошее исполнение, я пока не могу понять почему у меня выборка пустая...
9. taurus__ 80 12.02.21 22:14 Сейчас в теме
(7)А вы попробуйте в параметр запроса пробел не на клавиатуре вбить, а скопировать-вставить из названия одного из элементов справочника состав.

Если запрос типа

ВЫБРАТЬ
	Номенклатура.Наименование КАК Наименование,
	Номенклатура.Ссылка КАК Ссылка
ИЗ
	Справочник.Номенклатура КАК Номенклатура
ГДЕ
	Номенклатура.Наименование ПОДОБНО "% %"


у вас ничего не выдает, значит не тот символ в параметр вставили, запрос вполне рабочий. А символы бывают всякие разные, может там и не пробел, а просто похож ))
10. G_105095389470697559379 12.02.21 22:19 Сейчас в теме
(9)Спасибо. Всем. Поменял Символы.НПП на просто " " (пробел).....Интересно получается. Мне если не изменяет память в Символах.НПП есть пробел...почему он его не видит не понятно.
3. Aitbay 12.02.21 20:58 Сейчас в теме
Запрос.УстановитьПараметр("Наименование", "%"+Символы.НПП+"%");
6. G_105095389470697559379 12.02.21 22:07 Сейчас в теме
(3) Я вот так делал и как в первом варианте делал....Вообще почему-то не находит. В выборке пусто...
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот