Ошибка: Построенный запрос к СУБД использует слишком много таблиц

1. elvira17 19.07.17 08:20 Сейчас в теме
Добрый день.
Ситуация: конфигурация ЗУП 3.1. Есть отчет Расчетный листок с немного переписанным запросом и измененной формой. подключен как внешний, все работает, под всеми правами в клиент-сервере. Этот же самый отчет пытаюсь подменить в документ Начисление зарплаты в кнопку "Расчетный листок". На файловой работает под всеми правами, на клиент-сервере с ограниченными правами не работает, сразу скажу - включен RLS, отключить нельзя. Может как то изменить сам запрос? Помогите разобраться.
Отчет в СКД, итоговый запрос:
ВЫБРАТЬ
	0 КАК Цифра
ПОМЕСТИТЬ ВТЦифры

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

ВЫБРАТЬ
	1

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

ВЫБРАТЬ
	2

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

ВЫБРАТЬ
	3

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

ВЫБРАТЬ
	4

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

ВЫБРАТЬ
	5

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

ВЫБРАТЬ
	6

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

ВЫБРАТЬ
	7

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

ВЫБРАТЬ
	8

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

ВЫБРАТЬ
	9
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(ВЫБОР
					КОГДА &НачалоПериода = ДАТАВРЕМЯ(1, 1, 1)
						ТОГДА ДАТАВРЕМЯ(1980, 1, 1)
					ИНАЧЕ &НачалоПериода
				КОНЕЦ, МЕСЯЦ), МЕСЯЦ, Цифры.Цифра + ЕСТЬNULL(Цифры10.Цифра, 0) * 10 + ЕСТЬNULL(Цифры100.Цифра, 0) * 100 + ЕСТЬNULL(Цифры1000.Цифра, 0) * 1000 + ЕСТЬNULL(Цифры10000.Цифра, 0) * 10000 + ЕСТЬNULL(Цифры100000.Цифра, 0) * 100000), МЕСЯЦ) КАК Период
ПОМЕСТИТЬ ПредставленияПериоды
ИЗ
	ВТЦифры КАК Цифры
		ЛЕВОЕ СОЕДИНЕНИЕ ВТЦифры КАК Цифры10
		ПО (РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(ВЫБОР
						КОГДА &НачалоПериода = ДАТАВРЕМЯ(1, 1, 1)
							ТОГДА ДАТАВРЕМЯ(1980, 1, 1)
						ИНАЧЕ &НачалоПериода
					КОНЕЦ, МЕСЯЦ), НАЧАЛОПЕРИОДА(ВЫБОР
						КОГДА &КонецПериода = КОНЕЦПЕРИОДА(ДАТАВРЕМЯ(1, 1, 1), МЕСЯЦ)
							ТОГДА &ОкончаниеИнтервалаПредставленияПериоды
						ИНАЧЕ &КонецПериода
					КОНЕЦ, МЕСЯЦ), МЕСЯЦ) > 9)
		ЛЕВОЕ СОЕДИНЕНИЕ ВТЦифры КАК Цифры100
		ПО (РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(ВЫБОР
						КОГДА &НачалоПериода = ДАТАВРЕМЯ(1, 1, 1)
							ТОГДА ДАТАВРЕМЯ(1980, 1, 1)
						ИНАЧЕ &НачалоПериода
					КОНЕЦ, МЕСЯЦ), НАЧАЛОПЕРИОДА(ВЫБОР
						КОГДА &КонецПериода = КОНЕЦПЕРИОДА(ДАТАВРЕМЯ(1, 1, 1), МЕСЯЦ)
							ТОГДА &ОкончаниеИнтервалаПредставленияПериоды
						ИНАЧЕ &КонецПериода
					КОНЕЦ, МЕСЯЦ), МЕСЯЦ) > 99)
		ЛЕВОЕ СОЕДИНЕНИЕ ВТЦифры КАК Цифры1000
		ПО (РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(ВЫБОР
						КОГДА &НачалоПериода = ДАТАВРЕМЯ(1, 1, 1)
							ТОГДА ДАТАВРЕМЯ(1980, 1, 1)
						ИНАЧЕ &НачалоПериода
					КОНЕЦ, МЕСЯЦ), НАЧАЛОПЕРИОДА(ВЫБОР
						КОГДА &КонецПериода = КОНЕЦПЕРИОДА(ДАТАВРЕМЯ(1, 1, 1), МЕСЯЦ)
							ТОГДА &ОкончаниеИнтервалаПредставленияПериоды
						ИНАЧЕ &КонецПериода
					КОНЕЦ, МЕСЯЦ), МЕСЯЦ) > 999)
		ЛЕВОЕ СОЕДИНЕНИЕ ВТЦифры КАК Цифры10000
		ПО (РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(ВЫБОР
						КОГДА &НачалоПериода = ДАТАВРЕМЯ(1, 1, 1)
							ТОГДА ДАТАВРЕМЯ(1980, 1, 1)
						ИНАЧЕ &НачалоПериода
					КОНЕЦ, МЕСЯЦ), НАЧАЛОПЕРИОДА(ВЫБОР
						КОГДА &КонецПериода = КОНЕЦПЕРИОДА(ДАТАВРЕМЯ(1, 1, 1), МЕСЯЦ)
							ТОГДА &ОкончаниеИнтервалаПредставленияПериоды
						ИНАЧЕ &КонецПериода
					КОНЕЦ, МЕСЯЦ), МЕСЯЦ) > 9999)
		ЛЕВОЕ СОЕДИНЕНИЕ ВТЦифры КАК Цифры100000
		ПО (РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(ВЫБОР
						КОГДА &НачалоПериода = ДАТАВРЕМЯ(1, 1, 1)
							ТОГДА ДАТАВРЕМЯ(1980, 1, 1)
						ИНАЧЕ &НачалоПериода
					КОНЕЦ, МЕСЯЦ), НАЧАЛОПЕРИОДА(ВЫБОР
						КОГДА &КонецПериода = КОНЕЦПЕРИОДА(ДАТАВРЕМЯ(1, 1, 1), МЕСЯЦ)
							ТОГДА &ОкончаниеИнтервалаПредставленияПериоды
						ИНАЧЕ &КонецПериода
					КОНЕЦ, МЕСЯЦ), МЕСЯЦ) > 99999)
ГДЕ
	НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(ВЫБОР
						КОГДА &НачалоПериода = ДАТАВРЕМЯ(1, 1, 1)
							ТОГДА ДАТАВРЕМЯ(1980, 1, 1)
						ИНАЧЕ &НачалоПериода
					КОНЕЦ, МЕСЯЦ), МЕСЯЦ, Цифры.Цифра + ЕСТЬNULL(Цифры10.Цифра, 0) * 10 + ЕСТЬNULL(Цифры100.Цифра, 0) * 100 + ЕСТЬNULL(Цифры1000.Цифра, 0) * 1000 + ЕСТЬNULL(Цифры10000.Цифра, 0) * 10000 + ЕСТЬNULL(Цифры100000.Цифра, 0) * 100000), МЕСЯЦ) МЕЖДУ ВЫБОР
			КОГДА &НачалоПериода = ДАТАВРЕМЯ(1, 1, 1)
				ТОГДА ДАТАВРЕМЯ(1980, 1, 1)
			ИНАЧЕ &НачалоПериода
		КОНЕЦ И ВЫБОР
			КОГДА &КонецПериода = КОНЕЦПЕРИОДА(ДАТАВРЕМЯ(1, 1, 1), МЕСЯЦ)
				ТОГДА &ОкончаниеИнтервалаПредставленияПериоды
			ИНАЧЕ &КонецПериода
		КОНЕЦ
;

////////////////////////////////////////////////////////////­////////////////////
УНИЧТОЖИТЬ ВТЦифры
;

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

ОБЪЕДИНИТЬ

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

ОБЪЕДИНИТЬ

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

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ 
	ОстаткиИОбороты.Сотрудник КАК Сотрудник,
	ОстаткиИОбороты.Период КАК Период
ПОМЕСТИТЬ ВТВсеПериодомКадровыхДанных
ИЗ
	ВТВсеСотрудникиСПериодом КАК ОстаткиИОбороты

ОБЪЕДИНИТЬ

ВЫБРАТЬ РАЗЛИЧНЫЕ
	ОстаткиИОбороты.Сотрудник,
	Месяцы.Период
ИЗ
	ВТВсеСотрудникиСПериодом КАК ОстаткиИОбороты
		ЛЕВОЕ СОЕДИНЕНИЕ ПредставленияПериоды КАК Месяцы
		ПО (ИСТИНА)

ОБЪЕДИНИТЬ

ВЫБРАТЬ РАЗЛИЧНЫЕ
	ОстаткиИОбороты.Сотрудник,
	КОНЕЦПЕРИОДА(Месяцы.Период, МЕСЯЦ)
ИЗ
	ВТВсеСотрудникиСПериодом КАК ОстаткиИОбороты
		ЛЕВОЕ СОЕДИНЕНИЕ ПредставленияПериоды КАК Месяцы
		ПО (ИСТИНА)
;

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

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
	ТаблицаОтборов.Период КАК Период,
	ТаблицаОтборов.Сотрудник КАК Сотрудник
ПОМЕСТИТЬ ВТОтборовРазличныхСотрудников
ИЗ
	ВТВсеПериодомКадровыхДанных КАК ТаблицаОтборов
		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Сотрудники КАК СправочникСотрудники
		ПО ТаблицаОтборов.Сотрудник = СправочникСотрудники.Ссылка
;

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

СГРУППИРОВАТЬ ПО
	ИзмеренияДаты.Период,
	ИзмеренияДаты.Сотрудник,
	РегистрСведений.ГоловнаяОрганизация,
	РегистрСведений.ФизическоеЛицо
;

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

////////////////////////////////////////////////////////////­////////////////////
УНИЧТОЖИТЬ ВТПериодыСрезаПлановыйФОТИтоги
;

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

ИНДЕКСИРОВАТЬ ПО
	Период,
	Сотрудник
;

////////////////////////////////////////////////////////////­////////////////////
УНИЧТОЖИТЬ ВТПлановыйФОТИтогиСрезПоследних
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
	ИзмеренияДаты.Период КАК Период,
	ИзмеренияДаты.Сотрудник КАК Сотрудник,
	РегистрСведений.Подразделение КАК Подразделение,
	РегистрСведений.Организация КАК Организация,
	РегистрСведений.Должность КАК Должность,
	РегистрСведений.ДолжностьПоШтатномуРасписанию КАК ДолжностьПоШтатномуРасписанию
ПОМЕСТИТЬ ВТСведенияКадровойИсторииСотрудников
ИЗ
	ВТОтборовРазличныхСотрудников КАК ИзмеренияДаты
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КадроваяИсторияСотрудниковИнтервальный КАК РегистрСведений
		ПО (РегистрСведений.ДатаНачала <= КОНЕЦПЕРИОДА(ВЫБОР
					КОГДА ИзмеренияДаты.Период = ДАТАВРЕМЯ(1, 1, 1)
						ТОГДА ДАТАВРЕМЯ(3999, 12, 31, 23, 59, 59)
					ИНАЧЕ ИзмеренияДаты.Период
				КОНЕЦ, ДЕНЬ))
			И (РегистрСведений.ДатаОкончания >= КОНЕЦПЕРИОДА(ВЫБОР
					КОГДА ИзмеренияДаты.Период = ДАТАВРЕМЯ(1, 1, 1)
						ТОГДА ДАТАВРЕМЯ(3999, 12, 31, 23, 59, 59)
					ИНАЧЕ ИзмеренияДаты.Период
				КОНЕЦ, ДЕНЬ))
			И (РегистрСведений.Сотрудник = ИзмеренияДаты.Сотрудник)
ГДЕ
	ИСТИНА
;

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

////////////////////////////////////////////////////////////­////////////////////
УНИЧТОЖИТЬ ВТСведенияКадровойИсторииСотрудников
;

////////////////////////////////////////////////////////////­////////////////////
УНИЧТОЖИТЬ ВТСведенияОбОплатеТруда
;

////////////////////////////////////////////////////////////­////////////////////
УНИЧТОЖИТЬ ВТОтборовРазличныхСотрудников
;

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

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

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

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

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

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

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

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

СГРУППИРОВАТЬ ПО
	ОтработанноеВремя.Регистратор,
	ОтработанноеВремя.Сотрудник,
	ОтработанноеВремя.Подразделение,
	ОтработанноеВремя.Начисление,
	ОтработанноеВремя.ВремяВЧасах,
	НАЧАЛОПЕРИОДА(ОтработанноеВремя.Период, МЕСЯЦ),
	ОтработанноеВремя.ПериодДействия,
	ОтработанноеВремя.ДокументОснование,
	ОтработанноеВремя.ДатаНачала,
	ОтработанноеВремя.ИдентификаторСтроки
;

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

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

СГРУППИРОВАТЬ ПО
	ОтработанноеВремя.МесяцНачисления,
	ОтработанноеВремя.ПериодДействия,
	ОтработанноеВремя.Регистратор,
	ОтработанноеВремя.Сотрудник,
	ОтработанноеВремя.Подразделение,
	ОтработанноеВремя.ВидРасчета,
	ОтработанноеВремя.ДатаНачала,
	ОтработанноеВремя.ВремяВЧасах,
	ОтработанноеВремя.ДокументОснование
;

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

СГРУППИРОВАТЬ ПО
	ОтработанноеВремя.МесяцНачисления,
	ОтработанноеВремя.Регистратор,
	ОтработанноеВремя.Сотрудник,
	ОтработанноеВремя.Подразделение,
	ОтработанноеВремя.ВидРасчета,
	ОтработанноеВремя.ОтработаноДней,
	ОтработанноеВремя.ОтработаноЧасов,
	ОтработанноеВремя.ОплаченоДней,
	ОтработанноеВремя.ОплаченоЧасов,
	ОтработанноеВремя.СтатьяФинансирования,
	ОтработанноеВремя.ВремяВЧасах,
	ОтработанноеВремя.ИдентификаторСтроки

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

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

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

СГРУППИРОВАТЬ ПО
	ОтработанноеВремя.МесяцНачисления,
	ОтработанноеВремя.Регистратор,
	ОтработанноеВремя.Сотрудник,
	ОтработанноеВремя.Подразделение,
	ОтработанноеВремя.ВидРасчета,
	ОтработанноеВремя.ВремяВЧасах,
	ОтработанноеВремя.ИдентификаторСтроки
;

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

СГРУППИРОВАТЬ ПО
	СальдоПоРасчетамССотрудниками.Организация,
	СальдоПоРасчетамССотрудниками.Сотрудник,
	СальдоПоРасчетамССотрудниками.ФизическоеЛицо,
	СальдоПоРасчетамССотрудниками.Подразделение,
	СальдоПоРасчетамССотрудниками.СтатьяФинансирования,
	СальдоПоРасчетамССотрудниками.СтатьяРасходов
;

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

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

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

ВЫБРАТЬ
	ДанныеСотрудников.МесяцНачисления,
	ДанныеСотрудников.ФизическоеЛицо,
	ДанныеСотрудников.Подразделение,
	ДанныеСотрудников.Группа,
	ДанныеСотрудников.ВидРасчета,
	ДанныеСотрудников.Сумма,
	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 
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
	Данные.МесяцНачисления КАК МесяцНачисления,
	Данные.ФизическоеЛицо КАК ФизическоеЛицо,
	Данные.Подразделение КАК Подразделение,
	Данные.Группа КАК Группа,
	Данные.ВидРасчета КАК ВидРасчета,
	Данные.Сумма КАК Сумма,
	Данные.ОтработаноДней КАК ОтработаноДней,
	Данные.ОтработаноЧасов КАК ОтработаноЧасов,
	Данные.ОплаченоДней КАК ОплаченоДней,
	Данные.ОплаченоЧасов КАК ОплаченоЧасов,
	Данные.Организация КАК Организация,
	Данные.Сотрудник КАК Сотрудник,
	Данные.ГоловнойСотрудник КАК ГоловнойСотрудник,
	Данные.ДолжностьГоловногоСотрудникаНаКонецПериода КАК ДолжностьГоловногоСотрудникаНаКонецПериода,
	Данные.ПодразделениеГоловногоСотрудникаНаКонецПериода КАК ПодразделениеГоловногоСотрудникаНаКонецПериода,
	Данные.Должность КАК Должность,
	Данные.ПериодДействия КАК ПериодДействия,
	Данные.Регистратор КАК Регистратор,
	Данные.ДолжностьНаКонецПериода КАК ДолжностьНаКонецПериода,
	Данные.ТарифнаяСтавкаНаКонецПериода КАК ТарифнаяСтавкаНаКонецПериода,
	Данные.ВремяВЧасах КАК ВремяВЧасах,
	Данные.ДолжностьПоШтатномуРасписанию КАК ДолжностьПоШтатномуРасписанию,
	Данные.ВидРасчета.Порядок КАК ВидРасчетаПорядок,
	Данные.ВидРасчета.РеквизитДопУпорядочивания КАК ВидРасчетаРеквизитДопУпорядочивания,
	Данные.ВидРасчета.ЯвляетсяДоходомВНатуральнойФорме КАК ВидРасчетаЯвляетсяДоходомВНатуральнойФорме,
	Данные.ГоловнойСотрудник.Наименование КАК ГоловнойСотрудникНаименование,
	Данные.ГоловнойСотрудник.ФизическоеЛицо.ФИО КАК ГоловнойСотрудникФизическоеЛицоФИО,
	Данные.Группа.Порядок КАК ГруппаПорядок,
	Данные.Должность.Наименование КАК ДолжностьНаименование,
	Данные.ДолжностьГоловногоСотрудникаНаКонецПериода.Наименование КАК ДолжностьГоловногоСотрудникаНаКонецПериодаНаименование,
	Данные.ДолжностьГоловногоСотрудникаНаКонецПериода.РеквизитДопУпорядочивания КАК ДолжностьГоловногоСотрудникаНаКонецПериодаРеквизитДопУпорядо­чивания,
	Данные.ДолжностьПоШтатномуРасписанию.Наименование КАК ДолжностьПоШтатномуРасписаниюНаименование,
	Данные.Организация.Наименование КАК ОрганизацияНаименование,
	Данные.Подразделение.Наименование КАК ПодразделениеНаименование,
	Данные.ПодразделениеГоловногоСотрудникаНаКонецПериода.Наименование КАК ПодразделениеГоловногоСотрудникаНаКонецПериодаНаименование,
	Данные.ПодразделениеГоловногоСотрудникаНаКонецПериода.РеквизитДопУпорядочиванияИерархического КАК ПодразделениеГоловногоСотрудникаНаКонецПериодаРеквизитДопУпо­рядочиванияИерархического,
	Данные.Регистратор.Дата КАК РегистраторДата,
	Данные.Регистратор.Номер КАК РегистраторНомер,
	Данные.Сотрудник.ГоловнойСотрудник КАК СотрудникГоловнойСотрудник,
	Данные.Сотрудник.Код КАК СотрудникКод,
	Данные.Сотрудник.УточнениеНаименования КАК СотрудникУточнениеНаименования,
	Данные.Сотрудник.ФизическоеЛицо КАК СотрудникФизическоеЛицо,
	Данные.Сотрудник.ФизическоеЛицо.ФИО КАК СотрудникФизическоеЛицоФИО,
	Данные.ФизическоеЛицо.Наименование КАК ФизическоеЛицоНаименование
ИЗ
	ОбщиеЗапросыНачисленияУдержания КАК Данные
ГДЕ
	Данные.Организация = &П3
	И Данные.ГоловнойСотрудник = &П4
Показать
По теме из базы знаний
Найденные решения
3. Dream_kz 129 19.07.17 08:28 Сейчас в теме
СУБД какая? Емнип, MS SQL запрещает использовать больше 256 таблиц, запрос и так не маленький, еще идет соединение с RLS, возможно еще идут левые соединения к дополнительным таблицам, из-за полей составного типа (весь запрос не читал, может их там и нет)
Остальные ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. ImHunter 312 19.07.17 08:26 Сейчас в теме
Наверное в финальном запросе можно убрать РАЗРЕШЕННЫЕ. Они вроде как раньше, при формировании ВТ, разрешаются.
4. elvira17 19.07.17 08:36 Сейчас в теме
(2) это и в стандартном отчете есть.
3. Dream_kz 129 19.07.17 08:28 Сейчас в теме
СУБД какая? Емнип, MS SQL запрещает использовать больше 256 таблиц, запрос и так не маленький, еще идет соединение с RLS, возможно еще идут левые соединения к дополнительным таблицам, из-за полей составного типа (весь запрос не читал, может их там и нет)
5. elvira17 19.07.17 08:36 Сейчас в теме
(3) да, забыла указать СУБД - MS SQL.
6. elvira17 19.07.17 08:37 Сейчас в теме
(5)полей составного типа в этом запросе я не встречала, в первую очередь об этом подумала.
7. Dream_kz 129 19.07.17 08:45 Сейчас в теме
(6) а RLS тут нужен чтобы сотрудники смогли смотреть расчетные листки только по ограниченным группам физ.лиц?
8. elvira17 19.07.17 08:47 Сейчас в теме
(7)да. у нас расчетчики разбиты по своим подразделениям. не только расчетные листки, но и весь расчет зарплаты.
10. Dream_kz 129 19.07.17 08:54 Сейчас в теме
(8) Для данного отчета могу предложить следующее:
Устанавливать привилегированный режим на время формирования (чтобы RLS отрубить), а в последнем запросе добавлять отбор по подразделению/группе доступа физ.лица. Конечно костыль, и нужно имитировать работу RLS, но отключает дополнительные соединения, должно работать быстрее.
11. elvira17 19.07.17 08:57 Сейчас в теме
(10)не знаю почему, но установка привилегированного режима не работает.
12. Dream_kz 129 19.07.17 09:00 Сейчас в теме
(11) Работает только если включить на сервере
13. elvira17 19.07.17 09:01 Сейчас в теме
(12)ну да. выполняется на сервере код. Пробовала даже перенести в общий модуль с признаком Привилегированный. все одно...
14. Dream_kz 129 19.07.17 09:04 Сейчас в теме
(13) А если убрать инструкцию РАЗРЕШЕННЫЕ? Хотя должно работать и так.
9. elvira17 19.07.17 08:53 Сейчас в теме
из кучи таблиц все собирается в одну временную таблицу ОбщиеЗапросыНачисленияУдержания, а потом из этой таблицы выбираются нужные поля в последнем "подзапросе"(не знаю как понятнее выразиться). Вот до этого момента, до последнего "подзапроса", с ограниченными правами запрос работает. Может как-то разбить на два запроса? но как с СКД это сделать не знаю((
15. ImHunter 312 19.07.17 09:09 Сейчас в теме
(9) Последний подзапрос - это который таки? На формирование ВТ или выдающий данные?
16. elvira17 19.07.17 09:11 Сейчас в теме
20. Dream_kz 129 19.07.17 09:24 Сейчас в теме
(9)
Может как-то разбить на два запроса?

Ну тогда формировать отчет из ТЗ. Выгрузить в ТЗ все до последнего запроса, и новым запросом сделать с ТЗ уже все что нужно, потом результат отдать СКД
22. elvira17 19.07.17 09:35 Сейчас в теме
(20)я не совсем понимаю как это делать. все параметры лежат в СКД, как их оттуда брать? и как потом результат передать в СКД? не сильна с программной работой с СКД
23. Dream_kz 129 19.07.17 09:51 Сейчас в теме
(22) Гуглится по "формирование скд на основе таблицы значений"
Суть простая, получаем необходимую ТЗ кодом, а потом отдаем ее в скд, которая займется отрисовкой, и прочей работой.
24. elvira17 19.07.17 09:55 Сейчас в теме
(23)хорошо, с этим разберусь. а как с параметрами быть? все параметры лежат в СКД, как их оттуда брать? подскажете?
25. nytlenc 19.07.17 09:58 Сейчас в теме
(24) примерно вот так
http://life1c.ru/post/1498
формируем программно и добавляем параметры, там же и ТЗ запихать можно. У Радченко/Хрусталева есть хорошая книжка в которой описаны примеры.
26. elvira17 19.07.17 10:12 Сейчас в теме
(25)спасибо, попробую и такой вариант) отпишусь
28. elvira17 19.07.17 14:16 Сейчас в теме
(20)что-то я немного затупила. мне все выгрузить надо в дерево значений, а не ТЗ. Структуру этого дерева я понять не могу, чтобы такое же создать. как быть? где его посмотреть наглядно?
29. Dream_kz 129 19.07.17 14:18 Сейчас в теме
(28) Зачем дерево то? ТЗ будет являться источником данных, СКД по настройкам сама все соберет и сгруппирует
30. elvira17 20.07.17 07:14 Сейчас в теме
(29)можете подсказать в чем проблема?
разбила большой запрос на два, первый формируется, вытаскиваю оттуда ВТ, куда все данные собирается.
Далее делаю запрос, тот, в котором выбираются данные в первоначальном запросе, туда запихиваю мою ВТ (которая принимает вид таблицы значений), иии не работает(
			
//выше сформировала нужный мне текст запроса
Результат = Запрос.ВыполнитьПакет();			
ОбщиеЗапросыНачисленияУдержания = Результат[Результат.Количество()-1].Выгрузить();
Результат.Очистить();
//до сюда все верно
		
//уже явно написала текст
Запрос.Текст =  "ВЫБРАТЬ
 |	Данные.МесяцНачисления КАК МесяцНачисления,
 |	Данные.ФизическоеЛицо КАК ФизическоеЛицо,
 |	Данные.Подразделение КАК Подразделение,
 |	Данные.Группа КАК Группа,
 |	Данные.ВидРасчета КАК ВидРасчета,
 |	Данные.Сумма КАК Сумма,
 |	Данные.ОтработаноДней КАК ОтработаноДней,
 |	Данные.ОтработаноЧасов КАК ОтработаноЧасов,
 |	Данные.ОплаченоДней КАК ОплаченоДней,
 |	Данные.ОплаченоЧасов КАК ОплаченоЧасов,
 |	Данные.Организация КАК Организация,
 |	Данные.Сотрудник КАК Сотрудник,
 |	Данные.ГоловнойСотрудник КАК ГоловнойСотрудник
 |	ПОМЕСТИТЬ ВТвременная
 |	ИЗ
 |	       &ОбщиеЗапросыНачисленияУдержания КАК Данные
 |	ГДЕ
 |	       Данные.Организация = &П3
 |	       И Данные.ГоловнойСотрудник = &П4
 |	;
 |	////////////////////////////////////////////////////////////­////////////////////
 |	ВЫБРАТЬ
 |		временная.МесяцНачисления КАК МесяцНачисления,
 |		временная.ФизическоеЛицо КАК ФизическоеЛицо,
 |		временная.Подразделение КАК Подразделение,
 |		временная.Группа КАК Группа,
 |		временная.ВидРасчета КАК ВидРасчета,
 |		временная.Сумма КАК Сумма,
 |		временная.ОтработаноДней КАК ОтработаноДней,
 |		временная.ОтработаноЧасов КАК ОтработаноЧасов,
 |		временная.ОплаченоДней КАК ОплаченоДней,
 |		временная.ОплаченоЧасов КАК ОплаченоЧасов,
 |		временная.Организация КАК Организация,
 |		временная.Сотрудник КАК Сотрудник,
 |		временная.ГоловнойСотрудник КАК ГоловнойСотрудник
 |	ИЗ
 |		ВТвременная КАК временная";
		
Запрос.УстановитьПараметр("ОбщиеЗапросыНачисленияУдержания", ОбщиеЗапросыНачисленияУдержания);
			
ТЗДляСКД = Запрос.Выполнить().Выгрузить();   //вот тут спотыкается, говорит "Ошибка при вызове метода контекста (Выполнить) "
Показать

вроде все просто, но чего-то не понимаю..
параметры все указаны
35. Dream_kz 129 20.07.17 07:51 Сейчас в теме
(30) Полную бы ошибку посмотреть, ну и переместить условия ГДЕ в последний запрос (на всякий случай).
36. elvira17 20.07.17 09:28 Сейчас в теме
(35) дак там ошибка то...
{ОбщийМодуль.УчетНачисленнойЗарплаты.Модуль(1899)}: Не удалось, сформировать отчет. В настройку отчета "Расчетный листок" внесены критичные изменения. Отчет не будет сформирован. Ошибка при вызове метода контекста (Выполнить) ТЗДляСКД = Запрос.Выполнить().Выгрузить();
ВызватьИсключение НСтр("ru = 'Не удалось, сформировать отчет.'") + " " + Инфо.Описание;

это выходит при выполнении всего отчета. т.е. он говорит, что спотыкается, а почему - нет..

и условие ГДЕ поменяла тоже ...
37. Dream_kz 129 20.07.17 09:33 Сейчас в теме
(36)
ОбщийМодуль.УчетНачисленнойЗарплаты.Модуль(1899)


А что там вообще общий модуль то делает? Отчет то вроде внешний?
Попробуйте в простой обработке этой выполнить, чтобы проверить, выполняется ли запрос, если да, то сделать пустой отчет с учетом программного формирования скд из тз, то есть с новой формой и только этим кодом в модуле (надеюсь в веб-клиенте никто не работает, и формирование отчета в фоне не требуется)
38. elvira17 20.07.17 09:47 Сейчас в теме
(37)я этот отчет подменяю в документе Начисление зарплаты вместо вызова стандартного отчета. Т.е. он через этот модуль все по цепочке вызывает: документ - общий модуль - стандартный отчет. и раз не может сформировать отчет(уже мой), то и вываливается в общем модуле.
39. elvira17 20.07.17 09:49 Сейчас в теме
(37) запустила как обычный внешний отчет Расчетный листок - вываливается в том же месте
40. Dream_kz 129 20.07.17 09:57 Сейчас в теме
(39) Но ошибка то другая должна быть?
"Где" убрали из первого запроса? Не уверен, но при работе со внешними источниками вроде бы нельзя делать группировку/сортировку/отбор
41. elvira17 20.07.17 10:03 Сейчас в теме
(40)ошибка та же:
Ошибка при выполнении обработчика - 'ПриКомпоновкеРезультата'
по причине:
{ВнешнийОтчет.АнализНачисленийИУдержаний.МодульОбъекта(624)}: В настройку отчета "Расчетный листок" внесены критичные изменения. Отчет не будет сформирован. Ошибка при вызове метода контекста (Выполнить)
ТЗДляСКД = Запрос.Выполнить().Выгрузить();

ГДЕ - убрала. да и он не доходит до того момента, где я ему говорю, чтобы использовал внешние источники данных.
17. ImHunter 312 19.07.17 09:16 Сейчас в теме
А попробуйте тогда в запросе формирования ОбщиеЗапросыНачисленияУдержания везде добавить РАЗРЕШЕННЫЕ. А в финальном - уберите.
18. elvira17 19.07.17 09:20 Сейчас в теме
19. ImHunter 312 19.07.17 09:22 Сейчас в теме
(18) Ну да, так и предполагал.
Может тогда есть смысл RLS донастроить?... http://forum.infostart.ru/forum9/topic170882/
21. ImHunter 312 19.07.17 09:28 Сейчас в теме
Можно попробовать предпоследний запрос разбить на несколько - которые по ОБЪЕДИНИТЬ в оригинале. А потом формировать ВТ объединением времянок.
27. elvira17 19.07.17 10:31 Сейчас в теме
(21) а вот так вот не работает
31. ImHunter 312 20.07.17 07:34 Сейчас в теме
Менеджер временных таблиц у объекта Запрос - назначен?
32. elvira17 20.07.17 07:36 Сейчас в теме
33. elvira17 20.07.17 07:42 Сейчас в теме
(31)может быть проблема, что он не может выполнить это запрос, в том, что выходит ошибка СУБД: Построенный запрос к СУБД использует слишком много таблиц? этой ошибки явно нигде не вижу, но она была, когда запрос был цельным.
34. ImHunter 312 20.07.17 07:46 Сейчас в теме
Ошибка просто вот такая - "Ошибка при вызове метода контекста (Выполнить)"? Больше информации нет?
42. Dream_kz 129 20.07.17 10:06 Сейчас в теме
А если стандартные настройки загрузить?
Запрос то проверяли, если его во внешнюю ОБРАБОТКУ добавить, чтобы просто проверить работоспособность отчета?
43. elvira17 20.07.17 12:39 Сейчас в теме
(42)с запросом разобралась) сама проворонила, не внимательно читала сам текст запроса)
44. elvira17 21.07.17 07:57 Сейчас в теме
Спасибо всем вам огромное! У меня получилось справиться с проблемой!
Все зарыто было все таки в этом: " идут левые соединения к дополнительным таблицам, из-за полей составного типа". Итоговому запросу с выборкой данных не понравились строки
	Данные.Регистратор.Дата КАК РегистраторДата,
	Данные.Регистратор.Номер КАК РегистраторНомер,

Ни за что бы не поверила сама, ведь поле Данные.Регистратор собирает нормально. В общем заменив эти поля на пустые, запрос заработал!))
Но до этого я бы не докопалась, если бы не начала разбивать на два запроса и использование ВнешнихНаборовДанных. Спасибо еще раз за помощь! Надеюсь кому-нибудь пригодится)
45. Dream_kz 129 21.07.17 08:37 Сейчас в теме
(44) Ну по идее все логично, поле составного типа, получаем значение через точку, значит идут левые соединения.
46. elvira17 21.07.17 09:10 Сейчас в теме
(45) не спорю, логично) но почему только эти два поля? помимо них еще штук 20 аналогичных полей.. да и Регитстратор.Номер - это ведь строка.
47. Dream_kz 129 21.07.17 09:15 Сейчас в теме
(46) Не важно строка или нет, так как регистратор это ссылка на какую-то таблицу, мы должны взять значение из этой таблицы, а таблиц таких много, ибо тип составной, вот и SQL пытается взять все таблицы в кучу, а потом из нужной взять то что просят, в конце концов требуемого реквизита может и не оказаться.
48. elvira17 21.07.17 09:59 Сейчас в теме
(47) это понятно) мне не понятно почему ссылку на сотрудника берет, ссылку на подразделение берет, а на регистратор нет? или может от того, что у регистратора тип определяемый указан?
49. Dream_kz 129 21.07.17 10:05 Сейчас в теме
(48) Возможно из-за этого, я так и не смог понять зачем нужны определяемые типы, пользоваться ими начали только в последних редакциях.
Оставьте свое сообщение
Вакансии
Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)

Программист 1С
Москва
зарплата от 250 000 руб.
Полный день

Программист 1C
Волгоград
зарплата от 200 000 руб.
Полный день

Аналитик
Санкт-Петербург
зарплата от 200 000 руб. до 250 000 руб.
Полный день