ЭлементДанныхКонтакта.ТипДанных

Свойства · DataType

Тип: Строка, ТипНомераТелефонаДанныхКонтакта, ТипАдресаЭлектроннойПочтыДанныхКонтакта, ТипАдресаДанныхКонтакта, ТипВебАдресаДанныхКонтакта, ТипОтношенийДанныхКонтакта. Показывает, как интерпретировать значение. Например, тип данных Рабочий показывает, что в значении хранится номер рабочего телефона.

Полное описание, параметры и ограничения

ЭлементДанныхКонтакта.ТипДанных (ContactDataItem.DataType)

ЭлементДанныхКонтакта (ContactDataItem)

ТипДанных (DataType)

Доступен, начиная с версии 8.3.4.

Использование:
Чтение и запись.
Описание:
Тип: Строка, ТипНомераТелефонаДанныхКонтакта, ТипАдресаЭлектроннойПочтыДанныхКонтакта, ТипАдресаДанныхКонтакта, ТипВебАдресаДанныхКонтакта, ТипОтношенийДанныхКонтакта.
Показывает, как интерпретировать значение.
Например, тип данных Рабочий показывает, что в значении хранится номер рабочего телефона.
Доступность:

Мобильный клиент, сервер, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.

Использование в версии:

Доступен, начиная с версии 8.3.4.

Методическая информация

Практические примеры

Разделить день рождения и собственное событие контакта

ДеньРождения — отдельная дата. События — массив элементов со строковой подписью типа и значением Дата; напоминания этим не планируются.

Где и как запускать

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

Подготовка

  1. Учебная база, серверный контекст. ДанныеКонтакта и связанные типы доступны на сервере: для этих задач не нужен мобильный телефон, разрешение на контакты или настоящая адресная книга.

  2. Вся персона вымышлена: Учебный Ученик Тестович, организация Учебный магазин. Телефоны 000-000-01/02 — демонстрационные строки, адрес student@example.invalid учебный. Ничего не отправляйте и не звоните.

  3. Код создаёт объекты только в памяти. Он не вызывает менеджер контактов устройства, синхронизацию, геокодирование, интернет или запись справочника Партнеры/КонтактныеЛица.

Контакт = Новый ДанныеКонтакта;
Контакт.Имя = "Учебный";
Контакт.Фамилия = "Ученик";
Контакт.Отчество = "Тестович";
Контакт.ДеньРождения = Дата(2000, 1, 1);
Контакт.События = Новый Массив;
Событие = Новый ЭлементДанныхКонтакта("Учебная встреча", Дата(2026, 10, 3));
Контакт.События.Добавить(Событие);
Если ТипЗнч(Событие.Значение) <> Тип("Дата") Тогда
    ВызватьИсключение "Событие должно содержать дату";
КонецЕсли;
Сообщить(Контакт.ДеньРождения = Дата(2000, 1, 1));
Сообщить(Событие.ТипДанных = "Учебная встреча");
Сообщить(Событие.Значение = Дата(2026, 10, 3));
Сообщить(Контакт.События.Количество() = 1);

Разбор по шагам

  1. Дата рождения вымышленная и задаётся как дата, не строка 01.01.2000.

  2. Для события ТипДанных — собственная строка, Значение — объект даты.

  3. Тип проверяем до работы с датой; не создаём регламентного задания, календарной записи или уведомления.

Как проверить результат

  1. Четыре сообщения Истина.

  2. Дата события не заменила ДеньРождения и не запланировала напоминание.

Ожидаемый результат

У контакта есть отдельная вымышленная дата рождения и одно учебное событие.

На что обратить внимание

  1. Это собственные учебные объекты, не контакт, уже полученный от операционной системы или сохранённый на устройстве.

  2. Пример не рассчитывает возраст или ближайший день рождения с учётом календарных правил.

  3. Поле даты не содержит автоматически временную зону и правила повторения события.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Добавить два телефона и рабочий адрес почты

ЭлементДанныхКонтакта сочетает тип-подпись и значение. Для телефона и почты значение должно быть строкой; сам объект допускает также дату и адрес.

Где и как запускать

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

Подготовка

  1. Учебная база, серверный контекст. ДанныеКонтакта и связанные типы доступны на сервере: для этих задач не нужен мобильный телефон, разрешение на контакты или настоящая адресная книга.

  2. Вся персона вымышлена: Учебный Ученик Тестович, организация Учебный магазин. Телефоны 000-000-01/02 — демонстрационные строки, адрес student@example.invalid учебный. Ничего не отправляйте и не звоните.

  3. Код создаёт объекты только в памяти. Он не вызывает менеджер контактов устройства, синхронизацию, геокодирование, интернет или запись справочника Партнеры/КонтактныеЛица.

Контакт = Новый ДанныеКонтакта;
Контакт.Имя = "Учебный";
Контакт.Фамилия = "Ученик";
Контакт.Отчество = "Тестович";
Контакт.НомераТелефонов = Новый Массив;
Контакт.АдресаЭлектроннойПочты = Новый Массив;
Основной = Новый ЭлементДанныхКонтакта(ТипНомераТелефонаДанныхКонтакта.Основной, "000-000-01");
Мобильный = Новый ЭлементДанныхКонтакта(ТипНомераТелефонаДанныхКонтакта.Мобильный, "000-000-02");
Почта = Новый ЭлементДанныхКонтакта(ТипАдресаЭлектроннойПочтыДанныхКонтакта.Рабочий, "student@example.invalid");
Контакт.НомераТелефонов.Добавить(Основной);
Контакт.НомераТелефонов.Добавить(Мобильный);
Контакт.АдресаЭлектроннойПочты.Добавить(Почта);
Для Каждого Телефон Из Контакт.НомераТелефонов Цикл
    Если ТипЗнч(Телефон.Значение) <> Тип("Строка") Тогда
        ВызватьИсключение "В телефонном массиве ожидалась строка";
    КонецЕсли;
    Сообщить(СтрШаблон("%1: %2", Телефон.ТипДанных, Телефон.Значение));
КонецЦикла;
Сообщить(Контакт.НомераТелефонов.Количество() = 2);
Сообщить(Почта.Значение = "student@example.invalid");
Сообщить(Почта.ТипДанных = ТипАдресаЭлектроннойПочтыДанныхКонтакта.Рабочий);
Мобильный.ТипДанных = ТипНомераТелефонаДанныхКонтакта.РабочийМобильный;
Мобильный.Значение = "000-000-03";
Сообщить(Контакт.НомераТелефонов[1].Значение = "000-000-03");

Разбор по шагам

  1. Создаём собственные массивы явно, затем элементы с подходящими системными подписями.

  2. При обходе проверяем фактический тип значения до использования как телефона.

  3. Изменение Мобильный меняет тот же объект в массиве; не создаёт отдельную новую запись и не звонит.

Как проверить результат

  1. Показаны две демонстрационные строки телефонов; четыре сравнения Истина.

  2. У второго элемента после изменения тип РабочийМобильный и значение 000-000-03.

Ожидаемый результат

Контакт получил два телефонных элемента и один рабочий почтовый элемент.

На что обратить внимание

  1. Это собственные учебные объекты, не контакт, уже полученный от операционной системы или сохранённый на устройстве.

  2. Ни строка телефона, ни подпись Основной не доказывают валидность номера или возможность звонка.

  3. При чтении чужого объекта проверяйте тип каждого Значение, не полагайтесь только на название массива.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.