Доброго дня! Є такий варіант:
в мене вийшло те що потрібно
ВЫБРАТЬ
0 КАК n
ПОМЕСТИТЬ Т_Цифри
ОБЪЕДИНИТЬ
ВЫБРАТЬ
1
ОБЪЕДИНИТЬ
ВЫБРАТЬ
2
ОБЪЕДИНИТЬ
ВЫБРАТЬ
3
ОБЪЕДИНИТЬ
ВЫБРАТЬ
4
ОБЪЕДИНИТЬ
ВЫБРАТЬ
5
ОБЪЕДИНИТЬ
ВЫБРАТЬ
6
ОБЪЕДИНИТЬ
ВЫБРАТЬ
7
ОБЪЕДИНИТЬ
ВЫБРАТЬ
8
ОБЪЕДИНИТЬ
ВЫБРАТЬ
9
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(&Дата1, ГОД, а_Одиниці.n + б_Десятки.n * 10 + в_Сотні.n * 100 + г_Тисячі.n * 1000) КАК Дата
ПОМЕСТИТЬ Т_Дат
ИЗ
Т_Цифри КАК а_Одиниці
ЛЕВОЕ СОЕДИНЕНИЕ Т_Цифри КАК б_Десятки
ПО (ИСТИНА)
ЛЕВОЕ СОЕДИНЕНИЕ Т_Цифри КАК в_Сотні
ПО (ИСТИНА)
ЛЕВОЕ СОЕДИНЕНИЕ Т_Цифри КАК г_Тисячі
ПО (ИСТИНА)
ГДЕ
а_Одиниці.n + б_Десятки.n * 10 + в_Сотні.n * 100 + г_Тисячі.n * 1000 <= РАЗНОСТЬДАТ(&Дата1, &Дата2, ГОД)
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВложенныйЗапрос.Сотрудник КАК Робітник,
МАКСИМУМ(ВложенныйЗапрос.ДатаПрийому) КАК ДатаПрийому,
МАКСИМУМ(ВложенныйЗапрос.ДатаЗвільнення) КАК ДатаЗвільнення
ПОМЕСТИТЬ Т_Робітників
ИЗ
(ВЫБРАТЬ
РаботникиОрганизаций.Сотрудник КАК Сотрудник,
РаботникиОрганизаций.Период КАК ДатаПрийому,
NULL КАК ДатаЗвільнення
ИЗ
РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций
ГДЕ
РаботникиОрганизаций.ПричинаИзмененияСостояния = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.ПриемНаРаботу)
И РаботникиОрганизаций.Сотрудник = &Сотрудник
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
РаботникиОрганизаций.Сотрудник,
NULL,
РаботникиОрганизаций.Период
ИЗ
РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций
ГДЕ
РаботникиОрганизаций.ПричинаИзмененияСостояния = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
И РаботникиОрганизаций.Сотрудник = &Сотрудник) КАК ВложенныйЗапрос
СГРУППИРОВАТЬ ПО
ВложенныйЗапрос.Сотрудник
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
Т_Робітників.Робітник,
ГОД(Т_Дат.Дата) КАК Рік,
ВЫБОР
КОГДА Т_Робітників.ДатаПрийому МЕЖДУ НАЧАЛОПЕРИОДА(Т_Дат.Дата, ГОД) И КОНЕЦПЕРИОДА(Т_Дат.Дата, ГОД)
ТОГДА Т_Робітників.ДатаПрийому
ИНАЧЕ Т_Дат.Дата
КОНЕЦ КАК ДатаПочаток,
ВЫБОР
КОГДА Т_Робітників.ДатаЗвільнення МЕЖДУ НАЧАЛОПЕРИОДА(Т_Дат.Дата, ГОД) И КОНЕЦПЕРИОДА(Т_Дат.Дата, ГОД)
ТОГДА Т_Робітників.ДатаЗвільнення
ИНАЧЕ КОНЕЦПЕРИОДА(Т_Дат.Дата, ГОД)
КОНЕЦ КАК ДатаКінець
ИЗ
Т_Робітників КАК Т_Робітників,
Т_Дат КАК Т_Дат