Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Помогите отобрать в запросе элементы справочника по условию - они все находятся в папке

v7: Помогите отобрать в запросе элементы справочника по условию - они все находятся в папке
Я
   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)"
в клюшках писать можно. Только оно такого не поймет.
   Kigo_Kigo
 
4 - 24.01.19 - 13:19
СтатьиПоступ = СоздатьОбъект("Справочник.СтатьиПоступлений");
СтатьяЗатратГруппа = Справочники.СтатьиПоступлений.НайтиПоКоду(00121); 
|Условие (СтатьяЗатрат.Родитель= СтатьяЗатратГруппа );
   Kigo_Kigo
 
5 - 24.01.19 - 13:19
СтатьяЗатратГруппа = СоздатьОбъект("Справочник.СтатьиПоступлений");
СтатьяЗатратГруппа = СтатьяЗатратГруппа .СтатьиПоступлений.НайтиПоКоду(00121); 
|Условие (СтатьяЗатрат.Родитель= СтатьяЗатратГруппа );
   Василий Алибабаевич
 
6 - 24.01.19 - 13:20
Итак есть 2(два) варианта.
1. Условие(СтатьяЗатрат.Родитель.Код="00121")

2.
Перед запросом
Спр = СоздатьОбъект("Справочник.СтатьиЗатрат");
Спр.НайтиПоКоду("00121");
НужныйРодитель = Спр.ТекущийЭлемент();

в тексте запроса
Условие(СтатьяЗатрат.Родитель = НужныйРодитель)
   Масянька
 
7 - 24.01.19 - 13:20
(4) Маленькое уточнение - Код в кавычках.
   Kigo_Kigo
 
8 - 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) Тогда попадут все уровни вложения в сп.
   narayanan
 
12 - 24.01.19 - 13:26
Всем большое спасибо! Получилось
(2) Да, СтатьяЗатрат.Родитель.Код сразу подошло.
   Zmich
 
13 - 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) че серьезно?
   Mikeware
 
16 - 24.01.19 - 13:29
(7) если код текстовый
   Василий Алибабаевич
 
17 - 24.01.19 - 13:29
(15) Гы. Где-то читал... )))
   narayanan
 
18 - 24.01.19 - 13:29
(14) спасибо!
   Kigo_Kigo
 
19 - 24.01.19 - 13:31
(13) вот так верно
 СтатьяЗатратГруппа = СоздатьОбъект("Справочник.СтатьиПоступлений");
СтатьяЗатратГруппа .СтатьиПоступлений.НайтиПоКоду("00121"); 
|Условие (СтатьяЗатрат.Родитель= СтатьяЗатратГруппа );
   Zmich
 
20 - 24.01.19 - 13:39
(19). Тогда так:
СтатьяЗатратГруппа = СоздатьОбъект("Справочник.СтатьиПоступлений");
СтатьяЗатратГруппа.НайтиПоКоду("00121"); 
|Условие (СтатьяЗатрат.Родитель= СтатьяЗатратГруппа.ТекущийЭлемент());
   narayanan
 
21 - 24.01.19 - 13:52
Скажите в условия понимаются как "И" или "ИЛИ" ?
    |Условие ((Док.ДатаПлат>=ДатаНачала) и (Док.ДатаПлат<=ДатаКонца));
    |Условие (Подразделение.Выбран() = 1);
    |Условие (СтатьяЗатрат.ФлНепланируемая = ФлНепланируемая); 
    |Условие (СтатьяЗатрат.Группа = Справочники.СтатьиПоступлений.НайтиПоКоду(00121));
   Mikeware
 
22 - 24.01.19 - 13:54
(21) только И
   narayanan
 
23 - 24.01.19 - 13:57
(22)
понятно спасибо


Список тем форума
Рекламное место пустует  Рекламное место пустует
Независимо от того, куда вы едете — это в гору и против ветра!
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует