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

Помогите с запросом на форме списка

Автор Алексей_1985_06, 25 окт 2020, 15:27

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

Алексей_1985_06

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

IL2016

вы хотите увидеть в результате запроса последнюю должность сотрудника, который раньше был командиром подразделения? тогда уберите из запроса отбор
Цитата: Алексей_1985_06 от 25 окт 2020, 15:27Должность.КомандирСтруктурногоПодразделения = ИСТИНА


Алексей_1985_06

Цитата: IL2016 от 25 окт 2020, 18:24
вы хотите увидеть в результате запроса последнюю должность сотрудника, который раньше был командиром подразделения? тогда уберите из запроса отбор
Цитата: Алексей_1985_06 от 25 окт 2020, 15:27Должность.КомандирСтруктурногоПодразделения = ИСТИНА

Нет, я хочу увидеть сотрудника который сейчас занимает должность руководителя подразделения (чтобы его ФИО стояла напротив соответствующего подразделения). Т.е на форму должен выводится весь список подразделений, а из РС в колонку "Руководитель" записывалось ФИО руководителя этого подразделения.
Добавлено: 25 окт 2020, 21:49


Цитата: Алексей_1985_06 от 25 окт 2020, 19:46
Цитата: IL2016 от 25 окт 2020, 18:24
вы хотите увидеть в результате запроса последнюю должность сотрудника, который раньше был командиром подразделения? тогда уберите из запроса отбор
Цитата: Алексей_1985_06 от 25 окт 2020, 15:27Должность.КомандирСтруктурногоПодразделения = ИСТИНА

Нет, я хочу увидеть сотрудника который сейчас занимает должность руководителя подразделения (чтобы его ФИО стояла напротив соответствующего подразделения). Т.е на форму должен выводится весь список подразделений, а из РС в колонку "Руководитель" записывалось ФИО руководителя этого подразделения.

Блин всю голову изломал, что то я делаю нет так видимо. Никак не получается отобрать все подразделения и фамилию сотрудника, чья должность является руководителем этого подразделения :dfbbdrfb::dfbbdrfb::dfbbdrfb:
Подскажите кто знает???
Скрин из консоли запросов, прилагаю во вложении....

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

LexaK

добавьте отбор в левом соединении

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

Алексей_1985_06

Цитата: LexaK от 26 окт 2020, 10:18
добавьте отбор в левом соединении

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


LexaK Спасибо Вам огромное за помощь, все заработало как надо. Вы не первый раз оказываете мне помощь и как всегда на высоте!!!! Еще раз большое спасибо!

Теги:

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

Рейтинг@Mail.ru

Поиск