Имя: Пароль:
1C
 
Конвертация один справочник в два. (Одной выборкой)
0 abask
 
19.06.25
14:50
Добрый день,
Есть конфигурация на семерке и справочник "Контрагенты"
Нужно перенести их в ERP

В ERP есть два справочника "Контрагенты" и "Партнеры"

в конвертации я делаю два ПВД и два ПКО
"Контрагенты" -> "Контрагенты" и "Контрагенты" -> "Партнеры"

соответственно дважды запрашиваю и выгружаю одни и те же данные

можно ли оптимизировать это чтобы выгружать только один раз?
1 Волшебник
 
19.06.25
14:53
выгружай дважды
2 ads55
 
19.06.25
14:54
(0) Да.
Выборка = Справочники.Контрагенты.Выбрать();
Пока Выборка.Следующий() Цикл
НовПартнер = Справочники.Партнеры.Создать();
ЗаполнитьЗначенияСвойств(НовПартнер, Выборка);
НовПартнер.Записать();
КонецЦикла

Данные одни - справочника два. :)
3 Fedor-1971
 
19.06.25
15:01
(0) в ПКО Контрагенты передВыгрузкой сделай ВыгрузитьПоПравилу(Источник,,,,"Партнеры");
Запросил один раз, выгрузил данные для разных справочников

Возможно у Партнёров надо прописать в ПередВыгрузкой ТолькоПолучитьУзелСсылки = Ложь; - это когда тебе для Партнёра выгрузятся только поля поиска. Сразу увидишь, что Партнёр не заполнен полностью
4 Мультук
 
гуру
19.06.25
15:08
(0)

1 млн  контрагентов ?
Калькулятор вместо сервера ?

ИМХО
Оптимизация это прикольно, но для разовой работы не нужно.
5 abask
 
19.06.25
15:12
(4) Linux трансформация :)
6 СвинТуз
 
19.06.25
15:26
(0)
Должен быть реквизитик.
Кажется у контрагента партнер.

Тут вопросов не возникает?

Если сложно загружать из внешних данных,
то можно в после загрузки колдовать.
Выгружать-загружать один раз по одному правилу.
7 СвинТуз
 
19.06.25
15:29
*входящие данные
8 Климов Сергей
 
19.06.25
15:30
(0) Делаешь 2 ПКО и 1 ПВД. К примеру "Контрагенты_Партнеры".
В обработчике "После выгрузки" ПКО "Контрагенты_Партнеры" пишешь:
ВыгрузитьПоПравилу(Источник, , , , "Контрагенты_Контрагенты");
9 abask
 
19.06.25
15:31
(6) это не проблема
ПослеЗагрузки
Объект.Партнер = Справочники.Партнеры.НайтиПоНаименованию(Объект.Наименование);
10 Мультук
 
гуру
19.06.25
15:33
(9)

Отличный план! (с)

Что может пойти не так ?
11 СвинТуз
 
19.06.25
15:33
(9)
Там Наверное ссылкаНового )))

Хорошо если партнеры придут первыми.
12 ads55
 
19.06.25
15:35
(9) Ну нашёл ты его. А дальше что? А если не нашёл?
13 abask
 
19.06.25
15:40
(10) (11) (12)
У "Партнеры" приоритет выше и, соответственно, загружается раньше.
Даже если загрузится позже при следующей загрузке найдутся
14 abask
 
19.06.25
15:41
(8) Заработало
(3) Поменял местами "Контрагенты" - "Партнеры" как в (8)
15 asady
 
19.06.25
16:43
(0) все делается в приемнике после загрузки
не нужно выгружать два объекта
16 Fedor-1971
 
19.06.25
16:50
(15) не факт, в исходном справочнике, например, Контрагент (допиленный из 7.7) могут быть поля нужные для Партнёра, но ненужные для Контрагента
Для обмена 8-8 можно обойтись параметрами объекта, но не всегда оные удобны