|
Результат Запросов различает регистр букв? | ☑ | ||
---|---|---|---|---|
0
napagokc
23.11.11
✎
09:49
|
Что-то не удалось нагуглить ответ...
Загружаю из dbf контрагентов. В dbf-файле есть два контрагента, имеющих общего родителя и одинаковое наименование, но написанное разными регистрами букв. После того, как загрузится первый такой контрагент, что вернет выборка: Запрос.Текст = "ВЫБРАТЬ | Контрагенты.Ссылка |ИЗ | Справочник.Контрагенты КАК Контрагенты |ГДЕ | Контрагенты.Наименование = &Наименование | И Контрагенты.Родитель = &Родитель | И Контрагенты.ЭтоГруппа = &Группа"; ? Она найдет уже загруженного контрагента или все-таки ничего не найдет (при условии, что до загрузки справочник был пустым)? Мне казалось, что выборка игнорирует регистр, но у меня загрузилось два контрагента, имеющих общего родителя и одинаковое наименование, но написанное в разных регистрах. Вот и вопрос: это нормально и выгрузка учитывает регистр, или в одном из наименований кто-то додумался заменить русскую букву на английскую, так, что зрительно название одинаковое, но по факту разное? Просто других объяснений пока не вижу... |
|||
1
aleks-id
23.11.11
✎
09:50
|
Контрагенты.Наименование ПОДОБНО &Наименование
|
|||
2
napagokc
23.11.11
✎
10:05
|
(1) Я так понимаю, что ПОДОБНО должна делать проверку на точное соответствие? Но у меня вопрос-то в другом. Мой запрос без ПОДОБНО, а проверка, похоже, сделалась и запрос различает двух "контрагент1" и "КОНТРАГЕНТ1"
|
|||
3
Wobland
23.11.11
✎
10:06
|
(2) ПОДОБНО регистронезависим
|
|||
4
Wobland
23.11.11
✎
10:06
|
+(3) плин, так долго уже проверить?
|
|||
5
Нуф-Нуф
23.11.11
✎
10:07
|
запросы к бд не различают регистр. как-то так. недавно в курсе гилева услышал. кстати ничего не мешает протестировать
|
|||
6
napagokc
23.11.11
✎
10:08
|
(4) Проверить не долго, но глупо на каждый вопрос, на который достаточно ответа "да" или "нет" писать отдельный запрос. Я же не что-то супер сложное спрашиваю. У меня просто опыта пока недостаточно и с этим столкнулся впервые, вот и хотел узнать у гуру 1С.
|
|||
7
Wobland
23.11.11
✎
10:11
|
(6) почему глупо? пытаясь разобраться сам, получаешь больше к опыту, пускай, быть может, и с большими временными затратами
|
|||
8
hhhh
23.11.11
✎
10:21
|
(6) сам понимаешь, что искать контрагента по наименованию - это полный бред. Поэтому вряд ли тебе кто-то скажет, быстрее протестировать.
|
|||
9
Axel2009
23.11.11
✎
10:24
|
(3) нифига. ПОДОБНО без "%" монопенисуалень "="
|
|||
10
Wobland
23.11.11
✎
10:25
|
(9) выбрать выбор когда "аб" подобно "АБ" тогда истина конец
|
|||
11
Axel2009
23.11.11
✎
10:26
|
(0) база какая?
|
|||
12
aleks-id
23.11.11
✎
10:26
|
(9) инфа 100% ?
|
|||
13
Axel2009
23.11.11
✎
10:27
|
(10) внезапно
ВЫБРАТЬ ВЫБОР КОГДА "аб" = "АБ" ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ |
|||
14
napagokc
23.11.11
✎
10:27
|
(11) база 8.2, конфа собственной разработки.
Проверка показала, что запрос с "=" регистр не разделяет. |
|||
15
napagokc
23.11.11
✎
10:27
|
*не различает
|
|||
16
Axel2009
23.11.11
✎
10:28
|
(12) то что монопенисуален 100%. результат этих сравнений одинаков.
|
|||
17
Axel2009
23.11.11
✎
10:28
|
(14) файловая или скульная или еще какая?
|
|||
18
Wobland
23.11.11
✎
10:28
|
(16) он ты о чём ;)
|
|||
19
napagokc
23.11.11
✎
10:29
|
(17) файловая
|
|||
20
aleks-id
23.11.11
✎
10:31
|
(16) ты не учел одного. что особо упоротые манагеры втыкают лишние пробелы перед или после наименования.
|
|||
21
Reset
23.11.11
✎
10:33
|
(20) Или в средине. Или вставляют самые разнообразные кавычки. Или путают раскладку. Или...
|
|||
22
napagokc
23.11.11
✎
10:33
|
(20) В моем случае это не страшно, т.к. читаю наименование из dbf-файла, используя СокрЛП()
|
|||
23
Wobland
23.11.11
✎
10:34
|
(22) и сравниваешь с тем, что у тебя понаделали в базе указанные манагеры
|
|||
24
napagokc
23.11.11
✎
10:35
|
(23) Никто там еще ничего не понаделал. Я перевожу базу из 7.7 в 8.2. В 8.2 еще никто не работает, там только то, что я загрузил.
|
|||
25
aleks-id
23.11.11
✎
10:36
|
ищи контров по айнанэ. остальное от лукавого
|
|||
26
Wobland
23.11.11
✎
10:36
|
(24) уговорил. для первоначального заполнения годится ;)
|
|||
27
Reset
23.11.11
✎
10:37
|
(25) +1
|
|||
28
napagokc
23.11.11
✎
10:41
|
толку-то... Как перенеслись Контрагенты меня устраивает, хоть и не понятна причина, по которой создались два разных контрагента с одинаковым наименованием, но в разных регистрах, когда я использовал вышеописанный запрос. А вот когда стал загружать подчиненный справочник "Договора", делая фильтр в запросе по Владельцу и Коду, то почему-то договор из второго контрагента перезаписал договор с таким же кодом из первого Контрагента... Запрос на владельца использовал тот же. То есть, первый раз запрос различил контрагентов, а второй раз - нет.
Пойду прогуляюсь, может мысль придет... :( (25), (27) Ась? :) Айнанэ - это что? )))) |
|||
29
Axel2009
23.11.11
✎
10:42
|
(20) при чем тут регистрозависимость и не равненство строк ПРИ ЛЮБОМ РАСКЛАДЕ?
|
|||
30
aleks-id
23.11.11
✎
10:43
|
(28) инн
|
|||
31
napagokc
23.11.11
✎
11:05
|
(30) ИНН не подходит, т.к. в 7.7 много физ. лиц без ИНН
|
|||
32
Axel2009
23.11.11
✎
12:06
|
(31) у меня в файловой ВЫБРАТЬ ВЫБОР КОГДА "аб" = "АБ" ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ выдал ИСТИНА, а у вас?
|
|||
33
napagokc
23.11.11
✎
12:52
|
(32) У меня тоже вернул истину. То есть, регистр букв не различает... А есть ли способ различить регистр?
|
|||
34
Axel2009
23.11.11
✎
12:53
|
(33) для регистронезависимых только делать сравнение в коде 1с. он регистрозависим
|
|||
35
napagokc
23.11.11
✎
12:56
|
имею на входе:
КодДоговора | НаименованиеДоговора | Владелец 1 | Договор1 | Контрагент1 2 | Договор2 | Контрагент1 3 | Договор3 | Контрагент1 3 | Договор1 | КОНТРАГЕНТ1 Запрос определяет "КОНТРАГЕНТ1" равным "Контрагент1" и затирает третий договор у "Контрагент1" (выборку делаю по владельцу и коду) |
|||
36
napagokc
23.11.11
✎
12:56
|
(34) То есть, запросом никак, да? ясно ((
|
|||
37
Wobland
23.11.11
✎
12:59
|
>определяет "КОНТРАГЕНТ1" равным "Контрагент1"
а не проще ль в источнике переименовать, так и заблудиться недолго |
|||
38
napagokc
23.11.11
✎
13:10
|
(37) Первоисточник я трогать не могу. Могу оттуда только выгрузить уже имеющиеся данные. Но в целом норм, мне кажется, что я нашел выход. Щас опробую и отпишусь
|
|||
39
Axel2009
23.11.11
✎
13:12
|
(36) запросом можно если база будет клиент-серверная на скуле и у базы будет по умолчанию стоять регистрозависимые строки. тогда будет запросом. но тут либо для всех зависимо либо для всех независимо
|
|||
40
napagokc
23.11.11
✎
13:35
|
(39) Ясно, спасибо.
проблему решил так: Владелец = Справочники.Контрагенты.ПустаяСсылка(); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Контрагенты.Ссылка |ИЗ | Справочник.Контрагенты КАК Контрагенты |ГДЕ | Контрагенты.Наименование = &Наименование | И Контрагенты.ЭтоГруппа = &Группа"; Запрос.УстановитьПараметр("Группа", Ложь); Запрос.УстановитьПараметр("Наименование", СокрЛП(хВ.Owner)); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл Если СокрЛП(Выборка.Ссылка.Наименование) = СокрЛП(хВ.Owner) Тогда Владелец = Выборка.Ссылка; Прервать; КонецЕсли; КонецЦикла; Это я так нахожу Владельца для подчиненного справочника Договоры. То есть, запросом нахожу всех предполагаемых владельцев, а дальше, в цикле, делаю уже выборку по точному соответствию наименований. Уж не знаю, на сколько это нелепо, но пока мне в голову только такой вариант пришел. |
|||
41
Axel2009
23.11.11
✎
14:13
|
Выборка.Ссылка.Наименование
а в запросе сразу выбрать наименование не? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |