|
Конвертация один справочник в два. (Одной выборкой)
Fedor-1971, Климов Сергей, arsik, X Leshiy, _Batoo, zenik, Vstur, alexxx961503, Hawk_1c, asady, Тындр, abask, eRik, Caesar, nick86, denk32, Timon1405, Бычье сердце, obs191, DimR_71, kir-g, ads55, Djelf, Shurjk, Chameleon1980, d4rkmesa, takefive, Lazy Stranger, Мультук, Доминошник, Хряк, Fragster, Vbirf, lucky_, Terrixus, vbus, СвинТуз, formista2000, Junior1s, Волшебник, Ненавижу 1С, Builder, piter3, Double_Medved, phabeZ, PR, ЕRPe, 2mugik, Bazooka, alexis_nov, Михаил_, Renat11111
| ☑ |
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 можно обойтись параметрами объекта, но не всегда оные удобны
|
|