Добрый день! Подскажите пожалуйста! Суть проблемы в том что есть 2 временных таблицы мне нужно их соединить, по 3 признакам: ФизЛицо, Организация, КПП. Но проблема в том что во 2 таблице не всегда может быть КПП, как быть в этой ситуации??
---
Точно, вспомнил, какую ошибку я совершал при работе с соединениями:
Когда мы пишем:
ВЫБРАТЬ
    ВТ1.Поле1,
    ВТ2.Поле2
ИЗ
    ВТ1 ЛЕВОЕ СОЕДИНЕНИЕ ВТ2 ПО <условия соединения>
ГДЕ
    ВТ2.Поле2 = &ЗначениеОтбора

Мы можем получить такую ситуацию: условие соединения не выполнилось, и мы получили строку вида
ВТ1.Поле1,
NULL // то, что должно было быть ВТ2.Поле2

а потом мы проверяем в "ГДЕ", что ВТ.Поле2 (NULL) = &ЗначениеОтбора. Но NULL <> &ЗначениеОтбора, и вся строка <ВТ1.Поле1, NULL> отбрасывается.
---
Заранее огромное спасибо вам))
---
ответ зависит от требуемого результата, соединения разные бывают. Например если нам надо, чтобы КПП во второй таблице при его отсутствии игнорировался, мы напишем так

```1c
    СОЕДИНЕНИЕ ПО
    Выбор когда ВтораяТаблица.КПП есть null тогда ИСТИНА Иначе ПерваяТаблица.КПП = ВтораяТаблица.КПП конец
```

Если надо, чтобы всегда все совпадало, то напишем

```1c
    СОЕДИНЕНИЕ ПО
    ПерваяТаблица.КПП = ВтораяТаблица.КПП
```

ну и так далее, не зная задачи, трудно найти решение. Хорошая постановка задачи = 80% ответа, как известно.
---
Нужно в любом случаи вывести первую таблицу даже при отсутствии значений во 2 таблице, но если есть то соединить!
---
тогда нужно левое соединение с условием на пустое значение. Возможно, оно не NULL, а какая-то пустая строка или еще что, смотря чем заполняется поле КПП второй таблицы, когда оно не заполнено.
---
во вложении пример как мне нужно соединить таблицы!
---
Выбор когда ВтораяТаблица.КПП есть null тогда ИСТИНА Иначе ПерваяТаблица.КПП = ВтораяТаблица.КПП конец так не прокатывает!
---
КПП - это число или строка?
---
Строка!
---
```1c
    ВЫБОР
    КОГДА ВтораяТаблица.КПП есть NULL
    ТОГДА ЗНАЧЕНИЕ(Справочник.ВашСправочникКПП.ПустаяСсылка)
    ИНАЧЕ ПерваяТаблица.КПП = ВтораяТаблица.КПП
    КОНЕЦ
```
---
А почему должно ЗНАЧЕНИЕ(Справочник.ВашСправочникКПП.ПустаяСсылка)???
---
А чем Вы хотите null заменить?
Можно еще "".
---
так не работает, выдает ошибку:
ВЫБОР
    КОГДА ВТОсновнойОтчет.КПП есть NULL
        ТОГДА ""
    ИНАЧЕ ВТПодразделение.ПодразделениеОрганизации.КПП = ВТОсновнойОтчет.КПП
КОНЕЦ
---
если это пишется в условии соединения, то там должны быть логические выражения, дающие в итоге истину или ложь.
Т.е. что-то вроде

```1c
    ВЫБРАТЬ
    ВТ1.Поле1,
    ВТ2.Поле2
    ИЗ
    ВТ1 ЛЕВОЕ СОЕДИНЕНИЕ ВТ2
    ПО
    ВТ1.ФизЛицо = ВТ2.ФизЛицо И ВТ1.Организация = ВТ2.Организация И ВТ1.КПП = ВТ2.КПП
```

Если условие соединения не выполняется, то мы получаем запись вида

```1c
    ВТ1.Поле1,
    NULL
```
---
Да я с вами согласен, но вот вопрос как соединить??
---
Напишите весь Ваш текст запроса, который у Вас сейчас.
---
А если 0 поставить?
---
Если допустим во второй таблице нет строки для соединения??
---
[1C-CODE]ВЫБРАТЬ
 ДАТАВРЕМЯ(1, 1, 1) КАК ПериодРегистрации
ПОМЕСТИТЬ ВТПериоды
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
 ДАТАВРЕМЯ(1, 1, 1) КАК Период,
 ДАТАВРЕМЯ(1, 1, 1) КАК ДатаРегистрацииИзменений,
 ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка) КАК Организация,
 ЗНАЧЕНИЕ(Перечисление.ТарифыСтраховыхВзносов.ПустаяСсылка) КАК ВидТарифаСтраховыхВзносов,
 ЛОЖЬ КАК УплачиватьДобровольныеВзносыВФСС
ПОМЕСТИТЬ ВТНалоговыйУчет
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
 ВЫБОР
  КОГДА ДатыПоследнихДвижений.Период < ДАТАВРЕМЯ(2014, 1, 1)
    И СтатусФизЛица.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыНалогоплательщиковПоНДФЛ.Беженец)
   ТОГДА ЗНАЧЕНИЕ(Перечисление.СтатусыНалогоплательщиковПоНДФЛ.НеРезидент)
  ИНАЧЕ СтатусФизЛица.Статус
 КОНЕЦ КАК Статус,
 ДатыПоследнихДвижений.Период,
 ДатыПоследнихДвижений.ФизЛицо
ПОМЕСТИТЬ ВТСтатусыФизЛиц
ИЗ
 (ВЫБРАТЬ
  Периоды.ПериодРегистрации КАК Период,
  Периоды.ФизЛицо КАК ФизЛицо,
  МАКСИМУМ(СтатусФизЛица.Период) КАК ПериодЗаписи
 ИЗ
  (ВЫБРАТЬ РАЗЛИЧНЫЕ
   ВЫБОР
    КОГДА НДФЛСведенияОДоходах.Период >= ДАТАВРЕМЯ(2015, 1, 1)
     ТОГДА НДФЛСведенияОДоходах.ДатаПолученияДохода
    ИНАЧЕ НАЧАЛОПЕРИОДА(НДФЛСведенияОДоходах.Период, МЕСЯЦ)
   КОНЕЦ КАК ПериодРегистрации,
   НДФЛСведенияОДоходах.ФизЛицо КАК ФизЛицо
  ИЗ
   РегистрНакопления.НДФЛСведенияОДоходах КАК НДФЛСведенияОДоходах
  ГДЕ
   НДФЛСведенияОДоходах.ПериодРегистрации МЕЖДУ &НачалоПериода И &КонецПериода
  {ГДЕ
   НДФЛСведенияОДоходах.Организация.* КАК ГоловнаяОрганизация,
   НДФЛСведенияОДоходах.ФизЛицо.*}

  ОБЪЕДИНИТЬ

  ВЫБРАТЬ РАЗЛИЧНЫЕ
   ВЫБОР
    КОГДА НДФЛРасчетыСБюджетом.МесяцНалоговогоПериода >= ДАТАВРЕМЯ(2015, 1, 1)
     ТОГДА НДФЛРасчетыСБюджетом.МесяцНалоговогоПериода
    ИНАЧЕ НАЧАЛОПЕРИОДА(НДФЛРасчетыСБюджетом.МесяцНалоговогоПериода, МЕСЯЦ)
   КОНЕЦ,
   НДФЛРасчетыСБюджетом.ФизЛицо
  ИЗ
   РегистрНакопления.НДФЛРасчетыСБюджетом КАК НДФЛРасчетыСБюджетом
  ГДЕ
   НДФЛРасчетыСБюджетом.Период МЕЖДУ &НачалоПериода И &КонецПериода
  {ГДЕ
   НДФЛРасчетыСБюджетом.Организация.* КАК ГоловнаяОрганизация,
   НДФЛРасчетыСБюджетом.ФизЛицо.*}) КАК Периоды
   ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.СтатусФизЛицКакНалогоплательщиковНДФЛ КАК СтатусФизЛица
   ПО (КОНЕЦПЕРИОДА(Периоды.ПериодРегистрации, МЕСЯЦ) >= СтатусФизЛица.Период)
    И Периоды.ФизЛицо = СтатусФизЛица.ФизЛицо

 СГРУППИРОВАТЬ ПО
  Периоды.ПериодРегистрации,
  Периоды.ФизЛицо) КАК ДатыПоследнихДвижений
  ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.СтатусФизЛицКакНалогоплательщиковНДФЛ КАК СтатусФизЛица
  ПО ДатыПоследнихДвижений.ПериодЗаписи = СтатусФизЛица.Период
   И ДатыПоследнихДвижений.ФизЛицо = СтатусФизЛица.ФизЛицо
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
 НДФЛСведенияОДоходах.ГоловнаяОрганизация,
 НДФЛСведенияОДоходах.ФизЛицо,
 НДФЛСведенияОДоходах.КодДохода,
 НДФЛСведенияОДоходах.Организация,
 НДФЛСведенияОДоходах.КодПоОКАТО КАК КодПоОКАТО,
 НДФЛСведенияОДоходах.КодПоОКТМО КАК КодПоОКТМО,
 НДФЛСведенияОДоходах.КодТерритории,
 НДФЛСведенияОДоходах.ПериодРегистрации,
 НДФЛСведенияОДоходах.СтавкаНалогообложенияРезидента,
 НДФЛСведенияОДоходах.Регистратор,
 НДФЛСведенияОДоходах.ИсчисленоИзЗарплаты,
 НДФЛСведенияОДоходах.Вычет,
 НДФЛСведенияОДоходах.ВидРасчета,
 НДФЛСведенияОДоходах.КПП,
 НДФЛСведенияОДоходах.МесяцНалоговогоПериода,
 СУММА(НДФЛСведенияОДоходах.СуммаВычета) КАК СуммаВычета,
 СУММА(НДФЛСведенияОДоходах.СуммаДохода) КАК СуммаДохода
ПОМЕСТИТЬ ВТСведенияОДоходахНДФЛ
ИЗ
 (ВЫБРАТЬ
  НДФЛСведенияОДоходах.Организация КАК ГоловнаяОрганизация,
  ВЫБОР
   КОГДА &ФизЛицо
    ТОГДА НДФЛСведенияОДоходах.ФизЛицо
   ИНАЧЕ ЗНАЧЕНИЕ(Справочник.ФизическиеЛица.ПустаяССылка)
  КОНЕЦ КАК ФизЛицо,
  ВЫБОР
   КОГДА &КодДохода
    ТОГДА НДФЛСведенияОДоходах.КодДохода
   ИНАЧЕ ""
  КОНЕЦ КАК КодДохода,
  НДФЛСведенияОДоходах.ОбособленноеПодразделение КАК Организация,
  ВЫБОР
   КОГДА &КодТерритории
    ТОГДА ВЫБОР
      КОГДА НДФЛСведенияОДоходах.Период < ДАТАВРЕМЯ(2013, 1, 1)
       ТОГДА ВЫБОР
         КОГДА НДФЛСведенияОДоходах.КодПоОКАТО <> ""
          ТОГДА НДФЛСведенияОДоходах.КодПоОКАТО
         КОГДА ЕСТЬNULL(НДФЛСведенияОДоходах.ПодразделениеОрганизации.КодПоОКАТО, "") <> ""
          ТОГДА НДФЛСведенияОДоходах.ПодразделениеОрганизации.КодПоОКАТО
         ИНАЧЕ ЕСТЬNULL(НДФЛСведенияОДоходах.ОбособленноеПодразделение.КодПоОКАТО, "")
        КОНЕЦ
      КОГДА НДФЛСведенияОДоходах.КодПоОКТМО <> ""
       ТОГДА НДФЛСведенияОДоходах.КодПоОКТМО
      КОГДА ЕСТЬNULL(НДФЛСведенияОДоходах.ПодразделениеОрганизации.КодПоОКТМО, "") <> ""
       ТОГДА НДФЛСведенияОДоходах.ПодразделениеОрганизации.КодПоОКТМО
      ИНАЧЕ ЕСТЬNULL(НДФЛСведенияОДоходах.ОбособленноеПодразделение.КодПоОКТМО, "")
     КОНЕЦ
   ИНАЧЕ ""
  КОНЕЦ КАК КодТерритории,
  ВЫБОР
   КОГДА &КодПоОКАТО
    ТОГДА ВЫБОР
      КОГДА НДФЛСведенияОДоходах.КодПоОКАТО <> ""
       ТОГДА НДФЛСведенияОДоходах.КодПоОКАТО
      КОГДА ЕСТЬNULL(НДФЛСведенияОДоходах.ПодразделениеОрганизации.КодПоОКАТО, "") <> ""
       ТОГДА НДФЛСведенияОДоходах.ПодразделениеОрганизации.КодПоОКАТО
      ИНАЧЕ ЕСТЬNULL(НДФЛСведенияОДоходах.ОбособленноеПодразделение.КодПоОКАТО, "")
     КОНЕЦ
   ИНАЧЕ ""
  КОНЕЦ КАК КодПоОКАТО,
  ВЫБОР
   КОГДА &КодПоОКАТО
    ТОГДА ВЫБОР
      КОГДА НДФЛСведенияОДоходах.Период < ДАТАВРЕМЯ(2013, 1, 1)
       ТОГДА ""
      КОГДА НДФЛСведенияОДоходах.КодПоОКТМО <> ""
       ТОГДА НДФЛСведенияОДоходах.КодПоОКТМО
      КОГДА ЕСТЬNULL(НДФЛСведенияОДоходах.ПодразделениеОрганизации.КодПоОКТМО, "") <> ""
       ТОГДА НДФЛСведенияОДоходах.ПодразделениеОрганизации.КодПоОКТМО
      ИНАЧЕ ЕСТЬNULL(НДФЛСведенияОДоходах.ОбособленноеПодразделение.КодПоОКТМО, "")
     КОНЕЦ
   ИНАЧЕ ""
  КОНЕЦ КАК КодПоОКТМО,
  НДФЛСведенияОДоходах.ПериодРегистрации КАК ПериодРегистрации,
  ВЫБОР
   КОГДА &СтавкаНалогообложенияРезидента
     И НДФЛСведенияОДоходах.КодДохода <> ""
    ТОГДА ВЫБОР
      КОГДА НДФЛСведенияОДоходах.Период > ДАТАВРЕМЯ(2007, 12, 31, 23, 59, 59)
       ТОГДА ВЫБОР
         КОГДА СтатусФизЛица.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыНалогоплательщиковПоНДФЛ.НеРезидент)
          ТОГДА ВЫБОР
            КОГДА НДФЛСведенияОДоходах.КодДохода = ЗНАЧЕНИЕ(Справочник.ДоходыНДФЛ.Код1010)
             ТОГДА ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка15)
            ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка30)
           КОНЕЦ
         КОГДА НДФЛСведенияОДоходах.КодДохода.СтавкаНалогообложенияРезидента = ЗНАЧЕНИЕ(Перечисление.НДФЛСтавкиНалогообложенияРезидента.Ставка13)
          ТОГДА ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка13)
         КОГДА НДФЛСведенияОДоходах.КодДохода = ЗНАЧЕНИЕ(Справочник.ДоходыНДФЛ.Код1010)
           И НДФЛСведенияОДоходах.Период >= ДАТАВРЕМЯ(2015, 1, 1, 0, 0, 0)
          ТОГДА ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка13)
         КОГДА НДФЛСведенияОДоходах.КодДохода.СтавкаНалогообложенияРезидента = ЗНАЧЕНИЕ(Перечисление.НДФЛСтавкиНалогообложенияРезидента.Ставка09)
          ТОГДА ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка09)
         КОГДА НДФЛСведенияОДоходах.КодДохода.СтавкаНалогообложенияРезидента = ЗНАЧЕНИЕ(Перечисление.НДФЛСтавкиНалогообложенияРезидента.Ставка35)
          ТОГДА ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка35)
         ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.ПустаяССылка)
        КОНЕЦ
      ИНАЧЕ ВЫБОР
        КОГДА СтатусФизЛица.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыНалогоплательщиковПоНДФЛ.НеРезидент)
         ТОГДА ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка30)
        КОГДА НДФЛСведенияОДоходах.КодДохода.СтавкаНалогообложенияРезидента = ЗНАЧЕНИЕ(Перечисление.НДФЛСтавкиНалогообложенияРезидента.Ставка13)
         ТОГДА ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка13)
        КОГДА НДФЛСведенияОДоходах.КодДохода.СтавкаНалогообложенияРезидента = ЗНАЧЕНИЕ(Перечисление.НДФЛСтавкиНалогообложенияРезидента.Ставка09)
         ТОГДА ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка09)
        КОГДА НДФЛСведенияОДоходах.КодДохода.СтавкаНалогообложенияРезидента = ЗНАЧЕНИЕ(Перечисление.НДФЛСтавкиНалогообложенияРезидента.Ставка35)
         ТОГДА ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка35)
        ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.ПустаяСсылка)
       КОНЕЦ
     КОНЕЦ
   ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.ПустаяССылка)
  КОНЕЦ КАК СтавкаНалогообложенияРезидента,
  ВЫБОР
   КОГДА &Регистратор
    ТОГДА НДФЛСведенияОДоходах.Регистратор
   ИНАЧЕ ""
  КОНЕЦ КАК Регистратор,
  НДФЛСведенияОДоходах.ИсчисленоИзЗарплаты КАК ИсчисленоИзЗарплаты,
  ВЫБОР
   КОГДА &Вычет
    ТОГДА НДФЛСведенияОДоходах.КодВычета
   ИНАЧЕ ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.ПустаяСсылка)
  КОНЕЦ КАК Вычет,
  ВЫБОР
   КОГДА &ВидРасчета
    ТОГДА НДФЛСведенияОДоходах.ВидРасчета
   ИНАЧЕ ""
  КОНЕЦ КАК ВидРасчета,
  ВЫБОР
   КОГДА &КПП
    ТОГДА ВЫБОР
      КОГДА НДФЛСведенияОДоходах.КПП <> ""
       ТОГДА НДФЛСведенияОДоходах.КПП
      КОГДА ЕСТЬNULL(НДФЛСведенияОДоходах.ПодразделениеОрганизации.КПП, "") <> ""
       ТОГДА НДФЛСведенияОДоходах.ПодразделениеОрганизации.КПП
      ИНАЧЕ ЕСТЬNULL(НДФЛСведенияОДоходах.ОбособленноеПодразделение.КПП, "")
     КОНЕЦ
   ИНАЧЕ ""
  КОНЕЦ КАК КПП,
  ВЫБОР
   КОГДА &МесяцНалоговогоПериода
    ТОГДА НАЧАЛОПЕРИОДА(НДФЛСведенияОДоходах.Период, МЕСЯЦ)
   ИНАЧЕ ДАТАВРЕМЯ(1, 1, 1)
  КОНЕЦ КАК МесяцНалоговогоПериода,
  НДФЛСведенияОДоходах.СуммаВычета КАК СуммаВычета,
  НДФЛСведенияОДоходах.СуммаДохода КАК СуммаДохода
 ИЗ
  РегистрНакопления.НДФЛСведенияОДоходах КАК НДФЛСведенияОДоходах
   ЛЕВОЕ СОЕДИНЕНИЕ ВТСтатусыФизЛиц КАК СтатусФизЛица
   ПО (ВЫБОР
     КОГДА НДФЛСведенияОДоходах.Период >= ДАТАВРЕМЯ(2015, 1, 1)
      ТОГДА НДФЛСведенияОДоходах.ДатаПолученияДохода
     ИНАЧЕ НАЧАЛОПЕРИОДА(НДФЛСведенияОДоходах.Период, МЕСЯЦ)
    КОНЕЦ = СтатусФизЛица.Период)
    И НДФЛСведенияОДоходах.ФизЛицо = СтатусФизЛица.ФизЛицо
 ГДЕ
  НДФЛСведенияОДоходах.ПериодРегистрации МЕЖДУ &НачалоПериода И &КонецПериода
 {ГДЕ
  НДФЛСведенияОДоходах.Организация.* КАК ГоловнаяОрганизация,
  НДФЛСведенияОДоходах.ФизЛицо.*}) КАК НДФЛСведенияОДоходах

СГРУППИРОВАТЬ ПО
 НДФЛСведенияОДоходах.ГоловнаяОрганизация,
 НДФЛСведенияОДоходах.ФизЛицо,
 НДФЛСведенияОДоходах.КодДохода,
 НДФЛСведенияОДоходах.Организация,
 НДФЛСведенияОДоходах.ПериодРегистрации,
 НДФЛСведенияОДоходах.СтавкаНалогообложенияРезидента,
 НДФЛСведенияОДоходах.Регистратор,
 НДФЛСведенияОДоходах.ИсчисленоИзЗарплаты,
 НДФЛСведенияОДоходах.Вычет,
 НДФЛСведенияОДоходах.ВидРасчета,
 НДФЛСведенияОДоходах.КПП,
 НДФЛСведенияОДоходах.МесяцНалоговогоПериода,
 НДФЛСведенияОДоходах.КодТерритории,
 НДФЛСведенияОДоходах.КодПоОКАТО,
 НДФЛСведенияОДоходах.КодПоОКТМО
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
 БАЗАИТОГО.ВидРасчета КАК ВидРасчета,
 СУММА(БАЗАИТОГО.СуммаДохода) КАК Результат,
 БАЗАИТОГО.Организация КАК Организация,
 БАЗАИТОГО.ФизЛицо КАК ФизЛицо,
 БАЗАИТОГО.КодДохода КАК КодДохода,
 БАЗАИТОГО.СтавкаНалогообложенияРезидента КАК СтавкаНалогообложения,
 БАЗАИТОГО.ПериодРегистрации КАК ПериодРегистрации,
 БАЗАИТОГО.ГоловнаяОрганизация,
 БАЗАИТОГО.КодПоОКАТО КАК КодПоОКАТО,
 ПОДСТРОКА(БАЗАИТОГО.КодПоОКТМО + " ", 1, 11) КАК КодПоОКТМО,
 БАЗАИТОГО.Регистратор,
 БАЗАИТОГО.МесяцНалоговогоПериода,
 БАЗАИТОГО.КПП,
 ПОДСТРОКА(БАЗАИТОГО.КодТерритории + " ", 1, 11) КАК КодТерритории
ПОМЕСТИТЬ ВТБазаНДФЛ
ИЗ
 ВТСведенияОДоходахНДФЛ КАК БАЗАИТОГО
ГДЕ
 НЕ &ВидРасчета

СГРУППИРОВАТЬ ПО
 БАЗАИТОГО.ВидРасчета,
 БАЗАИТОГО.Организация,
 БАЗАИТОГО.ФизЛицо,
 БАЗАИТОГО.КодДохода,
 БАЗАИТОГО.СтавкаНалогообложенияРезидента,
 БАЗАИТОГО.ПериодРегистрации,
 БАЗАИТОГО.ГоловнаяОрганизация,
 БАЗАИТОГО.КодПоОКАТО,
 БАЗАИТОГО.Регистратор,
 БАЗАИТОГО.МесяцНалоговогоПериода,
 БАЗАИТОГО.КПП,
 ПОДСТРОКА(БАЗАИТОГО.КодПоОКТМО + " ", 1, 11),
 ПОДСТРОКА(БАЗАИТОГО.КодТерритории + " ", 1, 11)
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
 НалогНДФЛ.ПериодРегистрации,
 НалогНДФЛ.ФизЛицо,
 НалогНДФЛ.ГоловнаяОрганизация,
 НалогНДФЛ.СтавкаНалогоОбложения,
 НалогНДФЛ.Организация,
 НалогНДФЛ.КодПоОКАТО,
 ПОДСТРОКА(НалогНДФЛ.КодПоОКТМО + " ", 1, 11) КАК КодПоОКТМО,
 ПОДСТРОКА(НалогНДФЛ.КодТерритории + " ", 1, 11) КАК КодТерритории,
 НалогНДФЛ.КПП,
 НалогНДФЛ.КодДохода,
 НалогНДФЛ.Регистратор,
 НалогНДФЛ.МесяцНалоговогоПериода,
 СУММА(НалогНДФЛ.Налог) КАК Налог,
 СУММА(НалогНДФЛ.ЗачтеноАвансовыхПлатежей) КАК ЗачтеноАвансовыхПлатежей,
 СУММА(НалогНДФЛ.НалогУдержаный) КАК НалогУдержаный,
 СУММА(НалогНДФЛ.НалогПеречисленный) КАК НалогПеречисленный,
 СУММА(НалогНДФЛ.НалогКПеречислению) КАК НалогКПеречислению
ПОМЕСТИТЬ ВТНалогНДФЛ
ИЗ
 (ВЫБРАТЬ
  НАЧАЛОПЕРИОДА(НДФЛРасчетыСБюджетом.Период, МЕСЯЦ) КАК ПериодРегистрации,
  ВЫБОР
   КОГДА &ФизЛицо
    ТОГДА НДФЛРасчетыСБюджетом.ФизЛицо
   ИНАЧЕ ЗНАЧЕНИЕ(Справочник.ФизическиеЛица.ПустаяССылка)
  КОНЕЦ КАК ФизЛицо,
  НДФЛРасчетыСБюджетом.Организация КАК ГоловнаяОрганизация,
  ВЫБОР
   КОГДА &СтавкаНалогообложенияРезидента
    ТОГДА ВЫБОР
      КОГДА НДФЛРасчетыСБюджетом.Период > ДАТАВРЕМЯ(2007, 12, 31, 23, 59, 59)
       ТОГДА ВЫБОР
         КОГДА СтатусФизЛица.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыНалогоплательщиковПоНДФЛ.НеРезидент)
          ТОГДА ВЫБОР
            КОГДА НДФЛРасчетыСБюджетом.КодДохода = ЗНАЧЕНИЕ(Справочник.ДоходыНДФЛ.Код1010)
             ТОГДА ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка15)
            ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка30)
           КОНЕЦ
         КОГДА НДФЛРасчетыСБюджетом.СтавкаНалогообложенияРезидента = ЗНАЧЕНИЕ(Перечисление.НДФЛСтавкиНалогообложенияРезидента.Ставка13)
          ТОГДА ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка13)
         КОГДА НДФЛРасчетыСБюджетом.КодДохода = ЗНАЧЕНИЕ(Справочник.ДоходыНДФЛ.Код1010)
           И НДФЛРасчетыСБюджетом.Период >= ДАТАВРЕМЯ(2015, 1, 1, 0, 0, 0)
          ТОГДА ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка13)
         КОГДА НДФЛРасчетыСБюджетом.СтавкаНалогообложенияРезидента = ЗНАЧЕНИЕ(Перечисление.НДФЛСтавкиНалогообложенияРезидента.Ставка09)
          ТОГДА ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка09)
         КОГДА НДФЛРасчетыСБюджетом.СтавкаНалогообложенияРезидента = ЗНАЧЕНИЕ(Перечисление.НДФЛСтавкиНалогообложенияРезидента.Ставка35)
          ТОГДА ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка35)
         ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.ПустаяССылка)
        КОНЕЦ
      ИНАЧЕ ВЫБОР
        КОГДА СтатусФизЛица.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыНалогоплательщиковПоНДФЛ.НеРезидент)
         ТОГДА ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка30)
        КОГДА НДФЛРасчетыСБюджетом.СтавкаНалогообложенияРезидента = ЗНАЧЕНИЕ(Перечисление.НДФЛСтавкиНалогообложенияРезидента.Ставка13)
         ТОГДА ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка13)
        КОГДА НДФЛРасчетыСБюджетом.СтавкаНалогообложенияРезидента = ЗНАЧЕНИЕ(Перечисление.НДФЛСтавкиНалогообложенияРезидента.Ставка09)
         ТОГДА ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка09)
        КОГДА НДФЛРасчетыСБюджетом.СтавкаНалогообложенияРезидента = ЗНАЧЕНИЕ(Перечисление.НДФЛСтавкиНалогообложенияРезидента.Ставка35)
         ТОГДА ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка35)
        ИНАЧЕ ""
       КОНЕЦ
     КОНЕЦ
   ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.ПустаяССылка)
  КОНЕЦ КАК СтавкаНалогоОбложения,
  НДФЛРасчетыСБюджетом.ОбособленноеПодразделение КАК Организация,
  ВЫБОР
   КОГДА &КодПоОКАТО
    ТОГДА ВЫБОР
      КОГДА НДФЛРасчетыСБюджетом.КодПоОКАТО <> ""
       ТОГДА НДФЛРасчетыСБюджетом.КодПоОКАТО
      КОГДА ЕСТЬNULL(НДФЛРасчетыСБюджетом.ПодразделениеОрганизации.КодПоОКАТО, "") <> ""
       ТОГДА НДФЛРасчетыСБюджетом.ПодразделениеОрганизации.КодПоОКАТО
      ИНАЧЕ ЕСТЬNULL(НДФЛРасчетыСБюджетом.ОбособленноеПодразделение.КодПоОКАТО, "")
     КОНЕЦ
   ИНАЧЕ ""
  КОНЕЦ КАК КодПоОКАТО,
  ВЫБОР
   КОГДА &КодПоОКАТО
    ТОГДА ВЫБОР
      КОГДА НДФЛРасчетыСБюджетом.МесяцНалоговогоПериода < ДАТАВРЕМЯ(2013, 1, 1)
       ТОГДА ""
      КОГДА НДФЛРасчетыСБюджетом.КодПоОКТМО <> ""
       ТОГДА НДФЛРасчетыСБюджетом.КодПоОКТМО
      КОГДА ЕСТЬNULL(НДФЛРасчетыСБюджетом.ПодразделениеОрганизации.КодПоОКТМО, "") <> ""
       ТОГДА НДФЛРасчетыСБюджетом.ПодразделениеОрганизации.КодПоОКТМО
      ИНАЧЕ ЕСТЬNULL(НДФЛРасчетыСБюджетом.ОбособленноеПодразделение.КодПоОКТМО, "")
     КОНЕЦ
   ИНАЧЕ ""
  КОНЕЦ КАК КодПоОКТМО,
  ВЫБОР
   КОГДА &КодТерритории
    ТОГДА ВЫБОР
      КОГДА НДФЛРасчетыСБюджетом.МесяцНалоговогоПериода < ДАТАВРЕМЯ(2013, 1, 1)
       ТОГДА ВЫБОР
         КОГДА НДФЛРасчетыСБюджетом.КодПоОКАТО <> ""
          ТОГДА НДФЛРасчетыСБюджетом.КодПоОКАТО
         КОГДА ЕСТЬNULL(НДФЛРасчетыСБюджетом.ПодразделениеОрганизации.КодПоОКАТО, "") <> ""
          ТОГДА НДФЛРасчетыСБюджетом.ПодразделениеОрганизации.КодПоОКАТО
         ИНАЧЕ ЕСТЬNULL(НДФЛРасчетыСБюджетом.ОбособленноеПодразделение.КодПоОКАТО, "")
        КОНЕЦ
      КОГДА НДФЛРасчетыСБюджетом.КодПоОКТМО <> ""
       ТОГДА ВЫБОР
         КОГДА ПОДСТРОКА(НДФЛРасчетыСБюджетом.КодПоОКТМО, 9, 3) = " "
          ТОГДА ПОДСТРОКА(НДФЛРасчетыСБюджетом.КодПоОКТМО, 1, 8)
         ИНАЧЕ НДФЛРасчетыСБюджетом.КодПоОКТМО
        КОНЕЦ
      КОГДА ЕСТЬNULL(НДФЛРасчетыСБюджетом.ПодразделениеОрганизации.КодПоОКТМО, "") <> ""
       ТОГДА ВЫБОР
         КОГДА ПОДСТРОКА(НДФЛРасчетыСБюджетом.ПодразделениеОрганизации.КодПоОКТМО, 9, 3) = " "
          ТОГДА ПОДСТРОКА(НДФЛРасчетыСБюджетом.ПодразделениеОрганизации.КодПоОКТМО, 1, 8)
         ИНАЧЕ НДФЛРасчетыСБюджетом.ПодразделениеОрганизации.КодПоОКТМО
        КОНЕЦ
      КОГДА ПОДСТРОКА(НДФЛРасчетыСБюджетом.ОбособленноеПодразделение.КодПоОКТМО, 9, 3) = " "
       ТОГДА ПОДСТРОКА(НДФЛРасчетыСБюджетом.ОбособленноеПодразделение.КодПоОКТМО, 1, 8)
      ИНАЧЕ ЕСТЬNULL(НДФЛРасчетыСБюджетом.ОбособленноеПодразделение.КодПоОКТМО, "")
     КОНЕЦ
   ИНАЧЕ ""
  КОНЕЦ КАК КодТерритории,
  ВЫБОР
   КОГДА &КПП
    ТОГДА ВЫБОР
      КОГДА НДФЛРасчетыСБюджетом.КПП <> ""
       ТОГДА НДФЛРасчетыСБюджетом.КПП
      КОГДА ЕСТЬNULL(НДФЛРасчетыСБюджетом.ПодразделениеОрганизации.КПП, "") <> ""
       ТОГДА НДФЛРасчетыСБюджетом.ПодразделениеОрганизации.КПП
      ИНАЧЕ ЕСТЬNULL(НДФЛРасчетыСБюджетом.ОбособленноеПодразделение.КПП, "")
     КОНЕЦ
   ИНАЧЕ ""
  КОНЕЦ КАК КПП,
  ВЫБОР
   КОГДА &КодДохода
    ТОГДА НДФЛРасчетыСБюджетом.КодДохода
   ИНАЧЕ ""
  КОНЕЦ КАК КодДохода,
  ВЫБОР
   КОГДА &Регистратор
    ТОГДА НДФЛРасчетыСБюджетом.Регистратор
   ИНАЧЕ ""
  КОНЕЦ КАК Регистратор,
  ВЫБОР
   КОГДА &МесяцНалоговогоПериода
    ТОГДА НАЧАЛОПЕРИОДА(НДФЛРасчетыСБюджетом.МесяцНалоговогоПериода, МЕСЯЦ)
   ИНАЧЕ ДАТАВРЕМЯ(1, 1, 1)
  КОНЕЦ КАК МесяцНалоговогоПериода,
  ВЫБОР
   КОГДА НДФЛРасчетыСБюджетом.ВидСтроки = ЗНАЧЕНИЕ(Перечисление.НДФЛРасчетыСБюджетомВидСтроки.Начисление)
    ТОГДА НДФЛРасчетыСБюджетом.Налог
   ИНАЧЕ 0
  КОНЕЦ КАК Налог,
  ВЫБОР
   КОГДА НДФЛРасчетыСБюджетом.ВидСтроки = ЗНАЧЕНИЕ(Перечисление.НДФЛРасчетыСБюджетомВидСтроки.ЗачетАвансовыхПлатежей)
    ТОГДА НДФЛРасчетыСБюджетом.Налог
   ИНАЧЕ 0
  КОНЕЦ КАК ЗачтеноАвансовыхПлатежей,
  ВЫБОР
   КОГДА НДФЛРасчетыСБюджетом.ВидСтроки = ЗНАЧЕНИЕ(Перечисление.НДФЛРасчетыСБюджетомВидСтроки.Удержание)
     ИЛИ НДФЛРасчетыСБюджетом.ВидСтроки = ЗНАЧЕНИЕ(Перечисление.НДФЛРасчетыСБюджетомВидСтроки.ВозвратНалога)
    ТОГДА НДФЛРасчетыСБюджетом.Налог
   ИНАЧЕ 0
  КОНЕЦ КАК НалогУдержаный,
  0 КАК НалогПеречисленный,
  0 КАК НалогКПеречислению
 ИЗ
  РегистрНакопления.НДФЛРасчетыСБюджетом КАК НДФЛРасчетыСБюджетом
   ЛЕВОЕ СОЕДИНЕНИЕ ВТСтатусыФизЛиц КАК СтатусФизЛица
   ПО (ВЫБОР
     КОГДА НДФЛРасчетыСБюджетом.МесяцНалоговогоПериода >= ДАТАВРЕМЯ(2015, 1, 1)
      ТОГДА НДФЛРасчетыСБюджетом.МесяцНалоговогоПериода
     ИНАЧЕ НАЧАЛОПЕРИОДА(НДФЛРасчетыСБюджетом.МесяцНалоговогоПериода, МЕСЯЦ)
    КОНЕЦ = СтатусФизЛица.Период)
    И НДФЛРасчетыСБюджетом.ФизЛицо = СтатусФизЛица.ФизЛицо
 ГДЕ
  НДФЛРасчетыСБюджетом.Период МЕЖДУ &НачалоПериода И &КонецПериода
 {ГДЕ
  НДФЛРасчетыСБюджетом.Организация.* КАК ГоловнаяОрганизация,
  НДФЛРасчетыСБюджетом.ФизЛицо.*}

 ОБЪЕДИНИТЬ ВСЕ

 ВЫБРАТЬ
  НАЧАЛОПЕРИОДА(РасчетыНалоговыхАгентовПоНДФЛ.Период, МЕСЯЦ),
  ВЫБОР
   КОГДА &Физлицо
    ТОГДА РасчетыНалоговыхАгентовПоНДФЛ.ФизЛицо
   ИНАЧЕ ЗНАЧЕНИЕ(Справочник.ФизическиеЛица.ПустаяСсылка)
  КОНЕЦ,
  ВЫБОР
   КОГДА РасчетыНалоговыхАгентовПоНДФЛ.Организация.ГоловнаяОрганизация = ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)
    ТОГДА РасчетыНалоговыхАгентовПоНДФЛ.Организация
   ИНАЧЕ РасчетыНалоговыхАгентовПоНДФЛ.Организация.ГоловнаяОрганизация
  КОНЕЦ,
  ВЫБОР
   КОГДА &СтавкаНалогообложенияРезидента
    ТОГДА РасчетыНалоговыхАгентовПоНДФЛ.Ставка
   ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.ПустаяСсылка)
  КОНЕЦ,
  РасчетыНалоговыхАгентовПоНДФЛ.Организация,
  ВЫБОР
   КОГДА &КодПоОКАТО
    ТОГДА ВЫБОР
      КОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 11, 1) ПОДОБНО "[ ]%"
       ТОГДА ""
      КОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 10, 2) ПОДОБНО "[ ]%"
       ТОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 11, 1)
      КОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 9, 3) ПОДОБНО "[ ]%"
       ТОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 10, 2)
      КОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 8, 4) ПОДОБНО "[ ]%"
       ТОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 9, 3)
      КОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 7, 5) ПОДОБНО "[ ]%"
       ТОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 8, 4)
      КОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 6, 6) ПОДОБНО "[ ]%"
       ТОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 7, 5)
      КОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 5, 7) ПОДОБНО "[ ]%"
       ТОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 6, 6)
      КОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 4, 8) ПОДОБНО "[ ]%"
       ТОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 5, 7)
      КОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 3, 9) ПОДОБНО "[ ]%"
       ТОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 4, 8)
      КОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 2, 10) ПОДОБНО "[ ]%"
       ТОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 3, 9)
      КОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 1, 11) ПОДОБНО "[ ]%"
       ТОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 2, 10)
      ИНАЧЕ ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 1, 11)
     КОНЕЦ
   ИНАЧЕ ""
  КОНЕЦ,
  ВЫБОР
   КОГДА &КодПоОКАТО
    ТОГДА ВЫБОР
      КОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКТМО_КПП, 12, 1) <> "/"
       ТОГДА ""
      КОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКТМО_КПП, 1, 11) = " "
       ТОГДА ""
      КОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКТМО_КПП, 9, 3) = " "
       ТОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКТМО_КПП, 1, 8)
      КОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКТМО_КПП, 1, 3) = " "
       ТОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКТМО_КПП, 4, 8)
      ИНАЧЕ ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКТМО_КПП, 1, 11)
     КОНЕЦ
   ИНАЧЕ ""
  КОНЕЦ,
  ВЫБОР
   КОГДА &КодТерритории
    ТОГДА ВЫБОР
      КОГДА РасчетыНалоговыхАгентовПоНДФЛ.МесяцНалоговогоПериода < ДАТАВРЕМЯ(2013, 1, 1)
       ТОГДА ВЫБОР
         КОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 11, 1) ПОДОБНО "[ ]%"
          ТОГДА ""
         КОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 10, 2) ПОДОБНО "[ ]%"
          ТОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 11, 1)
         КОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 9, 3) ПОДОБНО "[ ]%"
          ТОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 10, 2)
         КОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 8, 4) ПОДОБНО "[ ]%"
          ТОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 9, 3)
         КОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 7, 5) ПОДОБНО "[ ]%"
          ТОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 8, 4)
         КОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 6, 6) ПОДОБНО "[ ]%"
          ТОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 7, 5)
         КОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 5, 7) ПОДОБНО "[ ]%"
          ТОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 6, 6)
         КОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 4, 8) ПОДОБНО "[ ]%"
          ТОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 5, 7)
         КОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 3, 9) ПОДОБНО "[ ]%"
          ТОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 4, 8)
         КОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 2, 10) ПОДОБНО "[ ]%"
          ТОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 3, 9)
         КОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 1, 11) ПОДОБНО "[ ]%"
          ТОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 2, 10)
         ИНАЧЕ ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 1, 11)
        КОНЕЦ
      КОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКТМО_КПП, 12, 1) <> "/"
       ТОГДА ""
      КОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКТМО_КПП, 1, 11) = " "
       ТОГДА ""
      КОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКТМО_КПП, 9, 3) = " "
       ТОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКТМО_КПП, 1, 8)
      КОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКТМО_КПП, 1, 3) = " "
       ТОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКТМО_КПП, 4, 8)
      ИНАЧЕ ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКТМО_КПП, 1, 11)
     КОНЕЦ
   ИНАЧЕ ""
  КОНЕЦ,
  ВЫБОР
   КОГДА &КПП
    ТОГДА ВЫБОР
      КОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 21, 1) ПОДОБНО "[ ]%"
       ТОГДА ""
      КОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 20, 2) ПОДОБНО "[ ]%"
       ТОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 21, 1)
      КОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 19, 3) ПОДОБНО "[ ]%"
       ТОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 20, 2)
      КОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 18, 4) ПОДОБНО "[ ]%"
       ТОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 19, 3)
      КОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 17, 5) ПОДОБНО "[ ]%"
       ТОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 18, 4)
      КОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 16, 6) ПОДОБНО "[ ]%"
       ТОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 17, 5)
      КОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 15, 7) ПОДОБНО "[ ]%"
       ТОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 16, 6)
      КОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 14, 8) ПОДОБНО "[ ]%"
       ТОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 15, 7)
      КОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 13, 9) ПОДОБНО "[ ]%"
       ТОГДА ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 14, 8)
      ИНАЧЕ ПОДСТРОКА(РасчетыНалоговыхАгентовПоНДФЛ.ОКАТО_КПП, 13, 9)
     КОНЕЦ
   ИНАЧЕ ""
  КОНЕЦ,
  "",
  ВЫБОР
   КОГДА &Регистратор
    ТОГДА РасчетыНалоговыхАгентовПоНДФЛ.Регистратор
   ИНАЧЕ ""
  КОНЕЦ,
  ВЫБОР
   КОГДА &МесяцНалоговогоПериода
    ТОГДА НАЧАЛОПЕРИОДА(РасчетыНалоговыхАгентовПоНДФЛ.МесяцНалоговогоПериода, МЕСЯЦ)
   ИНАЧЕ ДАТАВРЕМЯ(1, 1, 1)
  КОНЕЦ,
  0,
  0,
  0,
  ВЫБОР
   КОГДА РасчетыНалоговыхАгентовПоНДФЛ.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
    ТОГДА РасчетыНалоговыхАгентовПоНДФЛ.Сумма
   ИНАЧЕ 0
  КОНЕЦ,
  ВЫБОР
   КОГДА РасчетыНалоговыхАгентовПоНДФЛ.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
    ТОГДА -РасчетыНалоговыхАгентовПоНДФЛ.Сумма
   ИНАЧЕ РасчетыНалоговыхАгентовПоНДФЛ.Сумма
  КОНЕЦ
 ИЗ
  РегистрНакопления.РасчетыНалоговыхАгентовСБюджетомПоНДФЛ КАК РасчетыНалоговыхАгентовПоНДФЛ
 ГДЕ
  РасчетыНалоговыхАгентовПоНДФЛ.Период МЕЖДУ &НачалоПериода И &КонецПериода
 {ГДЕ
  РасчетыНалоговыхАгентовПоНДФЛ.ФизЛицо.*}) КАК НалогНДФЛ

СГРУППИРОВАТЬ ПО
 НалогНДФЛ.Регистратор,
 НалогНДФЛ.МесяцНалоговогоПериода,
 НалогНДФЛ.ГоловнаяОрганизация,
 НалогНДФЛ.СтавкаНалогоОбложения,
 НалогНДФЛ.ФизЛицо,
 НалогНДФЛ.ПериодРегистрации,
 НалогНДФЛ.КодПоОКАТО,
 НалогНДФЛ.Организация,
 НалогНДФЛ.КПП,
 НалогНДФЛ.КодДохода,
 ПОДСТРОКА(НалогНДФЛ.КодПоОКТМО + " ", 1, 11),
 ПОДСТРОКА(НалогНДФЛ.КодТерритории + " ", 1, 11)
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
 СведенияОВычетах.ГоловнаяОрганизация КАК ГоловнаяОрганизация,
 СведенияОВычетах.ФизЛицо КАК ФизЛицо,
 СведенияОВычетах.Организация КАК Организация,
 СведенияОВычетах.Вычет КАК Вычет,
 СведенияОВычетах.КодПоОКАТО КАК КодПоОКАТО,
 ПОДСТРОКА(СведенияОВычетах.КодПоОКТМО + " ", 1, 11) КАК КодПоОКТМО,
 СУММА(СведенияОВычетах.СуммаВычета) КАК СуммаВычета,
 СведенияОВычетах.ПериодРегистрации КАК ПериодРегистрации,
 СведенияОВычетах.Регистратор КАК Регистратор,
 СведенияОВычетах.СтавкаНалогообложенияРезидента,
 СведенияОВычетах.МесяцНалоговогоПериода,
 СведенияОВычетах.КПП,
 ПОДСТРОКА(СведенияОВычетах.КодТерритории + " ", 1, 11) КАК КодТерритории
ПОМЕСТИТЬ ВТВычетыНДФЛ
ИЗ
 (ВЫБРАТЬ
  НДФЛИмущественныеВычетыФизлиц.Организация КАК ГоловнаяОрганизация,
  ВЫБОР
   КОГДА &ФизЛицо
    ТОГДА НДФЛИмущественныеВычетыФизлиц.ФизЛицо
   ИНАЧЕ ЗНАЧЕНИЕ(Справочник.ФизическиеЛица.ПустаяССылка)
  КОНЕЦ КАК ФизЛицо,
  НДФЛИмущественныеВычетыФизлиц.ОбособленноеПодразделение КАК Организация,
  ВЫБОР
   КОГДА &Вычет
    ТОГДА НДФЛИмущественныеВычетыФизлиц.КодВычетаИмущественный
   ИНАЧЕ ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.ПустаяСсылка)
  КОНЕЦ КАК Вычет,
  ВЫБОР
   КОГДА &КодПоОКАТО
    ТОГДА ВЫБОР
      КОГДА НДФЛИмущественныеВычетыФизлиц.КодПоОКАТО <> ""
       ТОГДА НДФЛИмущественныеВычетыФизлиц.КодПоОКАТО
      КОГДА ЕСТЬNULL(НДФЛИмущественныеВычетыФизлиц.ПодразделениеОрганизации.КодПоОКАТО, "") <> ""
       ТОГДА НДФЛИмущественныеВычетыФизлиц.ПодразделениеОрганизации.КодПоОКАТО
      ИНАЧЕ ЕСТЬNULL(НДФЛИмущественныеВычетыФизлиц.ОбособленноеПодразделение.КодПоОКАТО, "")
     КОНЕЦ
   ИНАЧЕ ""
  КОНЕЦ КАК КодПоОКАТО,
  ВЫБОР
   КОГДА &КодПоОКАТО
    ТОГДА ВЫБОР
      КОГДА НДФЛИмущественныеВычетыФизлиц.Период < ДАТАВРЕМЯ(2013, 1, 1)
       ТОГДА ""
      КОГДА НДФЛИмущественныеВычетыФизлиц.КодПоОКТМО <> ""
       ТОГДА НДФЛИмущественныеВычетыФизлиц.КодПоОКТМО
      КОГДА ЕСТЬNULL(НДФЛИмущественныеВычетыФизлиц.ПодразделениеОрганизации.КодПоОКТМО, "") <> ""
       ТОГДА НДФЛИмущественныеВычетыФизлиц.ПодразделениеОрганизации.КодПоОКТМО
      ИНАЧЕ ЕСТЬNULL(НДФЛИмущественныеВычетыФизлиц.ОбособленноеПодразделение.КодПоОКТМО, "")
     КОНЕЦ
   ИНАЧЕ ""
  КОНЕЦ КАК КодПоОКТМО,
  ВЫБОР
   КОГДА &КодТерритории
    ТОГДА ВЫБОР
      КОГДА НДФЛИмущественныеВычетыФизлиц.Период < ДАТАВРЕМЯ(2013, 1, 1)
       ТОГДА ВЫБОР
         КОГДА НДФЛИмущественныеВычетыФизлиц.КодПоОКАТО <> ""
          ТОГДА НДФЛИмущественныеВычетыФизлиц.КодПоОКАТО
         КОГДА ЕСТЬNULL(НДФЛИмущественныеВычетыФизлиц.ПодразделениеОрганизации.КодПоОКАТО, "") <> ""
          ТОГДА НДФЛИмущественныеВычетыФизлиц.ПодразделениеОрганизации.КодПоОКАТО
         ИНАЧЕ ЕСТЬNULL(НДФЛИмущественныеВычетыФизлиц.ОбособленноеПодразделение.КодПоОКАТО, "")
        КОНЕЦ
      КОГДА НДФЛИмущественныеВычетыФизлиц.КодПоОКТМО <> ""
       ТОГДА НДФЛИмущественныеВычетыФизлиц.КодПоОКТМО
      КОГДА ЕСТЬNULL(НДФЛИмущественныеВычетыФизлиц.ПодразделениеОрганизации.КодПоОКТМО, "") <> ""
       ТОГДА НДФЛИмущественныеВычетыФизлиц.ПодразделениеОрганизации.КодПоОКТМО
      ИНАЧЕ ЕСТЬNULL(НДФЛИмущественныеВычетыФизлиц.ОбособленноеПодразделение.КодПоОКТМО, "")
     КОНЕЦ
   ИНАЧЕ ""
  КОНЕЦ КАК КодТерритории,
  СУММА(НДФЛИмущественныеВычетыФизлиц.Размер) КАК СуммаВычета,
  НАЧАЛОПЕРИОДА(НДФЛИмущественныеВычетыФизлиц.Период, МЕСЯЦ) КАК ПериодРегистрации,
  ВЫБОР
   КОГДА &Регистратор
    ТОГДА НДФЛИмущественныеВычетыФизлиц.Регистратор
   ИНАЧЕ ""
  КОНЕЦ КАК Регистратор,
  ВЫБОР
   КОГДА &СтавкаНалогообложенияРезидента
    ТОГДА ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка13)
   ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.ПустаяССылка)
  КОНЕЦ КАК СтавкаНалогообложенияРезидента,
  ВЫБОР
   КОГДА &МесяцНалоговогоПериода
    ТОГДА НАЧАЛОПЕРИОДА(НДФЛИмущественныеВычетыФизлиц.Период, МЕСЯЦ)
   ИНАЧЕ ДАТАВРЕМЯ(1, 1, 1)
  КОНЕЦ КАК МесяцНалоговогоПериода,
  ВЫБОР
   КОГДА &КПП
    ТОГДА ВЫБОР
      КОГДА НДФЛИмущественныеВычетыФизлиц.КПП <> ""
       ТОГДА НДФЛИмущественныеВычетыФизлиц.КПП
      КОГДА ЕСТЬNULL(НДФЛИмущественныеВычетыФизлиц.ПодразделениеОрганизации.КПП, "") <> ""
       ТОГДА НДФЛИмущественныеВычетыФизлиц.ПодразделениеОрганизации.КПП
      ИНАЧЕ ЕСТЬNULL(НДФЛИмущественныеВычетыФизлиц.ОбособленноеПодразделение.КПП, "")
     КОНЕЦ
   ИНАЧЕ ""
  КОНЕЦ КАК КПП
 ИЗ
  РегистрНакопления.НДФЛИмущественныеВычетыФизлиц КАК НДФЛИмущественныеВычетыФизлиц
 ГДЕ
  НДФЛИмущественныеВычетыФизлиц.Период МЕЖДУ &НачалоПериода И &КонецПериода
  И НДФЛИмущественныеВычетыФизлиц.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
 {ГДЕ
  НДФЛИмущественныеВычетыФизлиц.Организация.* КАК ГоловнаяОрганизация,
  НДФЛИмущественныеВычетыФизлиц.ФизЛицо.*}

 СГРУППИРОВАТЬ ПО
  НДФЛИмущественныеВычетыФизлиц.Организация,
  ВЫБОР
   КОГДА &ФизЛицо
    ТОГДА НДФЛИмущественныеВычетыФизлиц.ФизЛицо
   ИНАЧЕ ЗНАЧЕНИЕ(Справочник.ФизическиеЛица.ПустаяССылка)
  КОНЕЦ,
  НДФЛИмущественныеВычетыФизлиц.ОбособленноеПодразделение,
  ВЫБОР
   КОГДА &Вычет
    ТОГДА НДФЛИмущественныеВычетыФизлиц.КодВычетаИмущественный
   ИНАЧЕ ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.ПустаяСсылка)
  КОНЕЦ,
  ВЫБОР
   КОГДА &КодПоОКАТО
    ТОГДА ВЫБОР
      КОГДА НДФЛИмущественныеВычетыФизлиц.КодПоОКАТО <> ""
       ТОГДА НДФЛИмущественныеВычетыФизлиц.КодПоОКАТО
      КОГДА ЕСТЬNULL(НДФЛИмущественныеВычетыФизлиц.ПодразделениеОрганизации.КодПоОКАТО, "") <> ""
       ТОГДА НДФЛИмущественныеВычетыФизлиц.ПодразделениеОрганизации.КодПоОКАТО
      ИНАЧЕ ЕСТЬNULL(НДФЛИмущественныеВычетыФизлиц.ОбособленноеПодразделение.КодПоОКАТО, "")
     КОНЕЦ
   ИНАЧЕ ""
  КОНЕЦ,
  НАЧАЛОПЕРИОДА(НДФЛИмущественныеВычетыФизлиц.Период, МЕСЯЦ),
  ВЫБОР
   КОГДА &Регистратор
    ТОГДА НДФЛИмущественныеВычетыФизлиц.Регистратор
   ИНАЧЕ ""
  КОНЕЦ,
  ВЫБОР
   КОГДА &МесяцНалоговогоПериода
    ТОГДА НАЧАЛОПЕРИОДА(НДФЛИмущественныеВычетыФизлиц.Период, МЕСЯЦ)
   ИНАЧЕ ДАТАВРЕМЯ(1, 1, 1)
  КОНЕЦ,
  ВЫБОР
   КОГДА &КПП
    ТОГДА ВЫБОР
      КОГДА НДФЛИмущественныеВычетыФизлиц.КПП <> ""
       ТОГДА НДФЛИмущественныеВычетыФизлиц.КПП
      КОГДА ЕСТЬNULL(НДФЛИмущественныеВычетыФизлиц.ПодразделениеОрганизации.КПП, "") <> ""
       ТОГДА НДФЛИмущественныеВычетыФизлиц.ПодразделениеОрганизации.КПП
      ИНАЧЕ ЕСТЬNULL(НДФЛИмущественныеВычетыФизлиц.ОбособленноеПодразделение.КПП, "")
     КОНЕЦ
   ИНАЧЕ ""
  КОНЕЦ,
  ВЫБОР
   КОГДА &КодПоОКАТО
    ТОГДА ВЫБОР
      КОГДА НДФЛИмущественныеВычетыФизлиц.Период < ДАТАВРЕМЯ(2013, 1, 1)
       ТОГДА ""
      КОГДА НДФЛИмущественныеВычетыФизлиц.КодПоОКТМО <> ""
       ТОГДА НДФЛИмущественныеВычетыФизлиц.КодПоОКТМО
      КОГДА ЕСТЬNULL(НДФЛИмущественныеВычетыФизлиц.ПодразделениеОрганизации.КодПоОКТМО, "") <> ""
       ТОГДА НДФЛИмущественныеВычетыФизлиц.ПодразделениеОрганизации.КодПоОКТМО
      ИНАЧЕ ЕСТЬNULL(НДФЛИмущественныеВычетыФизлиц.ОбособленноеПодразделение.КодПоОКТМО, "")
     КОНЕЦ
   ИНАЧЕ ""
  КОНЕЦ,
  ВЫБОР
   КОГДА &КодТерритории
    ТОГДА ВЫБОР
      КОГДА НДФЛИмущественныеВычетыФизлиц.Период < ДАТАВРЕМЯ(2013, 1, 1)
       ТОГДА ВЫБОР
         КОГДА НДФЛИмущественныеВычетыФизлиц.КодПоОКАТО <> ""
          ТОГДА НДФЛИмущественныеВычетыФизлиц.КодПоОКАТО
         КОГДА ЕСТЬNULL(НДФЛИмущественныеВычетыФизлиц.ПодразделениеОрганизации.КодПоОКАТО, "") <> ""
          ТОГДА НДФЛИмущественныеВычетыФизлиц.ПодразделениеОрганизации.КодПоОКАТО
         ИНАЧЕ ЕСТЬNULL(НДФЛИмущественныеВычетыФизлиц.ОбособленноеПодразделение.КодПоОКАТО, "")
        КОНЕЦ
      КОГДА НДФЛИмущественныеВычетыФизлиц.КодПоОКТМО <> ""
       ТОГДА НДФЛИмущественныеВычетыФизлиц.КодПоОКТМО
      КОГДА ЕСТЬNULL(НДФЛИмущественныеВычетыФизлиц.ПодразделениеОрганизации.КодПоОКТМО, "") <> ""
       ТОГДА НДФЛИмущественныеВычетыФизлиц.ПодразделениеОрганизации.КодПоОКТМО
      ИНАЧЕ ЕСТЬNULL(НДФЛИмущественныеВычетыФизлиц.ОбособленноеПодразделение.КодПоОКТМО, "")
     КОНЕЦ
   ИНАЧЕ ""
  КОНЕЦ

 ОБЪЕДИНИТЬ ВСЕ

 ВЫБРАТЬ
  СведенияОДоходахНДФЛ.ГоловнаяОрганизация,
  СведенияОДоходахНДФЛ.ФизЛицо,
  СведенияОДоходахНДФЛ.Организация,
  СведенияОДоходахНДФЛ.Вычет,
  СведенияОДоходахНДФЛ.КодПоОКАТО,
  СведенияОДоходахНДФЛ.КодПоОКТМО,
  СведенияОДоходахНДФЛ.КодТерритории,
  СУММА(СведенияОДоходахНДФЛ.СуммаВычета),
  СведенияОДоходахНДФЛ.ПериодРегистрации,
  СведенияОДоходахНДФЛ.Регистратор,
  СведенияОДоходахНДФЛ.СтавкаНалогообложенияРезидента,
  СведенияОДоходахНДФЛ.МесяцНалоговогоПериода,
  СведенияОДоходахНДФЛ.КПП
 ИЗ
  ВТСведенияОДоходахНДФЛ КАК СведенияОДоходахНДФЛ

 СГРУППИРОВАТЬ ПО
  СведенияОДоходахНДФЛ.ГоловнаяОрганизация,
  СведенияОДоходахНДФЛ.ФизЛицо,
  СведенияОДоходахНДФЛ.Организация,
  СведенияОДоходахНДФЛ.Вычет,
  СведенияОДоходахНДФЛ.КодПоОКАТО,
  СведенияОДоходахНДФЛ.ПериодРегистрации,
  СведенияОДоходахНДФЛ.Регистратор,
  СведенияОДоходахНДФЛ.СтавкаНалогообложенияРезидента,
  СведенияОДоходахНДФЛ.МесяцНалоговогоПериода,
  СведенияОДоходахНДФЛ.КПП,
  СведенияОДоходахНДФЛ.КодПоОКТМО,
  СведенияОДоходахНДФЛ.КодТерритории

 ОБЪЕДИНИТЬ ВСЕ

 ВЫБРАТЬ
  НДФЛПредоставленныеСтандартныеВычетыФизЛиц.Организация,
  ВЫБОР
   КОГДА &ФизЛицо
    ТОГДА НДФЛПредоставленныеСтандартныеВычетыФизЛиц.ФизЛицо
   ИНАЧЕ ЗНАЧЕНИЕ(Справочник.ФизическиеЛица.ПустаяССылка)
  КОНЕЦ,
  НДФЛПредоставленныеСтандартныеВычетыФизЛиц.ОбособленноеПодразделение,
  ВЫБОР
   КОГДА &Вычет
    ТОГДА НДФЛПредоставленныеСтандартныеВычетыФизЛиц.КодВычета
   ИНАЧЕ ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.ПустаяСсылка)
  КОНЕЦ,
  ВЫБОР
   КОГДА &КодПоОКАТО
    ТОГДА ВЫБОР
      КОГДА НДФЛПредоставленныеСтандартныеВычетыФизЛиц.КодПоОКАТО <> ""
       ТОГДА НДФЛПредоставленныеСтандартныеВычетыФизЛиц.КодПоОКАТО
      КОГДА ЕСТЬNULL(НДФЛПредоставленныеСтандартныеВычетыФизЛиц.ПодразделениеОрганизации.КодПоОКАТО, "") <> ""
       ТОГДА НДФЛПредоставленныеСтандартныеВычетыФизЛиц.ПодразделениеОрганизации.КодПоОКАТО
      ИНАЧЕ ЕСТЬNULL(НДФЛПредоставленныеСтандартныеВычетыФизЛиц.ОбособленноеПодразделение.КодПоОКАТО, "")
     КОНЕЦ
   ИНАЧЕ ""
  КОНЕЦ,
  ВЫБОР
   КОГДА &КодПоОКАТО
    ТОГДА ВЫБОР
      КОГДА НДФЛПредоставленныеСтандартныеВычетыФизЛиц.МесяцНалоговогоПериода < ДАТАВРЕМЯ(2013, 1, 1)
       ТОГДА ""
      КОГДА НДФЛПредоставленныеСтандартныеВычетыФизЛиц.КодПоОКТМО <> ""
       ТОГДА НДФЛПредоставленныеСтандартныеВычетыФизЛиц.КодПоОКТМО
      КОГДА ЕСТЬNULL(НДФЛПредоставленныеСтандартныеВычетыФизЛиц.ПодразделениеОрганизации.КодПоОКТМО, "") <> ""
       ТОГДА НДФЛПредоставленныеСтандартныеВычетыФизЛиц.ПодразделениеОрганизации.КодПоОКТМО
      ИНАЧЕ ЕСТЬNULL(НДФЛПредоставленныеСтандартныеВычетыФизЛиц.ОбособленноеПодразделение.КодПоОКТМО, "")
     КОНЕЦ
   ИНАЧЕ ""
  КОНЕЦ,
  ВЫБОР
   КОГДА &КодТерритории
    ТОГДА ВЫБОР
      КОГДА НДФЛПредоставленныеСтандартныеВычетыФизЛиц.МесяцНалоговогоПериода < ДАТАВРЕМЯ(2013, 1, 1)
       ТОГДА ВЫБОР
         КОГДА НДФЛПредоставленныеСтандартныеВычетыФизЛиц.КодПоОКАТО <> ""
          ТОГДА НДФЛПредоставленныеСтандартныеВычетыФизЛиц.КодПоОКАТО
         КОГДА ЕСТЬNULL(НДФЛПредоставленныеСтандартныеВычетыФизЛиц.ПодразделениеОрганизации.КодПоОКАТО, "") <> ""
          ТОГДА НДФЛПредоставленныеСтандартныеВычетыФизЛиц.ПодразделениеОрганизации.КодПоОКАТО
         ИНАЧЕ ЕСТЬNULL(НДФЛПредоставленныеСтандартныеВычетыФизЛиц.ОбособленноеПодразделение.КодПоОКАТО, "")
        КОНЕЦ
      КОГДА НДФЛПредоставленныеСтандартныеВычетыФизЛиц.КодПоОКТМО <> ""
       ТОГДА НДФЛПредоставленныеСтандартныеВычетыФизЛиц.КодПоОКТМО
      КОГДА ЕСТЬNULL(НДФЛПредоставленныеСтандартныеВычетыФизЛиц.ПодразделениеОрганизации.КодПоОКТМО, "") <> ""
       ТОГДА НДФЛПредоставленныеСтандартныеВычетыФизЛиц.ПодразделениеОрганизации.КодПоОКТМО
      ИНАЧЕ ЕСТЬNULL(НДФЛПредоставленныеСтандартныеВычетыФизЛиц.ОбособленноеПодразделение.КодПоОКТМО, "")
     КОНЕЦ
   ИНАЧЕ ""
  КОНЕЦ,
  СУММА(НДФЛПредоставленныеСтандартныеВычетыФизЛиц.ПримененныйВычет),
  НАЧАЛОПЕРИОДА(НДФЛПредоставленныеСтандартныеВычетыФизЛиц.Период, МЕСЯЦ),
  ВЫБОР
   КОГДА &Регистратор
    ТОГДА НДФЛПредоставленныеСтандартныеВычетыФизЛиц.Регистратор
   ИНАЧЕ ""
  КОНЕЦ,
  ВЫБОР
   КОГДА &СтавкаНалогообложенияРезидента
    ТОГДА ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка13)
   ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.ПустаяССылка)
  КОНЕЦ,
  ВЫБОР
   КОГДА &МесяцНалоговогоПериода
    ТОГДА НДФЛПредоставленныеСтандартныеВычетыФизЛиц.МесяцНалоговогоПериода
   ИНАЧЕ ДАТАВРЕМЯ(1, 1, 1)
  КОНЕЦ,
  ВЫБОР
   КОГДА &КПП
    ТОГДА ВЫБОР
      КОГДА НДФЛПредоставленныеСтандартныеВычетыФизЛиц.КПП <> ""
       ТОГДА НДФЛПредоставленныеСтандартныеВычетыФизЛиц.КПП
      КОГДА ЕСТЬNULL(НДФЛПредоставленныеСтандартныеВычетыФизЛиц.ПодразделениеОрганизации.КПП, "") <> ""
       ТОГДА НДФЛПредоставленныеСтандартныеВычетыФизЛиц.ПодразделениеОрганизации.КПП
      ИНАЧЕ ЕСТЬNULL(НДФЛПредоставленныеСтандартныеВычетыФизЛиц.ОбособленноеПодразделение.КПП, "")
     КОНЕЦ
   ИНАЧЕ ""
  КОНЕЦ
 ИЗ
  РегистрНакопления.НДФЛПредоставленныеСтандартныеВычетыФизЛиц КАК НДФЛПредоставленныеСтандартныеВычетыФизЛиц
 ГДЕ
  НДФЛПредоставленныеСтандартныеВычетыФизЛиц.Период МЕЖДУ &НачалоПериода И &КонецПериода
 {ГДЕ
  НДФЛПредоставленныеСтандартныеВычетыФизЛиц.Организация.* КАК ГоловнаяОрганизация,
  НДФЛПредоставленныеСтандартныеВычетыФизЛиц.ФизЛицо.*}

 СГРУППИРОВАТЬ ПО
  НДФЛПредоставленныеСтандартныеВычетыФизЛиц.Организация,
  НДФЛПредоставленныеСтандартныеВычетыФизЛиц.ОбособленноеПодразделение,
  ВЫБОР
   КОГДА &ФизЛицо
    ТОГДА НДФЛПредоставленныеСтандартныеВычетыФизЛиц.ФизЛицо
   ИНАЧЕ ЗНАЧЕНИЕ(Справочник.ФизическиеЛица.ПустаяССылка)
  КОНЕЦ,
  ВЫБОР
   КОГДА &КодПоОКАТО
    ТОГДА ВЫБОР
      КОГДА НДФЛПредоставленныеСтандартныеВычетыФизЛиц.КодПоОКАТО <> ""
       ТОГДА НДФЛПредоставленныеСтандартныеВычетыФизЛиц.КодПоОКАТО
      КОГДА ЕСТЬNULL(НДФЛПредоставленныеСтандартныеВычетыФизЛиц.ПодразделениеОрганизации.КодПоОКАТО, "") <> ""
       ТОГДА НДФЛПредоставленныеСтандартныеВычетыФизЛиц.ПодразделениеОрганизации.КодПоОКАТО
      ИНАЧЕ ЕСТЬNULL(НДФЛПредоставленныеСтандартныеВычетыФизЛиц.ОбособленноеПодразделение.КодПоОКАТО, "")
     КОНЕЦ
   ИНАЧЕ ""
  КОНЕЦ,
  НАЧАЛОПЕРИОДА(НДФЛПредоставленныеСтандартныеВычетыФизЛиц.Период, МЕСЯЦ),
  ВЫБОР
   КОГДА &Регистратор
    ТОГДА НДФЛПредоставленныеСтандартныеВычетыФизЛиц.Регистратор
   ИНАЧЕ ""
  КОНЕЦ,
  ВЫБОР
   КОГДА &Вычет
    ТОГДА НДФЛПредоставленныеСтандартныеВычетыФизЛиц.КодВычета
   ИНАЧЕ ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.ПустаяСсылка)
  КОНЕЦ,
  ВЫБОР
   КОГДА &МесяцНалоговогоПериода
    ТОГДА НДФЛПредоставленныеСтандартныеВычетыФизЛиц.МесяцНалоговогоПериода
   ИНАЧЕ ДАТАВРЕМЯ(1, 1, 1)
  КОНЕЦ,
  ВЫБОР
   КОГДА &КПП
    ТОГДА ВЫБОР
      КОГДА НДФЛПредоставленныеСтандартныеВычетыФизЛиц.КПП <> ""
       ТОГДА НДФЛПредоставленныеСтандартныеВычетыФизЛиц.КПП
      КОГДА ЕСТЬNULL(НДФЛПредоставленныеСтандартныеВычетыФизЛиц.ПодразделениеОрганизации.КПП, "") <> ""
       ТОГДА НДФЛПредоставленныеСтандартныеВычетыФизЛиц.ПодразделениеОрганизации.КПП
      ИНАЧЕ ЕСТЬNULL(НДФЛПредоставленныеСтандартныеВычетыФизЛиц.ОбособленноеПодразделение.КПП, "")
     КОНЕЦ
   ИНАЧЕ ""
  КОНЕЦ,
  ВЫБОР
   КОГДА &КодПоОКАТО
    ТОГДА ВЫБОР
      КОГДА НДФЛПредоставленныеСтандартныеВычетыФизЛиц.МесяцНалоговогоПериода < ДАТАВРЕМЯ(2013, 1, 1)
       ТОГДА ""
      КОГДА НДФЛПредоставленныеСтандартныеВычетыФизЛиц.КодПоОКТМО <> ""
       ТОГДА НДФЛПредоставленныеСтандартныеВычетыФизЛиц.КодПоОКТМО
      КОГДА ЕСТЬNULL(НДФЛПредоставленныеСтандартныеВычетыФизЛиц.ПодразделениеОрганизации.КодПоОКТМО, "") <> ""
       ТОГДА НДФЛПредоставленныеСтандартныеВычетыФизЛиц.ПодразделениеОрганизации.КодПоОКТМО
      ИНАЧЕ ЕСТЬNULL(НДФЛПредоставленныеСтандартныеВычетыФизЛиц.ОбособленноеПодразделение.КодПоОКТМО, "")
     КОНЕЦ
   ИНАЧЕ ""
  КОНЕЦ,
  ВЫБОР
   КОГДА &КодТерритории
    ТОГДА ВЫБОР
      КОГДА НДФЛПредоставленныеСтандартныеВычетыФизЛиц.МесяцНалоговогоПериода < ДАТАВРЕМЯ(2013, 1, 1)
       ТОГДА ВЫБОР
         КОГДА НДФЛПредоставленныеСтандартныеВычетыФизЛиц.КодПоОКАТО <> ""
          ТОГДА НДФЛПредоставленныеСтандартныеВычетыФизЛиц.КодПоОКАТО
         КОГДА ЕСТЬNULL(НДФЛПредоставленныеСтандартныеВычетыФизЛиц.ПодразделениеОрганизации.КодПоОКАТО, "") <> ""
          ТОГДА НДФЛПредоставленныеСтандартныеВычетыФизЛиц.ПодразделениеОрганизации.КодПоОКАТО
         ИНАЧЕ ЕСТЬNULL(НДФЛПредоставленныеСтандартныеВычетыФизЛиц.ОбособленноеПодразделение.КодПоОКАТО, "")
        КОНЕЦ
      КОГДА НДФЛПредоставленныеСтандартныеВычетыФизЛиц.КодПоОКТМО <> ""
       ТОГДА НДФЛПредоставленныеСтандартныеВычетыФизЛиц.КодПоОКТМО
      КОГДА ЕСТЬNULL(НДФЛПредоставленныеСтандартныеВычетыФизЛиц.ПодразделениеОрганизации.КодПоОКТМО, "") <> ""
       ТОГДА НДФЛПредоставленныеСтандартныеВычетыФизЛиц.ПодразделениеОрганизации.КодПоОКТМО
      ИНАЧЕ ЕСТЬNULL(НДФЛПредоставленныеСтандартныеВычетыФизЛиц.ОбособленноеПодразделение.КодПоОКТМО, "")
     КОНЕЦ
   ИНАЧЕ ""
  КОНЕЦ) КАК СведенияОВычетах

СГРУППИРОВАТЬ ПО
 СведенияОВычетах.ГоловнаяОрганизация,
 СведенияОВычетах.КодПоОКАТО,
 СведенияОВычетах.ПериодРегистрации,
 СведенияОВычетах.Регистратор,
 СведенияОВычетах.ФизЛицо,
 СведенияОВычетах.Вычет,
 СведенияОВычетах.Организация,
 СведенияОВычетах.СтавкаНалогообложенияРезидента,
 СведенияОВычетах.МесяцНалоговогоПериода,
 СведенияОВычетах.КПП,
 ПОДСТРОКА(СведенияОВычетах.КодПоОКТМО + " ", 1, 11),
 ПОДСТРОКА(СведенияОВычетах.КодТерритории + " ", 1, 11)
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
 НалогНДФЛ.ГоловнаяОрганизация,
 НалогНДФЛ.ФизЛицо,
 НалогНДФЛ.Организация,
 НалогНДФЛ.КодПоОКАТО,
 НалогНДФЛ.КодПоОКТМО,
 НалогНДФЛ.КодТерритории,
 НалогНДФЛ.КПП,
 НалогНДФЛ.КодДохода КАК КодДохода,
 НалогНДФЛ.СтавкаНалогоОбложения,
 ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.ПустаяСсылка) КАК Вычет,
 НалогНДФЛ.МесяцНалоговогоПериода,
 НалогНДФЛ.ПериодРегистрации,
 НалогНДФЛ.Регистратор КАК Регистратор,
 "" КАК ВидРасчета,
 ЗНАЧЕНИЕ(Перечисление.ВидыПособийСоциальногоСтрахования.ПустаяССылка) КАК ВидПособия,
 ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.ПустаяССылка) КАК ВидЗанятости,
 "" КАК Ребенком,
 "" КАК ВидСтрахования,
 ЗНАЧЕНИЕ(Справочник.ДоходыПоСтраховымВзносам.ПустаяСсылка) КАК ВидДохода,
 ЗНАЧЕНИЕ(Перечисление.ТарифыСтраховыхВзносов.ПустаяСсылка) КАК ВидТарифаСтраховыхВзносов,
 ЛОЖЬ КАК ОблагаетсяПоДополнительномуТарифу,
 ЛОЖЬ КАК ОблагаетсяВзносамиНаДоплатуКПенсииШахтерам,
 ЗНАЧЕНИЕ(Перечисление.ВидыРаботСДосрочнойПенсией.ПустаяСсылка) КАК ОблагаетсяВзносамиЗаЗанятыхНаРаботахСДосрочнойПенсией,
 ЗНАЧЕНИЕ(Перечисление.КлассыУсловийТрудаПоРезультатамСпециальнойОценки.ПустаяСсылка) КАК КлассУсловийТруда,
 ЛОЖЬ КАК РодилсяДо1967,
 ИСТИНА КАК ВключатьВРазделы2,
 ЗНАЧЕНИЕ(Перечисление.ВыплатыПособийЗаСчетФедеральногоБюджета.ПустаяСсылка) КАК ВыплатаЗаСчетФедеральногоБюджета,
 ЗНАЧЕНИЕ(Перечисление.ВидыЗастрахованныхЛицОбязательногоСтрахования.ПустаяСсылка) КАК ВидЗастрахованногоЛица,
 ЛОЖЬ КАК Льгота60ПроцентовПоНСиПЗ
ПОМЕСТИТЬ ВТПоляОтчета
{ВЫБРАТЬ
 ВидЗастрахованногоЛица}
ИЗ
 ВТНалогНДФЛ КАК НалогНДФЛ

ОБЪЕДИНИТЬ

ВЫБРАТЬ РАЗЛИЧНЫЕ
 БазаНДФЛ.ГоловнаяОрганизация,
 БазаНДФЛ.ФизЛицо,
 БазаНДФЛ.Организация,
 БазаНДФЛ.КодПоОКАТО,
 БазаНДФЛ.КодПоОКТМО,
 БазаНДФЛ.КодТерритории,
 БазаНДФЛ.КПП,
 БазаНДФЛ.КодДохода,
 БазаНДФЛ.СтавкаНалогообложения,
 ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.ПустаяСсылка),
 БазаНДФЛ.МесяцНалоговогоПериода,
 БазаНДФЛ.ПериодРегистрации,
 БазаНДФЛ.Регистратор,
 БазаНДФЛ.ВидРасчета,
 ЗНАЧЕНИЕ(Перечисление.ВидыПособийСоциальногоСтрахования.ПустаяССылка),
 ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.ПустаяССылка),
 "",
 "",
 ЗНАЧЕНИЕ(Справочник.ДоходыПоСтраховымВзносам.ПустаяСсылка),
 ЗНАЧЕНИЕ(Перечисление.ТарифыСтраховыхВзносов.ПустаяСсылка),
 ЛОЖЬ,
 ЛОЖЬ,
 ЗНАЧЕНИЕ(Перечисление.ВидыРаботСДосрочнойПенсией.ПустаяСсылка),
 ЗНАЧЕНИЕ(Перечисление.КлассыУсловийТрудаПоРезультатамСпециальнойОценки.ПустаяСсылка),
 ЛОЖЬ,
 ИСТИНА,
 ЗНАЧЕНИЕ(Перечисление.ВыплатыПособийЗаСчетФедеральногоБюджета.ПустаяСсылка),
 ЗНАЧЕНИЕ(Перечисление.ВидыЗастрахованныхЛицОбязательногоСтрахования.ПустаяСсылка),
 ЛОЖЬ
ИЗ
 ВТБазаНДФЛ КАК БазаНДФЛ

ОБЪЕДИНИТЬ

ВЫБРАТЬ РАЗЛИЧНЫЕ
 NULL,
 NULL,
 NULL,
 "",
 "",
 "",
 "",
 "",
 ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.ПустаяССылка),
 ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.ПустаяСсылка),
 ДАТАВРЕМЯ(1, 1, 1),
 NULL,
 NULL,
 "",
 NULL,
 NULL,
 NULL,
 NULL,
 ЗНАЧЕНИЕ(Справочник.ДоходыПоСтраховымВзносам.ПустаяСсылка),
 NULL,
 ЛОЖЬ,
 ЛОЖЬ,
 ЗНАЧЕНИЕ(Перечисление.ВидыРаботСДосрочнойПенсией.ПустаяСсылка),
 ЗНАЧЕНИЕ(Перечисление.КлассыУсловийТрудаПоРезультатамСпециальнойОценки.ПустаяСсылка),
 ЛОЖЬ,
 ИСТИНА,
 NULL,
 NULL,
 ЛОЖЬ

ОБЪЕДИНИТЬ

ВЫБРАТЬ РАЗЛИЧНЫЕ
 ВычетыНДФЛ.ГоловнаяОрганизация,
 ВычетыНДФЛ.ФизЛицо,
 ВычетыНДФЛ.Организация,
 ВычетыНДФЛ.КодПоОКАТО,
 ВычетыНДФЛ.КодПоОКТМО,
 ВычетыНДФЛ.КодТерритории,
 ВычетыНДФЛ.КПП,
 "",
 ВычетыНДФЛ.СтавкаНалогообложенияРезидента,
 ВычетыНДФЛ.Вычет,
 ВычетыНДФЛ.МесяцНалоговогоПериода,
 ВычетыНДФЛ.ПериодРегистрации,
 ВычетыНДФЛ.Регистратор,
 "",
 ЗНАЧЕНИЕ(Перечисление.ВидыПособийСоциальногоСтрахования.ПустаяССылка),
 ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.ПустаяССылка),
 "",
 "",
 ЗНАЧЕНИЕ(Справочник.ДоходыПоСтраховымВзносам.ПустаяСсылка),
 ЗНАЧЕНИЕ(Перечисление.ТарифыСтраховыхВзносов.ПустаяСсылка),
 ЛОЖЬ,
 ЛОЖЬ,
 ЗНАЧЕНИЕ(Перечисление.ВидыРаботСДосрочнойПенсией.ПустаяСсылка),
 ЗНАЧЕНИЕ(Перечисление.КлассыУсловийТрудаПоРезультатамСпециальнойОценки.ПустаяСсылка),
 ЛОЖЬ,
 ИСТИНА,
 ЗНАЧЕНИЕ(Перечисление.ВыплатыПособийЗаСчетФедеральногоБюджета.ПустаяСсылка),
 ЗНАЧЕНИЕ(Перечисление.ВидыЗастрахованныхЛицОбязательногоСтрахования.ПустаяСсылка),
 ЛОЖЬ
ИЗ
 ВТВычетыНДФЛ КАК ВычетыНДФЛ

ОБЪЕДИНИТЬ

ВЫБРАТЬ РАЗЛИЧНЫЕ
 NULL,
 NULL,
 NULL,
 "",
 "",
 "",
 "",
 "",
 ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.ПустаяССылка),
 ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.ПустаяСсылка),
 NULL,
 NULL,
 NULL,
 NULL,
 ЗНАЧЕНИЕ(Перечисление.ВидыПособийСоциальногоСтрахования.ПустаяССылка),
 ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.ПустаяССылка),
 "",
 "",
 NULL,
 NULL,
 NULL,
 NULL,
 NULL,
 NULL,
 NULL,
 NULL,
 ЗНАЧЕНИЕ(Перечисление.ВыплатыПособийЗаСчетФедеральногоБюджета.ПустаяСсылка),
 NULL,
 NULL

ОБЪЕДИНИТЬ

ВЫБРАТЬ РАЗЛИЧНЫЕ
 NULL,
 NULL,
 NULL,
 "",
 "",
 "",
 "",
 "",
 ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.ПустаяССылка),
 ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.ПустаяСсылка),
 NULL,
 NULL,
 NULL,
 NULL,
 ЗНАЧЕНИЕ(Перечисление.ВидыПособийСоциальногоСтрахования.ПустаяССылка),
 ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.ПустаяССылка),
 "",
 "",
 NULL,
 NULL,
 NULL,
 NULL,
 NULL,
 NULL,
 NULL,
 NULL,
 ЗНАЧЕНИЕ(Перечисление.ВыплатыПособийЗаСчетФедеральногоБюджета.ПустаяСсылка),
 NULL,
 NULL
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
 ВложенныйЗапрос.СотрудникФизлицо,
 ВложенныйЗапрос.Организация,
 ВложенныйЗапрос.ПодразделениеОрганизации
