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

Как программно получить значения данных контрагента?

Автор aleon1, 17 сен 2019, 10:42

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

KOI8-R

Цитата: alexandr_ll от 18 сен 2019, 11:04
Вообще функция
УправлениеСвойствами.ЗначениеСвойства(СсылкаНаОбъект, ДопСвойство)
должна возвращать таблицу значений, посмотрите ее структуру.

Версия 1.6.13.41 возвращает значение:
// Возвращает значение дополнительного свойства объекта.
//
// Параметры:
//  Объект   - ЛюбаяСсылка - ссылка на объект, например, СправочникСсылка.Номенклатура,
//                           ДокументСсылка.ЗаказПокупателя, ...
//  Свойство - ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения - ссылка на
//                           дополнительный реквизит, значение которого нужно получить.
//           - Строка - Имя дополнительного свойства.
//
// Возвращаемое значение:
//  Произвольный - любое значение, допустимое для свойства.
//
Функция ЗначениеСвойства(Объект, Свойство) Экспорт
ПолучатьРеквизиты = УправлениеСвойствамиСлужебный.ЭтоОбъектМетаданныхСДополнительнымиРеквизитами(Объект.Метаданные());

Результат = ЗначенияСвойств(Объект, ПолучатьРеквизиты, Истина, Свойство);
Если Результат.Количество() = 1 Тогда
Возврат Результат[0].Значение;
КонецЕсли;
КонецФункции

Добавлено: 19 сен 2019, 09:52


Цитата: aleon1 от 19 сен 2019, 08:47
Куда ни ткнусь, везде засада! Не могу запустить в режиме построчной отладки... Тут-то что может быть не так?
Ну а если так:
Значение = УправлениеСвойствами.ЗначениеСвойства(СсылкаНаОбъект, ДопСвойство);
Сообщить("" + Значение);

Выводит в сообщение что-то или пустая строка?

aleon1

Решение найдено, благодарю всех за участие!
Добавлено: 20 сен 2019, 11:41


Цитата: KOI8-R от 19 сен 2019, 09:39
Ну а если так:
Значение = УправлениеСвойствами.ЗначениеСвойства(СсылкаНаОбъект, ДопСвойство);
Сообщить("" + Значение);

Выводит в сообщение что-то или пустая строка?

Благодарю Вас!
Помогла статья http://1c-bezproblem.ru/blog/v-pomo...polnitelnye-rekvizity-v-1c-8-3-na-primere-unf . Оказалось, что правильно вызывать так:

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


KOI8-R

Ну вот поэтому вас и спрашивали получаете ли вы вообще доп.свойство, если нет, то соответственно передаете неправильное наименование.

Теги:

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

Рейтинг@Mail.ru

Поиск