Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Помогите составить запрос
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Пользователю 1С 8.3, 8.2, 8.1, 8.0 > 1С Управление производственным предприятием 8
logist
Помогите составить запрос (для использования в консоли отчетов):
Нужно по всем сотрудникам выбрать тех у которых нет льгот (в регистре где хранятся льготы по ним ничего нет).

Возможно есть какой-то другой подход, цель - получить список работников у которых нет льгот.
Vofka
Может так:

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

УПОРЯДОЧИТЬ ПО
    Наименование


?

Блин туплю, так покажет тех, у кого есть льготы.
Vofka
А тех, у кого нет льготы - может так:

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

УПОРЯДОЧИТЬ ПО
    Наименование


ЗЫ. проверить сейчас не могу, не на чем smile.gif
Vofka
Или даже наверное так:

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

УПОРЯДОЧИТЬ ПО
    Наименование
Ardi
Примерный текст такой:

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

УПОРЯДОЧИТЬ ПО
    Наименование


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