ПОМЕСТИТЬ ВТ_Общий_Список
ИЗ
 (ВЫБРАТЬ РАЗЛИЧНЫЕ
  РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо КАК СотрудникФизлицо,
  РаботникиОрганизацийСрезПоследних.Организация КАК Организация,
  РаботникиОрганизацийСрезПоследних.ПодразделениеОрганизации КАК ПодразделениеОрганизации
 ИЗ
  РегистрСведений.РаботникиОрганизаций.СрезПоследних(&НачалоПериода, ) КАК РаботникиОрганизацийСрезПоследних
 ГДЕ
  РаботникиОрганизацийСрезПоследних.ПричинаИзмененияСостояния <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)

 ОБЪЕДИНИТЬ ВСЕ

 ВЫБРАТЬ РАЗЛИЧНЫЕ
  РаботникиОрганизаций.Сотрудник.Физлицо,
  РаботникиОрганизаций.Организация,
  РаботникиОрганизаций.ПодразделениеОрганизации
 ИЗ
  РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций
 ГДЕ
  РаботникиОрганизаций.Период МЕЖДУ &НачалоПериода И &КонецПериода

 ОБЪЕДИНИТЬ ВСЕ

 ВЫБРАТЬ РАЗЛИЧНЫЕ
  ДоговорНаВыполнениеРаботСФизЛицом.ФизЛицо,
  ДоговорНаВыполнениеРаботСФизЛицом.Организация,
  ДоговорНаВыполнениеРаботСФизЛицом.ПодразделениеОрганизации
 ИЗ
  Документ.ДоговорНаВыполнениеРаботСФизЛицом КАК ДоговорНаВыполнениеРаботСФизЛицом
 ГДЕ
  ДоговорНаВыполнениеРаботСФизЛицом.Дата МЕЖДУ &НачалоПериода И &КонецПериода
  И ДоговорНаВыполнениеРаботСФизЛицом.Проведен) КАК ВложенныйЗапрос
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
 ВТ_Общий_Список.СотрудникФизлицо,
 ВТ_Общий_Список.Организация,
 КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВТ_Общий_Список.ПодразделениеОрганизации) КАК КоличествоПодразделений
ПОМЕСТИТЬ ВТ_Физлица_с_несколькими_подразделениями
ИЗ
 ВТ_Общий_Список КАК ВТ_Общий_Список

СГРУППИРОВАТЬ ПО
 ВТ_Общий_Список.СотрудникФизлицо,
 ВТ_Общий_Список.Организация

ИМЕЮЩИЕ
 КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВТ_Общий_Список.ПодразделениеОрганизации) > 1
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
 ПоляОтчета.ГоловнаяОрганизация КАК ГоловнаяОрганизация,
 ПоляОтчета.Организация КАК Организация,
 ПоляОтчета.ПериодРегистрации КАК ПериодРегистрации,
 НАЧАЛОПЕРИОДА(ПоляОтчета.ПериодРегистрации, МЕСЯЦ) КАК МесяцНачисления,
 ПоляОтчета.ФизЛицо КАК ФизЛицо,
 ПоляОтчета.КодПоОКАТО КАК КодПоОКАТО,
 ПоляОтчета.КодПоОКТМО КАК КодПоОКТМО,
 ПоляОтчета.КодТерритории КАК КодТерритории,
 ПоляОтчета.КодДохода КАК КодДохода,
 ПоляОтчета.СтавкаНалогоОбложения КАК СтавкаНалогоОбложения,
 ПоляОтчета.МесяцНалоговогоПериода КАК МесяцНалоговогоПериода,
 ПоляОтчета.Регистратор КАК Регистратор,
 ПоляОтчета.ВидРасчета КАК ВидРасчета,
 ПоляОтчета.ВидПособия КАК ВидПособия,
 ПоляОтчета.ВидЗанятости КАК ВидЗанятости,
 ПоляОтчета.Ребенком КАК Ребенок,
 ПоляОтчета.ВидСтрахования КАК ВидСтрахования,
 ПоляОтчета.Вычет КАК Вычет,
 ПоляОтчета.ВидДохода КАК ВидДохода,
 ПоляОтчета.ВидТарифаСтраховыхВзносов КАК ВидТарифаСтраховыхВзносов,
 ПоляОтчета.ОблагаетсяПоДополнительномуТарифу КАК ОблагаетсяПоДополнительномуТарифу,
 ПоляОтчета.ОблагаетсяВзносамиНаДоплатуКПенсииШахтерам КАК ОблагаетсяВзносамиНаДоплатуКПенсииШахтерам,
 ПоляОтчета.КлассУсловийТруда КАК КлассУсловийТруда,
 ПоляОтчета.ОблагаетсяВзносамиЗаЗанятыхНаРаботахСДосрочнойПенсией КАК ОблагаетсяВзносамиЗаЗанятыхНаРаботахСДосрочнойПенсией,
 ПоляОтчета.РодилсяДо1967 КАК РодилсяДо1967,
 ПоляОтчета.ВключатьВРазделы2 КАК ВключатьВРазделы2,
 ПоляОтчета.ВидЗастрахованногоЛица КАК ВидЗастрахованногоЛица,
 ПоляОтчета.КПП КАК КПП,
 БазаНДФЛ.Результат КАК БазаНДФЛ,
 ВычетыНДФЛ.СуммаВычета КАК СуммаВычетаНДФЛ,
 НалогНДФЛ.Налог КАК НалогНДФЛ,
 НалогНДФЛ.ЗачтеноАвансовыхПлатежей КАК ЗачтеноАвансовыхПлатежей,
 НалогНДФЛ.НалогУдержаный КАК НалогНДФЛУдержаный,
 НалогНДФЛ.НалогПеречисленный КАК НалогНДФЛПеречисленный,
 НалогНДФЛ.НалогКПеречислению КАК НалогНДФЛКПеречислению,
 ПоляОтчета.МесяцНалоговогоПериода КАК МесяцРасчетногоПериода,
 ПоляОтчета.Льгота60ПроцентовПоНСиПЗ КАК Льгота60ПроцентовПоНСиПЗ
ПОМЕСТИТЬ ВТОсновнойОтчет
{ВЫБРАТЬ
 ГоловнаяОрганизация.*,
 ФизЛицо.*,
 Организация.*,
 КодПоОКАТО,
 КодПоОКТМО,
 КодТерритории,
 ПериодРегистрации,
 КодДохода.*,
 СтавкаНалогоОбложения.* КАК СтавкаНалогообложения,
 МесяцНалоговогоПериода,
 Регистратор.*,
 НалогНДФЛ КАК НалогНДФЛ,
 БазаНДФЛ КАК БазаНДФЛ,
 ВидРасчета.*,
 ЗачтеноАвансовыхПлатежей,
 НалогНДФЛУдержаный,
 НалогНДФЛПеречисленный,
 НалогНДФЛКПеречислению,
 ВидПособия.*,
 ВидЗанятости.*,
 Ребенок,
 ВидСтрахования,
 СуммаВычетаНДФЛ,
 Вычет.*,
 ВидДохода.*,
 ВидТарифаСтраховыхВзносов.*,
 ОблагаетсяПоДополнительномуТарифу,
 ОблагаетсяВзносамиНаДоплатуКПенсииШахтерам,
 ОблагаетсяВзносамиЗаЗанятыхНаРаботахСДосрочнойПенсией,
 КлассУсловийТруда,
 РодилсяДо1967,
 КПП,
 ВидЗастрахованногоЛица,
 Льгота60ПроцентовПоНСиПЗ,
 МесяцНачисления,
 МесяцРасчетногоПериода,
 ВключатьВРазделы2}
ИЗ
 ВТПоляОтчета КАК ПоляОтчета
  ЛЕВОЕ СОЕДИНЕНИЕ ВТБазаНДФЛ КАК БазаНДФЛ
  ПО ПоляОтчета.ФизЛицо = БазаНДФЛ.ФизЛицо
   И ПоляОтчета.ГоловнаяОрганизация = БазаНДФЛ.ГоловнаяОрганизация
   И ПоляОтчета.Организация = БазаНДФЛ.Организация
   И ПоляОтчета.ПериодРегистрации = БазаНДФЛ.ПериодРегистрации
   И ПоляОтчета.КодДохода = БазаНДФЛ.КодДохода
   И ПоляОтчета.Регистратор = БазаНДФЛ.Регистратор
   И ПоляОтчета.СтавкаНалогоОбложения = БазаНДФЛ.СтавкаНалогообложения
   И ПоляОтчета.ВидРасчета = БазаНДФЛ.ВидРасчета
   И ПоляОтчета.КПП = БазаНДФЛ.КПП
   И ПоляОтчета.МесяцНалоговогоПериода = БазаНДФЛ.МесяцНалоговогоПериода
   И ПоляОтчета.КодТерритории = БазаНДФЛ.КодТерритории
   И ПоляОтчета.КодПоОКАТО = БазаНДФЛ.КодПоОКАТО
   И ПоляОтчета.КодПоОКТМО = БазаНДФЛ.КодПоОКТМО
   И (ПоляОтчета.ВключатьВРазделы2)
  ЛЕВОЕ СОЕДИНЕНИЕ ВТНалогНДФЛ КАК НалогНДФЛ
  ПО ПоляОтчета.ГоловнаяОрганизация = НалогНДФЛ.ГоловнаяОрганизация
   И ПоляОтчета.Организация = НалогНДФЛ.Организация
   И ПоляОтчета.ПериодРегистрации = НалогНДФЛ.ПериодРегистрации
   И ПоляОтчета.КодДохода = НалогНДФЛ.КодДохода
   И ПоляОтчета.Регистратор = НалогНДФЛ.Регистратор
   И ПоляОтчета.СтавкаНалогоОбложения = НалогНДФЛ.СтавкаНалогоОбложения
   И ПоляОтчета.ФизЛицо = НалогНДФЛ.ФизЛицо
   И ПоляОтчета.КПП = НалогНДФЛ.КПП
   И ПоляОтчета.МесяцНалоговогоПериода = НалогНДФЛ.МесяцНалоговогоПериода
   И ПоляОтчета.КодТерритории = НалогНДФЛ.КодТерритории
   И ПоляОтчета.КодПоОКАТО = НалогНДФЛ.КодПоОКАТО
   И ПоляОтчета.КодПоОКТМО = НалогНДФЛ.КодПоОКТМО
   И (ПоляОтчета.ВключатьВРазделы2)
  ЛЕВОЕ СОЕДИНЕНИЕ ВТВычетыНДФЛ КАК ВычетыНДФЛ
  ПО ПоляОтчета.ГоловнаяОрганизация = ВычетыНДФЛ.ГоловнаяОрганизация
   И ПоляОтчета.ФизЛицо = ВычетыНДФЛ.ФизЛицо
   И ПоляОтчета.Организация = ВычетыНДФЛ.Организация
   И ПоляОтчета.ПериодРегистрации = ВычетыНДФЛ.ПериодРегистрации
   И ПоляОтчета.Вычет = ВычетыНДФЛ.Вычет
   И ПоляОтчета.СтавкаНалогоОбложения = ВычетыНДФЛ.СтавкаНалогообложенияРезидента
   И ПоляОтчета.Регистратор = ВычетыНДФЛ.Регистратор
   И ПоляОтчета.МесяцНалоговогоПериода = ВычетыНДФЛ.МесяцНалоговогоПериода
   И ПоляОтчета.КПП = ВычетыНДФЛ.КПП
   И ПоляОтчета.КодТерритории = ВычетыНДФЛ.КодТерритории
   И ПоляОтчета.КодПоОКАТО = ВычетыНДФЛ.КодПоОКАТО
   И ПоляОтчета.КодПоОКТМО = ВычетыНДФЛ.КодПоОКТМО
   И (ПоляОтчета.ВключатьВРазделы2)
{ГДЕ
 ПоляОтчета.ГоловнаяОрганизация.*,
 ПоляОтчета.ФизЛицо.*,
 ПоляОтчета.Организация.*,
 ПоляОтчета.КодПоОКАТО,
 ПоляОтчета.КодТерритории,
 ПоляОтчета.КодПоОКТМО,
 ПоляОтчета.ПериодРегистрации,
 ПоляОтчета.КодДохода.*,
 ПоляОтчета.СтавкаНалогоОбложения.* КАК СтавкаНалогообложения,
 ПоляОтчета.МесяцНалоговогоПериода,
 ПоляОтчета.Регистратор.*,
 ПоляОтчета.ВидРасчета.*,
 ПоляОтчета.ВидПособия.*,
 ПоляОтчета.ВидЗанятости.*,
 ПоляОтчета.Ребенком КАК Ребенок,
 ПоляОтчета.ВидСтрахования,
 ПоляОтчета.Вычет.*,
 ПоляОтчета.ВидДохода.*,
 ПоляОтчета.ВидТарифаСтраховыхВзносов.*,
 ПоляОтчета.ОблагаетсяПоДополнительномуТарифу,
 ПоляОтчета.РодилсяДо1967,
 ПоляОтчета.КПП,
 ПоляОтчета.ОблагаетсяВзносамиНаДоплатуКПенсииШахтерам,
 ПоляОтчета.ОблагаетсяВзносамиЗаЗанятыхНаРаботахСДосрочнойПенсией,
 ПоляОтчета.КлассУсловийТруда,
 ПоляОтчета.ВидЗастрахованногоЛица,
 ПоляОтчета.Льгота60ПроцентовПоНСиПЗ,
 (ЕСТЬNULL(БазаНДФЛ.Результат, 0)) КАК БазаНДФЛ,
 (ЕСТЬNULL(ВычетыНДФЛ.СуммаВычета, 0)) КАК СуммаВычетаНДФЛ,
 (ЕСТЬNULL(НалогНДФЛ.Налог, 0)) КАК НалогНДФЛ,
 (ЕСТЬNULL(НалогНДФЛ.НалогУдержаный, 0)) КАК НалогНДФЛУдержаный,
 (ЕСТЬNULL(НалогНДФЛ.НалогПеречисленный, 0)) КАК НалогНДФЛПеречисленный,
 (ЕСТЬNULL(НалогНДФЛ.НалогКПеречислению, 0)) КАК НалогНДФЛКПеречислению,
 (НАЧАЛОПЕРИОДА(ПоляОтчета.ПериодРегистрации, МЕСЯЦ)) КАК МесяцНачисления,
 ПоляОтчета.МесяцНалоговогоПериода КАК МесяцРасчетногоПериода,
 ПоляОтчета.ВключатьВРазделы2}
{ХАРАКТЕРИСТИКИ
 ТИП(Справочник.ФизическиеЛица)
 ВИДЫХАРАКТЕРИСТИК (ВЫБРАТЬ
   СвойстваОбъектов.Ссылка,
   " Дополнительное свойство: " + СвойстваОбъектов.Наименование КАК Наименование,
   СвойстваОбъектов.ТипЗначения
  ИЗ
   ПланВидовХарактеристик.СвойстваОбъектов КАК СвойстваОбъектов
  ГДЕ
   СвойстваОбъектов.НазначениеСвойства = ЗНАЧЕНИЕ(ПланВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_ФизическиеЛица)
   И НЕ СвойстваОбъектов.ПометкаУдаления)
 ПОЛЕКЛЮЧА Ссылка
 ПОЛЕИМЕНИ Наименование
 ПОЛЕТИПАЗНАЧЕНИЯ ТипЗначения
 ЗНАЧЕНИЯХАРАКТЕРИСТИК РегистрСведений.ЗначенияСвойствОбъектов
 ПОЛЕОБЪЕКТА Объект
 ПОЛЕВИДА Свойство
 ПОЛЕЗНАЧЕНИЯ Значение }
{ХАРАКТЕРИСТИКИ
 ТИП(Справочник.ФизическиеЛица)
 ВИДЫХАРАКТЕРИСТИК (ВЫБРАТЬ
   КатегорииОбъектов.Ссылка,
   " Дополнительная категория: " + КатегорииОбъектов.Наименование КАК Наименование
  ИЗ
   Справочник.КатегорииОбъектов КАК КатегорииОбъектов
  ГДЕ
   КатегорииОбъектов.НазначениеКатегории = ЗНАЧЕНИЕ(ПланВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_ФизическиеЛица)
   И НЕ КатегорииОбъектов.ПометкаУдаления)
 ПОЛЕКЛЮЧА Ссылка
 ПОЛЕИМЕНИ Наименование
 ЗНАЧЕНИЯХАРАКТЕРИСТИК РегистрСведений.КатегорииОбъектов
 ПОЛЕОБЪЕКТА Объект
 ПОЛЕВИДА Категория }
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
 "1" КАК НомерПодзапроса,
 РаботникиОрганизацийСрезПоследних.Сотрудник КАК Сотрудник,
 ВЫБОР
  КОГДА РаботникиОрганизацийСрезПоследних.ПериодЗавершения <= &НачалоПериода
    И РаботникиОрганизацийСрезПоследних.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1)
   ТОГДА РаботникиОрганизацийСрезПоследних.ПериодЗавершения
  ИНАЧЕ РаботникиОрганизацийСрезПоследних.Период
 КОНЕЦ КАК Период,
 ВЫБОР
  КОГДА РаботникиОрганизацийСрезПоследних.ПериодЗавершения <= &НачалоПериода
    И РаботникиОрганизацийСрезПоследних.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1)
   ТОГДА РаботникиОрганизацийСрезПоследних.ПодразделениеОрганизацииЗавершения
  ИНАЧЕ РаботникиОрганизацийСрезПоследних.ПодразделениеОрганизации
 КОНЕЦ КАК ПодразделениеОрганизации,
 ВЫБОР
  КОГДА РаботникиОрганизацийСрезПоследних.ПериодЗавершения <= &НачалоПериода
    И РаботникиОрганизацийСрезПоследних.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1)
   ТОГДА РаботникиОрганизацийСрезПоследних.ПричинаИзмененияСостоянияЗавершения
  ИНАЧЕ РаботникиОрганизацийСрезПоследних.ПричинаИзмененияСостояния
 КОНЕЦ КАК ПричинаИзмененияСостояния,
 РаботникиОрганизацийСрезПоследних.Регистратор
ПОМЕСТИТЬ ВТ_ДатыСобытий
ИЗ
 РегистрСведений.РаботникиОрганизаций.СрезПоследних(&НачалоПериода, ) КАК РаботникиОрганизацийСрезПоследних

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
 "2",
 РаботникиОрганизаций.Сотрудник,
 РаботникиОрганизаций.Период,
 РаботникиОрганизаций.ПодразделениеОрганизации,
 РаботникиОрганизаций.ПричинаИзмененияСостояния,
 РаботникиОрганизаций.Регистратор
ИЗ
 РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций
ГДЕ
 РаботникиОрганизаций.Период > &НачалоПериода
 И РаботникиОрганизаций.Период <= &КонецПериода

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
 "3",
 РаботникиОрганизаций.Сотрудник,
 РаботникиОрганизаций.ПериодЗавершения,
 РаботникиОрганизаций.ПодразделениеОрганизацииЗавершения,
 РаботникиОрганизаций.ПричинаИзмененияСостоянияЗавершения,
 РаботникиОрганизаций.Регистратор
ИЗ
 РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций
ГДЕ
 РаботникиОрганизаций.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1)
 И РаботникиОрганизаций.ПериодЗавершения > &НачалоПериода
 И РаботникиОрганизаций.ПериодЗавершения <= &КонецПериода
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
 ДатыНачала.Сотрудник,
 ДатыНачала.ПодразделениеОрганизации,
 ВЫБОР
  КОГДА ДатыНачала.ПричинаИзмененияСостояния = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
   ТОГДА NULL
  ИНАЧЕ ВЫБОР
    КОГДА ДатыНачала.Период < &НачалоПериода
     ТОГДА &НачалоПериода
    ИНАЧЕ ДатыНачала.Период
   КОНЕЦ
 КОНЕЦ КАК ДатаС,
 ВЫБОР
  КОГДА МИНИМУМ(ДатыОкончания.Период) ЕСТЬ NULL
   ТОГДА ВЫБОР
     КОГДА ДатыНачала.ПричинаИзмененияСостояния = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
      ТОГДА NULL
     ИНАЧЕ &КонецПериода
    КОНЕЦ
  ИНАЧЕ ДОБАВИТЬКДАТЕ(МИНИМУМ(ДатыОкончания.Период), ДЕНЬ, -1)
 КОНЕЦ КАК ДатаПо,
 ДатыНачала.Регистратор
ПОМЕСТИТЬ ВТПериодыРаботы
ИЗ
 ВТ_ДатыСобытий КАК ДатыНачала
  ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ДатыСобытий КАК ДатыОкончания
  ПО ДатыНачала.Сотрудник = ДатыОкончания.Сотрудник
   И ДатыНачала.Период < ДатыОкончания.Период

СГРУППИРОВАТЬ ПО
 ДатыНачала.Сотрудник,
 ДатыНачала.ПодразделениеОрганизации,
 ДатыНачала.Регистратор,
 ДатыНачала.ПричинаИзмененияСостояния,
 ВЫБОР
  КОГДА ДатыНачала.ПричинаИзмененияСостояния = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
   ТОГДА NULL
  ИНАЧЕ ВЫБОР
    КОГДА ДатыНачала.Период < &Н
---
дубль два. Забудь про СКД, оставь этот прекрасный запрос в стороне, напиши маленький коротенький запрос в консоли запросов, где будут только интересующие тебя три поля в каждой таблице.
Задача упростится в сто тысяч раз.
Заодно может кто-нибудь и возьмется в этом разобраться. Скорее всего ответ просто станет виден сразу.

1с заела всем мозги со своей идеей "сложные отчеты без программирования", люди начинают думать, что могут налабать любой отчет в СКД, не вникая вообще, что такое база данных и как там запросы устроены. И элементарный запрос превращается в сложную проблему на много рабочих и выходных дней.
---
Ну вот как то так. Его можно проверить на УПП 1.3 или ЗУП 2.5.
---
В запросе хороший пример:
```1c
    ЕСТЬNULL(НДФЛСведенияОДоходах.ПодразделениеОрганизации.КПП, ").
```

Я думаю, что по такому же шаблону нужно прописать в Вашем ЛЕВОМ СОЕДИНЕНИИ.
---
```1c
    ИЗ
    ПерваяТаблица
    ЛЕВОЕ СОЕДИНЕНИЕ ВтораяТаблица
    ПО (ВТПодразделение.ПодразделениеОрганизации.КПП = ЕСТЬNULL(ВТОсновнойОтчет.КПП, "))
```
---
Нет так тоже не получается((
---
Сделайте объединение запросов, В одном в условии связи ВТОсновнойОтчет.КПП = "", в другом НЕ ВТОсновнойОтчет.КПП = ""
---
Не очень понял, можно пример??
---
так и не понятно. для чего в строке соединения нужно указывать КПП?
---
Мне нужно соединить 2 временные таблицы, И может быть так что во второй таблице нет нужного значения! и тогда у меня просто не выводиться значения из первой таблицы!
---
Я не понял: Вы не знаете, как работает левое соединение? Если не знаете - найдите и почитайте, тогда вопрос решится сам. Если знаете, но нужные записи не попадают, значит дело в других условиях. Или в соединяемых таблицах нет нужных данных. Проверьте их.
---
Точно, вспомнил, какую ошибку я совершал при работе с соединениями:
Когда мы пишем:
ВЫБРАТЬ
    ВТ1.Поле1,
    ВТ2.Поле2
ИЗ
    ВТ1 ЛЕВОЕ СОЕДИНЕНИЕ ВТ2 ПО <условия соединения>
ГДЕ
    ВТ2.Поле2 = &ЗначениеОтбора

Мы можем получить такую ситуацию: условие соединения не выполнилось, и мы получили строку вида
ВТ1.Поле1,
NULL // то, что должно было быть ВТ2.Поле2

а потом мы проверяем в "ГДЕ", что ВТ.Поле2 (NULL) = &ЗначениеОтбора. Но NULL <> &ЗначениеОтбора, и вся строка <ВТ1.Поле1, NULL> отбрасывается.
---
Если таблицы идентичны, тогда делать Полное соединение. Вроде:

```1c
    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    СУММА(ЕСТЬNULL(СписаниеБезналичныхДенежныхСредствРасшифровкаПлатежа.Сумма, 0)) КАК СуммаОплаты,
    СписаниеБезналичныхДенежныхСредствРасшифровкаПлатежа.Заказ КАК Основание
    ПОМЕСТИТЬ втОплаты
    ИЗ
    втПокупки КАК втПокупки
    ЛЕВОЕ СОЕДИНЕНИЕ Документ.СписаниеБезналичныхДенежныхСредств.РасшифровкаПлатежа КАК СписаниеБезналичныхДенежныхСредствРасшифровкаПлатежа
    ПО втПокупки.ДокументПокупки = СписаниеБезналичныхДенежныхСредствРасшифровкаПлатежа.Заказ
    ГДЕ
    СписаниеБезналичныхДенежныхСредствРасшифровкаПлатежа.Ссылка.Проведен = ИСТИНА

    СГРУППИРОВАТЬ ПО
    СписаниеБезналичныхДенежныхСредствРасшифровкаПлатежа.Заказ

    ОБЪЕДИНИТЬ ВСЕ

    ВЫБРАТЬ
    СУММА(ЕСТЬNULL(РасходныйКассовыйОрдерРасшифровкаПлатежа.Сумма, 0)),
    РасходныйКассовыйОрдерРасшифровкаПлатежа.Заказ
    ИЗ
    втПокупки КАК втПокупки
    ЛЕВОЕ СОЕДИНЕНИЕ Документ.РасходныйКассовыйОрдер.РасшифровкаПлатежа КАК РасходныйКассовыйОрдерРасшифровкаПлатежа
    ПО втПокупки.ДокументПокупки = РасходныйКассовыйОрдерРасшифровкаПлатежа.Заказ
    ГДЕ
    РасходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка.Проведен = ИСТИНА

    СГРУППИРОВАТЬ ПО
    РасходныйКассовыйОрдерРасшифровкаПлатежа.Заказ

    ОБЪЕДИНИТЬ ВСЕ

    ВЫБРАТЬ
    СУММА(ЕСТЬNULL(-ПриходныйКассовыйОрдерРасшифровкаПлатежа.Сумма, 0)),
    ПриходныйКассовыйОрдерРасшифровкаПлатежа.Заказ
    ИЗ
    втПокупки КАК втПокупки
    ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПриходныйКассовыйОрдер.РасшифровкаПлатежа КАК ПриходныйКассовыйОрдерРасшифровкаПлатежа
    ПО втПокупки.ДокументПокупки = ПриходныйКассовыйОрдерРасшифровкаПлатежа.Заказ
    ГДЕ
    ПриходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка.Проведен = ИСТИНА

    СГРУППИРОВАТЬ ПО
    ПриходныйКассовыйОрдерРасшифровкаПлатежа.Заказ

    ОБЪЕДИНИТЬ ВСЕ

    ВЫБРАТЬ
    СУММА(ЕСТЬNULL(-ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.Сумма, 0)),
    ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.Заказ
    ИЗ
    втПокупки КАК втПокупки
    ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеБезналичныхДенежныхСредств.РасшифровкаПлатежа КАК ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа
    ПО втПокупки.ДокументПокупки = ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.Заказ

    СГРУППИРОВАТЬ ПО
    ПоступлениеБезналичныхДенежныхСредствРасшифровкаПлатежа.Заказ
    ;
```
---
нет таблицы разные((
---
, В (30) и (31) То что вам нужно. Сам по себе ваш запрос мягко говоря нечитабелен, в таких случаях я лично делю на несколько поменьше, хотя конечно это увеличивает время формирования, но в разы легче отлаживать.
---
В вашем случае значение Null представить как "", т.е. ЕСТЬNULL(ВашРеквизит.ЗначениеРеквизита, "")