Групповая обработка справочников и документов

Новая тема
Показывать по 10 20 40 сообщений
ДД!
Возникла проблема при отборе по условию Номенклатура -Наименование -Содержит -
если в условии содержится некоторый набор символов (цифры, буквы, знаки, пробелы), то обработка находит те позиции номенклатуры, которые именно заданную последовательность и содержат (с точностью до знака).
Если в условии отбора появляется знак процента %, то обработка находит любые наименования, которые содержат условия в любом месте. Т.е. если задать отбор = содержит "10%", то выдаст и строки где есть 10%, и строки где есть "10-12%". Такое ощущение, что знак % работает как объединение.
В связи с этим вопрос
Как задать условие, чтобы обработка отобрала СТРОГОЕ условие, например, "10%"
Где можно ознакомиться со значением спецсимволов, если этот случай не является багом?
Ситуация аналогична и на 8.2 и на 8.3 и на разных конфигурациях
Спасибо
Цитата
то обработка находит те позиции номенклатуры
Какая такая "обработка"?
Ответили: пост #3
Ответ на пост №2
Денис (САМАРА), речь идет о типовой обработке 1с " Групповая обработка справочников и документов"
Цитата

            
Если в условии отбора появляется знак процента %, то обработка находит любые наименования, которые содержат условия в любом месте. Т.е. если задать отбор = содержит "10%", то выдаст и строки где есть 10%, и строки где есть "10-12%". Такое ощущение, что знак % работает как объединение.


Как задать условие, чтобы обработка отобрала СТРОГОЕ условие, например, "10%"
Где можно ознакомиться со значением спецсимволов, если этот случай не является багом?

Ознакомиться со значением спецсимволов можно в справке про логические выражения в языке запросов 1с 8.

Оператор ПОДОБНО.
(он видимо работает, если в обработке указать тип сравнения "содержит").

Следующие символы в строке шаблона являются служебными и имеют смысл, отличный от символа строки:

  • % (процент): последовательность, содержащая любое количество произвольных символов
  • ...
Если в качестве самого себя необходимо записать один из перечисленных символов (в нашем примере %), то ему должен предшествовать <Спецсимвол>. Сам <Спецсимвол> (любой подходящий символ) определяется в этом же операторе после ключевого слова СПЕЦСИМВОЛ.

Короче, в этой типовой обработке не предусмотрено указание ключевого слова СПЕЦСИМВОЛ и знаки %,^,_,[,] считаются служебными и их нельзя указать для поиска, если тип сравнения "содержит".
Ответили: пост #6
Прикольно. даже ни разу с таким раньше не сталкивался. :)
При чем отбор на форме списка работает правильно, а вот в построителе (на котором базируется обработка) такая фигня получается. :)
Ответ на пост №4
Петров-В, спасибо за подробный ответ.
Но практика показала следующее...
Если задать для поиска что-то типа "4,5%", "7,3%", или "4,0%", то обработка всё корректно отрабатывает, но! если в поиске задать целое число без дробной части (т.е. когда отсутствует часть  ",0"), то обработка выдает полную ерунду...))) Т.е. если надо найти "4,0%" - нет проблем, а если "4%" - то труба )))
alteregoatg пишет:
Цитата
Если задать для поиска что-то типа "4,5%", "7,3%", или "4,0%", то обработка всё корректно отрабатывает, но! если в поиске задать целое число без дробной части (т.е. когда отсутствует часть ",0"), то обработка выдает полную ерунду...))) Т.е. если надо найти "4,0%" - нет проблем, а если "4%" - то труба )))
В чем выражается труба?
Может быть в справочнике больше нет такой номенклатуры, которая содержит "4,5" в наименовании, кроме как "4,5%" ?
А вот посто "4" дофига где есть.
Ответили: пост #8
Ответ на пост №7
Петров-В, при отборе "2,5%" находит номенклатуру в наименовании которой есть  "2,5%" в любом месте, например, "Молоко 2,5% 0,5л" или " Молоко Простоквашино 2,5% 0,5л", но не найдет такую "Молоко 2% Простоквашино 0,5л"
Если же условие отбора будет "2%, то будут отобраны все 3 варианта
alteregoatg пишет:
Цитата
при отборе "2,5%" находит номенклатуру в наименовании которой есть "2,5%" в любом месте, например, "Молоко 2,5% 0,5л" или " Молоко Простоквашино 2,5% 0,5л", но не найдет такую "Молоко 2% Простоквашино 0,5л"
Если же условие отбора будет "2%, то будут отобраны все 3 варианта
Ну это понятно.
Тип сравнения "содержит" ищет подстроку в любом месте наименования.
Просто вместо "%" подразумевается не "%", а "любое количество любых символов и в том числе %".
Я не понял в чем проблема и что не понятно в примере с молоком.
Придется смириться, что "%" указывать бесполезно в этой обработке при поиске.
Хотя в форме списка справочника "%" воспринимается в отборе, как обычный символ "%".
Ответили: пост #10
Ответ на пост №9
Петров-В, проблема в том, как отобрать только те позиции номенклатуры, наименования которых содержат, например, "2%" или "4%"? Каким должно быть условие, или это невозможно в типовой обработке?
Ответили: пост #11
Читают тему
(гостей: 1)

Быстрый переход