Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 10:04

Надо сделать ДеревоЗначений из 4 справочников.

Автор elopuki, 05 фев 2012, 20:32

0 Пользователей и 1 гость просматривают эту тему.

elopuki

Здравствуйте! Есть 4 справочника: Цеха, Участки(владелец Цеха), Бригады(владелец Участки), Звено(владелец Бригады). Нужно в обработке на форме вывести в дерево значений справочники и элементы.
Написал запрос, но выводит криво. Как должен правильно выглядеть запрос? Спасибо.
База (http://ifolder.ru/28521704) 130 кб.
Мой запрос:

Запрос = Новый Запрос;
Запрос.Текст =
    "ВЫБРАТЬ
    |   Цеха.Наименование КАК Цех,
    |    Участки.Наименование КАК Участок,
    |     Бригады.Наименование КАК Бригада,
    |    Звено.Наименование КАК Звено
    |ИЗ   
    |    Справочник.Звено КАК Звено
    |   Правое СОЕДИНЕНИЕ Справочник.Бригады КАК Бригады
    |    Правое СОЕДИНЕНИЕ Справочник.Участки КАК Участки
    |    Правое СОЕДИНЕНИЕ Справочник.Цеха КАК Цеха
    |            ПО Участки.Владелец = Цеха.Ссылка
    |            ПО Бригады.Владелец = Участки.Ссылка
    |            ПО Звено.Владелец = Бригады.Ссылка   
    |ИТОГИ
    |
    | ПО
    | Цех, Участок, Бригада,Звено";
    Результат = Запрос.Выполнить();     
    Выгрузка = Результат.Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией);
    ЭлементыФормы.ТабличноеПоле.Дерево = Истина;
    ЭлементыФормы.ТабличноеПоле.Значение = Выгрузка;
    ЭлементыФормы.ТабличноеПоле.СоздатьКолонки();
    ЭлементыФормы.ТабличноеПоле.ОбновитьСтроки();

mohock

Вроде так :)
ВЫБРАТЬ
   Звено.Владелец.Владелец.Владелец.Наименование КАК Цех,
   Звено.Владелец.Владелец.Наименование КАК Участок,
   Звено.Владелец.Наименование КАК Бригада,
   Звено.Наименование КАК Звено
ИЗ
   Справочник.Звено КАК Звено

УПОРЯДОЧИТЬ ПО
   Цех,
   Участок,
   Бригада,
   Звено

:)

mohock

Пардон, может так? :)
ВЫБРАТЬ РАЗЛИЧНЫЕ
   Звено.Владелец.Владелец.Владелец.Наименование КАК Цех,
   Звено.Владелец.Владелец.Наименование КАК Участок,
   Звено.Владелец.Наименование КАК Бригада,
   Звено.Наименование КАК Звено
ИЗ
   Справочник.Цеха КАК Цеха
      ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ
         Участки.Владелец КАК Владелец,
         Участки.Наименование КАК Наименование,
         Участки.Ссылка КАК Ссылка
      ИЗ
         Справочник.Участки КАК Участки) КАК Участки
         ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ
            Бригады.Владелец КАК Владелец,
            Бригады.Наименование КАК Наименование,
            Бригады.Ссылка КАК Ссылка
         ИЗ
            Справочник.Бригады КАК Бригады) КАК Бригады
            ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ
               Звено.Ссылка КАК Ссылка,
               Звено.Владелец КАК Владелец,
               Звено.Наименование КАК Наименование
            ИЗ
               Справочник.Звено КАК Звено) КАК Звено
            ПО Бригады.Ссылка = Звено.Владелец
         ПО Участки.Ссылка = Бригады.Владелец
      ПО Цеха.Ссылка = Участки.Владелец

УПОРЯДОЧИТЬ ПО
   Цеха.Наименование,
   Участок,
   Бригада,
   Звено
ИТОГИ ПО
   Цеха.Ссылка,
   Участки.Ссылка,
   Бригады.Ссылка,
   Звено.Ссылка

elopuki

Спасибо что ответили, но результат запроса получается такой
//s018.radikal.ru/i507/1202/6e/12661641fb84.png

Хотелось бы чтобы результат был такой
//s017.radikal.ru/i439/1202/64/3cc0797859f8.png

elopuki


Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск