|
Коллеги, подскажите по сопоставлению в запросе | ☑ | ||
---|---|---|---|---|
0
yabashu
02.08.23
✎
19:12
|
Есть запрос:
ТекстЗапроса = "ВЫБРАТЬ | ДанныеСостоянийСотрудников.Состояние КАК Состояние, | ДанныеСостоянийСотрудников.Сотрудник КАК Сотрудник, | ДанныеСостоянийСотрудников.Начало КАК Начало, | ДанныеСостоянийСотрудников.Окончание КАК Окончание |ПОМЕСТИТЬ втСотрудникиНеНаРаботе |ИЗ | РегистрСведений.ДанныеСостоянийСотрудников КАК ДанныеСостоянийСотрудников |ГДЕ | &ТекущаяДата МЕЖДУ ДанныеСостоянийСотрудников.Начало И КОНЕЦПЕРИОДА(ДанныеСостоянийСотрудников.Окончание, ДЕНЬ) | И НЕ ДанныеСостоянийСотрудников.Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияСотрудника.Работа) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ДанныеСостоянийСотрудников.Состояние КАК ТекущееСостояние, | ДанныеСостоянийСотрудников.Сотрудник КАК Сотрудник, | ДанныеСостоянийСотрудников.Начало КАК Начало, | ДанныеСостоянийСотрудников.Окончание КАК Окончание |ПОМЕСТИТЬ втТекущееСостояниеСотрудников |ИЗ | РегистрСведений.ДанныеСостоянийСотрудников КАК ДанныеСостоянийСотрудников |ГДЕ | ДанныеСостоянийСотрудников.Окончание = ДАТАВРЕМЯ(1, 1, 1) | И НЕ ДанныеСостоянийСотрудников.Сотрудник В | (ВЫБРАТЬ | вт.Сотрудник | ИЗ | втСотрудникиНеНаРаботе КАК вт) | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | втСотрудникиНеНаРаботе.Состояние, | втСотрудникиНеНаРаботе.Сотрудник, | втСотрудникиНеНаРаботе.Начало, | втСотрудникиНеНаРаботе.Окончание |ИЗ | втСотрудникиНеНаРаботе КАК втСотрудникиНеНаРаботе |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ТаблицСостояний.Сотрудник КАК Сотрудник, | ТаблицСостояний.ТекущееСостояние КАК ТекущееСостояние, | ТаблицСостояний.Начало КАК Начало, | ТаблицСостояний.Окончание КАК Окончание, | МАКСИМУМ(ПриемНаРаботуДополнительныеРеквизиты.Значение) КАК Рекрутер |ИЗ | втТекущееСостояниеСотрудников КАК ТаблицСостояний | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Сотрудники КАК Сотрудники | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПриемНаРаботу КАК ПриемНаРаботу | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПриемНаРаботу.ДополнительныеРеквизиты КАК ПриемНаРаботуДополнительныеРеквизиты | ПО ПриемНаРаботу.Ссылка = ПриемНаРаботуДополнительныеРеквизиты.Ссылка | И (ПриемНаРаботуДополнительныеРеквизиты.Свойство = &Расш_Рекрутер) | ПО Сотрудники.Ссылка = ПриемНаРаботу.Сотрудник | ПО ТаблицСостояний.Сотрудник = Сотрудники.Ссылка | |СГРУППИРОВАТЬ ПО | ТаблицСостояний.Сотрудник, | ТаблицСостояний.ТекущееСостояние, | ТаблицСостояний.Начало, | ТаблицСостояний.Окончание"; Запрос.УстановитьПараметр("ТекущаяДата", ТекущаяДата()); Запрос.УстановитьПараметр("Расш_Рекрутер", ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту("Имя", "Расш_Рекрутер")); Подскажите, почему Сотрудник и его Рекрут(Реквизит(Тип = Справочники.Сотрудники, который находится в ДопРеквизитах Документа ПриемНаРаботу) при выборке запроса никак не связаны? Сотрудник выбирается, а рекрут абсолютно чужой. В чем ошибка? |
|||
1
shpioleg
02.08.23
✎
19:59
|
Ну если видишь, что не понимаешь. Упрости для начала последний запрос. Выкинь соединение со справочником сотрудники. Зачем оно здесь? Оставь только соединение ТаблицСостояний с Документом Прием на работу по Сотруднику и глянь, что получается. Потом уже пробуй получать доп.реквизит.
|
|||
2
SleepyHead
03.08.23
✎
05:47
|
А еще есть документ "Прием на работу списком".
Так что ты бы для начала озвучил, что какую проблему решаешь, а уже потом можно говорить о запросе. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |