Имя: Пароль:
1C
1С v8
Как программно записать адрес иностранца в ЗУП 3.0
,
0 yliya_1C
 
03.03.16
10:21
Добрый день! Заполняю справочник физлиц программно. Беда с адресом иностранцев.
Есть на форме поле "Адрес за пределами РФ"
Как в него корректно записать значение? Чтобы при открытии оно корректно отображалось в форме ввода адреса.
Может быть кто-нибудь сталкивался, прошу помощи
1 Вася Чез
 
03.03.16
10:25
(0) адрес хранится не в справочнике, а в регистре контактная информация, туда и надо делать запись
2 yliya_1C
 
03.03.16
10:29
нет такого регистра в тройке. Регистр сведений?
3 Вася Чез
 
03.03.16
10:29
(0) а это 3.0, там не так, посмотрю в конфигураторе
4 yliya_1C
 
03.03.16
10:37
Уже второй день в него смотрю)
5 Вася Чез
 
03.03.16
10:43
(0) под рукой только БП 3.0, там контактная информация хранится в ТЧ справочника, думаю в ЗУП также
6 yliya_1C
 
03.03.16
10:57
Да, в БП также. А можно примерный код? я попробую.
7 Вася Чез
 
03.03.16
11:04
(6) конфигуратор не работает?) ТЧ КонтактнаяИнформация, туда записывай адрес, в чем конкретно проблема?
8 xraf
 
03.03.16
11:22
Вроде в 8.3 адреса хранятся в табличных частях справочников в виде xdto
9 yliya_1C
 
03.03.16
12:25
(8) правильно говорит. Можно победить?
10 yliya_1C
 
03.03.16
12:52
Делаю так:

НовыйФизЛицо = Справочники.ФизическиеЛица.СоздатьЭлемент();
АдресИн = НовыйФизЛицо.КонтактнаяИнформация.Добавить();
АдресИн.Вид = Справочники.ВидыКонтактнойИнформации.АдресЗаПределамиРФФизическиеЛица;
АдресИн.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес;
АдресИн.Страна = "Казахстан";
АдресИн.Город = "Астана";
НовыйФизЛицо.Записать();

Ничего не отображается в поле адреса
11 yliya_1C
 
03.03.16
13:28
ребята, неужели никаких мыслей?
12 yliya_1C
 
03.03.16
14:13
up
13 Базис
 
naïve
03.03.16
14:24
Выведи (универсальными отчётами, консолью запросов, простым ручным запросом) значения и тип руками заполненного элемента.
14 Базис
 
naïve
03.03.16
14:25
АдресИн попробуй записать.

Кеш обнови :)
15 AceVi
 
03.03.16
15:09
(10) Если АдресЗаПределамиРФФизическиеЛица - он вроде как храниться тупо строкой. никакого разбиение на город, страна, улица  у него нет(это разбиение работает только если ты используешь адресный классификатор, который только для РФ загружается).
Твой адрес надо записывать в реквизит "Представление"
16 AceVi
 
03.03.16
15:11
(15) А, вроде все таки Страна берется из адресного классификатора, а весь остальной адрес "Представление".
17 yliya_1C
 
03.03.16
15:38
(15) Спасибо. Мы уже где-то близко). Делаю так

Структура.Вставить("Страна", Страна);
Результат=УправлениеКонтактнойИнформацией.КонтактнаяИнформацияВXML(Структура,,Перечисления.ТипыКонтактнойИнформации.Адрес);
АдресИн.Представление = Город;

Не получается.
Представление попадает в нужное поле, но при раскрытии карточки страна стоит Россия и никакого города вообще не указано. И форма другая - не та, которая появляется в случае ручного заполнения иностр. адреса
18 AceVi
 
04.03.16
10:14
(17)Вчера не мог ответить

Смотри - в таб КонтактнаяИНформация есть реквизит ЗначенияПолей - в нем в виде строки(а в ней данный в структуре xml) храниться основная информация Вот типа так(Это я тебе привел вид кк раз для иностранного адреса):

<КонтактнаяИнформация 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"; Представление="1ddf, 12313"><Комментарий/><Состав xsi:type="Адрес" Страна="РЕЮНЬОН"><Состав xsi:type="xs:string">1ddf, 12313</Состав></Состав></КонтактнаяИнформация>

Конкретно вот это место <Состав xsi:type="xs:string"> - показывает что это иностранный адрес.
Для РФ было бы так <Состав xsi:type="АдресРФ">.

В общем модуле УправлениеКонтактнойИнформацией, как ты правильно начала смотреть, есть процедуры по разбору строк, вот пробуй)
19 yliya_1C
 
09.03.16
08:28
У меня сейчас только такая строка получается :(

”<КонтактнаяИнформация xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns:xs=”http://www.w3.org/2001/XMLSchema” xmlns=”http://www.v8.1c.ru/ssl/contactinfo” Представление=””><Комментарий/>
<Состав xsi:type = ”Адрес” Страна=”КАЗАХСТАН”>
  <Состав xsi:type = ”xs:string”/>
</Состав>
</КонтактнаяИнформация>”
20 AceVi
 
09.03.16
09:28
(19) И какие остались вопросы?
Грубо говоря ты можешь скопировать строку с xml что я привел и подставить свои значения куда нужно и поместить в реквизит ЗначенияПолей, и тогда можно строку не разбирать.
21 yliya_1C
 
09.03.16
13:51
Ух, победила этот адрес! Спасибо всем! Особенно AceVi)
AdBlock убивает бесплатный контент. 1Сергей