1С 8.3 Разобрать контактные данные контрагента
Данные > Примеры кода 1С > 1С 8.3 Типовые (БП3, ЗУП, УТ)
Перейти в раздел примеры кода 1С 8.3:
Пример в 1С 8.3:
// Сначало получаем список контактов из адресной книги
Контакты = Новый МенеджерКонтактов;
МассивКонтактов = Контакты.НайтиКонтакты();
// Потом разбираем контакты и записываем уже в понятном формате
НовыйКонтакт = Контакты.ПолучитьКонтакт(ТекКонтакт);
СтруктураКонтакта = Новый Структура("Фамилия, Имя, Отчество, ДеньРождения, НомераТелефонов, Адреса", "", "", "", Дата(1,1,1), Новый Массив, Новый Массив);
СтруктураКонтакта.Фамилия = Контакт.Фамилия;
СтруктураКонтакта.Имя = Контакт.Имя;
СтруктураКонтакта.Отчество = Контакт.Отчество;
СтруктураКонтакта.ДеньРождения = Контакт.ДеньРождения;
Для Каждого ТекНомерТелефона Из Контакт.НомераТелефонов Цикл
СтруктураНомераТелефона = Новый Структура("Значение, ТипДанных");
ЗаполнитьЗначенияСвойств(СтруктураНомераТелефона, ТекНомерТелефона);
СтруктураКонтакта.НомераТелефонов.Добавить(СтруктураНомераТелефона);
КонецЦикла;
Для Каждого ТекАдрес Из Контакт.Адреса Цикл
Если ЗначениеЗаполнено(ТекАдрес.Значение.СтрокаАдреса) Тогда
СтруктураКонтакта.Адреса.Добавить(ТекАдрес.Значение.СтрокаАдреса);
КонецЕсли;
КонецЦикла;
Контакты = Новый МенеджерКонтактов;
МассивКонтактов = Контакты.НайтиКонтакты();
// Потом разбираем контакты и записываем уже в понятном формате
НовыйКонтакт = Контакты.ПолучитьКонтакт(ТекКонтакт);
СтруктураКонтакта = Новый Структура("Фамилия, Имя, Отчество, ДеньРождения, НомераТелефонов, Адреса", "", "", "", Дата(1,1,1), Новый Массив, Новый Массив);
СтруктураКонтакта.Фамилия = Контакт.Фамилия;
СтруктураКонтакта.Имя = Контакт.Имя;
СтруктураКонтакта.Отчество = Контакт.Отчество;
СтруктураКонтакта.ДеньРождения = Контакт.ДеньРождения;
Для Каждого ТекНомерТелефона Из Контакт.НомераТелефонов Цикл
СтруктураНомераТелефона = Новый Структура("Значение, ТипДанных");
ЗаполнитьЗначенияСвойств(СтруктураНомераТелефона, ТекНомерТелефона);
СтруктураКонтакта.НомераТелефонов.Добавить(СтруктураНомераТелефона);
КонецЦикла;
Для Каждого ТекАдрес Из Контакт.Адреса Цикл
Если ЗначениеЗаполнено(ТекАдрес.Значение.СтрокаАдреса) Тогда
СтруктураКонтакта.Адреса.Добавить(ТекАдрес.Значение.СтрокаАдреса);
КонецЕсли;
КонецЦикла;
Возврат СтруктураКонтакта;
0
комментарии
____________________
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник