Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
25 ноя 2024, 20:05

Связь таблиц в запросе

Автор Алексей_1985_06, 21 фев 2021, 11:20

0 Пользователей и 1 гость просматривают эту тему.

Алексей_1985_06

Всем привет! Сразу к делу:
необходимо выводить список сотрудников и занимаемые ими должности (из РС "ПослужнойСписок") у некоторых сотрудников меняется классификация должности (военная\гражданская), т.е был военный стал гражданским человеком и в виду этого не нужно выводить воинское звание этого сотрудника (т.к он теперь гражданский). Код такой, но не могу додумать как вывести весь список сотрудников, а в поле "воинское звание" должно быть заполнено только для военнослужащих...:dfbbdrfb::dfbbdrfb::dfbbdrfb:


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

antoneus

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


Какой тип там у классификации должности - не знаю, подставьте какой надо.

Алексей_1985_06

Цитата: antoneus от 21 фев 2021, 20:14
ВЫБРАТЬ
ПослужнойСписокСрезПоследних.Сотрудник КАК Сотрудник,
ПослужнойСписокСрезПоследних.Должность КАК ЗанимаемаяДолжность,
ПослужнойСписокСрезПоследних.ЧейПриказ КАК ЧейПриказ,
ПослужнойСписокСрезПоследних.НомерПриказа КАК НомерПриказа,
ПослужнойСписокСрезПоследних.Период КАК ДатаПриказа,
ПослужнойСписокСрезПоследних.Подразделение КАК Подразделение,
ПослужнойСписокСрезПоследних.Должность.КлассификацияДолжности КАК ДолжностьКлассификацияДолжности,
ЕСТЬNULL(ВоинскиеЗванияСрезПоследних.ВоинскоеЗвание, "") КАК ВоинскоеЗвание
ИЗ
РегистрСведений.ПослужнойСписок.СрезПоследних(, Сотрудник.ПометкаУдаления = ЛОЖЬ) КАК ПослужнойСписокСрезПоследних
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ВоинскиеЗвания.СрезПоследних(, НЕ Сотрудник.ПометкаУдаления) КАК ВоинскиеЗванияСрезПоследних
ПО (ПослужнойСписокСрезПоследних.Сотрудник.Ссылка = ВоинскиеЗванияСрезПоследних.Сотрудник.Ссылка
                И ПослужнойСписокСрезПоследних.Должность.КлассификацияДолжности = "военный")


Какой тип там у классификации должности - не знаю, подставьте какой надо.

antoneus спасибо большое! Очень помогли...


Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск