вторник, 24 ноября 2015 г.

Как получить значения дополнительных реквизитов или дополнительных сведений в 1С 8.3 (БП 3.0, ЗУП 3.0)

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

//пример использования к прим. в печатной форме ТОРГ12
НеТиповоеПредставлениеГрузополучателя = РН_ПолучитьЗначениеДопРеквизита(СведенияОДокументе.Грузополучатель,"РН_НаименованиеДляПечати",Ложь);

Комментариев нет:

Отправить комментарий