|
Можно ли получить данные расчетной ведомости ЗУП 2.5 одним запросом без скд? | ☑ | ||
---|---|---|---|---|
0
ultrannge89
25.08.15
✎
08:33
|
Есть задача, собрать данные расчетных ведомостей по нескольким базам в группировке физ лиц. Много баз, где то сотрудники на пол ставки где-то на 0,3. Думаю собирать через com. Все базы на sql, есть еще локальная черная...
|
|||
1
ultrannge89
25.08.15
✎
08:34
|
Ну или придется вникнуть в СКД, и добавить возможность выбора бд и группировки результата.
|
|||
2
ultrannge89
25.08.15
✎
08:38
|
Не совсем понимаю как группируются между собой поля:
Это через объединение таблиц, но думаю надо их левым соединять, типа вид расчета, результат, вид расчета результат. ВЫБРАТЬ РАЗРЕШЕННЫЕ ОсновныеНачисленияРаботниковОрганизации.ОбособленноеПодразделение КАК Организация, ОсновныеНачисленияРаботниковОрганизации.Организация КАК ГоловнаяОрганизация, ОсновныеНачисленияРаботниковОрганизации.ФизЛицо КАК ФизЛицо, ОсновныеНачисленияРаботниковОрганизации.ВидРасчета.Наименование КАК ИмяВидаРасчета, "А" + ОсновныеНачисленияРаботниковОрганизации.ВидРасчета.Код КАК ПриоритетВидаРасчета, ВЫБОР КОГДА ОсновныеНачисленияРаботниковОрганизации.ВидРасчета.ЯвляетсяДоходомВНатуральнойФорме ТОГДА "Доходы в натуральной форме" ИНАЧЕ "Всего начислено" КОНЕЦ КАК Группа, ВЫБОР КОГДА ОсновныеНачисленияРаботниковОрганизации.ВидРасчета.ЯвляетсяДоходомВНатуральнойФорме ТОГДА 3 ИНАЧЕ 2 КОНЕЦ КАК ПриоритетГруппы, ОсновныеНачисленияРаботниковОрганизации.ОтработаноДней КАК ОтработаноДней, ОсновныеНачисленияРаботниковОрганизации.ОтработаноЧасов КАК ОтработаноЧасов, ОсновныеНачисленияРаботниковОрганизации.НормаДней КАК НормаДней, ОсновныеНачисленияРаботниковОрганизации.НормаЧасов КАК НормаЧасов, ВЫБОР КОГДА ОсновныеНачисленияРаботниковОрганизации.ВидУчетаВремени = ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоДням) ТОГДА ОсновныеНачисленияРаботниковОрганизации.ОплаченоДнейЧасов ИНАЧЕ 0 КОНЕЦ КАК ОплаченоДней, ВЫБОР КОГДА ОсновныеНачисленияРаботниковОрганизации.ВидУчетаВремени <> ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоДням) ТОГДА ОсновныеНачисленияРаботниковОрганизации.ОплаченоДнейЧасов ИНАЧЕ 0 КОНЕЦ КАК ОплаченоЧасов, ОсновныеНачисленияРаботниковОрганизации.Результат КАК Результат, ОсновныеНачисленияРаботниковОрганизации.ПериодРегистрации КАК ПериодРегистрации, ОсновныеНачисленияРаботниковОрганизации.Регистратор КАК Регистратор, НЕОПРЕДЕЛЕНО КАК Ведомость ПОМЕСТИТЬ ОсновныеНачисления {ВЫБРАТЬ Организация.*, ГоловнаяОрганизация.*, ФизЛицо.*, ИмяВидаРасчета, ПриоритетВидаРасчета, Группа, ПриоритетГруппы, ОтработаноДней, ОтработаноЧасов, НормаДней, НормаЧасов, ОплаченоДней, ОплаченоЧасов, Результат, ПериодРегистрации, Регистратор.*, Ведомость} ИЗ РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК ОсновныеНачисленияРаботниковОрганизации ГДЕ ОсновныеНачисленияРаботниковОрганизации.ПериодРегистрации МЕЖДУ &НачалоПериода И &КонецПериода {ГДЕ ОсновныеНачисленияРаботниковОрганизации.ФизЛицо.*, ОсновныеНачисленияРаботниковОрганизации.Организация.* КАК ГоловнаяОрганизация, ОсновныеНачисленияРаботниковОрганизации.ОбособленноеПодразделение.* КАК Организация, ОсновныеНачисленияРаботниковОрганизации.ВидРасчета.Наименование КАК ИмяВидаРасчета, ОсновныеНачисленияРаботниковОрганизации.Результат, ОсновныеНачисленияРаботниковОрганизации.ПериодРегистрации, ОсновныеНачисленияРаботниковОрганизации.Регистратор.*, ОсновныеНачисленияРаботниковОрганизации.ОбособленноеПодразделение.* КАК Организация, (ВЫБОР КОГДА ОсновныеНачисленияРаботниковОрганизации.ВидРасчета.ЯвляетсяДоходомВНатуральнойФорме ТОГДА "Доходы в натуральной форме" ИНАЧЕ "Всего начислено" КОНЕЦ) КАК Группа, (ВЫБОР КОГДА ОсновныеНачисленияРаботниковОрганизации.ВидУчетаВремени <> ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоДням) ТОГДА ОсновныеНачисленияРаботниковОрганизации.ОплаченоДнейЧасов ИНАЧЕ 0 КОНЕЦ) КАК ОплаченоЧасов, (ВЫБОР КОГДА ОсновныеНачисленияРаботниковОрганизации.ВидУчетаВремени = ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоДням) ТОГДА ОсновныеНачисленияРаботниковОрганизации.ОплаченоДнейЧасов ИНАЧЕ 0 КОНЕЦ) КАК ОплаченоДней, (ВЫБОР КОГДА ОсновныеНачисленияРаботниковОрганизации.Сотрудник.ВидЗанятости <> ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.ВнутреннееСовместительство) ТОГДА ОсновныеНачисленияРаботниковОрганизации.НормаЧасов ИНАЧЕ 0 КОНЕЦ) КАК НормаЧасов, (ВЫБОР КОГДА ОсновныеНачисленияРаботниковОрганизации.Сотрудник.ВидЗанятости <> ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.ВнутреннееСовместительство) ТОГДА ОсновныеНачисленияРаботниковОрганизации.НормаДней ИНАЧЕ 0 КОНЕЦ) КАК НормаДней, (ВЫБОР КОГДА ОсновныеНачисленияРаботниковОрганизации.Сотрудник.ВидЗанятости <> ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.ВнутреннееСовместительство) ТОГДА ОсновныеНачисленияРаботниковОрганизации.ОтработаноЧасов ИНАЧЕ 0 КОНЕЦ) КАК ОтработаноЧасов, (ВЫБОР КОГДА ОсновныеНачисленияРаботниковОрганизации.Сотрудник.ВидЗанятости <> ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.ВнутреннееСовместительство) ТОГДА ОсновныеНачисленияРаботниковОрганизации.ОтработаноДней ИНАЧЕ 0 КОНЕЦ) КАК ОтработаноДней, (НЕОПРЕДЕЛЕНО) КАК Ведомость} ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ РАЗРЕШЕННЫЕ ДополнительныеНачисленияРаботниковОрганизации.ОбособленноеПодразделение КАК Организация, ДополнительныеНачисленияРаботниковОрганизации.Организация КАК ГоловнаяОрганизация, ДополнительныеНачисленияРаботниковОрганизации.ФизЛицо КАК ФизЛицо, ДополнительныеНачисленияРаботниковОрганизации.ВидРасчета.Наименование КАК ИмяВидаРасчета, "Б" + ДополнительныеНачисленияРаботниковОрганизации.ВидРасчета.Код КАК ПриоритетВидаРасчета, ВЫБОР КОГДА ДополнительныеНачисленияРаботниковОрганизации.ВидРасчета.ЯвляетсяДоходомВНатуральнойФорме ТОГДА "Доходы в натуральной форме" ИНАЧЕ "Всего начислено" КОНЕЦ КАК Группа, ВЫБОР КОГДА ДополнительныеНачисленияРаботниковОрганизации.ВидРасчета.ЯвляетсяДоходомВНатуральнойФорме ТОГДА 3 ИНАЧЕ 2 КОНЕЦ КАК ПриоритетГруппы, NULL КАК ОтработаноДней, NULL КАК ОтработаноЧасов, ВЫБОР КОГДА ДополнительныеНачисленияРаботниковОрганизации.ВидУчетаВремени = ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоДням) ТОГДА ДополнительныеНачисленияРаботниковОрганизации.ОплаченоДнейЧасов ИНАЧЕ 0 КОНЕЦ КАК ОплаченоДней, ВЫБОР КОГДА ДополнительныеНачисленияРаботниковОрганизации.ВидУчетаВремени = ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоЧасам) ТОГДА ДополнительныеНачисленияРаботниковОрганизации.ОплаченоДнейЧасов ИНАЧЕ 0 КОНЕЦ КАК ОплаченоЧасов, ДополнительныеНачисленияРаботниковОрганизации.Результат КАК Результат, НАЧАЛОПЕРИОДА(ДополнительныеНачисленияРаботниковОрганизации.ПериодРегистрации, МЕСЯЦ) КАК ПериодРегистрации, ДополнительныеНачисленияРаботниковОрганизации.Регистратор КАК Регистратор, НЕОПРЕДЕЛЕНО КАК Ведомость ПОМЕСТИТЬ ДополнительныеНачисления {ВЫБРАТЬ Организация.*, ГоловнаяОрганизация.*, ФизЛицо.*, ИмяВидаРасчета, ПриоритетВидаРасчета, Группа, ПриоритетГруппы, ОтработаноДней, ОтработаноЧасов, ОплаченоДней, ОплаченоЧасов, Результат, ПериодРегистрации, Регистратор.*, Ведомость} ИЗ РегистрРасчета.ДополнительныеНачисленияРаботниковОрганизаций КАК ДополнительныеНачисленияРаботниковОрганизации ГДЕ ДополнительныеНачисленияРаботниковОрганизации.ПериодРегистрации МЕЖДУ &НачалоПериода И &КонецПериода {ГДЕ ДополнительныеНачисленияРаботниковОрганизации.ФизЛицо.*, ДополнительныеНачисленияРаботниковОрганизации.Организация.* КАК ГоловнаяОрганизация, ДополнительныеНачисленияРаботниковОрганизации.ОбособленноеПодразделение.* КАК Организация, ДополнительныеНачисленияРаботниковОрганизации.ВидРасчета.Наименование КАК ИмяВидаРасчета, (ВЫБОР КОГДА ДополнительныеНачисленияРаботниковОрганизации.ВидРасчета.ЯвляетсяДоходомВНатуральнойФорме ТОГДА "Доходы в натуральной форме" ИНАЧЕ "Всего начислено" КОНЕЦ) КАК Группа, (ВЫБОР КОГДА ДополнительныеНачисленияРаботниковОрганизации.ВидУчетаВремени = ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоДням) ТОГДА ДополнительныеНачисленияРаботниковОрганизации.ОплаченоДнейЧасов ИНАЧЕ 0 КОНЕЦ) КАК ОплаченоДней, (ВЫБОР КОГДА ДополнительныеНачисленияРаботниковОрганизации.ВидУчетаВремени = ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВремени.ПоЧасам) ТОГДА ДополнительныеНачисленияРаботниковОрганизации.ОплаченоДнейЧасов ИНАЧЕ 0 КОНЕЦ) КАК ОплаченоЧасов, ДополнительныеНачисленияРаботниковОрганизации.Результат, (НАЧАЛОПЕРИОДА(ДополнительныеНачисленияРаботниковОрганизации.ПериодРегистрации, МЕСЯЦ)) КАК ПериодРегистрации, ДополнительныеНачисленияРаботниковОрганизации.Регистратор.*, (НЕОПРЕДЕЛЕНО) КАК Ведомость} ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ РАЗРЕШЕННЫЕ УдержанияРаботниковОрганизации.ОбособленноеПодразделение КАК Организация, УдержанияРаботниковОрганизации.Организация КАК ГоловнаяОрганизация, УдержанияРаботниковОрганизации.ФизЛицо КАК ФизЛицо, УдержанияРаботниковОрганизации.ВидРасчета.Наименование КАК ИмяВидаРасчета, "А" + УдержанияРаботниковОрганизации.ВидРасчета.Код КАК ПриоритетВидаРасчета, "Всего удержано" КАК Группа, 4 КАК ПриоритетГруппы, УдержанияРаботниковОрганизации.Результат КАК Результат, УдержанияРаботниковОрганизации.ПериодРегистрации КАК ПериодРегистрации, УдержанияРаботниковОрганизации.Регистратор КАК Регистратор, НЕОПРЕДЕЛЕНО КАК Ведомость ПОМЕСТИТЬ Удержания ИЗ РегистрРасчета.УдержанияРаботниковОрганизаций КАК УдержанияРаботниковОрганизации ГДЕ УдержанияРаботниковОрганизации.ПериодРегистрации МЕЖДУ &НачалоПериода И &КонецПериода И УдержанияРаботниковОрганизации.Результат <> 0 {ГДЕ УдержанияРаботниковОрганизации.ФизЛицо.*, УдержанияРаботниковОрганизации.ОбособленноеПодразделение.* КАК Организация} ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ РАЗРЕШЕННЫЕ НДФЛРасчетыСБюджетом.ОбособленноеПодразделение КАК Организация, НДФЛРасчетыСБюджетом.Организация КАК ГоловнаяОрганизация, НДФЛРасчетыСБюджетом.ФизЛицо КАК ФизЛицо, "НДФЛ" КАК ИмяВидаРасчета, "НДФЛ" КАК ПриоритетВидаРасчета, "Всего удержано" КАК Группа, 4 КАК ПриоритетГруппы, ВЫБОР КОГДА НДФЛРасчетыСБюджетом.ВидСтроки = ЗНАЧЕНИЕ(Перечисление.НДФЛРасчетыСБюджетомВидСтроки.Начисление) ТОГДА 1 ИНАЧЕ -1 КОНЕЦ * НДФЛРасчетыСБюджетом.Налог КАК Результат, НАЧАЛОПЕРИОДА(НДФЛРасчетыСБюджетом.Период, МЕСЯЦ) КАК ПериодРегистрации, НДФЛРасчетыСБюджетом.Регистратор КАК Регистратор, НЕОПРЕДЕЛЕНО КАК Ведомость ПОМЕСТИТЬ НДФЛ ИЗ РегистрНакопления.НДФЛРасчетыСБюджетом КАК НДФЛРасчетыСБюджетом ГДЕ НДФЛРасчетыСБюджетом.Период МЕЖДУ &НачалоПериода И &КонецПериода И НДФЛРасчетыСБюджетом.ВидСтроки В (ЗНАЧЕНИЕ(Перечисление.НДФЛРасчетыСБюджетомВидСтроки.Начисление), ЗНАЧЕНИЕ(Перечисление.НДФЛРасчетыСБюджетомВидСтроки.ЗачетАвансовыхПлатежей)) И НДФЛРасчетыСБюджетом.ИсчисленоИзЗарплаты {ГДЕ НДФЛРасчетыСБюджетом.ФизЛицо.*, НДФЛРасчетыСБюджетом.ОбособленноеПодразделение.* КАК Организация} ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ РАЗРЕШЕННЫЕ ПогашениеЗаймовРаботникамиОрганизаций.Организация КАК Организация, ВЫБОР КОГДА ПогашениеЗаймовРаботникамиОрганизаций.Организация.ГоловнаяОрганизация = ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка) ТОГДА ПогашениеЗаймовРаботникамиОрганизаций.Организация ИНАЧЕ ПогашениеЗаймовРаботникамиОрганизаций.Организация.ГоловнаяОрганизация КОНЕЦ КАК ГоловнаяОрганизация, ПогашениеЗаймовРаботникамиОрганизаций.ФизЛицо КАК ФизЛицо, НАЧАЛОПЕРИОДА(ПогашениеЗаймовРаботникамиОрганизаций.Период, МЕСЯЦ) КАК ПериодРегистрации, "Погашение займа" КАК ИмяВидаРасчета, "ПогашениеЗайма" КАК ПриоритетВидаРасчета, "Всего удержано" КАК Группа, 4 КАК ПриоритетГруппы, ПогашениеЗаймовРаботникамиОрганизаций.ОсновнойДолг + ПогашениеЗаймовРаботникамиОрганизаций.Проценты КАК Результат, ПогашениеЗаймовРаботникамиОрганизаций.Регистратор КАК Регистратор, НЕОПРЕДЕЛЕНО КАК Ведомость ПОМЕСТИТЬ ПогашениеЗаймов ИЗ РегистрНакопления.ПогашениеЗаймовРаботникамиОрганизаций КАК ПогашениеЗаймовРаботникамиОрганизаций ГДЕ ПогашениеЗаймовРаботникамиОрганизаций.Период МЕЖДУ &НачалоПериода И &КонецПериода И ПогашениеЗаймовРаботникамиОрганизаций.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) И ПогашениеЗаймовРаботникамиОрганизаций.УдержаноИзЗарплаты {ГДЕ ПогашениеЗаймовРаботникамиОрганизаций.ФизЛицо.*} ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ РАЗРЕШЕННЫЕ Взаиморасчеты.Организация КАК Организация, ВЫБОР КОГДА Взаиморасчеты.Организация.ГоловнаяОрганизация = ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка) ТОГДА Взаиморасчеты.Организация ИНАЧЕ Взаиморасчеты.Организация.ГоловнаяОрганизация КОНЕЦ КАК ГоловнаяОрганизация, Взаиморасчеты.Физлицо КАК ФизЛицо, ВЫБОР КОГДА Взаиморасчеты.СпособВыплаты = ЗНАЧЕНИЕ(Перечисление.СпособыВыплатыЗарплаты.ЧерезКассу) И ВзаиморасчетыСДепонентамиОрганизаций.Регистратор ЕСТЬ NULL ТОГДА "Через кассу " КОГДА Взаиморасчеты.СпособВыплаты = ЗНАЧЕНИЕ(Перечисление.СпособыВыплатыЗарплаты.ЧерезБанк) И ВзаиморасчетыСДепонентамиОрганизаций.Регистратор ЕСТЬ NULL ТОГДА "Перечислено в банк " КОГДА НЕ ВзаиморасчетыСДепонентамиОрганизаций.Регистратор ЕСТЬ NULL ТОГДА "Задепонировано" ИНАЧЕ "Способ выплаты не указан " КОНЕЦ + ВЫБОР КОГДА (Взаиморасчеты.ХарактерВыплаты = ЗНАЧЕНИЕ(Перечисление.ХарактерВыплатыЗарплаты.ПлановыйАванс) ИЛИ Взаиморасчеты.ХарактерВыплаты = ЗНАЧЕНИЕ(Перечисление.ХарактерВыплатыЗарплаты.АвансЗаПервуюПоловинуМесяца)) И ВзаиморасчетыСДепонентамиОрганизаций.Регистратор ЕСТЬ NULL ТОГДА "(аванс)" КОГДА Взаиморасчеты.ХарактерВыплаты = ЗНАЧЕНИЕ(Перечисление.ХарактерВыплатыЗарплаты.Зарплата) И ВзаиморасчетыСДепонентамиОрганизаций.Регистратор ЕСТЬ NULL ТОГДА "(под расчет)" КОГДА Взаиморасчеты.ХарактерВыплаты = ЗНАЧЕНИЕ(Перечисление.ХарактерВыплатыЗарплаты.ПустаяСсылка) И ВзаиморасчетыСДепонентамиОрганизаций.Регистратор ЕСТЬ NULL И Взаиморасчеты.СуммаВзаиморасчетов > 0 ТОГДА "(не указано)" КОГДА Взаиморасчеты.ХарактерВыплаты = ЗНАЧЕНИЕ(Перечисление.ХарактерВыплатыЗарплаты.ПустаяСсылка) И ВзаиморасчетыСДепонентамиОрганизаций.Регистратор ЕСТЬ NULL И Взаиморасчеты.СуммаВзаиморасчетов < 0 ТОГДА "(погашено задолженности)" КОГДА ВзаиморасчетыСДепонентамиОрганизаций.Регистратор ЕСТЬ NULL ТОГДА "(межрасчет)" ИНАЧЕ "" КОНЕЦ КАК ИмяВидаРасчета, "А" КАК ПриоритетВидаРасчета, НАЧАЛОПЕРИОДА(Взаиморасчеты.Период, МЕСЯЦ) КАК ПериодРегистрации, "Всего выплачено" КАК Группа, 5 КАК ПриоритетГруппы, Взаиморасчеты.СуммаВзаиморасчетов КАК Результат, Взаиморасчеты.Регистратор КАК Регистратор, Взаиморасчеты.Ведомость КАК Ведомость ПОМЕСТИТЬ Взаиморасчеты ИЗ РегистрНакопления.ВзаиморасчетыСРаботникамиОрганизаций КАК Взаиморасчеты ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ВзаиморасчетыСДепонентамиОрганизаций КАК ВзаиморасчетыСДепонентамиОрганизаций ПО (ВзаиморасчетыСДепонентамиОрганизаций.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)) И (ВзаиморасчетыСДепонентамиОрганизаций.Ведомость = Взаиморасчеты.Ведомость) И (ВзаиморасчетыСДепонентамиОрганизаций.Физлицо = Взаиморасчеты.Физлицо) ГДЕ Взаиморасчеты.Период МЕЖДУ &НачалоПериода И &КонецПериода И Взаиморасчеты.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) И Взаиморасчеты.СуммаВзаиморасчетов <> 0 {ГДЕ Взаиморасчеты.Физлицо.*, Взаиморасчеты.Организация.*} ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ НАЧАЛОПЕРИОДА(РегламентированныйПроизводственныйКалендарь.ДатаКалендаря, МЕСЯЦ) КАК ПериодРегистрации ПОМЕСТИТЬ Периоды ИЗ РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь ГДЕ РегламентированныйПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ &НачалоПериода И &КонецПериода ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ ОсновныеНачисленияРаботниковОрганизаций.ФизЛицо, ОсновныеНачисленияРаботниковОрганизаций.Сотрудник, ОсновныеНачисленияРаботниковОрганизаций.ОбособленноеПодразделение КАК Организация, ОсновныеНачисленияРаботниковОрганизаций.Организация КАК ГоловнаяОрганизация, НАЧАЛОПЕРИОДА(ОсновныеНачисленияРаботниковОрганизаций.ПериодРегистрации, МЕСЯЦ) КАК ПериодРегистрации, ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяССылка) КАК ПодразделениеОрганизации, ЗНАЧЕНИЕ(Справочник.ДолжностиОрганизаций.ПустаяССылка) КАК Должность ПОМЕСТИТЬ НеСотрудники ИЗ РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК ОсновныеНачисленияРаботниковОрганизаций ЛЕВОЕ СОЕДИНЕНИЕ Документ.ДоговорНаВыполнениеРаботСФизЛицом КАК ДоговорНаВыполнениеРаботСФизЛицом ПО (ДоговорНаВыполнениеРаботСФизЛицом.Проведен) И ОсновныеНачисленияРаботниковОрганизаций.ФизЛицо = ДоговорНаВыполнениеРаботСФизЛицом.ФизЛицо ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций ПО ОсновныеНачисленияРаботниковОрганизаций.ФизЛицо = РаботникиОрганизаций.Сотрудник.Физлицо ГДЕ РаботникиОрганизаций.Сотрудник ЕСТЬ NULL И ДоговорНаВыполнениеРаботСФизЛицом.Сотрудник ЕСТЬ NULL И ОсновныеНачисленияРаботниковОрганизаций.ПериодРегистрации МЕЖДУ &НачалоПериода И &КонецПериода ОБЪЕДИНИТЬ ВЫБРАТЬ РАЗЛИЧНЫЕ ДополнительныеНачисленияРаботниковОрганизаций.ФизЛицо, ДополнительныеНачисленияРаботниковОрганизаций.Сотрудник, ДополнительныеНачисленияРаботниковОрганизаций.ОбособленноеПодразделение, ДополнительныеНачисленияРаботниковОрганизаций.Организация, НАЧАЛОПЕРИОДА(ДополнительныеНачисленияРаботниковОрганизаций.ПериодРегистрации, МЕСЯЦ), ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяССылка), ЗНАЧЕНИЕ(Справочник.ДолжностиОрганизаций.ПустаяССылка) ИЗ РегистрРасчета.ДополнительныеНачисленияРаботниковОрганизаций КАК ДополнительныеНачисленияРаботниковОрганизаций ЛЕВОЕ СОЕДИНЕНИЕ Документ.ДоговорНаВыполнениеРаботСФизЛицом КАК ДоговорНаВыполнениеРаботСФизЛицом ПО (ДоговорНаВыполнениеРаботСФизЛицом.Проведен) И ДополнительныеНачисленияРаботниковОрганизаций.ФизЛицо = ДоговорНаВыполнениеРаботСФизЛицом.ФизЛицо ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций ПО ДополнительныеНачисленияРаботниковОрганизаций.ФизЛицо = РаботникиОрганизаций.Сотрудник.Физлицо ГДЕ РаботникиОрганизаций.Сотрудник ЕСТЬ NULL И ДоговорНаВыполнениеРаботСФизЛицом.Сотрудник ЕСТЬ NULL И ДополнительныеНачисленияРаботниковОрганизаций.ПериодРегистрации МЕЖДУ &НачалоПериода И &КонецПериода ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ РАЗРЕШЕННЫЕ ДатыПоследнихДвижений.ПериодРегистрации КАК ПериодРегистрации, ДатыПоследнихДвижений.Физлицо КАК Физлицо, ВЫБОР КОГДА ДатыПоследнихДвижений.Организация.ГоловнаяОрганизация = ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка) ТОГДА ДатыПоследнихДвижений.Организация ИНАЧЕ ДатыПоследнихДвижений.Организация.ГоловнаяОрганизация КОНЕЦ КАК ГоловнаяОрганизация, ДатыПоследнихДвижений.Организация КАК Организация, ВЫБОР КОГДА Работающие.Сотрудник ЕСТЬ НЕ NULL ТОГДА ВЫБОР КОГДА Работающие.ПериодЗавершения <= КОНЕЦПЕРИОДА(ДатыПоследнихДвижений.ПериодРегистрации, МЕСЯЦ) И Работающие.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) ТОГДА Работающие.ПодразделениеОрганизацииЗавершения ИНАЧЕ Работающие.ПодразделениеОрганизации КОНЕЦ КОГДА Уволенные.Сотрудник ЕСТЬ НЕ NULL ТОГДА ВЫБОР КОГДА Уволенные.ПериодЗавершения <= КОНЕЦПЕРИОДА(ДатыПоследнихДвижений.ПериодРегистрации, МЕСЯЦ) И Уволенные.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) ТОГДА Уволенные.ПодразделениеОрганизацииЗавершения ИНАЧЕ Уволенные.ПодразделениеОрганизации КОНЕЦ ИНАЧЕ NULL КОНЕЦ КАК Подразделение, ВЫБОР КОГДА Работающие.Сотрудник ЕСТЬ НЕ NULL ТОГДА ВЫБОР КОГДА Работающие.ПериодЗавершения <= КОНЕЦПЕРИОДА(ДатыПоследнихДвижений.ПериодРегистрации, МЕСЯЦ) И Работающие.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) ТОГДА Работающие.ДолжностьЗавершения ИНАЧЕ Работающие.Должность КОНЕЦ КОГДА Уволенные.Сотрудник ЕСТЬ НЕ NULL ТОГДА ВЫБОР КОГДА Уволенные.ПериодЗавершения <= КОНЕЦПЕРИОДА(ДатыПоследнихДвижений.ПериодРегистрации, МЕСЯЦ) И Уволенные.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) ТОГДА Уволенные.ДолжностьЗавершения ИНАЧЕ Уволенные.Должность КОНЕЦ ИНАЧЕ NULL КОНЕЦ КАК Должность, ВЫБОР КОГДА Работающие.Сотрудник ЕСТЬ НЕ NULL ТОГДА ВЫБОР КОГДА Работающие.ПериодЗавершения <= КОНЕЦПЕРИОДА(ДатыПоследнихДвижений.ПериодРегистрации, МЕСЯЦ) И Работающие.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) И Работающие.ПричинаИзмененияСостоянияЗавершения = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение) ТОГДА Работающие.ПериодЗавершения ИНАЧЕ ДАТАВРЕМЯ(1, 1, 1) КОНЕЦ КОГДА Уволенные.Сотрудник ЕСТЬ НЕ NULL И Работающие.Сотрудник ЕСТЬ NULL ТОГДА Уволенные.Период ИНАЧЕ ДАТАВРЕМЯ(1, 1, 1) КОНЕЦ КАК ДатаУвольнения, ВЫБОР КОГДА Работающие.Сотрудник ЕСТЬ НЕ NULL ТОГДА Работающие.Сотрудник КОГДА Уволенные.Сотрудник ЕСТЬ НЕ NULL И Работающие.Сотрудник ЕСТЬ NULL ТОГДА Уволенные.Сотрудник ИНАЧЕ NULL КОНЕЦ КАК Сотрудник ПОМЕСТИТЬ Работники ИЗ (ВЫБРАТЬ Периоды.ПериодРегистрации КАК ПериодРегистрации, МАКСИМУМ(РаботникиОрганизаций.Период) КАК Период, РаботникиОрганизаций.Сотрудник.Физлицо КАК Физлицо, ВЫБОР КОГДА РаботникиОрганизаций.ПериодЗавершения <= КОНЕЦПЕРИОДА(Периоды.ПериодРегистрации, МЕСЯЦ) И РаботникиОрганизаций.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) ТОГДА РаботникиОрганизаций.ОбособленноеПодразделениеЗавершения ИНАЧЕ РаботникиОрганизаций.ОбособленноеПодразделение КОНЕЦ КАК Организация ИЗ Периоды КАК Периоды ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций ПО (РаботникиОрганизаций.Период <= КОНЕЦПЕРИОДА(Периоды.ПериодРегистрации, МЕСЯЦ)) ГДЕ РаботникиОрганизаций.Сотрудник.ВидЗанятости <> ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.ВнутреннееСовместительство) {ГДЕ РаботникиОрганизаций.Сотрудник.Физлицо.* КАК Физлицо} СГРУППИРОВАТЬ ПО Периоды.ПериодРегистрации, РаботникиОрганизаций.Сотрудник.Физлицо, ВЫБОР КОГДА РаботникиОрганизаций.ПериодЗавершения <= КОНЕЦПЕРИОДА(Периоды.ПериодРегистрации, МЕСЯЦ) И РаботникиОрганизаций.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) ТОГДА РаботникиОрганизаций.ОбособленноеПодразделениеЗавершения ИНАЧЕ РаботникиОрганизаций.ОбособленноеПодразделение КОНЕЦ) КАК ДатыПоследнихДвижений ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК Работающие ПО ДатыПоследнихДвижений.Физлицо = Работающие.Сотрудник.Физлицо И ДатыПоследнихДвижений.Период = Работающие.Период И (Работающие.ПричинаИзмененияСостояния <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)) И (Работающие.Сотрудник.ВидЗанятости <> ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.ВнутреннееСовместительство)) И (ДатыПоследнихДвижений.Организация = ВЫБОР КОГДА Работающие.ПериодЗавершения <= КОНЕЦПЕРИОДА(ДатыПоследнихДвижений.ПериодРегистрации, МЕСЯЦ) И Работающие.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) ТОГДА Работающие.ОбособленноеПодразделениеЗавершения ИНАЧЕ Работающие.ОбособленноеПодразделение КОНЕЦ) ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК Уволенные ПО ДатыПоследнихДвижений.Физлицо = Уволенные.Сотрудник.Физлицо И ДатыПоследнихДвижений.Период = Уволенные.Период И (Уволенные.ПричинаИзмененияСостояния = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)) И (Уволенные.Сотрудник.ВидЗанятости <> ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.ВнутреннееСовместительство)) И (ДатыПоследнихДвижений.Организация = ВЫБОР КОГДА Уволенные.ПериодЗавершения <= КОНЕЦПЕРИОДА(ДатыПоследнихДвижений.ПериодРегистрации, МЕСЯЦ) И Уволенные.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) ТОГДА Уволенные.ОбособленноеПодразделениеЗавершения ИНАЧЕ Уволенные.ОбособленноеПодразделение КОНЕЦ) {ГДЕ ДатыПоследнихДвижений.ПериодРегистрации, & |
|||
3
ultrannge89
25.08.15
✎
08:39
|
Не влезло...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |