V82.ОбщиеМодули.ФормированиеСпискаРаботниковПереопределяемый.ПолучитьТекстЗапросаНачальныеНастройкиДругиеРегистры C# (CSharp) Method

ПолучитьТекстЗапросаНачальныеНастройкиДругиеРегистры() public method

        public object ПолучитьТекстЗапросаНачальныеНастройкиДругиеРегистры(/*ОбработкаОбъект, СтруктураПредставлениеПолей, СтруктураФорматаПолей, СоответствиеНазначений, СтруктураДляОтбораПоКатегориям, ТаблицаПолей, СтрокаТаблицаПолей, ТекстПоляКатегорий, ТекстПоляСвойств*/)
        {
            //ТекстЗапроса = "";
            if(true/*ОбработкаОбъект.ВыбиратьСотрудника*/)
            {
                /*ТекстЗапроса =
            "ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
            |	Сотрудники.Сотрудник КАК Сотрудник,
            |	Сотрудники.Сотрудник.Наименование КАК ФИО,
            |	РаботникиОрганизации.ФизЛицо КАК Физлицо,
            |	ВЫБОР
            |		КОГДА ПриказыОПриеме.Период > НАЧАЛОПЕРИОДА(&ДатаАктуальности, МЕСЯЦ)
            |			ТОГДА ПриказыОПриеме.Период
            |		ИНАЧЕ НАЧАЛОПЕРИОДА(&ДатаАктуальности, МЕСЯЦ)
            |	КОНЕЦ КАК ДатаНачала,
            |	ВЫБОР
            |		КОГДА ДОБАВИТЬКДАТЕ(КОНЕЦПЕРИОДА(ПриказыОбУвольнении.Период, ДЕНЬ),ДЕНЬ,-1) МЕЖДУ НАЧАЛОПЕРИОДА(&ДатаАктуальности, МЕСЯЦ) И КОНЕЦПЕРИОДА(&ДатаАктуальности, МЕСЯЦ)
            |			ТОГДА ДОБАВИТЬКДАТЕ(КОНЕЦПЕРИОДА(ПриказыОбУвольнении.Период, ДЕНЬ),ДЕНЬ,-1)
            |		ИНАЧЕ КОНЕЦПЕРИОДА(&ДатаАктуальности, МЕСЯЦ)
            |	КОНЕЦ КАК ДатаОкончания,
            |	РаботникиОрганизации.ГрафикРаботы,
            |	РаботникиОрганизации.ЗанимаемыхСтавок,
            |	РаботникиОрганизации.Должность,
            |	РаботникиОрганизации.Подразделение КАК Подразделение
            |ПОМЕСТИТЬ ВТСписокРаботников
            |{ВЫБРАТЬ
            |	Сотрудник,
            |	ФИО,
            |	Физлицо,
            |	ДатаНачала,
            |	ДатаОкончания,
            |	ГрафикРаботы,
            |	ЗанимаемыхСтавок,
            |	Должность,
            |	Подразделение
            |}
            |ИЗ
            |	РегистрСведений.Работники.СрезПоследних(&ДатаАктуальности, ) КАК РаботникиОрганизации
            |		{ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            |				МАКСИМУМ(Работники.Период) КАК Период,
            |				РегистрРаботники.ФизЛицо КАК Физлицо
            |			ИЗ
            |				РегистрСведений.Работники.СрезПоследних(&ДатаАктуальности, ) КАК РегистрРаботники
            |					ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.Работники КАК Работники
            |					ПО РегистрРаботники.ФизЛицо = Работники.ФизЛицо
            |						И Работники.Период <= РегистрРаботники.Период
            |						И (Работники.ПричинаИзмененияСостояния = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.ПриемНаРаботу))
            |			{ГДЕ
            |				РегистрРаботники.Должность КАК Должность,
            |				РегистрРаботники.ГрафикРаботы КАК ГрафикРаботы,
            |				РегистрРаботники.ЗанимаемыхСтавок КАК ЗанимаемыхСтавок,
            |				РегистрРаботники.Подразделение КАК Подразделение}
            |
            |			СГРУППИРОВАТЬ ПО
            |				РегистрРаботники.ФизЛицо) КАК ПриказыОПриеме
            |		ПО ПриказыОПриеме.Физлицо = РаботникиОрганизации.ФизЛицо}
            |		ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            |			МАКСИМУМ(Работники.Период) КАК Период,
            |			РегистрРаботники.ФизЛицо КАК Физлицо
            |		ИЗ
            |			РегистрСведений.Работники.СрезПоследних(&ДатаАктуальности, ) КАК РегистрРаботники
            |				ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.Работники КАК Работники
            |				ПО РегистрРаботники.ФизЛицо = Работники.ФизЛицо
            |					И (Работники.Период <= РегистрРаботники.Период)
            |					И (Работники.ПричинаИзмененияСостояния = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение))
            |		{ГДЕ
            |			РегистрРаботники.Должность КАК Должность,
            |			РегистрРаботники.ГрафикРаботы КАК ГрафикРаботы,
            |			РегистрРаботники.ЗанимаемыхСтавок КАК ЗанимаемыхСтавок,
            |			РегистрРаботники.Подразделение КАК Подразделение}
            |
            |		СГРУППИРОВАТЬ ПО
            |			РегистрРаботники.ФизЛицо) КАК ПриказыОбУвольнении
            |		ПО РаботникиОрганизации.ФизЛицо = ПриказыОбУвольнении.Физлицо
            |		ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            |			СписокСотрудников.Сотрудник КАК Сотрудник,
            |			СписокСотрудников.Физлицо КАК Физлицо
            |		ИЗ
            |			(ВЫБРАТЬ
            |				МАКСИМУМ(РаботникиОсновноеМесто.Сотрудник) КАК Сотрудник,
            |				РаботникиОсновноеМесто.Сотрудник.Физлицо КАК Физлицо,
            |				1 КАК Приоритет
            |			ИЗ
            |				РегистрСведений.РаботникиОрганизаций.СрезПоследних(
            |					&ДатаАктуальности,
            |					Сотрудник.ВидЗанятости = ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.ОсновноеМестоРаботы)) КАК РаботникиОсновноеМесто
            |			ГДЕ
            |				ВЫБОР
            |					КОГДА РаботникиОсновноеМесто.ПериодЗавершения <= &ДатаАктуальности
            |						И РаботникиОсновноеМесто.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
            |					ТОГДА РаботникиОсновноеМесто.ПричинаИзмененияСостоянияЗавершения
            |					ИНАЧЕ РаботникиОсновноеМесто.ПричинаИзмененияСостояния
            |				КОНЕЦ  <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
            |
            |			СГРУППИРОВАТЬ ПО
            |				РаботникиОсновноеМесто.Сотрудник.Физлицо
            |
            |			ОБЪЕДИНИТЬ
            |
            |			ВЫБРАТЬ
            |				МАКСИМУМ(РаботникиСовместительство.Сотрудник),
            |				РаботникиСовместительство.Сотрудник.Физлицо,
            |				2
            |			ИЗ
            |				РегистрСведений.РаботникиОрганизаций.СрезПоследних(
            |					&ДатаАктуальности,
            |					Сотрудник.ВидЗанятости = ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.Совместительство)) КАК РаботникиСовместительство
            |			ГДЕ
            |				ВЫБОР
            |					КОГДА РаботникиСовместительство.ПериодЗавершения <= &ДатаАктуальности
            |						И РаботникиСовместительство.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
            |					ТОГДА РаботникиСовместительство.ПричинаИзмененияСостоянияЗавершения
            |					ИНАЧЕ РаботникиСовместительство.ПричинаИзмененияСостояния
            |				КОНЕЦ <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
            |
            |			СГРУППИРОВАТЬ ПО
            |				РаботникиСовместительство.Сотрудник.Физлицо
            |
            |			ОБЪЕДИНИТЬ
            |
            |			ВЫБРАТЬ
            |				МАКСИМУМ(СотрудникиДУ.Ссылка),
            |				СотрудникиДУ.Физлицо,
            |				ВЫБОР
            |					КОГДА СотрудникиДУ.ВидДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровСФизЛицами.ДоговорУправленческий)
            |						ТОГДА 3
            |					КОГДА СотрудникиДУ.ВидДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровСФизЛицами.ТрудовойДоговор)
            |						ТОГДА 4
            |					ИНАЧЕ 5
            |				КОНЕЦ
            |			ИЗ
            |				Справочник.СотрудникиОрганизаций КАК СотрудникиДУ
            |
            |			СГРУППИРОВАТЬ ПО
            |				СотрудникиДУ.Физлицо,
            |				ВЫБОР
            |					КОГДА СотрудникиДУ.ВидДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровСФизЛицами.ДоговорУправленческий)
            |						ТОГДА 3
            |					КОГДА СотрудникиДУ.ВидДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровСФизЛицами.ТрудовойДоговор)
            |						ТОГДА 4
            |					ИНАЧЕ 5
            |				КОНЕЦ) КАК СписокСотрудников
            |				ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            |					СписокФизическихЛиц.Физлицо КАК Физлицо,
            |					МИНИМУМ(СписокФизическихЛиц.Приоритет) КАК Приоритет
            |				ИЗ
            |					(ВЫБРАТЬ
            |						РаботникиОсновноеМесто.Сотрудник.Физлицо КАК Физлицо,
            |						1 КАК Приоритет
            |					ИЗ
            |						РегистрСведений.РаботникиОрганизаций.СрезПоследних(
            |							&ДатаАктуальности,
            |							Сотрудник.ВидДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровСФизЛицами.ТрудовойДоговор)
            |								И Сотрудник.ВидЗанятости = ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.ОсновноеМестоРаботы)) КАК РаботникиОсновноеМесто
            |					ГДЕ
            |						ВЫБОР
            |							КОГДА РаботникиОсновноеМесто.ПериодЗавершения <= &ДатаАктуальности
            |								И РаботникиОсновноеМесто.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
            |							ТОГДА РаботникиОсновноеМесто.ПричинаИзмененияСостоянияЗавершения
            |							ИНАЧЕ РаботникиОсновноеМесто.ПричинаИзмененияСостояния
            |						КОНЕЦ <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
            |
            |					ОБЪЕДИНИТЬ
            |
            |					ВЫБРАТЬ
            |						РаботникиСовместительство.Сотрудник.Физлицо,
            |						2
            |					ИЗ
            |						РегистрСведений.РаботникиОрганизаций.СрезПоследних(
            |							&ДатаАктуальности,
            |							Сотрудник.ВидДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровСФизЛицами.ТрудовойДоговор)
            |								И Сотрудник.ВидЗанятости = ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.Совместительство)) КАК РаботникиСовместительство
            |					ГДЕ
            |						ВЫБОР
            |							КОГДА РаботникиСовместительство.ПериодЗавершения <= &ДатаАктуальности
            |								И РаботникиСовместительство.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
            |							ТОГДА РаботникиСовместительство.ПричинаИзмененияСостоянияЗавершения
            |							ИНАЧЕ РаботникиСовместительство.ПричинаИзмененияСостояния
            |						КОНЕЦ <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
            |
            |					ОБЪЕДИНИТЬ
            |
            |					ВЫБРАТЬ
            |						СотрудникиДУ.Физлицо,
            |						ВЫБОР
            |							КОГДА СотрудникиДУ.ВидДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровСФизЛицами.ДоговорУправленческий)
            |								ТОГДА 3
            |							КОГДА СотрудникиДУ.ВидДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровСФизЛицами.ТрудовойДоговор)
            |								ТОГДА 4
            |							ИНАЧЕ 5
            |						КОНЕЦ
            |					ИЗ
            |						Справочник.СотрудникиОрганизаций КАК СотрудникиДУ) КАК СписокФизическихЛиц
            |
            |				СГРУППИРОВАТЬ ПО
            |					СписокФизическихЛиц.Физлицо) КАК СписокФизическихЛиц
            |				ПО СписокСотрудников.Физлицо = СписокФизическихЛиц.Физлицо
            |					И СписокСотрудников.Приоритет = СписокФизическихЛиц.Приоритет) КАК Сотрудники
            |		ПО РаботникиОрганизации.ФизЛицо = Сотрудники.Физлицо
            |		//ДАННЫЕ О ФИЗЛИЦЕ: СОЕДИНЕНИЯ
            |		//СОЕДИНЕНИЯ СВОЙСТВ И КАТЕГОРИЙ
            |//УСЛОВИЕ
            |{ГДЕ
            |	Сотрудники.Сотрудник КАК Работник,
            |	Сотрудники.Сотрудник.Родитель КАК Группа,
            |	РаботникиОрганизации.Должность.* КАК Должность,
            |	РаботникиОрганизации.ГрафикРаботы.* КАК ГрафикРаботы,
            |	РаботникиОрганизации.ЗанимаемыхСтавок КАК ЗанимаемыхСтавок,
            |	ПриказыОПриеме.Период КАК ДатаПриема,
            |	РаботникиОрганизации.Подразделение КАК Подразделение
            |	//ДАННЫЕ О ФИЗЛИЦЕ: ПОЛЯ
            |	//СВОЙСТВА
            |	//КАТЕГОРИИ
            |}
            |";*/
            }
            if(true/*Не ОбработкаОбъект.ВключатьУволенных*/)
            {
                /*СтрокаУсловия =
            "ГДЕ
            |	РаботникиОрганизации.ПричинаИзмененияСостояния <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
            |";*/
                //ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "//УСЛОВИЕ", СтрокаУсловия);
            }
            /*// Преобразуем текст запроса для получения полной информации о физлице
            */
            //УправлениеОтчетами.ДобавитьВТекстПостроителяДанныеОФизлице(ТекстЗапроса, СтруктураПредставлениеПолей, СтруктураФорматаПолей, "РаботникиОрганизации", "Физлицо");
            if(true/*ОбработкаОбъект.ВыбиратьСотрудника*/)
            {
                /*// здесь добавим свойства сотрудника
            */
                //СтрокаТаблицаПолей.ПутьКДанным = "Сотрудники.Сотрудник";
                //СтрокаТаблицаПолей.Назначение = ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_СотрудникиОрганизаций;
                //НоваяСтрока = ТаблицаПолей.Добавить();
                //НоваяСтрока.Представление = "физического лица";
            }
            /*// теперь добавим свойства физлица
            */
            //НоваяСтрока.ПутьКДанным = "РаботникиОрганизации.Физлицо";
            //НоваяСтрока.Назначение = ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_ФизическиеЛица;
            /*// Добавим строки запроса, необходимые для использования свойств и категорий
            */
            //ТекстПоляКатегорий = "";
            //ТекстПоляСвойств = "";
            //УправлениеОтчетами.ДобавитьВТекстСвойстваИКатегории(ТаблицаПолей, ТекстЗапроса, СтруктураПредставлениеПолей, СоответствиеНазначений, ОбработкаОбъект.ПостроительОтчета.Параметры,,ТекстПоляКатегорий,ТекстПоляСвойств,,,,"//СОЕДИНЕНИЯ СВОЙСТВ И КАТЕГОРИЙ",, СтруктураДляОтбораПоКатегориям);
            return null;
        }
ФормированиеСпискаРаботниковПереопределяемый