|
v7: Помогите отобрать в запросе элементы справочника по условию - они все находятся в папке | ☑ | ||
---|---|---|---|---|
0
narayanan
24.01.19
✎
13:12
|
Помогите отобрать в запросе элементы справочника по условию - они все находятся в одной папке.
Пытаюсь отобрать все статьи затрат что находятся в папке с кодом 00121. Вот код запроса: ТекстЗапроса = " |//{{ЗАПРОС(ПоступлениеДенСредств) |Период с НачПериодаЗаявки по КонПериодаЗаявки; |ОбрабатыватьДокументы Проведенные; |Док = Документ.ПоступлениеДенСредств.ТекущийДокумент; |Подразделение = Документ.ПоступлениеДенСредств.ВладелецПоступления; |Департамент = Документ.ПоступлениеДенСредств.ВладелецПоступления.Родитель; |СтатьяЗатрат = Документ.ПоступлениеДенСредств.СтатьяЗатрат; |КодСтатьи = Документ.ПоступлениеДенСредств.СтатьяЗатрат.Код; |Имком = Документ.ПоступлениеДенСредств.СтатьяЗатрат.ФлИмком; |Сумма = Документ.ПоступлениеДенСредств.Сумма; |Группировка Док Упорядочить по Док.ДатаПлат; |Условие ((Док.ДатаПлат>=ДатаНачала) и (Док.ДатаПлат<=ДатаКонца)); |Условие (Подразделение.Выбран() = 1); |Условие (СтатьяЗатрат.ФлНепланируемая = ФлНепланируемая); |Условие (СтатьяЗатрат.Группа = Справочники.СтатьиПоступлений.НайтиПоКоду(00121)); // |Условие (СтатьяЗатрат.флИмком = Имком); |"//}}ЗАПРОС ; Ругается: {Отчет.КонсолидированныйБюджет.Форма.Модуль(997)}: Условие (СтатьяЗатрат.Группа = Справочники.СтатьиПоступлений.НайтиПоКоду(00121) <<?>> ); Запрос[16] : Ошибка в выражении 'Справочники' |
|||
1
Василий Алибабаевич
24.01.19
✎
13:13
|
(0)
Вариант 1: Условие (СтатьяЗатрат.Группа.Код = "00121") |
|||
2
Василий Алибабаевич
24.01.19
✎
13:16
|
(1) Сторно. Что такое "Группа"? Это сленг непонятный 1сПредприятие.
Для 1сПредприятие нужно писать СтатьяЗатрат.Родитель.Код. Именно РОДИТЕЛЬ. А не группа. |
|||
3
Василий Алибабаевич
24.01.19
✎
13:17
|
(0) текст из восьмерочных конфигураций типа
"Справочники.СтатьиПоступлений.НайтиПоКоду(00121)" в клюшках писать можно. Только оно такого не поймет. |
|||
4
Kigo_Kigo
24.01.19
✎
13:19
|
СтатьиПоступ = СоздатьОбъект("Справочник.СтатьиПоступлений");
СтатьяЗатратГруппа = Справочники.СтатьиПоступлений.НайтиПоКоду(00121); |Условие (СтатьяЗатрат.Родитель= СтатьяЗатратГруппа ); |
|||
5
Kigo_Kigo
24.01.19
✎
13:19
|
СтатьяЗатратГруппа = СоздатьОбъект("Справочник.СтатьиПоступлений");
СтатьяЗатратГруппа = СтатьяЗатратГруппа .СтатьиПоступлений.НайтиПоКоду(00121); |Условие (СтатьяЗатрат.Родитель= СтатьяЗатратГруппа ); |
|||
6
Василий Алибабаевич
24.01.19
✎
13:20
|
Итак есть 2(два) варианта.
1. Условие(СтатьяЗатрат.Родитель.Код="00121") 2. Перед запросом Спр = СоздатьОбъект("Справочник.СтатьиЗатрат"); Спр.НайтиПоКоду("00121"); НужныйРодитель = Спр.ТекущийЭлемент(); в тексте запроса Условие(СтатьяЗатрат.Родитель = НужныйРодитель) |
|||
7
Масянька
24.01.19
✎
13:20
|
(4) Маленькое уточнение - Код в кавычках.
|
|||
8
Kigo_Kigo
24.01.19
✎
13:23
|
(7) ну да, пишу то не в конфигураторе
|
|||
9
Гад
24.01.19
✎
13:24
|
сп.создатьсписокзначений
сп.добавитьзначение условие статьязатрат в сп |
|||
10
Василий Алибабаевич
24.01.19
✎
13:24
|
(7) Точно.
Вариант 1 должен выглядеть так : Условие(СтатьяЗатрат.Родитель.Код=""00121"") В двойных кавычках. Потому что текст. |
|||
11
Василий Алибабаевич
24.01.19
✎
13:26
|
(9) Тогда попадут все уровни вложения в сп.
|
|||
12
narayanan
24.01.19
✎
13:26
|
Всем большое спасибо! Получилось
(2) Да, СтатьяЗатрат.Родитель.Код сразу подошло. |
|||
13
Zmich
24.01.19
✎
13:26
|
(4). НайтиПоКоду в 7.7 не так работает. Он 0 или 1 возвращает. Там надо еще ТекущийЭлемент() использовать. Как в (6).
|
|||
14
Василий Алибабаевич
24.01.19
✎
13:27
|
(12) Это для ленивых. Сменится код у группы - что будешь делать? Лучше вариант 2 + уточнение от (9).
|
|||
15
Гад
24.01.19
✎
13:28
|
(11) че серьезно?
|
|||
16
Mikeware
24.01.19
✎
13:29
|
(7) если код текстовый
|
|||
17
Василий Алибабаевич
24.01.19
✎
13:29
|
(15) Гы. Где-то читал... )))
|
|||
18
narayanan
24.01.19
✎
13:29
|
(14) спасибо!
|
|||
19
Kigo_Kigo
24.01.19
✎
13:31
|
(13) вот так верно
СтатьяЗатратГруппа = СоздатьОбъект("Справочник.СтатьиПоступлений"); СтатьяЗатратГруппа .СтатьиПоступлений.НайтиПоКоду("00121"); |Условие (СтатьяЗатрат.Родитель= СтатьяЗатратГруппа ); |
|||
20
Zmich
24.01.19
✎
13:39
|
(19). Тогда так:
СтатьяЗатратГруппа = СоздатьОбъект("Справочник.СтатьиПоступлений"); СтатьяЗатратГруппа.НайтиПоКоду("00121"); |Условие (СтатьяЗатрат.Родитель= СтатьяЗатратГруппа.ТекущийЭлемент()); |
|||
21
narayanan
24.01.19
✎
13:52
|
Скажите в условия понимаются как "И" или "ИЛИ" ?
|Условие ((Док.ДатаПлат>=ДатаНачала) и (Док.ДатаПлат<=ДатаКонца)); |Условие (Подразделение.Выбран() = 1); |Условие (СтатьяЗатрат.ФлНепланируемая = ФлНепланируемая); |Условие (СтатьяЗатрат.Группа = Справочники.СтатьиПоступлений.НайтиПоКоду(00121)); |
|||
22
Mikeware
24.01.19
✎
13:54
|
(21) только И
|
|||
23
narayanan
24.01.19
✎
13:57
|
(22)
понятно спасибо |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |