Имя: Пароль:
1C
1С v8
Можно ли получить данные расчетной ведомости ЗУП 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
Не влезло...