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