Здравствуйте.
Помогите.
Создал запрос:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ДолжностиДополнительныеРеквизиты.Ссылка КАК СсылкаДолжность,
| ДолжностиДополнительныеРеквизиты.Значение КАК ЗначениеКатегорияРаботника
|ИЗ
| Справочник.Должности.ДополнительныеРеквизиты КАК ДолжностиДополнительныеРеквизиты";
РезультатЗапроса = Запрос.Выполнить();
Дальше ступор, знаний не хватает.
Как найти по "СсылкаДолжность" - "ЗначениеКатегорияРаботника" и вставить в форму?
Помогите.
Создал запрос:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ДолжностиДополнительныеРеквизиты.Ссылка КАК СсылкаДолжность,
| ДолжностиДополнительныеРеквизиты.Значение КАК ЗначениеКатегорияРаботника
|ИЗ
| Справочник.Должности.ДополнительныеРеквизиты КАК ДолжностиДополнительныеРеквизиты";
РезультатЗапроса = Запрос.Выполнить();
Дальше ступор, знаний не хватает.
Как найти по "СсылкаДолжность" - "ЗначениеКатегорияРаботника" и вставить в форму?
По теме из базы знаний
- Модель запроса
- Смотрим запросы 1С через Microsoft SQL Profiler по следам ошибок разработчиков, приводящих к проблемам производительности
- Как читать чужой код? Часть 3. Разбор и доработка запросов
- Экспертный взгляд на оптимизацию производительности на примере исправления и декомпозиции запроса
- Модель запроса SQL
Найденные решения
Что-то вроде этого должно быть:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ДолжностиДополнительныеРеквизиты.Ссылка КАК СсылкаДолжность,
| ДолжностиДополнительныеРеквизиты.Значение КАК ЗначениеКатегорияРаботника
|ИЗ
| Справочник.Должности.ДополнительныеРеквизиты КАК ДолжностиДополнительныеРеквизиты"
|ГДЕ
|ДолжностиДополнительныеРеквизиты.Ссылка = &Должность
|;
Запрос.УстановитьПараметр("Должность", ДанныеНаПечать.РаботаДолжность);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Если ВыборкаДетальныеЗаписи.Следующий() Тогда
//..тут делаем то, что нужно с ВыборкаДетальныеЗаписи.ЗначениеКатегорияРаботника
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ДолжностиДополнительныеРеквизиты.Значение КАК ЗначениеКатегорияРаботника
|ИЗ
| Справочник.Должности.ДополнительныеРеквизиты КАК ДолжностиДополнительныеРеквизиты
|ГДЕ
| ДолжностиДополнительныеРеквизиты.Ссылка = &СсылкаДолжность
| И ДолжностиДополнительныеРеквизиты.Свойство.Имя = &ИмяДопРек";
Запрос.УстановитьПараметр("СсылкаДолжность", СсылкаДолжность);
Запрос.УстановитьПараметр("ИмяДопРек", "ИмяДополнительногоРеквизитаДляРазработчиков");
РезультатЗапроса = Запрос.Выполнить();
Показать
При записи в доп реквизитах устанавливается "Имя" для программного получения.
Сначала по этому имени в ПВХ "ДополнительныеРеквизитыИСведения" находите ваш доп. реквизит.
Потом в ТЧ вашего договора находите это Свойство и получаете Значение
Сначала по этому имени в ПВХ "ДополнительныеРеквизитыИСведения" находите ваш доп. реквизит.
Потом в ТЧ вашего договора находите это Свойство и получаете Значение
Возьмите любую Консоль запросов и проверьте, что получает в итоге запрос. В вашем случае таблица пустая. А если сделать выборку не из табличной части, а из справочника, тогда появляются должности. Что-то вроде этого:
ВЫБРАТЬ
ДолжностиДополнительныеРеквизиты.Ссылка КАК СсылкаДолжность,
ДолжностиДополнительныеРеквизиты.ДополнительныеРеквизиты.(
Значение)
ИЗ
Справочник.Должности КАК ДолжностиДополнительныеРеквизиты
ВЫБРАТЬ
ДолжностиДополнительныеРеквизиты.Ссылка КАК СсылкаДолжность,
ДолжностиДополнительныеРеквизиты.ДополнительныеРеквизиты.(
Значение)
ИЗ
Справочник.Должности КАК ДолжностиДополнительныеРеквизиты
(5)Делаю параметр таблица пустая.
ВЫБРАТЬ
ДолжностиДополнительныеРеквизиты.Ссылка КАК СсылкаДолжность,
ДолжностиДополнительныеРеквизиты.ДополнительныеРеквизиты.(
Значение КАК Значение
) КАК ДополнительныеРеквизиты
ИЗ
Справочник.Должности КАК ДолжностиДополнительныеРеквизиты
ГДЕ
ДолжностиДополнительныеРеквизиты.Ссылка = &СсылкаДолжность
ВЫБРАТЬ
ДолжностиДополнительныеРеквизиты.Ссылка КАК СсылкаДолжность,
ДолжностиДополнительныеРеквизиты.ДополнительныеРеквизиты.(
Значение КАК Значение
) КАК ДополнительныеРеквизиты
ИЗ
Справочник.Должности КАК ДолжностиДополнительныеРеквизиты
ГДЕ
ДолжностиДополнительныеРеквизиты.Ссылка = &СсылкаДолжность
Что-то вроде этого должно быть:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ДолжностиДополнительныеРеквизиты.Ссылка КАК СсылкаДолжность,
| ДолжностиДополнительныеРеквизиты.Значение КАК ЗначениеКатегорияРаботника
|ИЗ
| Справочник.Должности.ДополнительныеРеквизиты КАК ДолжностиДополнительныеРеквизиты"
|ГДЕ
|ДолжностиДополнительныеРеквизиты.Ссылка = &Должность
|;
Запрос.УстановитьПараметр("Должность", ДанныеНаПечать.РаботаДолжность);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Если ВыборкаДетальныеЗаписи.Следующий() Тогда
//..тут делаем то, что нужно с ВыборкаДетальныеЗаписи.ЗначениеКатегорияРаботника
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот