|   |   | 
| 
 | Суммирование в запросе по различным строкам | ☑ | ||
|---|---|---|---|---|
| 0
    
        Kaperang 27.08.12✎ 11:56 | 
        Имеется результат запроса типа
  Сотрудник ПродолжительностьСмены --------------------------------- Иванов 9 Петров 8 Сидоров 12 Мне нужно получить на выходе дерево значений, где в корневой ветке будет посчитано общее количество часов бригады, а в подчиненных строках - детализация. В данном случае общее количество часов бригады рассчитать в запросе просто: "ИТОГИ Сумма(ПродолжительностьСмены) ПО Сотрудник" дает правильный результат -29 Далее, имеем результат запроса типа: Сотрудник Работа Загрузка ПродолжительностьСмены --------------------------------------------------------- Иванов Работа1 3 9 Петров Работа2 4 8 Петров Работа3 2 8 Сидоров Работа4 5 12 Мне точно также необходимо получить дерево запросов с общим количеством часов бригады в корневой ветке. Конструкция "ИТОГИ Сумма(ПродолжительностьСмены) ПО Сотрудник" дает 37. Правильное количество - 29 Чего то никак не соображу, как получить правильное количество часов :( | |||
| 1
    
        Kaperang 27.08.12✎ 12:09 | 
        Вроде с виду задачка-то простенькая, а чего-то никак не вкурю, с какого края за нее взяться     | |||
| 2
    
        Ненавижу 1С гуру 27.08.12✎ 12:11 | 
        37 вроде как, если сложить     | |||
| 3
    
        Kaperang 27.08.12✎ 12:15 | 
        Мне необходимо получить сумму часов по различным строкам. Т.е. чтобы часы по Петрову считались 1 раз, а не 2.     | |||
| 4
    
        rutony 27.08.12✎ 12:18 | 
        Ну так сделай выборку различных по сотруднику: ВЫБРАТЬ РАЗЛИЧНЫЕ, а потом левым соединением прицепи ПродолжительностьСмены и возьми итоги суммы по сотруднику     | |||
| 5
    
        Zmich 27.08.12✎ 12:20 | 
        А так не сработает?
  ИТОГИ МИНИМУМ(ПродолжительностьСмены) ПО Сотрудник | |||
| 6
    
        acsent 27.08.12✎ 12:23 | 
        на скд можно сделать     | |||
| 7
    
        Kaperang 27.08.12✎ 12:23 | 
        (5) Да на уровне детализации по сотрудникам отработает. А вот общие итоги....
  "ИТОГИ МИНИМУМ(ПродолжительностьСмены) ПО Общие, Сотрудник" выдаст заведомо не тот результат. | |||
| 8
    
        Kaperang 27.08.12✎ 12:24 | 
        (6) А поподробнее можно?     | |||
| 9
    
        Kaperang 27.08.12✎ 12:25 | 
        (6) Пробовал с исползованием СКД:
  "ПродолжительностьСмены" добавлял в ресурсы. В результате - те же яйца, только сбоку | |||
| 10
    
        Kaperang 27.08.12✎ 12:29 | 
        (6)
  Вот тестовый запрос, выдающий наш пример: "ВЫБРАТЬ "Иванов" КАК Сотрудник, "Работа1" КАК Работа, 2 КАК Загрузка, 9 КАК ПродолжительностьСмены ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "Петров" КАК Сотрудник, "Работа2" КАК Работа, 4 КАК Загрузка, 8 КАК ПродолжительностьСмены ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "Петров" КАК Сотрудник, "Работа3" КАК Работа, 2 КАК Загрузка, 8 КАК ПродолжительностьСмены ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "Сидоров" КАК Сотрудник, "Работа3" КАК Работа, 5 КАК Загрузка, 12 КАК ПродолжительностьСмены" Какие настройки мне выставить в СКД, чтобы получить в общем итоге правильную цифру? | |||
| 11
    
        Kaperang 27.08.12✎ 12:37 | 
        (6) Итого, судя по всему, СКД здесь тоже бессилен (((     | |||
| 12
    
        mistеr 27.08.12✎ 12:38 | 
        (8) Строки размножаются после соединения с другой таблицей, верно? Если соединять не в запросе, а в СКД (связи наборов данных), каждая строка будет учтена в итогах один раз.     | |||
| 13
    
        acsent 27.08.12✎ 12:38 | 
        (7) нужно делать через объединение:
  1 запрос детальные данные, 2 запрос - данные по сотруднику обобщенно | |||
| 14
    
        Kaperang 27.08.12✎ 12:39 | 
        (12) Вот, вот примерно это мне и нужно. Буду пробовать     | |||
| 15
    
        nicxxx 27.08.12✎ 12:55 | ||||
| 16
    
        Kaperang 27.08.12✎ 21:51 | 
        (15) Коллега, спасибо!
  Оказывается, объединение наборов данных в СКД не такая сложная штука. Очень похоже на объединение данных в запросе, в чем то даже проще. На тестовом примере алгоритм отладил, счас буду делать реальный отчет. | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |