Имя: Пароль:
1C
1С v8
Запрос для СКД отчёта (HELP)
0 Elfidor
 
13.01.20
12:19
Здравствуйте! Помогите, пожалуйста, я совсем запуталась. Учусь сама, объяснить ей богу некому. Делаю отчёт через СКД. Хочу вывести просто колонками клиента, его телефон, номер банковской карты и количество обращений. Общее количество обращений - не проблема, вывела. Но теперь другая задача. В базе клиентов очень много и их обращений тоже. Нужно вывести не только общее количество обращений, а количество РАЗОВЫХ обращений. То есть если количество обращений у клиента = 1 тогда продублировать его в другую колонку с РАЗОВЫМИ обращениями, а потом уже по ней провести итоги. Как это сделать? Общее количество обращений конкретного клиента я получаю из ИнформационныеКарты.Ссылка. Но это ведь ссылка! Как же я могу описать что мне нужно выбрать записи с единицей?

Уже пыталась попробовать так, но он ругается (то на ВЫБОР, то на КОГДА)...

ВЫБОР    
    КОГДА ИнформационныеКарты.Ссылка = 1 ТОГДА
       "что-то"
КОНЕЦ

Даже преобразовала ссылку в число, но в итоге полетел вообще весь запрос и вывел пустоту (оно и не удивительно).

А изначальный запрос вот такой, вроде ничего мудрёного:

ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ИнформационныеКарты.Наименование,
    ИнформационныеКарты.ДатаВыдачи,
    ПродажиПоДисконтнымКартам.ДисконтнаяКарта.КодКарты,
    ПродажиПоДисконтнымКартам.ДисконтнаяКарта.БЭ_НомерТелефона,
    КОЛИЧЕСТВО(ИнформационныеКарты.Ссылка) КАК КоличествоОбращений
ИЗ
    РегистрНакопления.ПродажиПоДисконтнымКартам КАК ПродажиПоДисконтнымКартам
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ИнформационныеКарты КАК ИнформационныеКарты
        ПО ПродажиПоДисконтнымКартам.ДисконтнаяКарта = ИнформационныеКарты.Ссылка
ГДЕ
    ПродажиПоДисконтнымКартам.Период МЕЖДУ &ДатаНач И &ДатаКон

СГРУППИРОВАТЬ ПО
    ИнформационныеКарты.Наименование,
    ИнформационныеКарты.ДатаВыдачи,
    ПродажиПоДисконтнымКартам.ДисконтнаяКарта.КодКарты,
    ПродажиПоДисконтнымКартам.ДисконтнаяКарта.БЭ_НомерТелефона,
    ИнформационныеКарты.Ссылка

ИМЕЮЩИЕ
    КОЛИЧЕСТВО(ИнформационныеКарты.Ссылка) > 0
1 shadow_sw
 
13.01.20
12:22
ВЫБОР    
    КОГДА Количество(ИнформационныеКарты.Ссылка) = 1 ТОГДА
       "что-то"
КОНЕЦ

может все же так?
2 toypaul
 
гуру
13.01.20
12:23
на ИС недавно такая же тема была. студентов что ли учат? или тестовое при приеме на работу?
3 vicof
 
13.01.20
12:25
ВЫБОР    
    КОГДА Количество(ИнформационныеКарты.Ссылка) = 1 ТОГДА
       1
    ИНАЧЕ 0
КОНЕЦ КАК КоличествоРазовыхОбращений
4 Elfidor
 
13.01.20
12:29
Студентов как раз никто не учит, студентов берут на работу, и учись/работай как хочешь, только сделай всё правильно и в нужный срок (2)
5 vicof
 
13.01.20
12:30
(4) Ты не в той конторе работаешь.
6 Elfidor
 
13.01.20
12:30
(3) Всё равно ругается на КАК и КОНЕЦ. Не понимает что такое КоличествоРазовыхОбращений. Я уже тоже так пробовала просто...
7 Elfidor
 
13.01.20
12:30
(5) Ну знаете ли, куда взяли, там и работаю) Опыта то надо где-то надраться...
8 vicof
 
13.01.20
12:31
(7) Нажраться)
9 vicof
 
13.01.20
12:32
(6) Ну давай весь запрос в студию
10 Elfidor
 
13.01.20
12:34
(9) Так я уже и дала. Вот дублирую

ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ИнформационныеКарты.Наименование,
    ИнформационныеКарты.ДатаВыдачи,
    ПродажиПоДисконтнымКартам.ДисконтнаяКарта.КодКарты,
    ПродажиПоДисконтнымКартам.ДисконтнаяКарта.БЭ_НомерТелефона,
    КОЛИЧЕСТВО(ИнформационныеКарты.Ссылка) КАК КоличествоОбращений
ИЗ
    РегистрНакопления.ПродажиПоДисконтнымКартам КАК ПродажиПоДисконтнымКартам
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ИнформационныеКарты КАК ИнформационныеКарты
        ПО ПродажиПоДисконтнымКартам.ДисконтнаяКарта = ИнформационныеКарты.Ссылка
ГДЕ
    ПродажиПоДисконтнымКартам.Период МЕЖДУ &ДатаНач И &ДатаКон

СГРУППИРОВАТЬ ПО
    ИнформационныеКарты.Наименование,
    ИнформационныеКарты.ДатаВыдачи,
    ПродажиПоДисконтнымКартам.ДисконтнаяКарта.КодКарты,
    ПродажиПоДисконтнымКартам.ДисконтнаяКарта.БЭ_НомерТелефона,
    ИнформационныеКарты.Ссылка

ИМЕЮЩИЕ
    КОЛИЧЕСТВО(ИнформационныеКарты.Ссылка) > 0
11 Elfidor
 
13.01.20
12:38
Задумка просто какая была то. Сделать для разовых отдельную колонку, чтобы не калупаться и просто через ресурсы в СКД вывести итоги по ней, но может я не знаю и можно как-то условием в самой СКД это прописать, мол если значение = 1 выводить "отдельный итог". Это то тоже по сути подойдёт.
12 Elfidor
 
13.01.20
12:47
(3) Боже, прости, это я идиотка! Я этот ВЫБОР КОГДА пыталась в условие запихнуть, а надо было в поля... Всё заработало! Спасибо огромное! Я просто вчера ещё до 4 утра сидела с ним, вот и туплю, потому что не спала... Спасибо большое ещё раз!
13 vicof
 
13.01.20
13:01
(12) Прощаю тебя, рабыня божья
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой