Делаю обработку для переноса контактной информации. Нужно сделать переброс из одного вида в другой по определенному контрагенту. Срочна нужна подсказка!!! (ну не у кого больше спросить?)
загвоздка именно с переносам по полям и дальнейшие чистки данных у одного из видов контактной информации.
---
меняю ФактАдресКонтрагента на ЮрАдресКонтрагента
проверено на Бухгалтерии для Казахстана, но я думаю от Российской не отличается

```1c
    //меняю ФактАдресКонтрагента на ЮрАдресКонтрагента
    НаборЗаписей=РегистрыСведений.КонтактнаяИнформация.СоздатьНаборЗаписей();
    НаборЗаписей.Отбор.объект.Установить(Контрагент);
    НаборЗаписей.Отбор.Тип.Установить(Перечисления.ТипыКонтактнойИнформации.Адрес);
    НаборЗаписей.Отбор.Вид.Установить(Справочники.ВидыКонтактнойИнформации.ФактАдресКонтрагента);
    НаборЗаписей.Прочитать();
    для Каждого стр из НаборЗаписей цикл
    Запись=РегистрыСведений.КонтактнаяИнформация.СоздатьМенеджерЗаписи();
    ЗаполнитьЗначенияСвойств(Запись,Стр);
    Запись.Вид=Справочники.ВидыКонтактнойИнформации.ЮрАдресКонтрагента;
    Запись.Записать(Истина);
    КонецЦикла;
    НаборЗаписей.Очистить();
    НаборЗаписей.Записать(Истина);
```
---
Nadushka74, Приведите пример "Переброса из одного вида в другой".

Если Вы, например, хотите сменить для контрагента Юридических адрес на фактический (или что-то подобное), тогда создавайте необходимый Вам набор, читайте его и циклом изменяйте поля и записывайте набор.
Набор.Прочитать();
Для Каждого Запись ИЗ Набор Цикл
Если блабла Тогда
Запись.ВидКонтактнойИнфомрации = ...;
КонецЕсли;
КонецЦикла;
Набор.Записать();

С созданием набора Вам уже помогли чуть выше:)
---
Если структура полей не отличается(фактический адрес в почтовый например), то что-то вроде:

```1c
    НабЗап = РегистрыСведений.КонтактнаяИнформация.СоздатьНаборЗаписей(Отбор);
    НабЗап.Отбор.Установить.Объект = Контрагент;
    НабЗап.Отбор.Установить.Вид = ИскомыйВид;
    НабЗап.Отбор.Установить.Тип= ИскомыйТип;
    НабЗап.Прочитать();
    Для Каждого Запись из НаборЗаписей Цикл
    Запись.Вид = НовыйВид;
    Запись.тип = НовыйТип;
    КонецЦикла;
    НабЗап.Записать(Истина);
```
---
НабЗап.Отбор.Установить.Объект = Контрагент;

только не так
НабЗап.Отбор.Объект.Установить(Контрагент);
---
прошу проверить в чем ошибка
```1c
    Если Строка.метка=Истина тогда
    Контрагент=Строка.Контрагент;
    КонтактнаяИнформация = РегистрыСведений.КонтактнаяИнформация;
    НабЗап=КонтактнаяИнформация.СоздатьНаборЗаписей() ;
    НабЗап.Отбор.Вид.Установить(ИскомыйВид);
    НабЗап.Отбор.Тип.Установить(ИскомыйТип);
    НабЗап.Отбор.Объект.Установить(Контрагент.Ссылка);
    НабЗап.Прочитать();
    Для Каждого Запись из НабЗап Цикл
    НовыйАдрес=РегистрыСведений.КонтактнаяИнформация.СоздатьНаборЗаписей();
    НовыйАдрес.Объект= НабЗап.Объект;
    НовыйАдрес.Тип= НовыйТип;
    Новыйадрес.Вид= НовыйВид;
    НовыйАдрес.Представление= НабЗап.Представление;
    НовыйАдрес.Поле1= НабЗап.Поле1;
    НовыйАдрес.Поле2= НабЗап.Поле2;
    НовыйАдрес.Поле3= НабЗап.Поле3;
    НовыйАдрес.Поле4= НабЗап.Поле4;
    НовыйАдрес.Поле5= НабЗап.Поле5;
    НовыйАдрес.Поле6= НабЗап.Поле6;
    НовыйАдрес.Поле7= НабЗап.Поле7;
    НовыйАдрес.Поле8= НабЗап.Поле8;
    НовыйАдрес.Поле9= НабЗап.Поле9;
    НовыйАдрес.Поле10= НабЗап.Поле10;
    НовыйАдрес.Комментарий= НабЗап.Комментарий;
    НовыйАдрес.ЗначениеПоУмолчанию=НабЗап.ЗначениеПоУмолчанию;
    НовыйАдрес.Записать(Истина);
    КонецЦикла;
    Иначе КонецЕсли;
```

ну а потом можно и тапками закидать, но нового адреса не записывается
---
Nadushka74,

```1c
    ...
    НабЗап.Прочитать();
    НовыйНабор=РегистрыСведений.КонтактнаяИнформация.СоздатьНаборЗаписей();
    НовыйНабор.Отбор.Вид.Установить(НовыйВид);
    НовыйНабор.Отбор.Тип.Установить(НовыйТип);
    НовыйНабор.Отбор.Объект.Установить(Контрагент.Ссылка);
    Для Каждого Запись из НабЗап Цикл
    НовыйАдрес=НовыйНабор.Добавить();
    НовыйАдрес.Объект= НабЗап.Объект;
    НовыйАдрес.Тип= НовыйТип;
    Новыйадрес.Вид= НовыйВид;
    НовыйАдрес.Представление= НабЗап.Представление;
    НовыйАдрес.Поле1= НабЗап.Поле1;
    НовыйАдрес.Поле2= НабЗап.Поле2;
    НовыйАдрес.Поле3= НабЗап.Поле3;
    НовыйАдрес.Поле4= НабЗап.Поле4;
    НовыйАдрес.Поле5= НабЗап.Поле5;
    НовыйАдрес.Поле6= НабЗап.Поле6;
    НовыйАдрес.Поле7= НабЗап.Поле7;
    НовыйАдрес.Поле8= НабЗап.Поле8;
    НовыйАдрес.Поле9= НабЗап.Поле9;
    НовыйАдрес.Поле10= НабЗап.Поле10;
    НовыйАдрес.Комментарий= НабЗап.Комментарий;
    НовыйАдрес.ЗначениеПоУмолчанию=НабЗап.ЗначениеПоУмолчанию;
    КонецЦикла;
    НовыйНабор.Записать(Истина);
```
---
Если в цикл заходит, то я бы проверил типы данных
```1c
    НовыйАдрес.Тип= НовыйТип; Новыйадрес.Вид= НовыйВид;
```
---
masterkio, (7) YNik, считывает данные он правильно, у меня есть искомый вид и тип, там все данные. Мне нужно записать эти данные под новым видом и типом. Во именно записи новой контактной информации и не происходит. Вознаграждение за решение гарантирую....
---
Мой вариант проверили?
---
У тебя не пишется, т.к. после НовыйАдрес=РегистрыСведений.КонтактнаяИнформация.СоздатьНаборЗаписей(); пропущено НоваяЗапись = НовыйАдрес.Добавить(); но и в этом случае, такой код обнулит тебе вообще весь регистр. Для создания единственной записи стоит использовать МенеджерЗаписи.
---
меняю ФактАдресКонтрагента на ЮрАдресКонтрагента
проверено на Бухгалтерии для Казахстана, но я думаю от Российской не отличается

```1c
    //меняю ФактАдресКонтрагента на ЮрАдресКонтрагента
    НаборЗаписей=РегистрыСведений.КонтактнаяИнформация.СоздатьНаборЗаписей();
    НаборЗаписей.Отбор.объект.Установить(Контрагент);
    НаборЗаписей.Отбор.Тип.Установить(Перечисления.ТипыКонтактнойИнформации.Адрес);
    НаборЗаписей.Отбор.Вид.Установить(Справочники.ВидыКонтактнойИнформации.ФактАдресКонтрагента);
    НаборЗаписей.Прочитать();
    для Каждого стр из НаборЗаписей цикл
    Запись=РегистрыСведений.КонтактнаяИнформация.СоздатьМенеджерЗаписи();
    ЗаполнитьЗначенияСвойств(Запись,Стр);
    Запись.Вид=Справочники.ВидыКонтактнойИнформации.ЮрАдресКонтрагента;
    Запись.Записать(Истина);
    КонецЦикла;
    НаборЗаписей.Очистить();
    НаборЗаписей.Записать(Истина);
```
---
прошу прощения проверила все варианты и видимо пора закидать меня тапками, но решила вставить проверку на количество и количество записей оказалось =0. Т.е. не происходит запись первичных данных - что мы переносим, ну соответственно и дальше мы ни чего записать не можем

```1c
    НаборЗаписей=РегистрыСведений.КонтактнаяИнформация.СоздатьНаборЗаписей();
    НаборЗаписей.Отбор.объект.Установить(Контрагент);
    НаборЗаписей.Отбор.Тип.Установить(Перечисления.ТипыКонтактнойИнформации.Адрес);

    НаборЗаписей.Отбор.Вид.Установить(ИскомыйВид);
    НаборЗаписей.Прочитать();
    Если НаборЗаписей.Количество()=0 тогда ....
```

где тут может быть ошибка??? ну очень надо, в базе дублей основных видов накопилось уйма, нужно все это привести к единому формату, хочу обмен с документооборотом наладить, но не выгружать же мне 5 физ адресов????
---
Nadushka74, Может значение, занесенное в ИскомыйВид отлично по типу (СправочникОбъект вместо СправочникСсылка) или же указано значение, которого нет в регистре, а есть похожее, но другое. Попробуйте запросом вывести коды

```1c
    ВЫБРАТЬ РАЗЛИЧНЫЕ
    КонтактнаяИнформация.Вид,
    КонтактнаяИнформация.Вид.Код КАК ВидКод,
    КонтактнаяИнформация.Вид.Наименование КАК ВидНаименование
    ИЗ
    РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация

    УПОРЯДОЧИТЬ ПО
    ВидКод,
    ВидНаименование
```

И сверьте с передаваемым значением.
---
taiba, точно объект вместо ссылка. (11) Vik_Krivobok, спасибо за основной код
---
Если нужно масштабно то можно получить запросом все данные из регистра "Контактная информация"

ВЫБРАТЬ
 *
ИЗ
 РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация

обработать прямо в запросе или уже результат запроса выгрузить в табличную часть и потом загрузить в менеджер запись и записать обратно в регистр

Делаю обработку для переноса контактной информации.

Если нужно выгрузить и загрузить в другую базу то я бы использовал конвертацию и уже обрабатывал обработчиком в правилах...