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

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

Можно ли получить решение одним запросом, насколько я понимаю здесь

Можно ли получить решение одним запросом, насколько я понимаю здесь
Я
   Ivan_495
 
05.10.17 - 13:29
Можно ли получить решение одним запросом, насколько я понимаю здесь без функций суммирования ресурсов (скд) не обойтись*
Дано:                                    
РегистрСведений    ЗаказыКонтрагентам                                    
Измерения:                                    
    Контрагент    Справочник                            
    День    Перечисление                            
    Час    Перечисление                            
                                    
Необходимо получить отчет в следующем виде:                                    
Новая строка в таблице должна добавляться только в том случае,                                    
если часы нельзя поместить в уже существующую строку для данного контрагента и дня недели.                                    
Контрагент    пн    вт    ср    чт    пт    сб    вс
ООО "Рога и копыта"    10        10        19        
ООО "Рога и копыта"    12        13                
ООО "Рога и копыта"    17        19                
ООО "Лютики и цветочки"    17    14    15    10    19    13    
ООО "Лютики и цветочки"    19        17                
ООО "Календарики"    10    14        10        15    
ООО "Календарики"        17                    
ООО "Кондиционеры"    17        14    13    19    17    
ООО "Подтяжки"    17        16    19            
ООО "Шоколадки"    17            10            
ООО "Мармеладки"    17            13        10    
ООО "КУКУ"            15    19        13    
ООО "Синичка"            17    15        19    
ООО "Бабочка"                17        15
 
 
   DrShad
 
1 - 05.10.17 - 13:38
а в каком случае их нельзя поместить в уже существующую строку?
   Ivan_495
 
2 - 05.10.17 - 13:39
если сумма больше 24
   Лефмихалыч
 
3 - 05.10.17 - 13:42
прямо вот из запроса такой результат вряд ли получишь. Но из СКД, например, за один (пакетный) запрос - не трудно
   Лефмихалыч
 
4 - 05.10.17 - 13:42
"вряд ли получишь" = с разбегу не вижу способа, а думать глубоко лень
   DrShad
 
5 - 05.10.17 - 13:45
(2) вторая строка каким хреном появилась?
   asady
 
6 - 05.10.17 - 13:45
(4) там кроме пакетного запроса нужно ещё поиграться параметрами в СКД - типа правильные закорючки написать в строках с произвольными полями
   Ненавижу 1С
 
7 - 05.10.17 - 13:47
(0)

ООО "Рога и копыта"    10        10        19        
ООО "Рога и копыта"    12        13                 
ООО "Рога и копыта"    17        19   

В первых двух строках первого столбца 10+12<24, но в разных строках, почему?
   Лефмихалыч
 
8 - 05.10.17 - 13:49
(6) не суть. Замес в том, что "шахматку" запросом получать - пустые муки, т.к. на СКД это сделать пара пустяков.
   Михаил Козлов
 
9 - 05.10.17 - 14:00
Непонятно, зачем запросом получать "шахматку".
Можно попробовать 7 полей в запросе (числа по дням недели) и собрать по ним числа. Типа:
ВЫБОР КОГДА День = ЗНАЧЕНИЕ(ПеречислениеДень.ПТ) ТОГДА КОЛВО ИНАЧЕ 0 КОНЕЦ КАК колвоПТ.
   mistеr
 
10 - 05.10.17 - 14:34
(0) Непонятно, что за цифры в таблице. Объясни толком.
 
 Рекламное место пустует
   fedoss
 
11 - 05.10.17 - 14:41
ВЫБРАТЬ
    Данные.Контрагент КАК Контрагент,
    Данные.День КАК День,
    Данные.Час КАК Час,
    СУММА(1) КАК НомерВГруппе
ИЗ
    РегистрСведений.ЗаказыКонтрагентам КАК Данные
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗаказыКонтрагентам КАК Вспомогательная
        ПО (Данные.Контрагент = Вспомогательная.Контрагент)
            И (Данные.День = Вспомогательная.День)
            И (Данные.Час >= Вспомогательная.Час)

СГРУППИРОВАТЬ ПО
    Данные.Контрагент,
    Данные.День,
    Данные.Час
   Ivan_495
 
12 - 05.10.17 - 14:46
цифры время заказа
   Ivan_495
 
13 - 05.10.17 - 14:49
в строку поместить нельзя , если уже есть значение
в пункте (2) ошибка
   DrShad
 
14 - 05.10.17 - 14:54
в принципе можно
   Ненавижу 1С
 
15 - 05.10.17 - 14:55
тогда (11) отличное решение

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