Имя: Пароль:
1C
1С v8
Настройка запроса...
,
0 warkan
 
03.06.16
13:56
Люди добрыя!
Научите, пожалуйста!
Есть регистр накопления (обороты).
Есть у него измерение "ВидНачисления" = Перечисления.ВидыНачислений.
И два варианта: "Начислено" и "Оплачено".
Как в запросе к регистру прописать, дабы он суммы со значением в "ВидНачисления" = "Начислено" в одну колонку выводил, а с "Оплачено" - в другую.
Подскажите, пожалуйста!!!
Огромное спасибо!
1 Beduin
 
03.06.16
13:57
(0) Выбор
2 FIXXXL
 
03.06.16
13:57
два запроса и ОБЪЕДИНИТЬ
3 warkan
 
03.06.16
14:05
(1) А про Выбор можно поподробнее? С кусочком кода...
(2) Нууу... тоже вариант. Я, правда, чуда ждал. Типа "Если А, то это РезультатА, если Б - то...
4 samozvanec
 
03.06.16
14:06
(3) это и есть выбор
5 Shrek_yar
 
03.06.16
14:07
(0) еще соединение можно с условием
6 Shrek_yar
 
03.06.16
14:08
делай выбор
Если Начсисление
когда А тогда
когда Б тогда
конец
7 warkan
 
03.06.16
14:10
ВЫБРАТЬ
    |    КВП_НачисленияПоЛицевымСчетамОбороты.ЛицевойСчет,
    |    КВП_НачисленияПоЛицевымСчетамОбороты.Услуга,
    |    КВП_НачисленияПоЛицевымСчетамОбороты.ВидНачисления,
    |    КВП_НачисленияПоЛицевымСчетамОбороты.МесяцНачисления,
    |    СУММА(КВП_НачисленияПоЛицевымСчетамОбороты.СуммаНачисленияОборот) КАК СуммаНачисленияОборот
    |ИЗ
    |    РегистрНакопления.КВП_НачисленияПоЛицевымСчетам.Обороты КАК КВП_НачисленияПоЛицевымСчетамОбороты
    |ГДЕ
    |    КВП_НачисленияПоЛицевымСчетамОбороты.ЛицевойСчет = &выбЛС
    |    И КВП_НачисленияПоЛицевымСчетамОбороты.МесяцНачисления МЕЖДУ &ДатаНач И &ДатаКон
    |    И КВП_НачисленияПоЛицевымСчетамОбороты.ВидНачисления = &Начисление
    |
    |СГРУППИРОВАТЬ ПО
    |    КВП_НачисленияПоЛицевымСчетамОбороты.МесяцНачисления,
    |    КВП_НачисленияПоЛицевымСчетамОбороты.ЛицевойСчет,
    |    КВП_НачисленияПоЛицевымСчетамОбороты.Услуга,
    |    КВП_НачисленияПоЛицевымСчетамОбороты.ВидНачисления
    |
    |ОБЪЕДИНИТЬ ВСЕ
    |
    |ВЫБРАТЬ
    |    КВП_НачисленияПоЛицевымСчетамОбороты.ЛицевойСчет,
    |    КВП_НачисленияПоЛицевымСчетамОбороты.Услуга,
    |    КВП_НачисленияПоЛицевымСчетамОбороты.ВидНачисления,
    |    КВП_НачисленияПоЛицевымСчетамОбороты.МесяцНачисления,
    |    КВП_НачисленияПоЛицевымСчетамОбороты.СуммаНачисленияОборот
    |ИЗ
    |    РегистрНакопления.КВП_НачисленияПоЛицевымСчетам.Обороты КАК КВП_НачисленияПоЛицевымСчетамОбороты
    |ГДЕ
    |    КВП_НачисленияПоЛицевымСчетамОбороты.ЛицевойСчет = &выбЛС
    |    И КВП_НачисленияПоЛицевымСчетамОбороты.МесяцНачисления МЕЖДУ &ДатаНач И &ДатаКон
    |    И КВП_НачисленияПоЛицевымСчетамОбороты.ВидНачисления = &Оплата
8 catena
 
03.06.16
14:11
(3)Ну что значит "с кусочком кода"? Чем не устраивают те кусочки кода, которые в справке?
9 warkan
 
03.06.16
14:14
(8), правильно, гнать лентяев!
делаю, как (3) советовал.
10 hhhh
 
03.06.16
14:17
(9) сам с собой советуешься?
11 warkan
 
03.06.16
14:18
Не, пытаюсь вам показать, что и сам самую малость молодец и достоин малой толики помощи и участия :)
12 SleepyHead
 
гуру
03.06.16
14:19
(7) facepalm

ВЫБРАТЬ

ВЫБОР КОГДА ВидНачисления = ЗНАЧЕНИЕ(Перечисление.ВидыНачислений.начислено) ТОГДА Сумма ИНАЧЕ 0 КОНЕЦ КАК Начислено

ВЫБОР КОГДА ВидНачисления = ЗНАЧЕНИЕ(Перечисление.ВидыНачислений.удержано) ТОГДА Сумма ИНАЧЕ 0 КОНЕЦ КАК Удержано

(0) // набрано вручную без конструктора, дальше сам думай
13 warkan
 
03.06.16
14:20
Вот только ещё почитаю про "Соединение с условием".
А то у меня в итоговой таблице на 2 строки получается две колонки с вариантами "А" и "Б", а хотелось бы, чтобы строка была одна.
14 SleepyHead
 
гуру
03.06.16
14:22
(13) не нужно в этом случае соединение
15 FIXXXL
 
03.06.16
14:25
(13) группировать не забывай
так то физически у тебя и есть две строки
16 warkan
 
03.06.16
14:31
ВЫБРАТЬ
    |    КВП_НачисленияПоЛицевымСчетамОбороты.ЛицевойСчет,
    |    КВП_НачисленияПоЛицевымСчетамОбороты.МесяцНачисления,
    |    СУММА(КВП_НачисленияПоЛицевымСчетамОбороты.СуммаНачисленияОборот) КАК СуммаНачислено,
    |    NULL КАК СуммаОплачено,
    |    КВП_НачисленияПоЛицевымСчетамОбороты.Услуга
    |ИЗ
    |    РегистрНакопления.КВП_НачисленияПоЛицевымСчетам.Обороты КАК КВП_НачисленияПоЛицевымСчетамОбороты
    |ГДЕ
    |    КВП_НачисленияПоЛицевымСчетамОбороты.ЛицевойСчет = &выбЛС
    |    И КВП_НачисленияПоЛицевымСчетамОбороты.МесяцНачисления МЕЖДУ &ДатаНач И &ДатаКон
    |    И КВП_НачисленияПоЛицевымСчетамОбороты.ВидНачисления = &Начисление
    |
    |СГРУППИРОВАТЬ ПО
    |    КВП_НачисленияПоЛицевымСчетамОбороты.МесяцНачисления,
    |    КВП_НачисленияПоЛицевымСчетамОбороты.ЛицевойСчет,
    |    КВП_НачисленияПоЛицевымСчетамОбороты.Услуга
    |
    |ОБЪЕДИНИТЬ
    |
    |ВЫБРАТЬ
    |    КВП_НачисленияПоЛицевымСчетамОбороты.ЛицевойСчет,
    |    КВП_НачисленияПоЛицевымСчетамОбороты.МесяцНачисления,
    |    NULL,
    |    КВП_НачисленияПоЛицевымСчетамОбороты.СуммаНачисленияОборот,
    |    КВП_НачисленияПоЛицевымСчетамОбороты.Услуга
    |ИЗ
    |    РегистрНакопления.КВП_НачисленияПоЛицевымСчетам.Обороты КАК КВП_НачисленияПоЛицевымСчетамОбороты
    |ГДЕ
    |    КВП_НачисленияПоЛицевымСчетамОбороты.ЛицевойСчет = &выбЛС
    |    И КВП_НачисленияПоЛицевымСчетамОбороты.МесяцНачисления МЕЖДУ &ДатаНач И &ДатаКон
    |    И КВП_НачисленияПоЛицевымСчетамОбороты.ВидНачисления = &Оплата

Получается две строки со всеми одинаковыми значениями, кроме как в колонках "СуммаНачислено" и "СумамОплачено". Нам в каждой колонке два разных значения и каждый на своей строке. А должно быть одна строка.
17 FIXXXL
 
03.06.16
14:45
(16) (15)
18 warkan
 
03.06.16
14:48
Нет, я понимаю, "Группировать", а как это описать?... Можно, конечно просто таблицу свернуть.... Буду дальше читать.
19 FIXXXL
 
03.06.16
14:58
(18) группируешь по всем колонкам, кроме суммовых
суммовые - суммируешь
на закладке Группировка в конструкторе запросов
20 ZaRodinyZa Stalina
 
03.06.16
15:05
(0) сделай в скд поставив отбор отдельно для каждой группировки
21 warkan
 
03.06.16
15:06
(18) Да!Да!Да!Да!Да!Да!

Сделал через "ВЫБОР", СПАСИБИЩА!!!

ВЫБРАТЬ
    |    КВП_НачисленияПоЛицевымСчетамОбороты.ЛицевойСчет КАК ЛС,
    |    КВП_НачисленияПоЛицевымСчетамОбороты.МесяцНачисления КАК Период,
    |    КВП_НачисленияПоЛицевымСчетамОбороты.Услуга КАК Услуга,
    |    СУММА(ВЫБОР
    |            КОГДА КВП_НачисленияПоЛицевымСчетамОбороты.ВидНачисления = &Начисление
    |                ТОГДА КВП_НачисленияПоЛицевымСчетамОбороты.СуммаНачисленияОборот
    |        КОНЕЦ) КАК Начислено,
    |    СУММА(ВЫБОР
    |            КОГДА КВП_НачисленияПоЛицевымСчетамОбороты.ВидНачисления = &Оплата
    |                ТОГДА КВП_НачисленияПоЛицевымСчетамОбороты.СуммаНачисленияОборот
    |        КОНЕЦ) КАК Оплачено
    |ИЗ
    |    РегистрНакопления.КВП_НачисленияПоЛицевымСчетам.Обороты КАК КВП_НачисленияПоЛицевымСчетамОбороты
    |ГДЕ
    |    КВП_НачисленияПоЛицевымСчетамОбороты.ЛицевойСчет = &выбЛС
    |    И КВП_НачисленияПоЛицевымСчетамОбороты.МесяцНачисления МЕЖДУ &ДатаНач И &ДатаКон
    |
    |СГРУППИРОВАТЬ ПО
    |    КВП_НачисленияПоЛицевымСчетамОбороты.ЛицевойСчет,
    |    КВП_НачисленияПоЛицевымСчетамОбороты.МесяцНачисления,
    |    КВП_НачисленияПоЛицевымСчетамОбороты.Услуга
22 warkan
 
03.06.16
15:06
Спасибо за науку, люди добрыя!!!
Удачи всем!
23 hhhh
 
03.06.16
15:11
надо же, есть люди, которые бурно радуются такой фигне. Удалось сляпать три строчки запроса, не беря в руки и не читая вонючую документацию от 1с.
24 ZaRodinyZa Stalina
 
03.06.16
15:15
(23) то ли дело ты, книжку почитал и давай куярить нетленки