Имя: Пароль:
1C
1С v8
в функцию поиска СтраныМира передается NULL и находится Испания
0 DrShad
 
21.10.16
16:44
Ситуация следующая: из-за некорректного кода в функцию поиска СтраныМира передается NULL
в самой функции вот такой код

&НаСервере
Функция НайтиСтрану (СтранаУТ)
    СтранаБП = Справочники.СтраныМира.НайтиПоНаименованию(СтранаУТ.Наименование);
    Если СтранаБП.Пустая() Тогда
        СтранаБП = Справочники.СтраныМира.СоздатьЭлемент();
        СтранаБП.Код                = СтранаУТ.Код;
        СтранаБП.Наименование       = СтранаУТ.Наименование;
        СтранаБП.НаименованиеПолное = СтранаУТ.НаименованиеПолное;
        СтранаБП.КодАльфа2          = СтранаУТ.КодАльфа2;
        СтранаБП.КодАльфа3          = СтранаУТ.КодАльфа3;
        СтранаБП.Записать();
    КонецЕсли;
    Возврат (СтранаБП.Ссылка);
КонецФункции

т.е. Наименование от NULL тоже есть NULL, но НайтиПоНаименованию() находит ссылку на страну Испания!!!!!

КАК?
1 DrShad
 
21.10.16
16:44
1С:Предприятие 8.3 (8.3.8.2137) если что
2 shuhard_серый
 
21.10.16
16:46
(0) так и есть, находит первый попавшийся
3 DrShad
 
21.10.16
16:49
(2) какое замечательное поле для деятельности го*нокодеров

я в ужасе, так как к слову сказать таких поисков в одной отдельно взятой обработке одного из древних франей Мск хоть пруд пруди *рукалицо*
4 Волшебник
 
модератор
21.10.16
16:49
(0) Странно, что не Украина.
5 aka AMIGO
 
21.10.16
16:52
Справочник индексирован? может быть кривой индекс, и страна - либо первая в ряду, либо последняя.
6 Mauser
 
21.10.16
16:52
потому что null приводится к строке
точноесоответствие по умолчанию ложь
пустая строка будет соответствовать левой части наименования

ааааа мы все умрем пыщь пыщь упячка
7 DrShad
 
21.10.16
16:54
(4) ничего странного я же давно отбираю хлеб у франей из Мск )))
8 DrShad
 
21.10.16
16:56
(5) это типовой справочник из типовой БП 3.0 свежего релиза
9 shuhard_серый
 
21.10.16
16:57
(3) что мешает использовать точное соответствие
10 Господин ПЖ
 
21.10.16
16:58
испания Null. т.е. наш?
11 Mauser
 
21.10.16
16:59
(9) думаю что отобранный хлеб
12 DrShad
 
21.10.16
17:00
(9) мне ничего не мешает, удивило что система так себя ведет, потому как мне никогда не приходило в голову передавать на поиск по наименованию NULL
13 Mauser
 
21.10.16
17:01
http://www.bravoavia.com.ua/offers/flights/lviv/spain

Авиабилеты из null в Испанию
14 Mauser
 
21.10.16
17:01
(12) а пустую строку - приходило?
15 DrShad
 
21.10.16
17:03
(14) если вам это так интересно, то тоже нет

но сейчас попробую )))
16 DrShad
 
21.10.16
17:04
+(15) без точного соответствия таки Испания )))
17 Mauser
 
21.10.16
17:06
(16) что внезапно в точности соответствует поведению описанному в сп
18 stix2010
 
21.10.16
17:06
(4) Украина по индексу 404 находится - 146%
19 shuhard_серый
 
21.10.16
17:11
(16) все это знают
20 DrShad
 
21.10.16
17:12
(19) а я вот не знал
21 Cyberhawk
 
21.10.16
17:23