| 
    
            
         
         | 
    
    
  | 
v7: ДБФ, Быстрое обновление регистров | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        Aristo    
     01.08.11 
            ✎
    12:43 
 | 
         
        Мне в самом большом регистре нужно поменять значение измерения с "Документ определенного вида" на "Документ".
  
        Пересчет регистров занимает более чем сутки (не дождался еще). Есть какие - либо способы быстрее пересчитать регистр? База ДБФ.  | 
|||
| 
    1
    
        Mikeware    
     01.08.11 
            ✎
    12:44 
 | 
         
        клиппер/фокспро.
  
        в конце концов, сама же 1С  | 
|||
| 
    2
    
        Aristo    
     01.08.11 
            ✎
    12:49 
 | 
         
        (1) можно примерную последовательность действий     
         | 
|||
| 
    3
    
        Mikeware    
     01.08.11 
            ✎
    12:50 
 | 
         
        1.взять инструмент
  
        2. сделать. 3. переиндексировать регистр.  | 
|||
| 
    4
    
        Андрей_Андреич    
     naïve 
    01.08.11 
            ✎
    12:51 
 | 
         
        Загрузить в скуль     
         | 
|||
| 
    5
    
        Ёпрст    
     гуру 
    01.08.11 
            ✎
    12:51 
 | 
         
        (0) Зачем ?     
         | 
|||
| 
    6
    
        Ёпрст    
     гуру 
    01.08.11 
            ✎
    12:52 
 | 
         
        а так, можно и прямым запросом проапдейтить табличку движений, потом на чистой базе с этим регистром создать табличку итогов.     
         | 
|||
| 
    7
    
        Mikeware    
     01.08.11 
            ✎
    12:53 
 | 
         
        (6) сказано же - регистр большой. Надо сделать еще больше :-)     
         | 
|||
| 
    8
    
        Ёпрст    
     гуру 
    01.08.11 
            ✎
    12:54 
 | 
         
        заёмет на всё меньше часа.     
         | 
|||
| 
    9
    
        Mikeware    
     01.08.11 
            ✎
    12:54 
 | 
         
        (6) кстати, можно и в итогах тоже проапдейтить...     
         | 
|||
| 
    10
    
        Ёпрст    
     гуру 
    01.08.11 
            ✎
    12:55 
 | 
         
        (9) да, так даже быстрее будет.
  
        че-то не подумал.  | 
|||
| 
    11
    
        Ёпрст    
     гуру 
    01.08.11 
            ✎
    12:56 
 | 
         
        тогда минут 5 на всё..
  
        :)  | 
|||
| 
    12
    
        Ёпрст    
     гуру 
    01.08.11 
            ✎
    12:56 
 | 
         
        +11 разве что реиндекс на пустой базе сделать.. еще 2 минуты.     
         | 
|||
| 
    13
    
        Aristo    
     01.08.11 
            ✎
    13:03 
 | 
         
        (9), (12) В целом понял так:
  
        нужно в таблице движений и итогов увеличить колонку документа с 9 на 13 символов, затем перенести в пустую базу, переиндексировать там. Там же предварительно переделать MD (изменить значение измерения), пересоздать DD. Если все правильно понял - каким инструментом можно колонки поменять (или запросом) ? я говоря откровенно, это ни разу не делал, как - то все больше в скуле до этого.  | 
|||
| 
    14
    
        Mikeware    
     01.08.11 
            ✎
    13:08 
 | 
         
        (13) любым инструментом, которым можно работать с дбф. Клиппер/фокспро/1С/аксессом
  
        можно импортировать в SQL, трансформировать, и выплюнуть обратно. Можно и в md/dd руками подправить...  | 
|||
| 
    15
    
        VoditelKobyly    
     01.08.11 
            ✎
    13:10 
 | 
         
        (13) Тогда возьми из скуля инструмент DTS.
  
        Только лучше ещё раз подумай, а надо ли это делать. Может проще завести новый регистр?  | 
|||
| 
    16
    
        Ёпрст    
     гуру 
    01.08.11 
            ✎
    13:16 
 | 
         
        (13) из любой базы делаешь
  
        ALTER TABLE полный путь к табличке\RA<нужный номер> ALTER COLUMN <имя измерения> char(13); далее update set <имя измерения> = $ВидДокумента.ТвоёКакоеБыло+Left(<имя измерения>,9) и аналогично с Rg.. всё собственно  | 
|||
| 
    17
    
        aka MIK    
     01.08.11 
            ✎
    13:16 
 | 
         
        Может попробуем разобраться почему так долго пересчитывается, и что именно? У меня такая же фигня была, пришлось пойти по пути упрощения учета )     
         | 
|||
| 
    18
    
        Ёпрст    
     гуру 
    01.08.11 
            ✎
    13:19 
 | 
         
        +16 только не помню уже, в дбф нужно ВидДокумента36 делать.     
         | 
|||
| 
    19
    
        Ёпрст    
     гуру 
    01.08.11 
            ✎
    13:20 
 | 
         
        +18 ну и ветку from в последний запрос.     
         | 
|||
| 
    20
    
        VoditelKobyly    
     01.08.11 
            ✎
    13:26 
 | 
         
        (16) А что ALTER TABLE фокспрошным драйвером поддерживается?     
         | 
|||
| 
    21
    
        Ёпрст    
     гуру 
    01.08.11 
            ✎
    13:27 
 | 
         
        ну, примерно такое выполни в пустой базе с тем же мд, что и в рабочей:
  
        ALTER TABLE D:\Base\RA123 ALTER COLUMN SP123 char(13); update D:\Base\RA123 set SP123 = $ВидДокумента.ТвоёКакоеБыло+Left(SP123,9); ALTER TABLE D:\Base\RG123 ALTER COLUMN SP123 char(13); update D:\Base\RG123 set SP123 = $ВидДокумента.ТвоёКакоеБыло+Left(SP123,9); ну и переиндексируй потом (в той же сторонней чистой базе, закинув туда 2 эти таблички) имена и пути свои подставишь.  | 
|||
| 
    22
    
        Ёпрст    
     гуру 
    01.08.11 
            ✎
    13:27 
 | 
         
        (20) еще как!
  
        :)  | 
|||
| 
    23
    
        VoditelKobyly    
     01.08.11 
            ✎
    13:29 
 | 
         
        (22) Скажи версию драйвера, которую используешь. У меня вроде ошибку выдавало. Но что-то похоже уже тебе верю больше чем себе. Надо будет попробовать снова.     
         | 
|||
| 
    24
    
        Ёпрст    
     гуру 
    01.08.11 
            ✎
    13:30 
 | 
         
        (23) 9.2     
         | 
|||
| 
    25
    
        Ёпрст    
     гуру 
    01.08.11 
            ✎
    13:32 
 | 
         
        (23) я ж проверил..работает :)     
         | 
|||
| 
    26
    
        Ёпрст    
     гуру 
    01.08.11 
            ✎
    13:34 
 | 
         
        http://www.microsoft.com/download/en/details.aspx?id=14839
  
        этот что ли стоит, на помню.. от 9 фокса  | 
|||
| 
    27
    
        VoditelKobyly    
     01.08.11 
            ✎
    13:35 
 | 
         
        (25). Так это в корне меняет дело! Щас под рукой нет, но у меня вроде 9.1 был.     
         | 
|||
| 
    28
    
        Aristo    
     01.08.11 
            ✎
    13:36 
 | 
         
        (21) все понял только не right ли там вместо left?     
         | 
|||
| 
    29
    
        Ёпрст    
     гуру 
    01.08.11 
            ✎
    13:42 
 | 
         
        (28) нет. поле "вправо" расширится.
  
        И это, делай так лучше - копиряешь RG и RA этого регистра + мд + дд в отдельную папку, делаешь запрос из (21) в рабочей базе, пути указываешь к RA и RG те, что в новой папке, далее переиндексируешься из новой базы, созданной из новой папки и копиряешь Ra и RG этого регистра взад вместе с новыми индексными файлами.. наслаждаешься.  | 
|||
| 
    30
    
        Ёпрст    
     гуру 
    01.08.11 
            ✎
    13:43 
 | 
         
        +29 ну и на всякий, старые RG и RA сохраняешь.. на память.     
         | 
|||
| 
    31
    
        Ёпрст    
     гуру 
    01.08.11 
            ✎
    13:44 
 | 
         
        +29 и не забудь в мд и дд обновить, тупо сделав это в новой папке, предварительно выкинув оттуда все регистры (включая вновь созданные)     
         | 
|||
| 
    32
    
        Aristo    
     01.08.11 
            ✎
    13:45 
 | 
         
        (31) да я 2 копии полные сделаю, вопрос 5 минут.     
         | 
|||
| 
    33
    
        Ёпрст    
     гуру 
    01.08.11 
            ✎
    13:47 
 | 
         
        (32) дело не в копии, нужно в пустой базе поиметь измененный мд и дд, чтоб их потом подменить в рабочей.     
         | 
|||
| 
    34
    
        Ёпрст    
     гуру 
    01.08.11 
            ✎
    13:48 
 | 
         
        +33 а на пустой базе процесс реструктуризации займет меньше секунды.     
         | 
|||
| 
    35
    
        Mikeware    
     01.08.11 
            ✎
    13:48 
 | 
         
        (33) разобрать-собрать     
         | 
|||
| 
    36
    
        Aristo    
     01.08.11 
            ✎
    13:51 
 | 
         
        (32) это я понимаю. уже делаю     
         | 
|||
| 
    37
    
        Ёпрст    
     гуру 
    01.08.11 
            ✎
    13:51 
 | 
         
        (35) даже не знаю, что быстрее будет :)
  
        Еще ж и словарик тогда в 2-х местах блокнотом править.. а тут пофигуратор всё сам сделает. :)  | 
|||
| 
    38
    
        Aristo    
     01.08.11 
            ✎
    14:01 
 | 
         
        (37) я не лезу в блокнот в DD, выгода времени - копеечная даже если будет. Проигрыш если косякнул - больше.     
         | 
|||
| 
    39
    
        Aristo    
     01.08.11 
            ✎
    14:03 
 | 
         
        Все ок, всем спасибо :)     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |