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

Запрос

Автор gliokker, 26 сен 2013, 13:21

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

gliokker

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


Это запрос для внешней печ формы. СотрудникиОрганизаций.Наименование это ФИО сотрудника.Вот только при выполнении в печатную форму попадает первый сотрудник из справочника номенклатура а не тот который нужен. может параметры какие то надо вставить или ещё что то?

Dethmontt

Мне заинтересовал один момент - при чем тут номенклатура?
В просторах интернета полно книг по запросам в 1С.

P.S. - http://forum.klerk.ru/showthread.php?t=484989&p=53968137&viewfull=1#post53968137

Создание запроса в 1С Предприятие 8.2

Имеется 1С Предприятие 8.2 Конфигурация: Управление производственным предприятием, редакция 1.3 (1.3.27.2)
Имеется запрос (купированный)

Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;

// Установим параметры запроса
Запрос.УстановитьПараметр("СправочникСсылка", СсылкаНаОбъект);
Запрос.УстановитьПараметр("Организация", СсылкаНаОбъект.ОбособленноеПодразделение);
Запрос.УстановитьПараметр("ДатаДокумента", СсылкаНаОбъект.ДатаДоговора);
Запрос.УстановитьПараметр("ЮристСсылка",Перечисления.ОтветственныеЛицаОрганизаций.ПустаяСсылка());
Запрос.Текст =
"ВЫБРАТЬ
| ОтветственныеЛицаОрганизацийСрезПоследнихЮрисконсульт.ФизическоеЛицо КАК Юрисконсульт,
| ОтветственныеЛицаОрганизацийСрезПоследнихЮрисконсульт.Должность.Ссылка,
| ОтветственныеЛицаОрганизацийСрезПоследнихЮрисконсульт.Должность.Должность.Ссылка
ИЗ
| Справочник.СотрудникиОрганизаций КАК ТрудовойДоговор
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ОтветственныеЛицаОрганизаций.СрезПоследних(
| &ДатаДокумента,
| ОтветственноеЛицо = &ЮристСсылка
| И СтруктурнаяЕдиница = &Организация) AS ОтветственныеЛицаОрганизацийСрезПоследнихЮрисконсульт
| ПО (ИСТИНА)
|ГДЕ
| ТрудовойДоговор.Ссылка = &СправочникСсылка";
Возврат Запрос.Выполнить();

Данный запрос возвращает Ф.И.О. физического лица и должность если поле "Ответсвенное лицо" не заполнено т.е. Перечисления.ОтветственныеЛицаОрганизаций.ПустаяСсылка()
при единичной записи. Запрос работает.
Но! Если в справочник "Список ответственных лиц организации" добавить еще одну запись с указанием: дата, Физическое лицо, Должность и не указать Ответственное лицо, то в печатной форме будет последняя фамалия удовлетворяющая условию выбора.

Задача. Необходимо изменить запрос так чтобы в таблице "Список ответственных лиц организации" по полю "Должность" выполнялся поиск по слову "юрисконсульт" и поле "Ответсвенное лицо" равно пусто.

Заранее благодарен в любой подсказке или решении по данному вопросу.

Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

gliokker

Цитата: Dethmontt от 26 сен 2013, 13:30
Мне заинтересовал один момент - при чем тут номенклатура?
В просторах интернета полно книг по запросам в 1С.

P.S. - http://forum.klerk.ru/showthread.php?t=484989&p=53968137&viewfull=1#post53968137
Ошибся из справочника Сотрудники

Yura063

Честно говоря у вас только одно условие в запросе: ОтветственноеЛицо = ЗНАЧЕНИЕ(Перечисление.ОтветственныеЛицаОрганизаций.РуководительКадровойСлужбы) и по нему могут быть много значений. А дальше не видно как вы вставляете! если просто без цикла, то он вам вставит первого.
А какой сотрудник должен выбраться?
Помогли, отблагодари!

gliokker

Цитата: Yura063 от 26 сен 2013, 14:11
Честно говоря у вас только одно условие в запросе: ОтветственноеЛицо = ЗНАЧЕНИЕ(Перечисление.ОтветственныеЛицаОрганизаций.РуководительКадровойСлужбы) и по нему могут быть много значений. А дальше не видно как вы вставляете! если просто без цикла, то он вам вставит первого.
А какой сотрудник должен выбраться?
спасибо уже сделал

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

Теги:

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

Рейтинг@Mail.ru

Поиск