Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Не получается добавить сумму по ТЧ в запрос

Не получается добавить сумму по ТЧ в запрос
Я
   zenon46
 
19.11.20 - 16:29
Доброго дня!
Имеем регистр накопления к нему построен запрос, к запросу нужно прикрутить СУММУ по полю "сумма" одной из ТЧ документа регистратора, через левое соединение получается не верная сумма, а умноженная на количество записей по данному регистратору в регистре накопления:

ВЫБРАТЬ
    СдельнаяЗарплата.Организация КАК Организация,
    СдельнаяЗарплата.Сотрудник КАК Сотрудник,
    СдельнаяЗарплата.Документ КАК Документ,
    СдельнаяЗарплата.Регистратор КАК Регистратор,
    СдельнаяЗарплата.Регистратор.СуммаДокумента КАК РегистраторСуммаДокумента,
    СУММА(СдельнаяЗарплата.Сумма) КАК СуммаИсполнители
ИЗ
    РегистрНакопления.СдельнаяЗарплата КАК СдельнаяЗарплата
    
ГДЕ
    СдельнаяЗарплата.Период МЕЖДУ &НачДата И &КонДата
    И СдельнаяЗарплата.Регистратор ССЫЛКА Документ.ЗаказНаПроизводство
        И СдельнаяЗарплата.Сотрудник = &ВбрСотрудник
    
СГРУППИРОВАТЬ ПО
    СдельнаяЗарплата.Организация,
    СдельнаяЗарплата.Сотрудник,
    СдельнаяЗарплата.Документ,
    СдельнаяЗарплата.Регистратор,
    СдельнаяЗарплата.Регистратор.СуммаДокумента
УПОРЯДОЧИТЬ ПО
    Документ,
    Сотрудник
   dka80
 
1 - 19.11.20 - 16:31
Максимум(СдельнаяЗарплата.Сумма)
   ДенисЧ
 
2 - 19.11.20 - 16:32
соединяй не с ТЧ, а со свёрнутой по ссылке ТЧ.
   zenon46
 
3 - 19.11.20 - 16:33
(1) это немного не то.. (2) это как, научите
   ДенисЧ
 
4 - 19.11.20 - 16:36
(3)

ВЫБРАТЬ
    СдельнаяЗарплата.Организация КАК Организация,
    СдельнаяЗарплата.Сотрудник КАК Сотрудник,
    СдельнаяЗарплата.Документ КАК Документ,
    тчДок.Сумма
//    СдельнаяЗарплата.Регистратор КАК Регистратор,

//    СдельнаяЗарплата.Регистратор.СуммаДокумента КАК РегистраторСуммаДокумента,
//    СУММА(СдельнаяЗарплата.Сумма) КАК СуммаИсполнители

ИЗ
    РегистрНакопления.СдельнаяЗарплата КАК СдельнаяЗарплата
левое соединение (
выбрать Ссылка, Сотрудник, Ссылка.Организация, СУММА(СУмма) КАК Сумма)
ИЗ Документ.<ТипРегистратора>
сгруппировать по Ссылка, Сотрудник, Ссылка.Организация
) КАК тчДок
по сдельнаяЗарплата.Регистратор = тчДок.ССсылка и СдельнаяЗарплата.Сотрудник = тчДок.Сотрудник



ЗЫ. Меня терзает дежавю... Нечто подобное тут на форуме я писал неделю или две назад...
   zenon46
 
5 - 19.11.20 - 16:47
(4) Спасибо. Сделал, то что нужно. Вот результат.

ВЫБРАТЬ
    СдельнаяЗарплата.Организация КАК Организация,
    СдельнаяЗарплата.Сотрудник КАК Сотрудник,
    СдельнаяЗарплата.Документ КАК Документ,
    СдельнаяЗарплата.Регистратор КАК Регистратор,
    СдельнаяЗарплата.Регистратор.СуммаДокумента КАК РегистраторСуммаДокумента,
    СУММА(СдельнаяЗарплата.Сумма) КАК СуммаИсполнители,
    тчДок.Сумма КАК ОбщаяСумма    
ИЗ
    РегистрНакопления.СдельнаяЗарплата КАК СдельнаяЗарплата    
    ЛЕВОЕ СОЕДИНЕНИЕ(
    ВЫБРАТЬ
        СУММА(ДокЗаказОперации.Сумма) КАК Сумма,
        ДокЗаказОперации.Ссылка КАК Ссылка
    ИЗ 
        Документ.ЗаказНаПроизводство.Операции КАК ДокЗаказОперации
    СГРУППИРОВАТЬ ПО
        ДокЗаказОперации.Ссылка
    ) КАК тчДок
    ПО СдельнаяЗарплата.Регистратор = тчДок.Ссылка    
ГДЕ
    СдельнаяЗарплата.Период МЕЖДУ &НачДата И &КонДата
    И СдельнаяЗарплата.Регистратор ССЫЛКА Документ.ЗаказНаПроизводство
    И СдельнаяЗарплата.Сотрудник = &ВбрСотрудник    
СГРУППИРОВАТЬ ПО
    СдельнаяЗарплата.Организация,
    СдельнаяЗарплата.Сотрудник,
    СдельнаяЗарплата.Документ,
    СдельнаяЗарплата.Регистратор,
    СдельнаяЗарплата.Регистратор.СуммаДокумента,
    тчДок.Сумма
УПОРЯДОЧИТЬ ПО
    Документ,
    Сотрудник
   ДенисЧ
 
6 - 19.11.20 - 16:51
А по группировать зачем?
Группировка по числовым полям - не самая лучшая идея...
   zenon46
 
7 - 19.11.20 - 16:54
(6) в каком месте ?
   ДенисЧ
 
8 - 19.11.20 - 16:55
(7) В
СГРУППИРОВАТЬ ПО
    СдельнаяЗарплата.Организация,
    СдельнаяЗарплата.Сотрудник,
    СдельнаяЗарплата.Документ,
    СдельнаяЗарплата.Регистратор,
    СдельнаяЗарплата.Регистратор.СуммаДокумента,
    тчДок.Сумма
   zenon46
 
9 - 19.11.20 - 16:59
(8) так иначе не запускается, ругается что поле не входит в группировку
   ДенисЧ
 
10 - 19.11.20 - 17:14
(9) А если так
выбрать
...
СУММА(СдельнаяЗарплата.Регистратор.СуммаДокумента) КАК РегистраторСуммаДокумента,
СУММА(тчДок.Сумма) КАК ОбщаяСумма    

и убрать суммы из группировок? А то это как-то кандебляроопасно получается...

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