| 
    
            
         
         | 
    
  | 
Через какой механизм быстрее всего корректировать записи Регистра Бухгалтерии | ☑ | ||
|---|---|---|---|---|
| 
    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 
 | 
         
        Да, скорость выросла в разы..Спасибо за помощь.     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |