|
Через какой механизм быстрее всего корректировать записи Регистра Бухгалтерии | ☑ | ||
---|---|---|---|---|
0
Сергиус
01.06.12
✎
14:06
|
я делаю так:
Запрос = Новый Запрос; Запрос.УстановитьПараметр("ТекСчет",ТекСчет); Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ | Обороты.Регистратор |ИЗ | РегистрБухгалтерии."+ПланСчетов+".Обороты(, , Регистратор, Счет = &ТекСчет, , , , ) КАК Обороты"; Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл НаборЗаписей = РегистрыБухгалтерии[ПланСчетов].СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Регистратор.Установить(Выборка.Регистратор); НаборЗаписей.Прочитать(); Для каждого Стр ИЗ НаборЗаписей Цикл //Мои изменения данных КонецЦикла; НаборЗаписей.Записать(); КонецЦикла; Но попался один счет, изменения по которому длятся более 20 часов..Можно как то ускорить эту процедуру? |
|||
1
Живой Ископаемый
01.06.12
✎
14:06
|
отключить итоги.
|
|||
2
Defender aka LINN
01.06.12
✎
14:08
|
(1) Угу. И потом их 20 часов включать 6)
|
|||
3
Сергиус
01.06.12
✎
14:08
|
(1) Извини за вопрос, как это сделать?
|
|||
4
Сергиус
01.06.12
✎
14:08
|
(2)Т.е. других вариантов нет?
|
|||
5
Maxus43
01.06.12
✎
14:09
|
заключить в Транзакцию по 1000 записей
|
|||
6
Живой Ископаемый
01.06.12
✎
14:10
|
2(2) да, мне тоже не нравится... :(
2(3) всем известно как.. ВыгрузкаЗагрузкаДанныхХМЛв82.епф, закладка загрузка, нажать кнопку выключить итоги |
|||
7
Сергиус
01.06.12
✎
14:10
|
(5)Выигрыш будет заметен?
|
|||
8
Maxus43
01.06.12
✎
14:12
|
(7) должен быть заметен... а разделение итогов включено?
|
|||
9
Сергиус
01.06.12
✎
14:15
|
(8) да, включено
|
|||
10
Maxus43
01.06.12
✎
14:16
|
сколько наборов? по 5000 наборов в транзакцию заворачивай, прирост будет
|
|||
11
Сергиус
01.06.12
✎
14:45
|
(10)Регистраторов где то 135.000..в каждом от 10 до 1000 записей..по-разному
|
|||
12
Maxus43
01.06.12
✎
14:49
|
попробуй короче. замер сделай как в транзакцию завернёш, по 500-1000 наборов думаю
|
|||
13
Сергиус
01.06.12
✎
14:58
|
В транзакцию завернуть вот этот блок :
НаборЗаписей = РегистрыБухгалтерии[ПланСчетов].СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Регистратор.Установить(Выборка.Регистратор); НаборЗаписей.Прочитать(); Для каждого Стр ИЗ НаборЗаписей Цикл //Мои изменения данных КонецЦикла; НаборЗаписей.Записать(); ? |
|||
14
Maxus43
01.06.12
✎
15:05
|
да, счетчик на количество наборов, потом фиксируй и заново начинай
|
|||
15
Maxus43
01.06.12
✎
15:05
|
ну 1000 наборов просто запиши в транзкции и без неё, погляди производительность
|
|||
16
Сергиус
01.06.12
✎
16:38
|
Да, скорость выросла в разы..Спасибо за помощь.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |