| 
    
            
         
         | 
    
  | 
Массовая корректировка реквизита для Регистра сведений | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        mishkerdon    
     02.07.14 
            ✎
    10:16 
 | 
         
        Есть периодический независимый регистр сведений. У него есть реквизит "Статус выгрузки" типа "Число" равное по умолчанию 0. Запросом беру данные в срезе последних, выгружаю их, и хочу установить для них всех (взятых в срезе последних) реквизит Статус выгрузки - 1. Как можно это сделать быстро??     
         | 
|||
| 
    1
    
        Maxus43    
     02.07.14 
            ✎
    10:17 
 | 
         
        набор целиком не уверен что получится,
 
        стандартно - на каждую запись создавать набор, ставить отборы и изменять  | 
|||
| 
    2
    
        Cube    
     02.07.14 
            ✎
    10:18 
 | 
         
        (0) Беру сальдо по контрагентам на дату - везде разное. Так вотхочу установить у них у всех сальдо 0. Как можно это сделать быстро??
 
        =)))))  | 
|||
| 
    3
    
        Крошка Ру    
     02.07.14 
            ✎
    10:19 
 | 
         
        (0) Быстро в плане времени выполнения кода или в плане времени написания кода?     
         | 
|||
| 
    4
    
        Cube    
     02.07.14 
            ✎
    10:21 
 | 
         
        +(3) А код писать будешь в тапочках или босиком?
 
        А телевизор при это смотреть будешь или нет? А на столе у тебя будет чисто или завалено? Ну, тогда не знаю... :)  | 
|||
| 
    5
    
        mishkerdon    
     02.07.14 
            ✎
    10:22 
 | 
         
        (3) В плане выполнения. 
 
        (1) так очень медленно, записей около 150000  | 
|||
| 
    6
    
        Ненавижу 1С    
     гуру 
    02.07.14 
            ✎
    10:22 
 | 
         
        прямой UPDATE к базе     
         | 
|||
| 
    7
    
        Maxus43    
     02.07.14 
            ✎
    10:23 
 | 
         
        (5) если около 150к - то одним набором записывать (если получится вобще) - крайне опасно (нехватка памяти иль ещё что) и не сильно быстрее     
         | 
|||
| 
    8
    
        Крошка Ру    
     02.07.14 
            ✎
    10:24 
 | 
         
        (7) Разбивать на порции и записывать     
         | 
|||
| 
    9
    
        Maxus43    
     02.07.14 
            ✎
    10:24 
 | 
         
        я бы таки сделал (1), только в транзакции по 1000 записей например     
         | 
|||
| 
    10
    
        mishkerdon    
     02.07.14 
            ✎
    10:26 
 | 
         
        а оптимально по сколько записей собирать??
 
        И еще вопрос - отборы по нескольким значениям одного измерения нельзя делать?  | 
|||
| 
    11
    
        Maxus43    
     02.07.14 
            ✎
    10:29 
 | 
         
        (10) отборы в наборе записей - только на равество.
 
        Как вариант в одной транзакции: 1. выгрузить 100 записей 2. удалить их из регистра 3. загрузить в набор изменённые записи 4. Записать(Ложь); это в набор записей регистра без отборов надо попробовать  | 
|||
| 
    12
    
        Maxus43    
     02.07.14 
            ✎
    10:32 
 | 
         
        но опять же нифига не быстрей, на удалении потеряешь.
 
        А если в регистр без отбора записывать(Истина) - удаляться все другие записи регистра. Если записывать(Ложь) без удаления - будут ошибки записи, т.к. такие записи уже есть  | 
|||
| 
    13
    
        John83    
     02.07.14 
            ✎
    10:34 
 | 
         
        "записей около 150000" - разве это так много?     
         | 
|||
| 
    14
    
        mishkerdon    
     02.07.14 
            ✎
    10:35 
 | 
         
        На самом деле не знаю много это или нет, но просто по отбору записей по каждому значению измерения и периоду он долго делает.     
         | 
|||
| 
    15
    
        Maxus43    
     02.07.14 
            ✎
    10:35 
 | 
         
        (13) нет, но надо найти оптимальный способ можификации этих записей, без потери других данных     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |