|   |   | 
| 
 | Поиск объекта по реквизиту и несколько объектов удовлетворяющие выбору. | ☑ | ||
|---|---|---|---|---|
| 0
    
        Wirtuozzz 28.02.17✎ 10:48 | 
        Добрый день Мистяне. У меня появился вопросик, по работе платформы 8.3.  
 Есть справочник, в нем происходит поиск по реквизиту (пусть это будет КПП), в справочнике есть несколько элементов, удовлетворяющие моему отбору. Соответственно система получает несколько элементов. Собственно вопрос: как система определяет порядок как расположить элементы в массиве? Согласно индексу? Что надо сделать что бы находился не первый элемент из списка найденных? Перезаписать его? | |||
| 1
    
        Волшебник модератор 28.02.17✎ 10:49 | 
        ищи запросом с фразой УПОРЯДОЧИТЬ ПО     | |||
| 2
    
        Wirtuozzz 28.02.17✎ 10:51 | 
        У меня кривизна полезла не в запросе     | |||
| 3
    
        Wirtuozzz 28.02.17✎ 10:51 | 
        Да, вопрос стоит не как исправить, а как работает.     | |||
| 4
    
        DrShad 28.02.17✎ 10:55 | 
        перезапись ничего не изменит     | |||
| 5
    
        Wirtuozzz 28.02.17✎ 10:55 | 
        Но дело я правильно говорю что в Индексе. Да?     | |||
| 6
    
        Вафель 28.02.17✎ 10:56 | 
        скорее всего выборка идет по кластерному индексу, если не сказано про упорядочивание     | |||
| 7
    
        Вафель 28.02.17✎ 10:56 | 
        но индекс это ссылка, а ее поменять у существующего элемента уже нельзя     | |||
| 8
    
        xxTANATORxx 28.02.17✎ 11:03 | 
        без УПОРЯДОЧИТЬ не факт что на файловой версии (на постгрии и пр.) у тебя будет таже сортировка     | |||
| 9
    
        Wirtuozzz 28.02.17✎ 11:04 | 
        База серверная.     | |||
| 10
    
        Вафель 28.02.17✎ 11:05 | 
        (8) в ЗУП 2.5 есть косяк на эту тему     | |||
| 11
    
        Wirtuozzz 28.02.17✎ 11:13 | 
        Но правильно я понимаю, что программная сортировка объектов выборки происходит по умолчанию по Индексу?     | |||
| 12
    
        h-sp 28.02.17✎ 11:35 | 
        (11) ну вы отсортируйте, проверьте. Это же быстро.     | |||
| 13
    
        Wirtuozzz 28.02.17✎ 13:16 | 
        (12) Что проверить? Посоветуйте как проверить, я проверю.     | |||
| 14
    
        Wirtuozzz 28.02.17✎ 13:19 | 
        Самое главное что СП тут не говорит внятно что будет найдено: 
 СправочникМенеджер.<Имя справочника> (CatalogManager.<Имя справочника>) НайтиПоРеквизиту (FindByAttribute) Синтаксис: НайтиПоРеквизиту(<ИмяРеквизита>, <ЗначениеРеквизита>, <Родитель>, <Владелец>) Параметры: <ИмяРеквизита> (обязательный) Тип: Строка. Имя реквизита, как он задан в конфигураторе, по значению которого осуществляется поиск. Тип значения произвольный, кроме ХранилищеЗначения и строк произвольной длины. <ЗначениеРеквизита> (обязательный) Тип: Произвольный. Значение реквизита, по которому должен выполняться поиск. <Родитель> (необязательный) Тип: СправочникСсылка.<Имя справочника>. Родитель, в пределах которого нужно выполнять поиск. Если не указан, то поиск будет проводиться во всем справочнике. <Владелец> (необязательный) Тип: СправочникСсылка.<Имя справочника>. Владелец, в пределах которого нужно выполнять поиск. Если не указан, то поиск будет проводиться во всем справочнике. Возвращаемое значение: Тип: СправочникСсылка.<Имя справочника>. Ссылка на найденный элемент справочника. Если не существует ни одного элемента с требуемым значением реквизита, то будет возвращена пустая ссылка. Описание: Осуществляет поиск элемента по значению реквизита. Доступность: Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер). Примечание: Если существует несколько элементов с указанным значением реквизита, то будет найден только один из них. Для реквизитов типа Строка поиск осуществляется по точному соответствию. ------------------- Будет найден только 1, но блин как он его определит первый этот | |||
| 15
    
        mistеr 28.02.17✎ 13:30 | 
        (14) Поведение системы в этом случае неопределено, вот что говорит СП. Хочешь определенности — приложи усилия.
 Если же интересно именно "как работает", возьми профайлер и посмотри план запроса. В следующем релизе может поменяться. | |||
| 16
    
        Wirtuozzz 28.02.17✎ 13:40 | 
        (15) можно ссылку на то где описано как это сделать?     | |||
| 17
    
        mistеr 28.02.17✎ 14:06 | 
        (16) Что именно?     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |