#0
by OnCheck
Здравствуйте. Текст запроса ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1 ПодразделенияОрганизаций.Ссылка, ПодразделенияОрганизаций.Владелец.Наименование КАК НазваниеОрганизации ИЗ Справочник.ПодразделенияОрганизаций КАК ПодразделенияОрганизаций выдает не ту запись, которая стоит первой в результате запроса ВЫБРАТЬ РАЗРЕШЕННЫЕ ПодразделенияОрганизаций.Ссылка, ПодразделенияОрганизаций.Владелец.Наименование КАК НазваниеОрганизации ИЗ Справочник.ПодразделенияОрганизаций КАК ПодразделенияОрганизаций ПодразделенияОрганизаций.Наименование ИЕРАРХИЯ При чем одну и ту же. Не могу понять, с чем связано. Помогите советом. Спасибо.
#8
by azernot
Дай угадаю, в результате запроса первый стоит родитель того самого элемента котрый выдаётся как первый?
#10
by Прохожий
Справочник упорядочивается по наименованию по всем записям, а иерархическая выборка первого может ограничиваться принадлежностью к группе в первой записи таблицы, наверно...
#11
by Ненавижу 1С
потому что ПЕРВЫЕ 1 выполняет СУБД и находит оное а УПОРЯДОЧИТЬ ПО ... ИЕРАРХИЯ делается уже позже и причем на сервере приложений
#15
by Прохожий
Группа1 ---Подргуппа1 -------"Булка" "Арбуз" Может выходит так: Результат 1 - "Булка" Результат 2 - "Арбуз"
#22
by OnCheck
не то что дает в первой строчке без "первые 1" не хотелось бы, типовой код, там суть в том что поставщиком табличного поля является справочникСписок подразделения организаций. И при проходе по этому списку первым идет именно тот элемент который возвращает запрос без "первые 1".
#23
by OnCheck
+ именно так они идентифицирую первый элемент выборки и для него заводят корневой элемент - организация
#26
by Jaap Vduul
ВЫБРАТЬ Ссылка, НазваниеОрганизации ИЗ (ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1 ПодразделенияОрганизаций.Ссылка, ПодразделенияОрганизаций.Владелец.Наименование КАК НазваниеОрганизации ИЗ Справочник.ПодразделенияОрганизаций КАК ПодразделенияОрганизаций ПодразделенияОрганизаций.Наименование) УПОРЯДОЧИТЬ ПО Ссылка ИЕРАРХИЯ
#27
by mikecool
а так будет правильно? ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1 ПодразделенияОрганизаций.Ссылка, ПодразделенияОрганизаций.Владелец.Наименование КАК НазваниеОрганизации (ВЫБРАТЬ ПодразделенияОрганизаций.Ссылка, ПодразделенияОрганизаций.Владелец.Наименование КАК НазваниеОрганизации ИЗ Справочник.ПодразделенияОрганизаций КАК ПодразделенияОрганизаций
#29
by mikecool
вернее так ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1 ПодразделенияОрганизаций.Ссылка, ПодразделенияОрганизаций.Владелец.Наименование КАК НазваниеОрганизации (ВЫБРАТЬ ПодразделенияОрганизаций.Ссылка, ПодразделенияОрганизаций.Владелец.Наименование КАК НазваниеОрганизации ИЗ Справочник.ПодразделенияОрганизаций КАК ПодразделенияОрганизаций УПОРЯДОЧИТЬ ПО ПодразделенияОрганизаций.Наименование ИЕРАРХИЯ) Как ПодразделенияОрганизаций
#32
by OnCheck
да это все понятно, хотел поправить не переписывая запрос. Думаю про проверить вариант с упорядочиванием по ГУИД.
#33
by thargon
"полагаю, что в запросе select top 1 на СУБД упорядочивается по ГУИД?" - нет, если порядок явно не указан - то порядок вывода не определен и может быть любым на усмотрение оптимизатора...
#35
by andrewks
да поймы ты, СУБД тебе не обязана вернуть 1-ю запись с учётом упорядочивания, оно уже потом выполняется. поэтому надо явно об этом попросить
#36
by andrewks
+ более того, в разных СУБД можно получить разные записи. и даже в одной СУБД теоретически можно получить разные записи
#38
by thargon
а порядок согласно стандарту все равно не определен :) В реальных случаях он будет в основном один и тот же, но случай когда оптимизатор решит, что теперь записи удобнее выгребать в другом порядке - возможен. Это может произойти из-за того, что статистика обновилась, индексы пересчитались, селективность индексов изменилась, апдейт на sql очередной поставили, вообще сервер sql поменяли на более другой...
#39
by andrewks
т.е. 1. выбрать первую запись, удовлетворяющую заданным условиям 2. группируем 3. упорядочиваем вот здесь много букв:
#40
by Jaap Vduul
Вообще, если в упорядочивании указано ИЕРАРХИЯ, то сортировка на уровне СУБД выполняется сначала по ID родителя, затем по ID элемента, вне зависимости от того какое поле указано для сортировки в самом запросе.
#41
by OnCheck
вот такой запрос я вижу на скуле. exec sp_executesql N'SELECT TOP 1 T1._IDRRef, T2._Description, T1._ParentIDRRef, T1._Description FROM _Reference94 T1 WITH(NOLOCK) LEFT OUTER JOIN _Reference80 T2 WITH(NOLOCK) WHERE (T1._OwnerIDRRef = ) ORDER BY (T1._ParentIDRRef), (T1._IDRRef)',N' varbinary',0x00000000000000000000000000000000 ORDER BY тут есть, упорядочивает он по ParentIDRRef, IDRRef. теперь задача как правильно поправить ID-шники
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- как в запросе выбрать номенклатуру, по определенной группе?
- упп , не олучается выбрать в кодах дохода НДФЛ выбрать код 2720 новогодний
- Выбрать тип справочника и выбрать элементы
- Кнопка "Выбрать" на форме выбора или как выполнить нажатие кнопки "Выбрать"
- УНФ 1.6 Как выбрать в документе перемещение запасов выбрать набор/комплект ?
В этой группе 1С
- v7: копирование баз между sql серверами
- Как программно нажать стандартную команду "Отменить поиск"?"
- 1С:8.2 УФ Выбор цвета и сохранение в реквизит. Как пользоваться XDTO
- 1с8.2 СКД Подсчет количества строк в группировках
- Загрузка из Excel только отфильтрованных значений
- Дерево метаданных в xls
- Результат запрос отличается от результата выборки
- Импорт из Белорусси у организации УСН (доходы минус расходы)
- v7: Пилотный проект фсс в зике-его так и нет? 0_0
- чем заменить НайтиСтроки() ?
- открытие отчета на СКД 1с 8.2 УП
- Открытие бат-ником внешнего отчёта в управляемом приложении
- УФ, СКД , вывод програмно на форму в ТД - не работает расшифровка
- Обмен данными ЗУП и БУХ в Украине
- При каких условиях юр-лицо имеет право создавать и продавать ПО на базе 1С?
- Отражение НДС к Вычету не закрывается 76.НА
- Отправка команды на com port
- 1С8 УТ10.3 Растягивание формы документа на весь экран
- Ошибка Windows - Runtime Error!
- Разбиение страховых взносов на ЕНВД/не ЕНВД в отражении зп в учете - ЗУП