Имя: Пароль:
1C
1С v8
ЗУП. Форма т61. Ошибка.
0 Альберт_Уфа
 
26.02.13
18:00
ЗУП. 2.5.62.1
Сотрудник увольняется. Начисляется з/п. Регистрируется разовое начисление (равная сумме з/п). Проводится расчет при увольнении.
В Форме т61 в ВсеДругиеНачисления попадает только одна сумма. Если суммы з/п и разового начисления отличаются, то попадают обе суммы. как мне кажется ошибка в запросе - группируется по сумме.
кто-то сталкивался?
Спасибо.
1 Альберт_Уфа
 
26.02.13
18:08
вставил 1 и 2 и все вроде нормально формируется. это правильно или нужно как-то иначе?

   |    (ВЫБРАТЬ
   |        1 КАК Основные,
   |        СУММА(РезультатыОсновныхНачислений.Результат) КАК Результат,
   |        РезультатыОсновныхНачислений.ГруппаНачислений КАК ГруппаНачислений,
   |        СУММА(РезультатыОсновныхНачислений.НеОблагаетсяНДФЛ) КАК НеОблагаетсяНДФЛ

и

   |    ОБЪЕДИНИТЬ
   |    
   |    ВЫБРАТЬ
   |        2 Как Дополнительные,
   |        СУММА(ДополнительныеНачисленияРаботниковОрганизаций.Результат),
   |        ИсходныеДанные.ГруппаНачислений,
   |        ВЫБОР
   |            КОГДА ДополнительныеНачисленияРаботниковОрганизаций.ВидРасчета.КодДоходаНДФЛ = ЗНАЧЕНИЕ(Справочник.ДоходыНДФЛ.ПустаяСсылка)
   |                ТОГДА ДополнительныеНачисленияРаботниковОрганизаций.Результат
   |            ИНАЧЕ 0
   |        КОНЕЦ
2 GANR
 
26.02.13
18:20
(1) запрос целиком в ветку
3 Альберт_Уфа
 
26.02.13
18:29
"ВЫБРАТЬ
   |    ТаблицаПериодов.ДатаНачала КАК ДатаНачала,
   |    ТаблицаПериодов.ДатаОкончания КАК ДатаОкончания,
   |    ТаблицаПериодов.ГруппаНачислений
   |ПОМЕСТИТЬ ИсходныеДанные
   |ИЗ
   |    &ТаблицаПериодов КАК ТаблицаПериодов
   |
   |ИНДЕКСИРОВАТЬ ПО
   |    ДатаНачала,
   |    ДатаОкончания
   |;
   |
   |////////////////////////////////////////////////////////////////////////////////
   |ВЫБРАТЬ
   |    ВЫБОР
   |        КОГДА ИсходныеДанные.ДатаНачала > ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДействия.ПериодДействияНачало
   |            ТОГДА ИсходныеДанные.ДатаНачала
   |        ИНАЧЕ ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДействия.ПериодДействияНачало
   |    КОНЕЦ КАК ДатаНачала,
   |    ВЫБОР
   |        КОГДА ИсходныеДанные.ДатаОкончания < ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДействия.ПериодДействияКонец
   |            ТОГДА ИсходныеДанные.ДатаОкончания
   |        ИНАЧЕ ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДействия.ПериодДействияКонец
   |    КОНЕЦ КАК ДатаОкончания,
   |    ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДействия.ВидРасчета,
   |    ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДействия.Результат,
   |    ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДействия.ГрафикРаботы КАК ГрафикРаботы,
   |    ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДействия.ВидУчетаВремени КАК ВидУчетаВремени,
   |    ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДействия.Регистратор КАК Регистратор,
   |    ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДействия.НомерСтроки КАК НомерСтроки,
   |    ИсходныеДанные.ГруппаНачислений
   |ПОМЕСТИТЬ ОсновныеНачисленияФактическийПериодДействия
   |ИЗ
   |    ИсходныеДанные КАК ИсходныеДанные
   |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.ФактическийПериодДействия(
   |                Сотрудник = &Сотрудник
   |                    И ПериодДействия В (&ПериодыДействия)) КАК ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДействия
   |        ПО (ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДействия.ПериодДействияНачало <= ИсходныеДанные.ДатаОкончания)
   |            И (ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДействия.ПериодДействияКонец >= ИсходныеДанные.ДатаНачала)
   |            И (ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДействия.ПериодРегистрации <= ИсходныеДанные.ДатаНачала)
   |            И ((НЕ ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДействия.ВидРасчета В (&НеВходятВДругиеНачисления)))
   |            И (ВЫБОР
   |                КОГДА &ДатаДокумента = ДАТАВРЕМЯ(1,1,1,0,0,0)
   |                    ТОГДА ИСТИНА
   |                ИНАЧЕ ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДействия.Регистратор.Дата <= КОНЕЦПЕРИОДА(&ДатаДокумента, ДЕНЬ)
   |            КОНЕЦ)
   |ГДЕ
   |    (НЕ ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДействия.ВидРасчета.ЯвляетсяДоходомВНатуральнойФорме)
   |
   |ИНДЕКСИРОВАТЬ ПО
   |    ГрафикРаботы,
   |    ВидУчетаВремени,
   |    Регистратор,
   |    НомерСтроки,
   |    ДатаНачала
   |;
   |
   |////////////////////////////////////////////////////////////////////////////////
   |ВЫБРАТЬ
   |    СУММА(ГрафикиРаботыПоВидамВремени.ОсновноеЗначение) КАК ОсновноеЗначение,
   |    ОсновныеНачисленияФактическийПериодДействия.ДатаНачала КАК ДатаНачала,
   |    ОсновныеНачисленияФактическийПериодДействия.ДатаОкончания КАК ДатаОкончания,
   |    ОсновныеНачисленияФактическийПериодДействия.Регистратор КАК Регистратор,
   |    ОсновныеНачисленияФактическийПериодДействия.НомерСтроки КАК НомерСтроки
   |ПОМЕСТИТЬ ОтработанноеВремя
   |ИЗ
   |    ОсновныеНачисленияФактическийПериодДействия КАК ОсновныеНачисленияФактическийПериодДействия
   |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ГрафикиРаботыПоВидамВремени КАК ГрафикиРаботыПоВидамВремени
   |        ПО ОсновныеНачисленияФактическийПериодДействия.ГрафикРаботы = ГрафикиРаботыПоВидамВремени.ГрафикРаботы
   |            И (НАЧАЛОПЕРИОДА(ОсновныеНачисленияФактическийПериодДействия.ДатаНачала, МЕСЯЦ) = ГрафикиРаботыПоВидамВремени.Месяц)
   |            И ОсновныеНачисленияФактическийПериодДействия.ВидУчетаВремени = ГрафикиРаботыПоВидамВремени.ВидУчетаВремени
   |            И (ГрафикиРаботыПоВидамВремени.Дата МЕЖДУ ОсновныеНачисленияФактическийПериодДействия.ДатаНачала И ОсновныеНачисленияФактическийПериодДействия.ДатаОкончания)
   |
   |СГРУППИРОВАТЬ ПО
   |    ОсновныеНачисленияФактическийПериодДействия.ДатаНачала,
   |    ОсновныеНачисленияФактическийПериодДействия.ДатаОкончания,
   |    ОсновныеНачисленияФактическийПериодДействия.Регистратор,
   |    ОсновныеНачисленияФактическийПериодДействия.НомерСтроки
   |
   |ИНДЕКСИРОВАТЬ ПО
   |    Регистратор,
   |    НомерСтроки,
   |    ДатаНачала,
   |    ДатаОкончания
   |;
   |
   |////////////////////////////////////////////////////////////////////////////////
   |ВЫБРАТЬ
   |    РезультатыНачислений.ГруппаНачислений,
   |    ЕСТЬNULL(СУММА(РезультатыНачислений.Результат), 0) КАК РезультатСумма,
   |    ЕСТЬNULL(СУММА(РезультатыНачислений.НеОблагаетсяНДФЛ), 0) КАК НеОблагаетсяНДФЛ
   |ИЗ
   |    (ВЫБРАТЬ
   |        1 КАК Основные,            ////ЙА ДОБАВИЛ
   |        СУММА(РезультатыОсновныхНачислений.Результат) КАК Результат,
   |        РезультатыОсновныхНачислений.ГруппаНачислений КАК ГруппаНачислений,
   |        СУММА(РезультатыОсновныхНачислений.НеОблагаетсяНДФЛ) КАК НеОблагаетсяНДФЛ
   |    ИЗ
   |        (ВЫБРАТЬ
   |            ОсновныеНачисленияФактическийПериодДействия.ДатаНачала КАК ДатаНачала,
   |            ОсновныеНачисленияФактическийПериодДействия.ДатаОкончания КАК ДатаОкончания,
   |            СУММА(ВЫБОР
   |                    КОГДА ЕСТЬNULL(ДанныеГрафика.ОсновноеЗначениеФактическийПериодДействия, 0) = 0
   |                        ТОГДА ОсновныеНачисленияФактическийПериодДействия.Результат
   |                    ИНАЧЕ ОсновныеНачисленияФактическийПериодДействия.Результат * (ОтработанноеВремя.ОсновноеЗначение / ДанныеГрафика.ОсновноеЗначениеФактическийПериодДействия)
   |                КОНЕЦ) КАК Результат,
   |            ОсновныеНачисленияФактическийПериодДействия.ГруппаНачислений КАК ГруппаНачислений,
   |            ВЫБОР
   |                КОГДА ОсновныеНачисленияФактическийПериодДействия.ВидРасчета.КодДоходаНДФЛ = ЗНАЧЕНИЕ(Справочник.ДоходыНДФЛ.ПустаяСсылка)
   |                    ТОГДА ВЫБОР
   |                            КОГДА ЕСТЬNULL(ДанныеГрафика.ОсновноеЗначениеФактическийПериодДействия, 0) = 0
   |                                ТОГДА ОсновныеНачисленияФактическийПериодДействия.Результат
   |                            ИНАЧЕ ОсновныеНачисленияФактическийПериодДействия.Результат * (ОтработанноеВремя.ОсновноеЗначение / ДанныеГрафика.ОсновноеЗначениеФактическийПериодДействия)
   |                        КОНЕЦ
   |                ИНАЧЕ 0
   |            КОНЕЦ КАК НеОблагаетсяНДФЛ
   |        ИЗ
   |            ОсновныеНачисленияФактическийПериодДействия КАК ОсновныеНачисленияФактическийПериодДействия
   |                ЛЕВОЕ СОЕДИНЕНИЕ ОтработанноеВремя КАК ОтработанноеВремя
   |                ПО ОсновныеНачисленияФактическийПериодДействия.Регистратор = ОтработанноеВремя.Регистратор
   |                    И ОсновныеНачисленияФактическийПериодДействия.НомерСтроки = ОтработанноеВремя.НомерСтроки
   |                    И ОсновныеНачисленияФактическийПериодДействия.ДатаНачала = ОтработанноеВремя.ДатаНачала
   |                    И ОсновныеНачисленияФактическийПериодДействия.ДатаОкончания = ОтработанноеВремя.ДатаОкончания
   |                ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.ДанныеГрафика(
   |                        Сотрудник = &Сотрудник
   |                            И ПериодДействия В (&ПериодыДействия)) КАК ДанныеГрафика
   |                ПО ОсновныеНачисленияФактическийПериодДействия.Регистратор = ДанныеГрафика.Регистратор
   |                    И ОсновныеНачисленияФактическийПериодДействия.НомерСтроки = ДанныеГрафика.НомерСтроки
   |        
   |        СГРУППИРОВАТЬ ПО
   |            ОсновныеНачисленияФактическийПериодДействия.ДатаОкончания,
   |            ОсновныеНачисленияФактическийПериодДействия.ДатаНачала,
   |            ОсновныеНачисленияФактическийПериодДействия.ГруппаНачислений,
   |            ВЫБОР
   |                КОГДА ОсновныеНачисленияФактическийПериодДействия.ВидРасчета.КодДоходаНДФЛ = ЗНАЧЕНИЕ(Справочник.ДоходыНДФЛ.ПустаяСсылка)
   |                    ТОГДА ВЫБОР
   |                            КОГДА ЕСТЬNULL(ДанныеГрафика.ОсновноеЗначениеФактическийПериодДействия, 0) = 0
   |                                ТОГДА ОсновныеНачисленияФактическийПериодДействия.Результат
   |                            ИНАЧЕ ОсновныеНачисленияФактическийПериодДействия.Результат * (ОтработанноеВремя.ОсновноеЗначение / ДанныеГрафика.ОсновноеЗначениеФактическийПериодДействия)
   |                        КОНЕЦ
   |                ИНАЧЕ 0
   |            КОНЕЦ) КАК РезультатыОсновныхНачислений
   |    
   |    СГРУППИРОВАТЬ ПО
   |        РезультатыОсновныхНачислений.ГруппаНачислений
   |    
   |    ОБЪЕДИНИТЬ
   |    
   |    ВЫБРАТЬ
   |        2 Как Дополнительные,             ////ЙА ДОБАВИЛ
   |        СУММА(ДополнительныеНачисленияРаботниковОрганизаций.Результат),
   |        ИсходныеДанные.ГруппаНачислений,
   |        ВЫБОР
   |            КОГДА ДополнительныеНачисленияРаботниковОрганизаций.ВидРасчета.КодДоходаНДФЛ = ЗНАЧЕНИЕ(Справочник.ДоходыНДФЛ.ПустаяСсылка)
   |                ТОГДА ДополнительныеНачисленияРаботниковОрганизаций.Результат
   |            ИНАЧЕ 0
   |        КОНЕЦ
   |    ИЗ
   |        ИсходныеДанные КАК ИсходныеДанные
   |            ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрРасчета.ДополнительныеНачисленияРаботниковОрганизаций КАК ДополнительныеНачисленияРаботниковОрганизаций
   |            ПО (ДополнительныеНачисленияРаботниковОрганизаций.ПериодРегистрации МЕЖДУ ИсходныеДанные.ДатаНачала И ИсходныеДанные.ДатаОкончания)
   |                И (ДополнительныеНачисленияРаботниковОрганизаций.Сотрудник = &Сотрудник)
   |                И ((НЕ ДополнительныеНачисленияРаботниковОрганизаций.ВидРасчета В (&НеВходятВДругиеНачисления)))
   |                И ((НЕ ДополнительныеНачисленияРаботниковОрганизаций.ВидРасчета.ЯвляетсяДоходомВНатуральнойФорме))
   |                И (ВЫБОР
   |                    КОГДА &ДатаДокумента = ДАТАВРЕМЯ(1,1,1,0,0,0)
   |                        ТОГДА ИСТИНА
   |                    ИНАЧЕ ДополнительныеНачисленияРаботниковОрганизаций.Регистратор.Дата <= КОНЕЦПЕРИОДА(&ДатаДокумента, ДЕНЬ)
   |                КОНЕЦ)
   |    
   |    СГРУППИРОВАТЬ ПО
   |        ИсходныеДанные.ГруппаНачислений,
   |        ВЫБОР
   |            КОГДА ДополнительныеНачисленияРаботниковОрганизаций.ВидРасчета.КодДоходаНДФЛ = ЗНАЧЕНИЕ(Справочник.ДоходыНДФЛ.ПустаяСсылка)
   |                ТОГДА ДополнительныеНачисленияРаботниковОрганизаций.Результат
   |            ИНАЧЕ 0
   |        КОНЕЦ) КАК РезультатыНачислений
   |
   |СГРУППИРОВАТЬ ПО
   |    РезультатыНачислений.ГруппаНачислений";
4 GANR
 
27.02.13
00:28
Предметно не подскажу. Если заменить ОБЪЕДИНИТЬ на ОБЪЕДИНИТЬ ВСЕ - быстродействия чуточку прибавится.
5 GANR
 
27.02.13
00:41
Ооооой!!! Что делают поля, РезультатНачислений и НеОблагается НДФЛ в списке группировок? По идее, по ним агрегация должна идти, СУММА!
6 Альберт_Уфа
 
27.02.13
10:15
ну сумма должна быть, но нету. мои "добавки" помогли  :)