|
НайтиПоКоду() так и должно отрабатывать? | ☑ | ||
|---|---|---|---|---|
|
0
MNS_Ротерта
18.11.08
✎
15:26
|
Справочники.Валюты.НайтиПоКоду("899") результат пустая ссылка
Справочники.Валюты.НайтиПоКоду("810010000000000") результат ссылка руб Справочники.Валюты.НайтиПоКоду("810") результат ссылка руб Платформа 1С:Предприятие 8.1 (8.1.11.67) Мне всегда казалось что код должен быть однозначно задан. Независимо от того, сколько задано символов в коде справочника. Кто нибудь задавался этим вопросом? |
|||
|
1
Scooter
18.11.08
✎
15:28
|
в 1С:Предприятие 8.0 (8.0.18.2) такаяже фигня
|
|||
|
2
Fragster
гуру
18.11.08
✎
15:29
|
НайтиПоКоду (FindByCode)
Синтаксис: НайтиПоКоду(<Код>, <Поиск по полному коду>, <Родитель>, <Владелец>) Параметры: <Код> (обязательный) Тип: Число, Строка. Искомый код. Строка или число в зависимости от настроек справочника в конфигураторе. <Поиск по полному коду> (необязательный) Тип: Булево. Определяет режим поиска по полному коду. Истина - искомый код следует задавать в виде строки, состоящей из последовательности кодов по уровням справочника, разделенных символом "/". Значение по умолчанию: Ложь <Родитель> (необязательный) Тип: СправочникСсылка. Родитель, в пределах которого нужно выполнять поиск. Если не указан, то поиск будет проводиться во всем справочнике. <Владелец> (необязательный) Тип: СправочникСсылка. Владелец, в пределах которого нужно выполнять поиск. Если не указан, то поиск будет проводиться во всем справочнике. Возвращаемое значение: Тип: СправочникСсылка.<Имя справочника>, Неопределено. Если не существует ни одного элемента с требуемым кодом, то будет возвращена пустая ссылка. Если код не задан, то будет возвращено Неопределено. Описание: Осуществляет поиск элемента по его коду. Пример: СтрокаКода = "840"; Валюты = Справочники.Валюты; НайденнаяСсылка = Валюты.НайтиПоКоду(СтрокаКода); Если НайденнаяСсылка = Валюты.ПустаяСсылка() Тогда Сообщить("Валюты """ + СтрокаКода + """ еще нет"); КонецЕсли; |
|||
|
3
Scooter
18.11.08
✎
15:29
|
ищет по первым трем символам (по длине кода)
|
|||
|
4
Filippov
18.11.08
✎
15:30
|
См Синтакс-Помощник:
НайтиПоКоду (FindByCode) Синтаксис: НайтиПоКоду(<Код>, <Поиск по полному коду>, <Родитель>, <Владелец>) Параметры: <Код> (обязательный) Тип: Число, Строка. Искомый код. Строка или число в зависимости от настроек справочника в конфигураторе. <Поиск по полному коду> (необязательный) Тип: Булево. Определяет режим поиска по полному коду. Истина - искомый код следует задавать в виде строки, состоящей из последовательности кодов по уровням справочника, разделенных символом "/". Значение по умолчанию: Ложь <Родитель> (необязательный) Тип: СправочникСсылка. Родитель, в пределах которого нужно выполнять поиск. Если не указан, то поиск будет проводиться во всем справочнике. <Владелец> (необязательный) Тип: СправочникСсылка. Владелец, в пределах которого нужно выполнять поиск. Если не указан, то поиск будет проводиться во всем справочнике. Возвращаемое значение: Тип: СправочникСсылка.<Имя справочника>, Неопределено. Если не существует ни одного элемента с требуемым кодом, то будет возвращена пустая ссылка. Если код не задан, то будет возвращено Неопределено. Описание: Осуществляет поиск элемента по его коду. Пример: СтрокаКода = "840"; Валюты = Справочники.Валюты; НайденнаяСсылка = Валюты.НайтиПоКоду(СтрокаКода); Если НайденнаяСсылка = Валюты.ПустаяСсылка() Тогда Сообщить("Валюты """ + СтрокаКода + """ еще нет"); КонецЕсли; |
|||
|
5
Fragster
гуру
18.11.08
✎
15:31
|
а если длина передаваемой строки больше, чем длина кода в конфигураторе - то она обрезается до длины кода в конфигураторе...
|
|||
|
6
Filippov
18.11.08
✎
15:31
|
Прошу прощения - пока копипастил, ответ уже был дан
|
|||
|
7
MNS_Ротерта
18.11.08
✎
16:00
|
(5) Меня как раз это и интересует. Я помню структуру параметров. 2,3,4 параметр не имеют в моем примере никакого значения так что их можно опустить. Просто меня допущение смущает немного "а если длина передаваемой строки больше, чем длина кода в конфигураторе - то она обрезается до длины кода в конфигураторе...". Может оно конечно и логично, но с другой стороны если пытаться что - то искать изначально неверной длины, то можем получить неверный элемент и платформа даже не матюкнется. Мне кажется что 1Снегам логичнее было бы сделать жесче контроль кода, хотя им виднее...
|
|||
|
8
Fragster
гуру
18.11.08
✎
16:01
|
а если код - числовой - то если длина 3, то искать будет по 999 ;)
|
|||
|
9
vde69
18.11.08
✎
16:03
|
(7) обьектные функции оставлены скорее для совместимости, ими не рекомендуеться пользоваться, по этому притензии не принимаються
|
|||
|
10
MNS_Ротерта
18.11.08
✎
16:19
|
(9) Согласен. Спасибо.
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |