Получение значений дополнительных видов КИ

1. korchak 10.06.16 13:34 Сейчас в теме
Приветствую всех!

УНФ 1.6

Добавили в справочник "Виды контактной информации" дополнительный элемент "Мобильный телефон"
Теперь встала задача получить значение используя готовые функции общих модулей для этих целей, чтоб не писать свою.
Функция ПолучитьКонтактнуюИнформацию(ОбъектКонтактнойИнформации, ВидИнформации) возвращает пустую строку.
Может кто знает, как получать значения любых дополнительных видов КИ использую встроенный функционал?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. _KaA 110 10.06.16 14:45 Сейчас в теме
(1) korchak,

Покажите картинку, как настроен вид КИ. То есть карточку самого телефона покажите и покажите вызов ПолучитьКонтактнуюИнформацию()

и еще есть вот такие методы:
УправлениеКонтактнойИнформацией. КонтактнаяИнформацияОбъекта()
УправлениеКонтактнойИнформацией. КонтактнаяИнформацияОбъектов()
5. Xershi 1490 10.06.16 14:54 Сейчас в теме
(1) korchak, я писал свою процедуру, чтобы и тип был. А так похоже запрос пустой выходит.
(4) korchak, скрины добавь через кнопку внизу прикрепить файл.
8. korchak 10.06.16 15:00 Сейчас в теме
(5) Xershi, я писал свою процедуру, чтобы и тип был

так значение предопределенного элемента "ТелефонКонтрагента" выводит, а дополнительный с этим же типом не хочет, странно...
2. korchak 10.06.16 13:45 Сейчас в теме
Вот этот запрос из ПолучитьКонтактнуюИнформацию возвращает пустую строку, хотя для объекта ОбъектКонтактнойИнформации данный вид заполнен - номер мобильного телефона.

	Запрос = Новый Запрос;
	
	Запрос.УстановитьПараметр("Объект", ОбъектКонтактнойИнформации);
	Запрос.УстановитьПараметр("Вид",	ВидИнформации);
	
	Запрос.Текст = "ВЫБРАТЬ 
	|	КонтактнаяИнформация.Представление
	|ИЗ
	|	Справочник." + ТаблицаИсточник + ".КонтактнаяИнформация КАК КонтактнаяИнформация
	|ГДЕ
	|	КонтактнаяИнформация.Вид = &Вид
	|	И КонтактнаяИнформация.Ссылка = &Объект";

	РезультатЗапроса = Запрос.Выполнить();
	
	Возврат ?(РезультатЗапроса.Пустой(), "", РезультатЗапроса.Выгрузить()[0].Представление);
Показать
7. Xershi 1490 10.06.16 14:57 Сейчас в теме
(2) korchak, судя по коду ты ошибку при передачи параметров допустил!
4. korchak 10.06.16 14:52 Сейчас в теме
Вот карточка:



Самое интересное, что в консоли запросов выводит результат:

6. korchak 10.06.16 14:56 Сейчас в теме
Вот карточка и результат с консоли запросов
Прикрепленные файлы:
9. korchak 10.06.16 15:03 Сейчас в теме
Запрос.УстановитьПараметр("Объект", ОбъектКонтактнойИнформации);


Здесь тип параметра СправочникСсылка.ВидыКонтактнойИнформации
Передал его вот так: Справочники.ВидыКонтактнойИнформации.НайтиПоНаименованию("Мобильный телефон")


Параметр Запрос.УстановитьПараметр("Объект", ОбъектКонтактнойИнформации);
не менялся
10. Xershi 1490 10.06.16 15:06 Сейчас в теме
(9) korchak, ну все правильно. Объект это контрагент. А ты вид туда занес.
11. korchak 10.06.16 15:10 Сейчас в теме
(10) Xershi, прошу прощения перепутал текст сообщения в предыдущем сообщении

Запрос.УстановитьПараметр("Вид",ВидИнформации);
13. Xershi 1490 10.06.16 15:12 Сейчас в теме
(11) korchak, так в отладчике проверь. Получила ли твоя обработка те же значения, что ты вставил в консоли запросов!

Попробуй найти по коду. Скорее всего в видах у тебя 2 элемента с "Мобильный телефон"
15. korchak 11.06.16 10:44 Сейчас в теме
(13) Xershi, Скорее всего в видах у тебя 2 элемента с "Мобильный телефон"

Да, верно, были другие элементы с таким же названием! Уточнил по владельцу и получил то что надо
16. korchak 11.06.16 10:45 Сейчас в теме
(15) korchak, Вообще это плохой способ получить вид КИ....

А какой на ваш взгляд лучший способ получить дополнительный вид КИ?
17. Xershi 1490 11.06.16 17:07 Сейчас в теме
(16) korchak, писать такой код можно если данные менять не будут. Но в таком случае уже лучше предопределенный элемент сделай!
18. korchak 11.06.16 17:33 Сейчас в теме
(17) Xershi, Но в таком случае уже лучше предопределенный элемент сделай!

это код внешней обработки, тут нельзя конфу трогать...
19. Xershi 1490 11.06.16 17:37 Сейчас в теме
(18) korchak, ну тогда делай как делал. Либо поиск по наименованию с владельцем, либо поиск по коду. Самое главное, чтобы ты получил тот элемент, который нужен.
12. korchak 10.06.16 15:11 Сейчас в теме
то есть вот так все было:

ПолучитьКонтактнуюИнформацию(ОбъектКонтактнойИнформации, Справочники.ВидыКонтактнойИнформации.НайтиПоНаименованию("Мобильный телефон"))
14. _KaA 110 10.06.16 16:12 Сейчас в теме
(12) korchak,

Справочники.ВидыКонтактнойИнформации.НайтиПоНаименованию("Мобильный телефон")

Это может вернуть мобильный телефон физического лица. Вообще это плохой способ получить вид КИ.... Правильно подсказывают, удостоверься в отладчике, что мобильный контрагента, а не, например, физ лица...
20. cassper 12.06.16 02:50 Сейчас в теме
Ну если внешняя обработка и концу трогать нельзя, то в обработке добавьте реквизит, где укажите ссылку на ваш новый не предопределенный вид ки, чтобы исключить вариант неоднозначного получения результата при использовании функций типа найти по наименованию
21. cassper 12.06.16 02:50 Сейчас в теме
Оставьте свое сообщение

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