|
1с запрос | ☑ | ||
---|---|---|---|---|
0
servicenn
09.04.14
✎
11:22
|
День добрый.В программе сложилась не совсем стандартная система работы но удобная пользователю , есть проблемка с отчётом.Есть справочник карточки(по факту это контрагент) в справочнике карточки есть реквизит "номер" (номер телефона) Причём на одного клиента может быть несколько карточек например карточка с номером 2444444 ,вторая 2444444-1, 2444444-2
есть запрос который может собрать сумму со всех карточек этого клинета "ВЫБРАТЬ | СУММА(ЕСТЬNULL(НакопленияНаКартахДисконтОбороты.СуммаОборот, 0)) КАК СуммаОборот |ИЗ | РегистрНакопления.НакопленияНаКартахДисконт.Обороты(&НачДата, &КонДата, , ) КАК НакопленияНаКартахДисконтОбороты |ГДЕ | ПОДСТРОКА(НакопленияНаКартахДисконтОбороты.Карта.Номер, 1, 7) = ПОДСТРОКА(&Номеркарты, 1, 7)" а нужен отчёт который покажет все карточки и по каждой выведет общую сумму тоесть карта___номер____сум карты____общ сумма _______2444444______2___________5 _______2444444-1____3___________5 _______2353535______5___________10 и т.д |
|||
1
thezos
09.04.14
✎
11:24
|
а в чем трудность?
|
|||
2
servicenn
09.04.14
✎
11:24
|
Пробовал делать влож запрос, выделить отдельно семизначный номер(текстовое значение) но не удалось сгруппировать по одинаковым номерам наверно не в том направлении иду
|
|||
3
servicenn
09.04.14
✎
11:26
|
(1) пока нет идеи хотя бы начальной для достиж результата, начал с простого
ВЫБРАТЬ СУММА(ЕСТЬNULL(НакопленияНаКартахДисконтОбороты.СуммаОборот, 0)) КАК СуммаОборот, НакопленияНаКартахДисконтОбороты.Карта.Номер, ПОДСТРОКА(НакопленияНаКартахДисконтОбороты.Карта.Номер, 1, 7) КАК ОбщийНомерТекст ИЗ РегистрНакопления.НакопленияНаКартахДисконт.Обороты(&НачДата, &КонДата, , ) КАК НакопленияНаКартахДисконтОбороты СГРУППИРОВАТЬ ПО ПОДСТРОКА(НакопленияНаКартахДисконтОбороты.Карта.Номер, 1, 7), НакопленияНаКартахДисконтОбороты.Карта.Номер |
|||
4
servicenn
09.04.14
✎
11:27
|
может быть использовать выбрать, когда номер= ОбщийНомерТекст
|
|||
5
GROOVY
09.04.14
✎
11:28
|
Зачем в запросе ЕСТЬNULL?
|
|||
6
servicenn
09.04.14
✎
11:28
|
(5) можно наверно и убрать, вопрос тот же остаётся
|
|||
7
servicenn
09.04.14
✎
11:29
|
(5) можно и убрать Естьnull вопрос тот же остаётся
|
|||
8
servicenn
09.04.14
✎
11:31
|
по такому запросу в консоли получил
карта___номер____сум карты____НомерОбщий _______2444444______2___________2444444 _______2444444-1____3___________2444444 _______2353535______5___________2353535 и т.д |
|||
9
vicof
09.04.14
✎
11:35
|
(8)
1. Озвучь вслух четко задачу. 2. Прочитай книжку по запросам. 3. Пойми, что номеробщий не сгруппируется, если номера карт различны. Это вроде бы простая логика. |
|||
10
servicenn
09.04.14
✎
11:35
|
нужна колонка общСумма
|
|||
11
vicof
09.04.14
✎
11:35
|
(10) Сделай
|
|||
12
servicenn
09.04.14
✎
11:36
|
(8)(10) универсальный ответ на любой вопрос
|
|||
13
GROOVY
09.04.14
✎
11:36
|
||||
14
servicenn
09.04.14
✎
11:37
|
(13) Гляну щас
|
|||
15
vicof
09.04.14
✎
11:37
|
(10) Используй итоги
|
|||
16
servicenn
09.04.14
✎
11:39
|
(15) Итоги по какой группировке? по карточке не получишь нужный рез
|
|||
17
vicof
09.04.14
✎
11:40
|
(16) Сделай скриншоты, возможно рисовать у тебя получится лучше, чем объяснять текстом.
|
|||
18
servicenn
09.04.14
✎
11:41
|
(13) полезная инфа буду копать
|
|||
19
servicenn
09.04.14
✎
11:41
|
(16) запрос уже написал простой что в нём не понятно? проще не напишешь
|
|||
20
servicenn
09.04.14
✎
11:44
|
(16) прочитай внимательно ещё раз задачу, всё написано просто
|
|||
21
servicenn
09.04.14
✎
12:28
|
вобщем если кому интересно , результат достигнут запросом(по принципу наростающего итога но без периодов)
ВЫБРАТЬ ЕСТЬNULL(НакопленияНаКартахДисконтОбороты.СуммаОборот, 0) КАК СуммаОборот, НакопленияНаКартахДисконтОбороты.Карта, НакопленияНаКартахДисконтОбороты.Карта.Номер КАК КартаНомер, ПОДСТРОКА(НакопленияНаКартахДисконтОбороты.Карта.Номер, 1, 7) КАК ОбщийНомер_______ ПОМЕСТИТЬ таб ИЗ РегистрНакопления.НакопленияНаКартахДисконт.Обороты(&НачДата, &КонДата, , ) КАК НакопленияНаКартахДисконтОбороты ГДЕ (ПОДСТРОКА(НакопленияНаКартахДисконтОбороты.Карта.Номер, 1, 7) = ПОДСТРОКА(&Номеркарты, 1, 7) ИЛИ ПОДСТРОКА(НакопленияНаКартахДисконтОбороты.Карта.Номер, 1, 7) = ПОДСТРОКА(&Номеркарты2, 1, 7)) ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ таб1.Карта, таб1.КартаНомер, таб1.ОбщийНомер_______, таб1.СуммаОборот, СУММА(таб2.СуммаОборот) КАК СуммаОборот2 ИЗ таб КАК таб1 ЛЕВОЕ СОЕДИНЕНИЕ таб КАК таб2 ПО таб1.ОбщийНомер_______ = таб2.ОбщийНомер_______ СГРУППИРОВАТЬ ПО таб1.Карта, таб1.СуммаОборот, таб1.КартаНомер, таб1.ОбщийНомер_______ |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |