Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Отчет по отпускам
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
kosalex
Колонки отчета:

ФИО|Отдел|Должность|Вид отпуска|Начала отпуска|Окончание отпуска|Период отпуска|Основание для предоставление отпуска|№ приказа|Дата приказа|Кол-во дней

Помогите с запросом для этого отчета. Пишу так, не получается получить желаемое...
Нужно чтобы в отчете отображалось подразделение и должность на момент отпуска.

ВЫБРАТЬ
    ОтпускаОрганизацийРаботникиОрганизации.ВидОтпуска,
    ОтпускаОрганизацийРаботникиОрганизации.ДатаНачала,
    ОтпускаОрганизацийРаботникиОрганизации.ДатаОкончания,
    ОтпускаОрганизацийРаботникиОрганизации.Основание,
    ОтпускаОрганизацийРаботникиОрганизации.КвоДней,
    ОтпускаОрганизацийРаботникиОрганизации.Сотрудник,
    ОтпускаОрганизацийРаботникиОрганизации.Сотрудник.Код,
    РаботникиОрганизаций.ПодразделениеОрганизации,
    РаботникиОрганизаций.Должность
ИЗ
    Документ.ОтпускаОрганизаций.РаботникиОрганизации КАК ОтпускаОрганизацийРаботникиОрганизации
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций
        ПО ОтпускаОрганизацийРаботникиОрганизации.Ссылка = РаботникиОрганизаций.Сотрудник.Ссылка



Подразделение и должность беру из РС "РаботникиОрганизации", помогите с условием Объединения...
kosalex
Перенесите пожалуйста тему в раздел для программистов

Помогите с запросом!
Нужно выбрать всех сотрудников из док. "Отпуска организации" и подставить этим сотрудникам подразделение и должность на момент начала отпуска
Petre
Ну так срез же, как я понимаю...
kosalex
ВЫБРАТЬ
    ОтпускаОрганизацийРаботникиОрганизации.ВидОтпуска,
    ОтпускаОрганизацийРаботникиОрганизации.ДатаНачала,
    ОтпускаОрганизацийРаботникиОрганизации.ДатаОкончания,
    ВЫРАЗИТЬ(ОтпускаОрганизацийРаботникиОрганизации.Основание КАК СТРОКА(1000)) КАК Основание,
    ОтпускаОрганизацийРаботникиОрганизации.КвоДней,
    ОтпускаОрганизацийРаботникиОрганизации.Сотрудник,
    ОтпускаОрганизацийРаботникиОрганизации.Сотрудник.Код КАК СотрудникКод,
    ОтпускаОрганизацийРаботникиОрганизации.ДатаНачала КАК ПериодОтпуска,
    МАКСИМУМ(РаботникиОрганизаций.Период) КАК ПериодРС
ПОМЕСТИТЬ ВТ_Отпуск
ИЗ
    Документ.ОтпускаОрганизаций.РаботникиОрганизации КАК ОтпускаОрганизацийРаботникиОрганизации
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций
        ПО ОтпускаОрганизацийРаботникиОрганизации.Ссылка = РаботникиОрганизаций.Сотрудник.Ссылка
            И ОтпускаОрганизацийРаботникиОрганизации.ДатаНачала >= РаботникиОрганизаций.Период

СГРУППИРОВАТЬ ПО
    ОтпускаОрганизацийРаботникиОрганизации.ДатаОкончания,
    ВЫРАЗИТЬ(ОтпускаОрганизацийРаботникиОрганизации.Основание КАК СТРОКА(1000)),
    ОтпускаОрганизацийРаботникиОрганизации.ВидОтпуска,
    ОтпускаОрганизацийРаботникиОрганизации.Сотрудник,
    ОтпускаОрганизацийРаботникиОрганизации.КвоДней,
    ОтпускаОрганизацийРаботникиОрганизации.Сотрудник.Код,
    ОтпускаОрганизацийРаботникиОрганизации.ДатаНачала,
    ОтпускаОрганизацийРаботникиОрганизации.ДатаНачала
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ_Отпуск.ВидОтпуска,
    ВТ_Отпуск.ДатаНачала,
    ВТ_Отпуск.ДатаОкончания,
    ВТ_Отпуск.КвоДней,
    ВТ_Отпуск.Сотрудник,
    ВТ_Отпуск.СотрудникКод,
    ВТ_Отпуск.ПериодОтпуска,
    ВТ_Отпуск.Основание,
    РаботникиОрганизаций.ПодразделениеОрганизации,
    РаботникиОрганизаций.Должность,
    ВТ_Отпуск.ПериодРС
ИЗ
    ВТ_Отпуск КАК ВТ_Отпуск
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций
        ПО ВТ_Отпуск.ПериодРС = РаботникиОрганизаций.Период



В конструкторе запросов не выводит поля "ПодразделениеОрганизации" и "Должность"....
Посмотрите плиз!

Конфа. УПП 1.3.29.2 Укр.

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

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ_Отпуск.ВидОтпуска КАК ВидОтпуска,
    ВТ_Отпуск.ДатаНачала КАК ДатаНачала,
    ВТ_Отпуск.ДатаОкончания КАК ДатаОкончания,
    ВТ_Отпуск.КвоДней КАК КвоДней,
    ВТ_Отпуск.Сотрудник КАК Сотрудник,
    ВТ_Отпуск.СотрудникКод КАК СотрудникКод,
    ВТ_Отпуск.ПериодОтпуска КАК ПериодОтпуска,
    ВТ_Отпуск.ПериодРС,
    РаботникиОрганизаций.ПодразделениеОрганизации,
    РаботникиОрганизаций.Должность
ИЗ
    ВТ_Отпуск КАК ВТ_Отпуск
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций
        ПО ВТ_Отпуск.Сотрудник = РаботникиОрганизаций.Сотрудник
ГДЕ
    ВТ_Отпуск.ПериодРС = РаботникиОрганизаций.Период
sava1
Все выводит. По крайней мере в СКД.

А вот эта хрень -
Цитата(kosalex @ 28.07.14, 10:52) необходимо зарегистрироваться для просмотра ссылки
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций
        ПО ВТ_Отпуск.Сотрудник = РаботникиОрганизаций.Сотрудник
ГДЕ
    ВТ_Отпуск.ПериодРС = РаботникиОрганизаций.Период


это внутреннее соединение
kosalex
Цитата(sava1 @ 28.07.14, 11:04) необходимо зарегистрироваться для просмотра ссылки
Все выводит. По крайней мере в СКД.

А вот эта хрень -


это внутреннее соединение



Т.е. галочку с "Все" нужно снять?
sava1
Типо "ДА"
kosalex
В запросе данные берутся "ВСЕ" не органичивають периодом, в отчете хочу ограничивать периодом "Дата начала", "Дата окончания" .

Делаю так:




Не получается желаемое...
sava1
покажите реальный текст запроса
kosalex
Цитата(sava1 @ 28.07.14, 11:34) необходимо зарегистрироваться для просмотра ссылки
покажите реальный текст запроса


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

СГРУППИРОВАТЬ ПО
    ОтпускаОрганизацийРаботникиОрганизации.ДатаНачала,
    ВЫРАЗИТЬ(ОтпускаОрганизацийРаботникиОрганизации.Основание КАК СТРОКА(200)),
    ОтпускаОрганизацийРаботникиОрганизации.ВидОтпуска,
    ОтпускаОрганизацийРаботникиОрганизации.ДатаОкончания,
    ОтпускаОрганизацийРаботникиОрганизации.Сотрудник,
    ОтпускаОрганизацийРаботникиОрганизации.КвоДней,
    ОтпускаОрганизацийРаботникиОрганизации.Сотрудник.Код,
    ОтпускаОрганизацийРаботникиОрганизации.Ссылка.Дата,
    ОтпускаОрганизацийРаботникиОрганизации.ДатаНачала
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ_Отпуск.ВидОтпуска КАК ВидОтпуска,
    ВТ_Отпуск.ДатаНачала КАК ДатаНачала,
    ВТ_Отпуск.ДатаОкончания КАК ДатаОкончания,
    ВТ_Отпуск.КвоДней КАК КвоДней,
    ВТ_Отпуск.Сотрудник КАК Сотрудник,
    ВТ_Отпуск.СотрудникКод КАК СотрудникКод,
    ВТ_Отпуск.ПериодОтпуска КАК ПериодОтпуска,
    ВТ_Отпуск.ПериодРС,
    РаботникиОрганизаций.ПодразделениеОрганизации,
    РаботникиОрганизаций.Должность,
    ВТ_Отпуск.Основание,
    ВТ_Отпуск.ДатаПриказа
ИЗ
    ВТ_Отпуск КАК ВТ_Отпуск
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций
        ПО ВТ_Отпуск.Сотрудник = РаботникиОрганизаций.Сотрудник
ГДЕ
    ВТ_Отпуск.ПериодРС = РаботникиОрганизаций.Период



Я думаю,что через параметры не получиться в этом запросе, т.к. в самом запросе нигде нет параметров. По этому в самом СКД в настройках отчета добавил поля "Отбор"
sava1
Цитата(kosalex @ 28.07.14, 12:14) необходимо зарегистрироваться для просмотра ссылки
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций
        ПО ВТ_Отпуск.Сотрудник = РаботникиОрганизаций.Сотрудник
ГДЕ
    ВТ_Отпуск.ПериодРС = РаботникиОрганизаций.Период


ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций
        ПО ВТ_Отпуск.Сотрудник = РаботникиОрганизаций.Сотрудник
        И   ВТ_Отпуск.ПериодРС = РаботникиОрганизаций.Период


не получается что?
kosalex
Цитата(sava1 @ 28.07.14, 12:24) необходимо зарегистрироваться для просмотра ссылки
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций
        ПО ВТ_Отпуск.Сотрудник = РаботникиОрганизаций.Сотрудник
        И   ВТ_Отпуск.ПериодРС = РаботникиОрганизаций.Период


не получается что?



Все уже получилось, пред. пост содержит решение. За исключением вашего замечания smile.gif

Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.