Неоднозначное после

1. TrinCars 08.08.24 12:22 Сейчас в теме
Знаю, что вопрос максимально глупый, но у меня уже глаза замылились

 ВЫБРАТЬ
	БольничныйЛист.Сотрудник КАК Сотрудник,
	СУММА(РАЗНОСТЬДАТ(БольничныйЛист.ДатаНачала, БольничныйЛист.ДатаОкончания, ДЕНЬ) + 1) КАК Дней
ПОМЕСТИТЬ ДнейНаБольничном
ИЗ
	Документ.БольничныйЛист КАК БольничныйЛист

СГРУППИРОВАТЬ ПО
	БольничныйЛист.Сотрудник
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	Отпуск.Сотрудник КАК Сотрудник,
	СУММА(Отпуск.КоличествоДнейОсновногоОтпуска) КАК КоличествоДнейОсновногоОтпуска
ПОМЕСТИТЬ Отпуск
ИЗ
	Документ.Отпуск КАК Отпуск
ГДЕ
	Отпуск.НачалоОтпуска < &НачалоОтпуска

СГРУППИРОВАТЬ ПО
	Отпуск.Сотрудник
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ОтпускБезСохраненияОплаты.Сотрудник КАК Сотрудник,
	СУММА(РАЗНОСТЬДАТ(ОтпускБезСохраненияОплаты.ДатаНачала, ОтпускБезСохраненияОплаты.ДатаОкончания, ДЕНЬ) + 1) КАК Дней
ПОМЕСТИТЬ ОтпускБезЗП
ИЗ
	Документ.ОтпускБезСохраненияОплаты КАК ОтпускБезСохраненияОплаты

СГРУППИРОВАТЬ ПО
	ОтпускБезСохраненияОплаты.Сотрудник
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ОплатаПоСреднемуЗаработку.Сотрудник КАК Сотрудник,
	СУММА(РАЗНОСТЬДАТ(ОплатаПоСреднемуЗаработку.ДатаНачала, ОплатаПоСреднемуЗаработку.ДатаОкончания, ДЕНЬ) + 1) КАК Дней
ПОМЕСТИТЬ ДопОтпуск
ИЗ
	Документ.ОплатаПоСреднемуЗаработку КАК ОплатаПоСреднемуЗаработку

СГРУППИРОВАТЬ ПО
	ОплатаПоСреднемуЗаработку.Сотрудник
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ГрафикРаботыСотрудниковСрезПоследних.Сотрудник КАК Сотрудник,
	ГрафикРаботыСотрудниковСрезПоследних.ГрафикРаботы КАК ГрафикРаботы,
	ГрафикРаботыСотрудниковСрезПоследних.ГрафикРаботы.ДлительностьРабочейНедели * 4 КАК ЧасовПоГрафику
ПОМЕСТИТЬ ГрафикРаботы
ИЗ
	РегистрСведений.ГрафикРаботыСотрудников.СрезПоследних КАК ГрафикРаботыСотрудниковСрезПоследних

СГРУППИРОВАТЬ ПО
	ГрафикРаботыСотрудниковСрезПоследних.Сотрудник,
	ГрафикРаботыСотрудниковСрезПоследних.ГрафикРаботы,
	ГрафикРаботыСотрудниковСрезПоследних.ГрафикРаботы.ДлительностьРабочейНедели * 4
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	РаботаВВыходныеИПраздничныеДниСотрудники.Сотрудник КАК Сотрудник,
	ВЫБОР
		КОГДА ДЕНЬНЕДЕЛИ(РаботаВВыходныеИПраздничныеДниСотрудники.Дата) = 1
				ИЛИ ДЕНЬНЕДЕЛИ(РаботаВВыходныеИПраздничныеДниСотрудники.Дата) = 2
				ИЛИ ДЕНЬНЕДЕЛИ(РаботаВВыходныеИПраздничныеДниСотрудники.Дата) = 3
				ИЛИ ДЕНЬНЕДЕЛИ(РаботаВВыходныеИПраздничныеДниСотрудники.Дата) = 4
				ИЛИ ДЕНЬНЕДЕЛИ(РаботаВВыходныеИПраздничныеДниСотрудники.Дата) = 5
			ТОГДА СУММА(РаботаВВыходныеИПраздничныеДниСотрудники.ОтработаноЧасов)
	КОНЕЦ КАК СВ,
	ВЫБОР
		КОГДА ДЕНЬНЕДЕЛИ(РаботаВВыходныеИПраздничныеДниСотрудники.Дата) = 6
				ИЛИ ДЕНЬНЕДЕЛИ(РаботаВВыходныеИПраздничныеДниСотрудники.Дата) = 7
			ТОГДА СУММА(РаботаВВыходныеИПраздничныеДниСотрудники.ОтработаноЧасов)
	КОНЕЦ КАК РВ
ПОМЕСТИТЬ РВИСВ
ИЗ
	Документ.РаботаВВыходныеИПраздничныеДни.Сотрудники КАК РаботаВВыходныеИПраздничныеДниСотрудники
ГДЕ
	РаботаВВыходныеИПраздничныеДниСотрудники.ОтработаноЧасов <> 0

СГРУППИРОВАТЬ ПО
	РаботаВВыходныеИПраздничныеДниСотрудники.Сотрудник,
	РаботаВВыходныеИПраздничныеДниСотрудники.Дата
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
	КадроваяИсторияСотрудниковСрезПоследних.Сотрудник КАК Сотрудник,
	КадроваяИсторияСотрудниковСрезПоследних.Подразделение КАК Подразделение,
	КадроваяИсторияСотрудниковСрезПоследних.Должность КАК Должность,
	КадроваяИсторияСотрудниковСрезПоследних.Регистратор.ДатаПриема КАК ДатаПриема
ИЗ
	РегистрСведений.КадроваяИсторияСотрудников.СрезПоследних(&ДатаПриема, ) КАК КадроваяИсторияСотрудниковСрезПоследних
		ЛЕВОЕ СОЕДИНЕНИЕ ДнейНаБольничном КАК ДнейНаБольничном
		ПО КадроваяИсторияСотрудниковСрезПоследних.Сотрудник = ДнейНаБольничном.Сотрудник
		ЛЕВОЕ СОЕДИНЕНИЕ Отпуск КАК Отпуск
		ПО КадроваяИсторияСотрудниковСрезПоследних.Сотрудник = Отпуск.Сотрудник
		ЛЕВОЕ СОЕДИНЕНИЕ ОтпускБезЗП КАК ОтпускБезЗП
		
		
		ПО КадроваяИсторияСотрудниковСрезПоследних.Сотрудник = ОтпускБезЗП.Сотрудник
		ЛЕВОЕ СОЕДИНЕНИЕ ГрафикРаботы КАК ГрафикРаботы2
		
		
		ПО КадроваяИсторияСотрудниковСрезПоследних.Сотрудник = ГрафикРаботы2.Сотрудник
		ЛЕВОЕ СОЕДИНЕНИЕ РВИСВ КАК РВИСВ
		ПО КадроваяИсторияСотрудниковСрезПоследних.Сотрудник = РВИСВ.Сотрудник
Показать
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
2. user2033930 08.08.24 12:26 Сейчас в теме
В таблице ГрафикРаботы есть поле ГрафикРаботы.
Система не понимает конструкций типа ГрафикРаботы.ГрафикРаботы...
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user2033930 08.08.24 12:26 Сейчас в теме
В таблице ГрафикРаботы есть поле ГрафикРаботы.
Система не понимает конструкций типа ГрафикРаботы.ГрафикРаботы...
3. polax 08.08.24 12:36 Сейчас в теме
На вопрос, ответ в (2)
А у меня вопрос к ТС. Зачем все эти временные таблицы, если в результирующей только поля из одного регистра и нет ни одного условия по соединяемым таблицам. Вся эта конструкция запроса равнозначна запросу
ВЫБРАТЬ РАЗЛИЧНЫЕ
    КадроваяИсторияСотрудниковСрезПоследних.Сотрудник КАК Сотрудник,
    КадроваяИсторияСотрудниковСрезПоследних.Подразделение КАК Подразделение,
    КадроваяИсторияСотрудниковСрезПоследних.Должность КАК Должность,
    КадроваяИсторияСотрудниковСрезПоследних.Регистратор.ДатаПриема КАК ДатаПриема
ИЗ
    РегистрСведений.КадроваяИсторияСотрудников.СрезПоследних(&ДатаПриема, ) КАК КадроваяИсторияСотрудниковСрезПоследних

И не надо никаких ВТ. Или что-то не продумано/недодумано
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот