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

Обращение к доп реквизитам из формы

Автор Глеб Шахов, 26 дек 2024, 12:10

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

Глеб Шахов

Всем, привет. Подскажите, пожалуйста. Например, у меня есть конфигурация с расширением. По задаче я не могу менять реквизиты в самой конфигурации. Я создаю доп реквизит "срок поставки" у справочника Покупатели, далее в расширении в документе Заказ Покупателя, при изменении реквизита Покупатели, если в самом справочнике ничего не указано, должно устанавливаться значение по умолчанию из константы. Вопрос - каким образом я могу обращаться к этому доп реквизиту, если я его создал на клиенте, а не в конфиге?

LexaK

Глеб Шахов, Какая база у вас?  используется ли БСП?
в ее функционале есть функции которые возвращают значение до.реквизитов
или сами напишите запрос и получите значение доп.реквизита
там же в запросе, если значение допа не задано, сразу получайте значение по умолчанию из  константы.
если помогло нажмите: Спасибо!

Глеб Шахов

LexaK, да, есть БСП. Нагуглил, что якобы так можно обращаться, но нифига


ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("СрокПоставки")

Глеб Шахов

LexaK, то есть надо через запрос делать? или как через БСП можно? УправлениеСвойствами.СвойствоОбъекта?

fruitella

УправлениеСвойствами.ЗначениеСвойства - те же значение получить надо.
Можно и запросом, обраешься к тч доп реквизиты у нужного справочника или документа и получаешь значения.

LexaK

Глеб Шахов, в том-же модуле посмотрите такую функцию

Функция ПолучитьЗначенияСвойств(ВладелецСвойств,
                                ПолучатьДопРеквизиты = Истина,
                                ПолучатьДопСведения = Истина,
                                МассивСвойств = Неопределено) Экспорт
если помогло нажмите: Спасибо!

Глеб Шахов

LexaK, а еще я подтупливаю, подскажите. Он возвращает ТЗ, с колонками Свойство и Значение.Массив свойств у меня заполнен одним значением, как его получить? Обращаюсь к нему через

ДопРеквизит = УправлениеСвойствами.ПолучитьЗначенияСвойств(Контрагент);
ДопРеквизит.Найти("Срок");

через отладчик тип неопределенно. Очевидно, что неправильно обращаюсь, но что именно не так делаю

fruitella

СрокПоставкиСсылка = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("СрокПоставки");

Если СрокПоставкиСсылка.Пустая() Тогда
    Возврат;
КонецЕсли;

МассивСвойств = Новый Массив;
МассивСвойств.Добавить(СрокПоставкиСсылка );

РезультатТаблицаЗначений = УправлениеСвойствами.ПолучитьЗначенияСвойств(Контрагент,,,  МассивСвойств);
ЗначениеДопРеквизита = РезультатТаблицаЗначений[0].Значение;

Глеб Шахов

fruitella, спасибо) до это с клиентского метода хотел посмотреть ПланыВидовХрактеристик, при этом даже не посмотрел, что он в нем недоступен.

Глеб Шахов

fruitella, хотя сейчас проверил, возвращает тот же результат, то есть пустую ТЗ. У меня же необязательно должно быть указано значение этого доп реквизита, может же стоять и ноль

Теги:

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

Рейтинг@Mail.ru

Поиск