![]() |
|
Оптимизация записи/очистки регистра сведений (РС) СоздатьНаборЗаписей | ☑ | ||
---|---|---|---|---|
0
ИС-2
naïve
18.05.23
✎
13:07
|
Есть такой код для очистки связанного с документом регистра.
Т.к в ТЧ может быть несколько тысяч строк, то НЗ.Прочитать(); занимает 4 % времени нз.записать(); занимает 14% времени Проверок при записи регистров нет. Как можно ускорить запись регистра сведений? Для Каждого Стр из Источник.товары Цикл Ключ = Новый Структура("Документ,Номенклатура,ХарактеристикаНоменклатуры,СерияНоменклатуры"); ЗаполнитьЗначенияСвойств(Ключ,Стр); НЗ = РегистрыСведений.мк_ПогрузкаПачек.СоздатьНаборЗаписей(); НЗ.Отбор.Документ.Установить(Источник.ДокументПередачи); НЗ.Отбор.Номенклатура.Установить(Стр.Номенклатура); НЗ.Отбор.ХарактеристикаНоменклатуры.Установить(Стр.ХарактеристикаНоменклатуры); НЗ.Отбор.СерияНоменклатуры.Установить(Стр.СерияНоменклатуры); НЗ.Прочитать(); нз.Очистить(); нз.записать(); КонецЦикла; |
|||
1
RomanYS
18.05.23
✎
13:09
|
вот это лишнее
НЗ.Прочитать(); нз.Очистить(); |
|||
2
asady
18.05.23
✎
13:09
|
(0) имхо прочитать()+Очистить() - лишнее
|
|||
3
butterbean
18.05.23
✎
13:09
|
не надо Прочитать и Очистить
|
|||
4
RomanYS
18.05.23
✎
13:10
|
Если удаляются все записи по Источник.ДокументПередачи, то удалять одним набором без цикла
|
|||
5
asady
18.05.23
✎
13:11
|
(0) и ключ зачем-то создаешь и заполняеь
|
|||
6
OldCondom
18.05.23
✎
13:11
|
+ к (4) также отбор по документу за цикл вынести
Это до цикла: НЗ = РегистрыСведений.мк_ПогрузкаПачек.СоздатьНаборЗаписей(); НЗ.Отбор.Документ.Установить(Источник.ДокументПередачи); |
|||
7
RomanYS
18.05.23
✎
13:12
|
(4) а если НЕ все, то читаем набор по Отбор.Документ, удаляем из него лишние записи и записываем... один раз
|
|||
8
ИС-2
naïve
18.05.23
✎
15:05
|
(1) да, правы это не надо
(4) нет, там могут и быть не все записи для удаления Но больше вопрос был в том "почему на запись регистра к коотрому нет отбращений и проверок при записи уходит так много времени" |
|||
9
RomanYS
18.05.23
✎
15:50
|
(8) как много? Каждая запись это обращение к БД и куча накладных расходов.
Попробуй менеджер записи, хотя быстрее как раз писать одним набором как в (7) |
|||
10
H A D G E H O G s
18.05.23
✎
17:34
|
ОбменДанными.Загрузка
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |