|
Планы обмена, Зарегистрировать Изменения | ☑ | ||
---|---|---|---|---|
0
rull9ss
06.11.13
✎
13:48
|
Сильно не пинать, только учусь.
Типовая УТ. Настроены планы обмена. Записываю примерно 300к записей в регистр сведений ЗначенияСвойствОбъектов. 95% времени занимает выполнение типового кода: Если ТипОбъекта = Тип("РегистрСведенийНаборЗаписей.ЗначенияСвойствОбъектов") Тогда МассивУзлов = ПолучитьМассивУзловДляРегистрации(Истина); Для каждого Запись Из Объект Цикл ТипДанных = ТипЗнч(Запись.Объект); Если ТипДанных = Тип("СправочникСсылка.Номенклатура") Тогда ПланыОбмена.ЗарегистрироватьИзменения(МассивУзлов, Запись.Объект); ИначеЕсли ТипДанных = Тип("СправочникСсылка.ХарактеристикиНоменклатуры") Тогда ПланыОбмена.ЗарегистрироватьИзменения(МассивУзлов, Запись.Объект.Владелец); КонецЕсли; КонецЦикла; КонецЕсли; Основное время занимает ПланыОбмена.ЗарегистрироватьИзменения(МассивУзлов, Запись.Объект); Есть ли возможность записать данные разом, не обходя циклом построчно? а то уж очень долго выполняется запись. |
|||
1
rull9ss
06.11.13
✎
13:55
|
апну
|
|||
2
Naumov
06.11.13
✎
14:01
|
использовать транзакцию?
|
|||
3
Feunoir
06.11.13
✎
14:03
|
(0) Судя по коду, оно регистрирует каждый элемент номенклатуры у которого есть дополнительные свойства. Боюсь, что победить получится только двумя способами
первый: закомментировать строку, загрузить, раскомментировать строку. второй: записывать набор записей в режиме "загрузка=истина", а регистрировать для обмена потом вручную. Хотя оно может не помочь, так как не очень понятно откуда этот код выдернут. |
|||
4
rull9ss
06.11.13
✎
14:06
|
(3) ОМ ПроцедурыОбменаССайтом
Процедура ЗарегистрироватьИзменения(Объект) |
|||
5
rull9ss
06.11.13
✎
14:07
|
(2) как использование транзакции поможет уменьшить время выполнения?
|
|||
6
Галахад
гуру
06.11.13
✎
14:09
|
А номенклатур всего сколько?
|
|||
7
rull9ss
06.11.13
✎
14:10
|
(6) примерно 300000
|
|||
8
Feunoir
06.11.13
✎
14:13
|
(4) Ну в общем для обмена с сайтом контроля на "загрузка=истина" нет, поэтому второй вариант отпадает.
|
|||
9
Serg_1960
06.11.13
✎
14:13
|
(0) Хех. Временно отключи подписки типа "ПриЗаписи...ОбменССайтомПриЗаписи". Но ежели что - я этого не говорил :)
|
|||
10
Feunoir
06.11.13
✎
14:14
|
+(8) Но есть другой грязный хак :) Перед загрузкой попытаться поставить ПараметрыСеанса.НаличиеОбменаССайтом=Ложь. Может и получится.
|
|||
11
Галахад
гуру
06.11.13
✎
14:15
|
(7) Т.е. в любом случае всю номенклатуру надо выгружать?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |