| 
    
        
     
     | 
    
  | 
Разруливание коллизий. Какие есть варианты? | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        Web00001    
     11.02.13 
            ✎
    17:01 
 | 
         
        Доброго времени суток всем. Есть РИБ в двух разных базах вводят и перезаписывают документы. Часто перезаписывают одни и те же документы. Понятно что после обмена остается один вариан - тот который был загружен первым. Изменяются разные данные, например в одной базе меняют одну табличную часть, во второй другую. Какие есть варианты разрулить конфликт версий?     
         | 
|||
| 
    1
    
        Web00001    
     11.02.13 
            ✎
    17:02 
 | 
         
        (1)* например в одной базе в одном документе менятют одну табличную часть, во второй в этом же документе другую     
         | 
|||
| 
    2
    
        Lama12    
     11.02.13 
            ✎
    17:14 
 | 
         
        (0)  "...Понятно что после обмена остается один вариан - тот который был загружен первым..."
  
        Не верно понимаешь. Приоритет у объекта созданного в центральной базе. (1)Разделяй документ на два. Коллизий в подобном варианте не будет (изменения в двух разных таблицах). В классическом РИБ в обмен идет в разрезе объекта. И это правильно ИМХО. Иначе замучаешься разгребать гуано.  | 
|||
| 
    3
    
        Maxus43    
     11.02.13 
            ✎
    17:20 
 | 
         
        кто главный - тот главный. так и должно быть... менять надо административно, мол доки по этой организации-подразделению меняют только тут, другие там, например     
         | 
|||
| 
    4
    
        Web00001    
     11.02.13 
            ✎
    17:21 
 | 
         
        (3)это невозможно, данные по работам делает один, по цене, второй, проводит третий.     
         | 
|||
| 
    5
    
        Maxus43    
     11.02.13 
            ✎
    17:22 
 | 
         
        (4) пусть в очередь встанут. БП замути     
         | 
|||
| 
    6
    
        Web00001    
     11.02.13 
            ✎
    17:26 
 | 
         
        - Эй филиал, не трогай документ, мне надо цену поправить, 
  
        - а че ты сразу? сейчас моя очередь! - так все отошли в сторону, я ща с документом работать буду, когда я подошел вас здесь не стояло. Так это должно выглядеть? Но как вариант рассмотрим.  | 
|||
| 
    7
    
        Maxus43    
     11.02.13 
            ✎
    17:27 
 | 
         
        (6) Если будет Бизнесс процесс будет выглядеть так:
  
        - прошу вас коллега, документ будет виден у вас через пару минут. - Благодарю вас, как вы быстро заполнили, передаю в другой отдел  | 
|||
| 
    8
    
        МихаилМ    
     11.02.13 
            ✎
    17:28 
 | 
         
        1 документ, одно действие, один ответственный.
  
        иначе - бардак и безответственность.  | 
|||
| 
    9
    
        Lama12    
     11.02.13 
            ✎
    17:29 
 | 
         
        (6) Вообще-то именно так.
  
        Ставятся границы временные кто, что когда может править и в путь. Везде где работал так решалось. Ну и (5) можно.  | 
|||
| 
    10
    
        Толич    
     11.02.13 
            ✎
    17:31 
 | 
         
        (0) Отправь руководству имя человека, который перезаписал документ, который ему не следовало перезаписывать и затер работу другого офиса.
  
        На одном из предприятий вот такими только записками и смогли наладить синхронизацию проведений филиалов.  | 
|||
| 
    11
    
        fisher    
     11.02.13 
            ✎
    18:04 
 | 
         
        (0) Если я правильно понял, ты хочешь мерджить изменения табличных частей? Можно попробовать и такое забабахать.
  
        Вроде все необходимые инструменты для этого имеются...  | 
|||
| 
    12
    
        fisher    
     11.02.13 
            ✎
    18:10 
 | 
         
        (11) + Одна фигня - на момент заливки изменений в узел уже неясно - где какую ТЧ меняли. Т.е. главная проблема - определить, какие данные оставлять без изменений, а какие заливать.     
         | 
|||
| 
    13
    
        Stim    
     11.02.13 
            ✎
    18:11 
 | 
         
        идея конешн бредовая, но реализовать несложно.
  
        можно с изящным вариантом с дополнительным узлом  | 
|||
| 
    14
    
        sapphire    
     11.02.13 
            ✎
    18:12 
 | 
         
        (1) Такие случаю разруливают набором прав     
         | 
|||
| 
    15
    
        Stim    
     11.02.13 
            ✎
    18:14 
 | 
         
        + док в ЦБ регистрируется для двух узлов. для 1 - всегда, для 2 - только если изменены какие-то основные данные, по которым он считается приоритетнее перед загружаемым из периферии.
  
        перед загрузке дока из периферии, проверяем таблицу регистрации по второму узлу. если загружаемый объект там есть - пишем отказ. если его там нет, но он есть в первом - удаляем записи в первой таблице. нет записей - нет коллизий, док в ЦБ затирается доком из ПБ  | 
|||
| 
    16
    
        Stim    
     11.02.13 
            ✎
    18:15 
 | 
         
        (14) обычно обмен проходит под пользователем "роботом" с полными правами. и при загрузке данных многие проверки не работают, сам знаешь почему     
         | 
|||
| 
    17
    
        Лодырь    
     11.02.13 
            ✎
    18:23 
 | 
         
        (0) Задача классическая. Вариантов много. Например:
  
        1. Актуальной становится версия модифицированная позже (пользователем, а не системой при репликации) 2. Версия модифицированная в узле являющемся более приоритетным (например в ЦБ - главнее чем на перфиферии, или наоборот) 3. Создается несколько версий объекта для разрешения конфликта администратором 4. Создается версия объединяющая разные версии (в случае их непротиворечия) и так далее.  | 
|||
| 
    18
    
        Jolly Roger    
     11.02.13 
            ✎
    18:28 
 | 
         
        >в одной базе меняют одну табличную часть, во второй другую
  
        да здесь, похоже, коллизия в мозгу автора идеи...  | 
|||
| 
    19
    
        Лодырь    
     11.02.13 
            ✎
    18:31 
 | 
         
        (18) Я так понимаю, уважаемый коллега хотел сказать, что стоит пересмотреть бизнес процессы приводящие к таким ситуациям )     
         | 
|||
| 
    20
    
        Web00001    
     11.02.13 
            ✎
    18:54 
 | 
         
        (15)Нет данных по которым можно было бы выставить приоритеты. Тогда и регистр сведений можно использовать и туда писать лог. Проблема именно в (12).
  
        (17) что то еще есть? Очень интересно, продолжайте. (19) да да да именно это он и хотел сказать и я отчасти с ним согласен.  | 
|||
| 
    21
    
        Лодырь    
     11.02.13 
            ✎
    19:06 
 | 
         
        (20) Мож проще набрать в поисковике чтонибудь в стиле "асинхронная репликация методы разрешения коллизий"?     
         | 
|||
| 
    22
    
        shadowfiend10    
     11.02.13 
            ✎
    19:43 
 | 
         
        заменить вторую табличную часть - ссылкой на документ, второй документ(который в ссылке) редактируется только на перифирии, основной в ЦБ, при обмене пересчитывай с/с если нужно. или что там еще     
         | 
|||
| 
    23
    
        shadowfiend10    
     11.02.13 
            ✎
    19:47 
 | 
         
        корректировку цены - ограничивать правами на табл часть     
         | 
|||
| 
    24
    
        Эстет хренов    
     11.02.13 
            ✎
    19:50 
 | 
         
        (4) это невозможно, данные по работам делает один, по цене, второй, проводит третий.
  
        значит это 3 документа а не один.  | 
|||
| 
    25
    
        shadowfiend10    
     11.02.13 
            ✎
    19:52 
 | 
         
        цену менять до списка Номенклатур/Услуг не логично, нужно определить очередность внесения количества/цены однозначно.     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |