Имя: Пароль:
1C
1С v8
Условие В ИЕРАРХИИ
,
0 Rom_Kat
 
06.12.12
10:04
Есть запрос

ВЫБРАТЬ ПЕРВЫЕ 1
   |    НастройкиНачалаМаршрутовСогласования.МаршрутСогласования
   |ИЗ
   |    РегистрСведений.НастройкиНачалаМаршрутовСогласования КАК НастройкиНачалаМаршрутовСогласования
   |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СуммовыеПороги КАК СуммовыеПороги
   |        ПО НастройкиНачалаМаршрутовСогласования.СуммовойПорог = СуммовыеПороги.Ссылка
   |ГДЕ
   |    &СтатьяОборотаПоБюджетам В
   |            (ВЫБРАТЬ
   |                ОбластиОтветственностиПоСтатьямОборотовПоБюджетамСписокСтатейОборотовПоБюджетам.СтатьяОборотовПоБюджетам
   |            ИЗ
   |                Справочник.ОбластиОтветственностиПоСтатьямОборотовПоБюджетам.СписокСтатейОборотовПоБюджетам КАК ОбластиОтветственностиПоСтатьямОборотовПоБюджетамСписокСтатейОборотовПоБюджетам
   |            ГДЕ
   |                ОбластиОтветственностиПоСтатьямОборотовПоБюджетамСписокСтатейОборотовПоБюджетам.Ссылка = НастройкиНачалаМаршрутовСогласования.ОбластьОтветственностиПоСтатьямОборотовПоБюджетам)
   |    И СуммовыеПороги.СуммаНижнийПорог <= &Сумма
   |    И СуммовыеПороги.СуммаВерхнийПорог > &Сумма
   |    И НастройкиНачалаМаршрутовСогласования.Подразделение = &ТекПодразделение

Работает. Но хочется проверять по условию В ИЕРАРХИИ. И как только я устанавливаю такое условие.

ВЫБРАТЬ ПЕРВЫЕ 1
   |    НастройкиНачалаМаршрутовСогласования.МаршрутСогласования
   |ИЗ
   |    РегистрСведений.НастройкиНачалаМаршрутовСогласования КАК НастройкиНачалаМаршрутовСогласования
   |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СуммовыеПороги КАК СуммовыеПороги
   |        ПО НастройкиНачалаМаршрутовСогласования.СуммовойПорог = СуммовыеПороги.Ссылка
   |ГДЕ
   |    &СтатьяОборотаПоБюджетам В ИЕРАРХИИ
   |            (ВЫБРАТЬ
   |                ОбластиОтветственностиПоСтатьямОборотовПоБюджетамСписокСтатейОборотовПоБюджетам.СтатьяОборотовПоБюджетам
   |            ИЗ
   |                Справочник.ОбластиОтветственностиПоСтатьямОборотовПоБюджетам.СписокСтатейОборотовПоБюджетам КАК ОбластиОтветственностиПоСтатьямОборотовПоБюджетамСписокСтатейОборотовПоБюджетам
   |            ГДЕ
   |                ОбластиОтветственностиПоСтатьямОборотовПоБюджетамСписокСтатейОборотовПоБюджетам.Ссылка = НастройкиНачалаМаршрутовСогласования.ОбластьОтветственностиПоСтатьямОборотовПоБюджетам)
   |    И СуммовыеПороги.СуммаНижнийПорог <= &Сумма
   |    И СуммовыеПороги.СуммаВерхнийПорог > &Сумма
   |    И НастройкиНачалаМаршрутовСогласования.Подразделение = &ТекПодразделение

Возникает сообщение об ошибке. Поле не найдено "НастройкиНачалаМаршрутовСогласования.ОбластьОтветственностиПоСтатьямОборотовПоБюджетам"

Как лечить?
1 Rom_Kat
 
06.12.12
10:09
ПЕРВЫЕ 1
вообще-то не понадобится
2 Rom_Kat
 
06.12.12
10:24
Видимо так не выйдет ((
3 alexandrius
 
06.12.12
10:28
Вложенные запросы в условии - ЗЛО.
4 Rom_Kat
 
06.12.12
10:31
(3) иерархию не отрабатывает с параметром их выборки верхнего уровня.
5 Rom_Kat
 
06.12.12
10:32
проблему пытаюсь решить формирование виртТаб

ВЫБРАТЬ
   |    СтатьиОборотовПоБюджетам.Ссылка,
   |    ОбластиОтветственностиПоСтатьямОборотовПоБюджетам.Ссылка КАК ОбластьОтветственностиПоСтатьямОборотовПоБюджетам
   |ИЗ
   |    Справочник.ОбластиОтветственностиПоСтатьямОборотовПоБюджетам.СписокСтатейОборотовПоБюджетам КАК ОбластиОтветственностиПоСтатьямОборотовПоБюджетамСписокСтатейОборотовПоБюджетам
   |        Полное СОЕДИНЕНИЕ Справочник.СтатьиОборотовПоБюджетам КАК СтатьиОборотовПоБюджетам
   |        ПО СтатьиОборотовПоБюджетам.Ссылка=ОбластиОтветственностиПоСтатьямОборотовПоБюджетамСписокСтатейОборотовПоБюджетам.СтатьяОборотовПоБюджетам
   |                или СтатьиОборотовПоБюджетам.Ссылка В ИЕРАРХИИ(ОбластиОтветственностиПоСтатьямОборотовПоБюджетамСписокСтатейОборотовПоБюджетам.СтатьяОборотовПоБюджетам)

Но ошибка аналогичная.
6 DrunkAnimal
 
06.12.12
10:35
в иерархии так работать не будет, там логика построения другая получается и ты не сможешь использовать значение из внешнего запроса
7 Rom_Kat
 
06.12.12
10:43
(6) это уж понятно.
вариантов нет получается?
8 John83
 
06.12.12
10:55
(3) это почему?
9 Rom_Kat
 
06.12.12
11:42
(3) ваши 5 копеек? Или есть что по существу?
10 Rom_Kat
 
06.12.12
11:46
(8) поддерживаю. У человека наверное диски SSD и ему ВТ отработать ничего не стоит.
11 SanGvin
 
06.12.12
11:46
(0) выбирай по иерархии во временную таблицу из Справочник.ОбластиОтветственностиПоСтатьямОборотовПоБюджетам  и потом соединяй внутренним соединением
12 Rom_Kat
 
06.12.12
12:32
(11) это уже пробовал в (5) написал об этом.
13 SanGvin
 
06.12.12
12:40
(12) чтото в коде запроса я этого не увидел... ты не правильно понял - выбрать в ВТ надо уже с учетом иерархии и всяких ограничений а потом просто связывать по внутреннему соед. - в итоговой таблице будут записи, только имеющие совпадение по указанному полю в ВТ
14 Rom_Kat
 
06.12.12
12:46
(13) выбрать по иерархии в ВТ та же проблема.
варианта другого нет как только не использовать группы Статей оборотов по  бюджетам.