|
КД2: Установить ссылку на предопределенный элемент | ☑ | ||
---|---|---|---|---|
0
mistеr
04.01.18
✎
21:51
|
Как при заполнении реквизита объекта передать ссылку на предопределенное (в приемнике) значение?
С перечислениями все просто: передаешь строку с именем значения и готово. А со справочниками и другими ссылочными типами как? Сейчас использую Выражение, но чувствую, должен быть способ поизящнее. |
|||
1
Cyberhawk
04.01.18
✎
22:04
|
Ссылки передаются единообразно что на предопределенный, что на непредопределенный элемент
|
|||
2
mistеr
04.01.18
✎
22:58
|
(1) Я наверное плохо объяснил суть проблемы.
На примере. Есть РС КонтактнаяИнформация. Нужно записать туда телефон контрагента (к примеру). Там есть измерения Объект, Тип и Вид. В объект пихаем ссылку на контрагента. Тип — это перечисление ТипыКонтактнойИнформации, нужно записать туда значение Телефон. Передаем строку "Телефон", и при загрузке там корректно проставится ссылка на это значение. Теперь Вид, это справочник ВидыКонтактнойИнформации. Нужно записать туда ссылку на предопределенный элемент ТелефонКонтрагента. Как это сделать, какие есть варианты? |
|||
3
tesseract
05.01.18
✎
00:52
|
(2) А чем стандартный способ - Справочники.ВидКонтактнойИнформации.ТелефонКонтрагента не подходит? В общем-то предопределенные элементы как раз и нужны, чтобы их в коде использовать можно.
|
|||
4
mistеr
05.01.18
✎
10:27
|
Апну.
(3) Отлично, как его использовать *в источнике*? Источник 7.7, если что. |
|||
5
Mikhail Volkov
05.01.18
✎
10:43
|
(0) Предопределенные элементы указываются на вкладке "Конвертация значений".
|
|||
6
vde69
05.01.18
✎
10:49
|
>>>>Источник 7.7, если что.
зечем их там использовать? просто в обработчике поиска укажи Если ...... Тогда НайденныйОбъект = Справочники.ВидКонтактнойИнформации.ТелефонКонтрагента |
|||
7
MadJhey
05.01.18
✎
10:51
|
просто ТелефонКонтрагента
|
|||
8
MadJhey
05.01.18
✎
10:52
|
Значение = "ТелефонКонтрагента"
|
|||
9
mistеr
05.01.18
✎
12:25
|
(7) (8) Работает! Супер, спасибо.
Правда, работает для всего, кроме РС КонтактнаяИнформация. Там у измерения Вид составной тип: Строка и СправочникСсылка.ВидыКонтактнойИнформации. Есди передать строку, то и запишется строка, а не ссылка на справочник. как тут быть? |
|||
10
Mikhail Volkov
05.01.18
✎
17:42
|
(9) 2 ПКО: для строки и справочника.
|
|||
11
user-ok
05.01.18
✎
18:05
|
Значение = "ТелефонКонтрагента";
ТипПриемника = "СправочникСсылка.ВидыКонтактнойИнформации"; |
|||
12
user-ok
05.01.18
✎
18:11
|
ТипПриемника - Строка. Тип свойства приемника. Для свойств не составных типов - всегда определен. Для свойств составных типов - определяется либо правилом конвертации, либо разработчиком конвертации
|
|||
13
mistеr
05.01.18
✎
20:26
|
(11) (12) Спасибо. Долой выражения! :)
|
|||
14
Mikhail Volkov
06.01.18
✎
09:46
|
ПКС для "Вид" из Альфа-Авто в УПП:
Структура = Новый Структура("ОбъектКИ", Источник.Объект); ИсходящиеДанные = Структура; Значение = ""; ИмяПКО = ""; Если ТипЗнч(Источник.Вид) = "Строка" Тогда Значение = СокрЛП(Источник.Вид); ИначеЕсли Источник.Вид = Справочники.ВидыКонтактнойИнформации.ПрочаяИнформация Тогда Значение = "Прочая информация"; ИначеЕсли Источник.Вид = Справочники.ВидыКонтактнойИнформации.ВебСтраницаОрганизации Тогда Значение = "Веб-страница организации"; ИначеЕсли Источник.Вид = Справочники.ВидыКонтактнойИнформации.ВебСтраницаФизЛица Тогда Значение = "Домашняя веб-страница"; ИначеЕсли Источник.Вид = Справочники.ВидыКонтактнойИнформации.НомерICQ Тогда Значение = "Номер ICQ"; ИначеЕсли Источник.Вид.Предопределенный Тогда Если ТипЗнч(Источник.Объект) = Тип("СправочникСсылка.Контрагенты") Тогда ИМяПКО = "ВидыКонтактнойИнформацииКонтрагенты"; ИначеЕсли ТипЗнч(Источник.Объект) = Тип("СправочникСсылка.КонтактныеЛица") Тогда ИмяПКО = "ВидыКонтактнойИнформацииКонтактныеЛица"; ИначеЕсли ТипЗнч(Источник.Объект) = Тип("СправочникСсылка.Организации") Тогда ИмяПКО = "ВидыКонтактнойИнформацииОрганизации"; ИначеЕсли ТипЗнч(Источник.Объект) = Тип("СправочникСсылка.Сотрудники") Тогда Если Источник.Вид = Справочники.ВидыКонтактнойИнформации.АдресЭлектроннойПочтыРабочий Тогда ИМяПКО = "ВидыКонтактнойИнформацииПользователи"; Иначе ИмяПКО = "ВидыКонтактнойИнформацииФизЛица"; КонецЕсли; Иначе ИмяПКО = "ВидыКонтактнойИнформации"; КонецЕсли; Иначе ИмяПКО = "ВидыКонтактнойИнформации"; КонецЕсли; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |