Имя: Пароль:
1C
 
Соединение с условием
0 ArturDoo
 
31.05.22
13:21
Доброго дня. Нужно соединить таблицы Прогул и Больничный лист. Соединить их можно только по датам и сотруднику. Я ввел параметр отклонение, который влияет на дату начала и окончания таблицы прогулов:
    ДОБАВИТЬКДАТЕ(ДанныеСостоянийСотрудников.Начало, ДЕНЬ, -&Отклонение) КАК ДатаНачалаДопуски,
    ДОБАВИТЬКДАТЕ(ДанныеСостоянийСотрудников.Окончание, ДЕНЬ, &Отклонение) КАК ДатаОкончанияДопуски
Но кадрам хотят еще видеть данные без этого соединения. Можно ли как-то установить условие на соединение? Если &Отклонение = 0, соединения по датам нет и наоборот?
1 Галахад
 
гуру
31.05.22
13:31
По условие1 Или &Отклонение = 0
2 ArturDoo
 
31.05.22
13:37
(1) Можешь в коде показать?
    КадроваяИсторияСотрудниковСрезПоследних.Должность КАК Должность
ИЗ
    РегистрСведений.КадроваяИсторияСотрудников.СрезПоследних(&ТекДата, ) КАК КадроваяИсторияСотрудниковСрезПоследних
        ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Прогулы КАК ВТ_Прогулы
            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДанныеСостоянийСотрудников КАК ДанныеСостоянийСотрудников
            ПО (ДанныеСостоянийСотрудников.Сотрудник = ВТ_Прогулы.Сотрудник)
                И (ДанныеСостоянийСотрудников.Начало <> ВТ_Прогулы.Начало
                    ИЛИ ДанныеСостоянийСотрудников.Окончание <> ВТ_Прогулы.Окончание)
                И ДанныеСостоянийСотрудников.Начало >= ВТ_Прогулы.ДатаНачалаДопуски
                И ВТ_Прогулы.ДатаОкончанияДопуски <= ДанныеСостоянийСотрудников.Окончание
        ПО КадроваяИсторияСотрудниковСрезПоследних.Сотрудник = ВТ_Прогулы.Сотрудник
        ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Города КАК ВТ_Города
        ПО КадроваяИсторияСотрудниковСрезПоследних.Подразделение = ВТ_Города.Ссылка
ГДЕ
    ТИПЗНАЧЕНИЯ(ДанныеСостоянийСотрудников.Регистратор) = ТИП(Документ.БольничныйЛист)
    И ДанныеСостоянийСотрудников.Начало >= &ПНачало
3 Галахад
 
гуру
31.05.22
13:48
И (ДанныеСостоянийСотрудников.Начало >= ВТ_Прогулы.ДатаНачалаДопуски Или &Отклонение = 0)
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.