Имя: Пароль:
1C
1С v8
КонтактнаяИнформация
,
0 alexsandrinia
 
30.06.15
07:00
Конфа самописная, УФА. Есть справочник Адреса, в нём есть табличная часть КонтактнаяИнформация. В неё заносится адрес. Как можно из этой таблицы вытащить номер дома и номер квартиры?
1 Enterprise
 
30.06.15
07:03
(0) Кто ж знает как устроен этот справочник и какие реквизиты табличной части есть. Что такое УФА?
2 Александр056
 
30.06.15
07:07
(0) скорее всегда эта КИ хранится в РегистреСведений.КонтактнаяИнформация, попробуй там посмотреть
3 Александр056
 
30.06.15
07:07
а по сути (1)
4 alexsandrinia
 
30.06.15
07:19
(1)УФ имел ввиду, РегистраСведений нет такого...
5 alexsandrinia
 
30.06.15
07:25
есть регистры у этого справочника, но они не заполняются. заполнение происходит в табличной части и если я вытаскиваю информацию из неё, то в поле значение полей этой контактной информации выходит вот что "<КонтактнаяИнформация xmlns="http://www.v8.1c.ru/ssl/contactinfo"; xmlns:xs="http://www.w3.org/2001/XMLSchema"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance и так далее" вот отсюда как-то надо её вытаскивать, да?
6 Альбатрос
 
30.06.15
07:27
0_0
7 Enterprise
 
30.06.15
07:28
(5) Помню были дискуссии с Вами на тему КИ ) У вас же БСП, юзайте общие модули КИ
8 orangekrs
 
30.06.15
07:31
+(7) Да, посмотрите в конфе, должен быть модуль УправлениеКонтактнойИнформацией.
9 alexsandrinia
 
30.06.15
07:32
(7) через поиск решил искать где в общих модулях это происходит
10 orangekrs
 
30.06.15
07:35
Ещё вариант получить запросом, как в v8: Как получить структуру адреса?
11 orangekrs
 
30.06.15
07:36
СведенияОПоставщике       = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(ЮрФизЛицо, Дата);
12 alexsandrinia
 
30.06.15
08:00
делаю как в (10) написано, выходит ошибка
Ошибка при вызове метода контекста (НайтиПараметры)
    ПарЗап = Запрос.НайтиПараметры();
по причине:
{(7, 52)}: Неверные параметры "Справочники.ВидыКонтактнойИнформации.АдресАдреса"
И НД_АбонентыКонтактнаяИнформация.Вид = ЗНАЧЕНИЕ (<<?>>Справочники.ВидыКонтактнойИнформации.АдресАдреса)
13 marvak
 
30.06.15
08:17
(12)
Справочники.ВидыКонтактнойИнформации.АдресАдреса - а есть такой предопределенный элемент в конфе?
Если есть, то совпадает ли посимвольно, может там английские буковки где то спецом стоят?
14 orangekrs
 
30.06.15
08:18
В конфе есть
Функция ПолучитьКонтактнуюИнформацияОбъекта(Ссылка, ВидКонтактнойИнформации)
15 orangekrs
 
30.06.15
08:19
+(14)
ВидКонтактнойИнформации это либо справочник ссылка, либо перечисление ссылка
16 LordCMEPTb
 
30.06.15
09:31
(12) В запросе в качестве значения надо указывать Значение(Справочник.<Имя>.<Значение>), ну и прочие виды объектов метаданных в единственном числе.
17 alexsandrinia
 
30.06.15
12:37
(16) делаю в единственном числе, но всё равно ошибка

Ошибка при вызове метода контекста (НайтиПараметры)
    ПарЗап = Запрос.НайтиПараметры();
по причине:
{(10, 50)}: Неверные параметры "Справочник.ВидыКонтактнойИнформации.Адрес"
И НД_АдресаКонтактнаяИнформация.Вид  = ЗНАЧЕНИЕ(<<?>>Справочник.ВидыКонтактнойИнформации.Адрес)
18 EvgeniuXP
 
30.06.15
12:40
Там мудренно вытаскивать - все хранится в строке из которой можешь получить xdto-объект, там через глобольные функции указаны числа - которые и есть дом, квартира и т.д
19 alexsandrinia
 
30.06.15
12:43
(18) где можно прочитать про получение информации из xdto-объекта?
20 EvgeniuXP
 
30.06.15
12:46
(19) xdto сама по себе не сложная, но то что использует 1с там вешаться можно

Ищи курсы от специалиста - обмен данными - там рассказано, но те тонкости которые в ки используют - не рассказано.
21 alexsandrinia
 
30.06.15
12:49
(20) запросом значит никак?
22 EvgeniuXP
 
30.06.15
12:50
КонтактнаяИнформацияСлужебный.ДесериализацияАдреса - возвращает объект xdto

КонтактнаяИнформацияСлужебный.СериализацияКонтактнойИнформации(ОбъектXdto) - это обратно в строку
23 EvgeniuXP
 
30.06.15
12:52
(21) запросом только если из представления тащить - ищи дом, ищи квартиру
24 alexsandrinia
 
30.06.15
12:53
(22) как именно это сделать?
25 Enterprise
 
30.06.15
12:54
ВидКИ = Справочники.ВидыКонтактнойИнформации.ЮрАдресКонтрагента;
    КИ = УправлениеКонтактнойИнформацией.ПолучитьКонтактнуюИнформацияОбъекта(Объект.Ссылка, ВидКИ);
    АдресСтрокой = УправлениеКонтактнойИнформацией.ПредставлениеКонтактнойИнформации(КИ, ВидКИ);

Так можно представление замутить
26 alexsandrinia
 
30.06.15
12:55
(22) Представление запросом делаю - получаю строку полностью, где есть и номер дома и номер квартиры. как теперь это отделить и по отдельности расписать?
27 yavasya
 
30.06.15
12:59
(26) запрос сама напиши , быстрее получится
28 EvgeniuXP
 
30.06.15
13:01
Передать строку через запятые типа:
ДесериализацияАдреса("", "164515, Архангельская обл, Северодвинск г, Ломоносова ул, дом №3, квартира 30", Перечисления.ТипыКонтактнойИнформации.Адрес) - вернет XDTO

Дальше от туда тащить
29 EvgeniuXP
 
30.06.15
13:05
А так, в представлении замени запятые на Символы.ПС, найди строку "дом" или "квартира" замени на пустышки и получишь желанное
30 EvgeniuXP
 
30.06.15
13:08
Если в скд надо вывести - сделай глобальную функцию возвращай ее в скд - она тебе и вернет новое представление
31 EvgeniuXP
 
30.06.15
13:14
ДесериализацияАдресаОбщая - там всё есть, отладчик в зубы и вперед - из xdto вытаскивать
32 alexsandrinia
 
30.06.15
13:16
(31) где её искать? я нашёл только ДесериализацияПрочейКонтактнойИнформации
33 EvgeniuXP
 
30.06.15
13:18
Модуль КонтактнаяИнформацияСлужебный - бсп
34 alexsandrinia
 
30.06.15
13:21
у  меня только УправлениеКонтактнойИнформацией есть
35 alexsandrinia
 
30.06.15
13:22
УправлениеКонтактнойИнформациейСлужебный
36 EvgeniuXP
 
30.06.15
13:26
ну может перетменовали на управление