Удаление адреса из контактной информации

Версия для печатиPDF-версия

Платформа:

Пишу внешнюю обработку для удаления адресов у физлица.

&НаКлиенте
Процедура УдалитьАдреса(Команда)
 
 
Результат = Вопрос("Удалить адреса этого физлица? Да - удалить, Нет - закрыть", РежимДиалогаВопрос.ДаНет);
       
Если результат = КодВозвратаДиалога.Да Тогда
      адрес();
  Сообщить("Выполнено");
      
      Иначе
      
     Сообщить("Не выполнено");
      
      КонецЕсли;

КонецПроцедуры

 

&НаСервере
Процедура адрес()
 
  ДанныеФизическогоЛица = Физлицо.ПолучитьОбъект();
  
  БылоСтрок = ДанныеФизическогоЛица.КонтактнаяИнформация.Количество();
  
 
Для Счетчик =1 по ДанныеФизическогоЛица.КонтактнаяИнформация.Количество() Цикл 
  
 
НомерСтроки= БылоСтрок-Счетчик;
  
 
лСтр = ДанныеФизическогоЛица.КонтактнаяИнформация[НомерСтроки];
Если ТипЗнч(ДанныеФизическогоЛица) = Тип("строка")
Тогда
 
  ДанныеФизическогоЛица.КонтактнаяИнформация.Удалить(НомерСтроки);
  
 
КонецЕсли;
  
 
КонецЦикла;
конецпроцедуры

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

 

Где хранятся данные? Вроде в каких-то конфигурациях контактная информация хранится в регистре. Запросом получить все записи регистра по данному физ-лицу и удалить их. Вроде делается это не так сложно.
 

Попробуйте что-то в этом роде:

Если лСтр.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес Тогда
    ДанныеФизическогоЛица.КонтактнаяИнформация.Удалить(лСтр);
КонецЕсли;

Работает!