Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

Иерархия Чтоб её

Иерархия Чтоб её
Я
   88g88
 
19.10.16 - 16:27
Приветствую вас форумчане.
есть вот такой код

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

Это попытка создать иерархичный отчет.
Первый "вложенный" обход отрабатывает. (Выборка.Следующий())
Второе ошибки выдает, через отладчик пишет Ошибка чтения значения    . и не заполняет. (ВыборкаРезультат.Следующий())

много подобных примеров в интернете но у меня не прокатывает даже на элементарном варианте. Второй вложенный обход постоянно никакой.
Помогите разобраться.
 
 
   Ёпрст
 
1 - 19.10.16 - 16:32
а че, в Клиент - строки у тебя ?
   Euguln
 
2 - 19.10.16 - 16:33
Имя группировки не надо указывать чтоль?
   Ёпрст
 
3 - 19.10.16 - 16:33
ну и текст запроса покажи хоть
   88g88
 
4 - 19.10.16 - 16:36
(1) до стрроки клиент не доходит, сыпется раньше.
ВыборкаРезультат.Следующий() = лож

А в поле клиент Наименование элемента справочника.
опрашиваю документы. где есть клиенты и (ответственный как менеджер)
   88g88
 
5 - 19.10.16 - 16:36
Запрос = Новый Запрос;
    Запрос.Текст = 
    "ВЫБРАТЬ
    |    Событие.Дата КАК Дата,
    |    Событие.НачалоСобытия КАК НачалоСобытия,
    |    Событие.КонтактноеЛицоБезКонтрагента КАК Клиент,
    |    Событие.КонтактноеЛицоБезКонтрагента.СфераДеятельности КАК СфераДеятельности,
    |    Событие.Территория,
    |    Событие.Помещение,
    |    Событие.ТипВзаимодействия,
    |    Событие.РезультатСвязи,
    |    Событие.Статус,
    |    Событие.Ответственный КАК Менеджер,
    |    Событие.Комментарий
    |ИЗ
    |    Документ.Событие КАК Событие
    |ГДЕ
    |    Событие.Дата >= &НачалоПериода
    |    И Событие.Дата <= &КонецПериода
    |    И Событие.КонтактноеЛицоБезКонтрагента В ИЕРАРХИИ(&Клиент)
    |    И Событие.Ответственный В ИЕРАРХИИ(&Ответственный)
    |
    |УПОРЯДОЧИТЬ ПО
    |    Менеджер ИЕРАРХИЯ,
    |    Клиент УБЫВ
    |АВТОУПОРЯДОЧИВАНИЕ";
    
    Запрос.УстановитьПараметр("НачалоПериода",НачалоПериода);
    Запрос.УстановитьПараметр("КонецПериода",КонецПериода);
    Запрос.УстановитьПараметр("Клиент",Клиент);
    Запрос.УстановитьПараметр("Ответственный",Менеджер);
    
    Результат = Запрос.Выполнить();
   Tatitutu
 
6 - 19.10.16 - 16:38
Шофер КАМАЗа возвращается на свою базу, весь убитый. Заходит в диспетчерскую:
- Грёбаный "Запорожец"!
Другие шоферы его обступают, спрашивают, что случилось-то?
Он только:
- Ну, гр...аный "Запорожец"!
Чуть не плачет. Все:
- Ну ты объясни.
- Загрузился сегодня под завязку. А на подъеме крутом, ну никак мотор не тянет. Туда, сюда, ну никак. Полчаса мудохался. Вдруг останавливается рядом запор, вылезает какой-то хрен и говорит, давай, мол, подтяну. Я говорю: "Ты соображаешь, "Запорожцем" полный КАМАЗ, чудила?" Он: "Нет, запросто вытяну". Я ему ответил, что если он КАМАЗ в гору с места сдвинет, я у него отсосу.
- И что?
- Ну, Гр....аный "Запорожец"!!! ...
   Ёпрст
 
7 - 19.10.16 - 16:43
(5) И ? где тут ИТОГИ ?
   Ёпрст
 
8 - 19.10.16 - 16:43
Ясен пень, что будет одна группировка
   88g88
 
9 - 19.10.16 - 16:44
(8) а подробнее?
   88g88
 
10 - 19.10.16 - 16:45
ну так "на палцах" так сказать
 
 Рекламное место пустует
   Tatitutu
 
11 - 19.10.16 - 16:45
добавить ИТОГИ
по СОБЫТИЕ и КЛИЕНТ
   Ёпрст
 
12 - 19.10.16 - 16:45
(10) Иоги добавь в текст запроса
   88g88
 
13 - 19.10.16 - 16:47
(12)     |ИТОГИ ПО
    |    Менеджер
Этого хватит?
   Tatitutu
 
14 - 19.10.16 - 16:49
(13) это тебе решать 
по чему ты собрался отчет делать 

для тебя "на палцах" 
ИТОГ = Выборка.Выбрать(....
2ИТОГ = ИТОГ.Выбрать(....
   88g88
 
15 - 19.10.16 - 16:49
Ага! нашел косяк в коде.
выведение строк до вложенного цикла
Данные.Параметры.Заполнить(Выборка);
        Таб.Вывести(Данные, Выборка.Уровень());
а то основное поле снизу а группировка сверху
   Ёпрст
 
16 - 19.10.16 - 16:50
(13) сколько полей перечислишь в Итогах, столько группировок будет на выходе.
   88g88
 
17 - 19.10.16 - 16:51
(16) Прикольно. а если менеджеров 30?
   88g88
 
18 - 19.10.16 - 16:52
(16) ну группирую я по менеджеру а сформировал на одного сейчас
   88g88
 
19 - 19.10.16 - 16:52
а не на всех
   88g88
 
20 - 19.10.16 - 16:53
(16) Сори парни затупил!!!!!
   88g88
 
21 - 19.10.16 - 16:53
В запросе не хватало итогов, вот оно что. СПС за помощь.
   88g88
 
22 - 19.10.16 - 16:55
В запросе не хватало итогов. вот оно что.
СПС!!!!
(6) а камазист сам подставился)))))
ему просто помощь предложили!


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует