Запрос

1. user1355092 20.05.20 11:31 Сейчас в теме
Здравствуйте.

Помогите.

Создал запрос:

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ДолжностиДополнительныеРеквизиты.Ссылка КАК СсылкаДолжность,
| ДолжностиДополнительныеРеквизиты.Значение КАК ЗначениеКатегорияРаботника
|ИЗ
| Справочник.Должности.ДополнительныеРеквизиты КАК ДолжностиДополнительныеРеквизиты";

РезультатЗапроса = Запрос.Выполнить();

Дальше ступор, знаний не хватает.
Как найти по "СсылкаДолжность" - "ЗначениеКатегорияРаботника" и вставить в форму?
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
18. Vlan 36 20.05.20 14:57 Сейчас в теме +0.2 $m
Что-то вроде этого должно быть:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ДолжностиДополнительныеРеквизиты.Ссылка КАК СсылкаДолжность,
| ДолжностиДополнительныеРеквизиты.Значение КАК ЗначениеКатегорияРаботника
|ИЗ
| Справочник.Должности.ДополнительныеРеквизиты КАК ДолжностиДополнительныеРеквизиты"
|ГДЕ
|ДолжностиДополнительныеРеквизиты.Ссылка = &Должность
|;
Запрос.УстановитьПараметр("Должность", ДанныеНаПечать.РаботаДолжность);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
	
Если ВыборкаДетальныеЗаписи.Следующий() Тогда
//..тут делаем то, что нужно с ВыборкаДетальныеЗаписи.ЗначениеКатегорияРаботника
Показать
user1355092; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
19. EVKash 14 20.05.20 15:05 Сейчас в теме
(1)
	Запрос = Новый Запрос;
	Запрос.Текст = "ВЫБРАТЬ
					|	ДолжностиДополнительныеРеквизиты.Значение КАК ЗначениеКатегорияРаботника
					|ИЗ
					|	Справочник.Должности.ДополнительныеРеквизиты КАК ДолжностиДополнительныеРеквизиты
					|ГДЕ
					|	ДолжностиДополнительныеРеквизиты.Ссылка = &СсылкаДолжность
					|	И ДолжностиДополнительныеРеквизиты.Свойство.Имя = &ИмяДопРек";
	Запрос.УстановитьПараметр("СсылкаДолжность", СсылкаДолжность);
	Запрос.УстановитьПараметр("ИмяДопРек", "ИмяДополнительногоРеквизитаДляРазработчиков");

	РезультатЗапроса = Запрос.Выполнить();
Показать
20. user1355092 20.05.20 15:07 Сейчас в теме
(19) Огромное, Спасибо. Помогли.
2. platon_ 10 20.05.20 11:55 Сейчас в теме
При записи в доп реквизитах устанавливается "Имя" для программного получения.
Сначала по этому имени в ПВХ "ДополнительныеРеквизитыИСведения" находите ваш доп. реквизит.
Потом в ТЧ вашего договора находите это Свойство и получаете Значение
3. Vlan 36 20.05.20 12:14 Сейчас в теме
Возьмите любую Консоль запросов и проверьте, что получает в итоге запрос. В вашем случае таблица пустая. А если сделать выборку не из табличной части, а из справочника, тогда появляются должности. Что-то вроде этого:
ВЫБРАТЬ
ДолжностиДополнительныеРеквизиты.Ссылка КАК СсылкаДолжность,
ДолжностиДополнительныеРеквизиты.ДополнительныеРеквизиты.(
Значение)
ИЗ
Справочник.Должности КАК ДолжностиДополнительныеРеквизиты
4. user1355092 20.05.20 14:03 Сейчас в теме
(3) Таблица не пустая.

Но вопрос не в этом. Не могу написать код, так чтобы зная Должность(СсылкаДолжность) получить и вставить - "ЗначениеКатегорияРаботника" в "документ"
Прикрепленные файлы:
5. Vlan 36 20.05.20 14:11 Сейчас в теме
(4) В таком случае, вам в запросе нужен параметр (Должность), по нему будут отсекаться все остальные должности, оставляя только нужные категории.
6. user1355092 20.05.20 14:15 Сейчас в теме
(5)Делаю параметр таблица пустая.

ВЫБРАТЬ
ДолжностиДополнительныеРеквизиты.Ссылка КАК СсылкаДолжность,
ДолжностиДополнительныеРеквизиты.ДополнительныеРеквизиты.(
Значение КАК Значение
) КАК ДополнительныеРеквизиты
ИЗ
Справочник.Должности КАК ДолжностиДополнительныеРеквизиты
ГДЕ
ДолжностиДополнительныеРеквизиты.Ссылка = &СсылкаДолжность
7. Vlan 36 20.05.20 14:17 Сейчас в теме
(6) Вы в консоли проверяете? А параметр задали?
8. user1355092 20.05.20 14:23 Сейчас в теме
9. Vlan 36 20.05.20 14:24 Сейчас в теме
У вас там ссылка "Параметры запроса". Там задавали параметр?
Прикрепленные файлы:
10. user1355092 20.05.20 14:34 Сейчас в теме
(9)Если не трудно, поясните, "там ссылка "Параметры запроса" - это где?
11. Vlan 36 20.05.20 14:35 Сейчас в теме
(10) Прикрепил картинку. Консоли разные, но у каждой есть ссылка или вкладка Параметры, где нужно указать нужное значение

У вас окно "Текст запроса", а над ним ссылка с параметрами
12. user1355092 20.05.20 14:39 Сейчас в теме
(11)Нашел. Вроде все стоит.
Прикрепленные файлы:
13. Vlan 36 20.05.20 14:40 Сейчас в теме
(12) СсылкаДолжность заполните. Лучше по-другому назвать параметр, чтобы не путаться
14. user1355092 20.05.20 14:45 Сейчас в теме
(13)Вы имеете ввиду, заполнить "Значение" выбрав там должность?
15. Vlan 36 20.05.20 14:46 Сейчас в теме
16. user1355092 20.05.20 14:50 Сейчас в теме
Наименование должности, берется из кода. ДанныеНаПечать.РаботаДолжность.
17. Vlan 36 20.05.20 14:51 Сейчас в теме
(16) Это в обработке. В консоли можно вручную задать. Лучше давайте ваш модуль сразу поправим. Добавьте в запрос условие с параметром и сам параметр передайте через переменную.
18. Vlan 36 20.05.20 14:57 Сейчас в теме +0.2 $m
Что-то вроде этого должно быть:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ДолжностиДополнительныеРеквизиты.Ссылка КАК СсылкаДолжность,
| ДолжностиДополнительныеРеквизиты.Значение КАК ЗначениеКатегорияРаботника
|ИЗ
| Справочник.Должности.ДополнительныеРеквизиты КАК ДолжностиДополнительныеРеквизиты"
|ГДЕ
|ДолжностиДополнительныеРеквизиты.Ссылка = &Должность
|;
Запрос.УстановитьПараметр("Должность", ДанныеНаПечать.РаботаДолжность);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
	
Если ВыборкаДетальныеЗаписи.Следующий() Тогда
//..тут делаем то, что нужно с ВыборкаДетальныеЗаписи.ЗначениеКатегорияРаботника
Показать
user1355092; +1 Ответить
21. EVKash 14 20.05.20 15:07 Сейчас в теме
(18) так выберет значения всех дополнительных реквизитов, а не только нужное.
22. user1355092 20.05.20 15:09 Сейчас в теме
(18)Огромное, Спасибо. Помогли.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот