|
помогите с условием в запросе | ☑ | ||
---|---|---|---|---|
0
dvrk
11.03.22
✎
10:53
|
привет, мне нужно выбрать всех контрагентов из папки Покупатели, в папке покупатели есть и другие папки
ПродажиОбороты.ДоговорКонтрагента.Владелец.Родитель.Наименование = "Покупатели" правильно ли я понимаю, что это условие возьмёт только тех, кто лежит в корне папки Покупатели, а по остальным папкам не пройдёт? |
|||
1
dvrk
11.03.22
✎
10:55
|
То есть например
Папка Покупатели, в ней есть папка Покупатели1, в которой 3 контрагента и 2 контрагента в корне папки Покупатели, это условие касается только 2 контрагентов в корне, а 3, которые в Покупатели1 - нет? |
|||
2
Ёпрст
11.03.22
✎
11:06
|
Где ПродажиОбороты.ДоговорКонтрагента.Владелец в Иерархии(&ТвойЭлементИлиГруппа)
|
|||
3
Ёпрст
11.03.22
✎
11:07
|
||||
4
Ёпрст
11.03.22
✎
11:08
|
И за код с наименованием, надо бить по пальчикам стальной линейкой, ибо нефеик
|
|||
5
Kassern
11.03.22
✎
11:09
|
(0) какая красота) "ПродажиОбороты.ДоговорКонтрагента.Владелец.Родитель.Наименование".
Так можно дойти и до Продажи.Регистратор.ДокументОснование.ДоговорКонтрагента.Владелец.Родитель.Родитель....Родитель.Наименование =) |
|||
6
Kassern
11.03.22
✎
11:13
|
(0) Посмотрите внимательно измерения регистра. Там скорее всего есть контрагент (это ваш "ДоговорКонтрагента.Владелец", насколько я понимаю) и вместо отбора по наименованию, сделайте по ссылке. Типа ПродажиОбороты.Контрагент.Родитель = &ГруппаПокупатели
Если нужны все контрагенты во вложенных папках - ПродажиОбороты.Контрагент ВИерархии (&ГруппаПокупатели) |
|||
7
dvrk
11.03.22
✎
11:13
|
(2) то есть Запрос.УстановитьПараметры("ТвойЭлементИлиГруппа", Справочники.Контрагенты.НайтиПоНаименованию("Покупатели"); ???
|
|||
8
dvrk
11.03.22
✎
11:14
|
(6) ну там есть контрагент только в 'ДокументПродажи'
|
|||
9
Kassern
11.03.22
✎
11:20
|
(7) а завтра эту папку переименуют в клиентов, тогда, что делать будете?) Побежите править все ваши обработки и запросы? Если это для разовых операций, то ладно
|
|||
10
dvrk
11.03.22
✎
11:22
|
(9) ну я по коду могу
|
|||
11
dvrk
11.03.22
✎
11:26
|
(9) меня больше волнует не правильность поиска по реквизиту, а именно чтобы всё что в папке есть попадало в результат запроса, все папки, все содержимое папок
|
|||
12
RomaH
naïve
11.03.22
✎
11:27
|
(10) лучше по УникальномуИдентификатору - ПолучитьСсылку
|
|||
13
Kassern
11.03.22
✎
11:30
|
(11) в вашем случае отберутся только те контрагенты, у которых родитель равен отбору. У вложенных контрагентов родитель будет другой, поэтому они в выборку не попадут
|
|||
14
dvrk
11.03.22
✎
11:32
|
(13) ну я сейчас сделал как мне писали И ПродажиОбороты.ДоговорКонтрагента.Владелец В ИЕРАРХИИ(&ТвойЭлементИлиГруппа) Запрос.УстановитьПараметр("ТвойЭлементИлиГруппа", Справочники.Контрагенты.НайтиПоКоду("00000009"));
|
|||
15
Kassern
11.03.22
✎
11:34
|
(14) в этом случае вы получите всех контрагентов которые находятся в этой папке+ вложенные папки
|
|||
16
dvrk
11.03.22
✎
11:35
|
(15) а чтобы ускорить выполнение запросы нужно попытаться избавиться от обращения через точки?
|
|||
17
Dmitrii
гуру
11.03.22
✎
12:01
|
(16) В общем случае - да.
И в этой связи встаёт вопрос о структуре вашего регистра. Обычно в типовых конфигурация в подобного рода регистрах есть измерение Контрагент или Покупатель, и в измерении ДоговорКонтрагента не может быть другого договора, кроме как договора, чей владелец из измерения Контрагент(Покупатель). Если в вашей конфигурации это так же, то непонятно зачем городить конструкцию ПродажиОбороты.ДоговорКонтрагента.Владелец, если можно просто ПродажиОбороты.Покупатель? |
|||
18
dvrk
11.03.22
✎
12:25
|
(17) не типовая
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |