|
Помогите оптимизировать алгоритм изменения регистра накопления |
☑ |
0
Обфускация
22.05.18
✎
14:31
|
У меня в базе есть разлетевшийся регистр себестоимости. Причины пока ищем, но надо работать. Я написала обработку, которая проходит по регистру, отбирает разлетевшиеся записи и выводит их в таблицу, это все быстро. Потом также быстро эта таблица дополняется ценами прихода. После этого данные надо поместить в регистр. Но вот тут все дико виснет и делается очень долго, хотя косметический эффект есть, все в отчетах становится как надо. Вопрос, как это можно ускорить?
для каждого стр из объект.Изменения цикл
Набор = РегистрыНакопления.ОстаткиНоменклатурыВСебестоимости.СоздатьНаборЗаписей () ;
Набор.Отбор.Регистратор.Значение = стр.регистратор;
Набор.Прочитать();
Для Каждого движ Из Набор Цикл
если стр.АналитикаУчетаНоменклатуры= движ.АналитикаУчетаНоменклатуры тогда
движ.стоимость=стр.контракт;
стр.стоимость2= движ.Стоимость;
Набор.Записать();
конецесли;
КонецЦикла;
конеццикла;
|
|
1
Мыш
22.05.18
✎
14:33
|
(0) Отключить итоги, выполнить все записи, включить итоги.
|
|
2
Обфускация
22.05.18
✎
14:34
|
(1)
можно с примером кода?
|
|
3
Дык ё
22.05.18
✎
14:34
|
(0) Записать() вынести из цикла
|
|
4
Мыш
22.05.18
✎
14:34
|
+(1) Вынести Набор.Записать() за пределы цикла )
|
|
5
Timon1405
22.05.18
✎
14:36
|
(1)+ оценить на копии время на включение/выключение итогов. на боевой наголо такими шашками лучше не махать.
|
|
6
Обфускация
22.05.18
✎
14:38
|
(4)
в цикле условие соблюдается только один раз
|
|
7
RomanYS
22.05.18
✎
14:56
|
Часть обработчиков можно выключить с помощью
Набор.ОбменДанными.Загрузка = Истина;
|
|
8
cons74
22.05.18
✎
15:41
|
(7) и словить потом отсутствие корректных сумм в связанных (через подписки) регистрах?
|
|
9
aleks_default
22.05.18
✎
17:17
|
сделай запросом по таблице Изменения и итоги по регистратору
|
|
10
spiller26
22.05.18
✎
17:36
|
Вот нашел
|
|
11
spiller26
22.05.18
✎
17:38
|
(10) не туда
|
|
12
Tateossian
22.05.18
✎
17:54
|
ОбменДанными.Загрузка можно в истину переключить.
|
|
13
xXeNoNx
22.05.18
✎
19:11
|
(6) обушки-воробушки. Пардон, а чем не устраивают движения объекта? Зачем их еще через набор искать? А после проведения значения те же останутся?
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший