Тип: Строка. Содержит элемент адреса Страна.
Полное описание, параметры и ограничения
ДанныеАдреса.Страна (AddressData.Country)
ДанныеАдреса (AddressData)
Страна (Country)
Доступен, начиная с версии 8.3.3.
Использование:
Только чтение.
Описание:
Тип: Строка.
Содержит элемент адреса Страна.
Доступность:
Мобильный клиент, сервер, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.
Использование в версии:
Доступен, начиная с версии 8.3.3.
Методическая информация
Практические примеры
Собрать адрес из структуры и добавить его в контакт
ДанныеАдреса заполняется конструктором, свойства объекта readonly. Индекс сохраняем строкой с ведущими нулями, а не числом.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Учебная база, серверный контекст. ДанныеКонтакта и связанные типы доступны на сервере: для этих задач не нужен мобильный телефон, разрешение на контакты или настоящая адресная книга.
Вся персона вымышлена: Учебный Ученик Тестович, организация Учебный магазин. Телефоны 000-000-01/02 — демонстрационные строки, адрес student@example.invalid учебный. Ничего не отправляйте и не звоните.
Код создаёт объекты только в памяти. Он не вызывает менеджер контактов устройства, синхронизацию, геокодирование, интернет или запись справочника Партнеры/КонтактныеЛица.
Контакт = Новый ДанныеКонтакта;
Контакт.Имя = "Учебный";
Контакт.Фамилия = "Ученик";
Контакт.Отчество = "Тестович";
ПоляАдреса = Новый Структура;
ПоляАдреса.Вставить("Страна", "Учебная страна");
ПоляАдреса.Вставить("Регион", "Учебный регион");
ПоляАдреса.Вставить("Город", "Учебный город");
ПоляАдреса.Вставить("Улица", "Учебная улица");
ПоляАдреса.Вставить("Дом", "1");
ПоляАдреса.Вставить("Индекс", "000001");
ПоляАдреса.Вставить("Представление", "Учебный город, Учебная улица, 1");
Адрес = Новый ДанныеАдреса(ПоляАдреса);
Контакт.Адреса = Новый Массив;
Контакт.Адреса.Добавить(Новый ЭлементДанныхКонтакта(ТипАдресаДанныхКонтакта.Рабочий, Адрес));
Сообщить(Адрес.Страна = "Учебная страна");
Сообщить(Адрес.Регион = "Учебный регион");
Сообщить(Адрес.Город = "Учебный город");
Сообщить(Адрес.Индекс = "000001");
Сообщить(Адрес.Представление = "Учебный город, Учебная улица, 1");
Сообщить(ТипЗнч(Контакт.Адреса[0].Значение) = Тип("ДанныеАдреса"));
Сообщить("Строка адреса платформы: " + Адрес.СтрокаАдреса);
Сообщить("Основная строка: " + Адрес.СтрокаАдресаОсновная);
Сообщить("Дополнительная строка: " + Адрес.СтрокаАдресаДополнительная);Разбор по шагам
Имена ключей конструктора Улица и Дом не заменяем на неподтверждённые ключи произвольного JSON.
Все части учебного адреса задаём до Новый ДанныеАдреса; затем свойства только читаем.
Массив Адреса хранит элементы, внутри Значение — объект ДанныеАдреса, а не строка.
Три строковых представления выводим фактически. Отдельные основная/дополнительная строки не используются свойствами ДанныеКонтакта согласно справке.
Как проверить результат
Шесть логических сообщений Истина; три адресных строки выведены как диагностика платформы.
Учебный индекс 000001 не потерял ведущие нули; никакой геокодер не подтвердил существование этого адреса.
Ожидаемый результат
Собственный неизменяемый адрес помещён в один рабочий адресный элемент.
На что обратить внимание
Это собственные учебные объекты, не контакт, уже полученный от операционной системы или сохранённый на устройстве.
Представление задаёт текст для человека, не нормализованный идентификатор ФИАС или координаты.
Не присваивайте Адрес.Город после создания: для изменения сформируйте новый объект из новой структуры.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.
Разобрать приоритет стандартного поля адреса над исходными данными
Конструктор принимает собственное соответствие нестандартных исходных полей. По справке явная Страна имеет приоритет над конфликтующим RawData.Country.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Учебная база, серверный контекст. ДанныеКонтакта и связанные типы доступны на сервере: для этих задач не нужен мобильный телефон, разрешение на контакты или настоящая адресная книга.
Вся персона вымышлена: Учебный Ученик Тестович, организация Учебный магазин. Телефоны 000-000-01/02 — демонстрационные строки, адрес student@example.invalid учебный. Ничего не отправляйте и не звоните.
Код создаёт объекты только в памяти. Он не вызывает менеджер контактов устройства, синхронизацию, геокодирование, интернет или запись справочника Партнеры/КонтактныеЛица.
Исходные = Новый Соответствие;
Исходные.Вставить("Country", "Конфликтующая учебная страна");
Исходные.Вставить("guideCode", "A-01");
Поля = Новый Структура;
Поля.Вставить("Страна", "Явная учебная страна");
Поля.Вставить("Представление", "Учебный адрес для проверки приоритета");
Поля.Вставить("ИсходныеДанные", Исходные);
Адрес = Новый ДанныеАдреса(Поля);
Сообщить(Адрес.Страна = "Явная учебная страна");
Сообщить(ТипЗнч(Адрес.ИсходныеДанные) = Тип("ФиксированноеСоответствие"));
Сообщить(Адрес.ИсходныеДанные.Получить("guideCode") = "A-01");
Сообщить(Адрес.Представление = "Учебный адрес для проверки приоритета");Разбор по шагам
Соответствие Исходные создано нашим кодом, не выгружено из операционной системы.
В структуре конструктора задаём одновременно явную страну и сырой Country с другим значением.
После создания читаем readonly-фиксированное соответствие; Вставить у него не вызываем.
Как проверить результат
Четыре сообщения Истина: стандартная страна победила, тип исходных фиксированный, нестандартный guideCode сохранён, представление совпадает.
Никакие данные реального устройства не получались.
Ожидаемый результат
На собственном конфликте разобраны приоритет стандартного поля и сохранение нестандартного поля.
На что обратить внимание
Это собственные учебные объекты, не контакт, уже полученный от операционной системы или сохранённый на устройстве.
Состав настоящих исходных полей зависит от ОС: не считайте guideCode системным полем Android/iOS.
Тип и наличие внешнего сырого поля проверяйте перед преобразованием; фиксированность не гарантирует корректность его значения.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.