Имя: Пароль:
1C
1С v8
Запрет синхронизации документов, изменённых в базе приёмнике.
0 alexbur
 
17.11.20
05:48
Доброе время суток.

Есть задача настройки одностороннего обмена между базой приёмником БП3 и несколькими базами - источниками БП3.

Одно из условий настройки обмена-документы, изменённые в базе приёмнике не должны перезаписываться заново, даже если они были изменены в базах-источниках.

Понимаю что это нужно делать через изменение стандартных правил обмена БП3-БП3, но с "Конвертацией данных" дело имел эпизодически.

Подскажите в какую сторону копать.

Заранее спасибо.
1 Dmitry1c
 
17.11.20
06:36
(0) у правил обмена (если КД2) надо поставить флажок "Не изменять существующие, а только добавлять новые" в настройке правила
2 alexbur
 
17.11.20
07:19
(1), спасибо за ответ.

А если задачу усложнить, и потребуется не загружать только те документы, которые были изменены в базе-приёмнике? Допустим, при изменении в базе-приёмнике у документа будет устанавливаться некий признак и помеченные таким образом документы не должны загружаться в базу-приёмник, если они пришли по обмену. Тогда в какую сторону нужно будет копать?
3 Aleksey
 
17.11.20
07:22
(2)я бы в консерватории поправил бы для начала
4 ДенисЧ
 
17.11.20
07:26
(2) В правила. Есть событие перед записью найденного объекта (сам найдёшь)
5 Aleksey
 
17.11.20
07:29
(4) Он там ничего не найден. Ему надо чтобы если в приемники кто то случайно перепровел документ из источника он больше не обновлялся. А если его специально никто не трогал, то пусть обновляется
6 ДенисЧ
 
17.11.20
07:30
(5) "Допустим, при изменении в базе-приёмнике у документа будет устанавливаться некий признак"
Так что можно это сделать
7 Aleksey
 
17.11.20
07:33
Т.е. грубо говоря нужен чтобы если кто то его потыкал в документ палочкой, автоматом ставился флажок (доп реквизит)  -флагГрязныйГари. И при загрузки обработки было бы противно связываться с таким документом, т.е. если документ найден и флаг стоит, но идем мимо и даже не обновляем
8 alexbur
 
17.11.20
07:34
(3), с интересом выслушаю ваш совет по этому поводу ;)
9 Aleksey
 
17.11.20
07:34
Тут основная проблема как отделить чистые руки от грязных. Как понять что тут случайно нажали ок когда зашли посмотреть, а тут специально все изгадили
10 alexbur
 
17.11.20
07:35
(7), да, примерно так.
11 Aleksey
 
17.11.20
07:36
(8) Да это нам интересно как вы докатились до такого. Чтоже за бизнес процессы такие уникальные? Типа замена товара и контрагента после загрузки?
12 Aleksey
 
17.11.20
07:37
Я бы просто запретил править документы в источнике, и тогда после загрузки можно править вчерашние документы не боясь что они затруться
13 alexbur
 
17.11.20
07:38
(9), флагГрязныйГари(С) планирую устанавливать автоматически при проведении документа, в случае если документ был изменён.
14 Aleksey
 
17.11.20
07:39
(10) Ну так и делай. Создай допреквизит и выведи его на форму. (это штатная возможность). Далее обясни всем что если кто то не поставил тут галку, тот сам себе злобный буратина.
Ну а дельше правим правила
15 alexbur
 
17.11.20
07:39
(11), заказ эпизодический. В бизнес процессы пока не лезу.
16 alexbur
 
17.11.20
07:40
(14), да спасибо. Так и буду делать. Нужен был направляющий пинок,в каком месте копать КД2.
17 Aleksey
 
17.11.20
07:40
(13) Я бы отдал бы это на откуп пользователя. Ибо даже 1С при версионности не пошла по этому пути и не контролирует при записи версий изменения, а тупо пишет текущее состояние, ибо затратно это сравнивать по реквизитно до и после, тем более в момент записи, когда идет транзакция
18 Aleksey
 
17.11.20
07:43
(16) Ну обычно ПриЗагрузки, тем более там все параметры для этого есть
Параметры:

ОбъектНайден - Булево. Если значение параметра равно Ложь, то объект не идентифицирован, то есть не найден в информационной базе

НеЗамещатьОбъект - Булево - Если установить значение Истина, то существующий объект информационной базы не будет изменен.
19 Aleksey
 
17.11.20
07:45
P.S А есть еще групповое изменение реквизитов и изменить выделенное из списка. Если контроль будет на форме то в этом случае галка не измениться. А если контролировать при записи на уровне объекта то как отличить когда идет загрузка из конвертации, а когда групповое изменение?
20 ДенисЧ
 
17.11.20
07:57
(19) ДопСведения ещё, вроде, не запретили
21 alexbur
 
17.11.20
08:05
(17), времязатраты в данном случае не критичны. Документы будут изменяться массово после первой глобальной загрузки данных, а в дальнейшем эпизодически. Объём данных небольшой.
А вот разбираться с пользователями, утверждающими, мол, я галочку жамкал, а оно всё равно мои изменения затёрло, больше нервов тратиться будет.
22 Aleksey
 
17.11.20
08:05
(20) ну так нужно предусмотреть
23 alexbur
 
17.11.20
08:08
(19) >А если контролировать при записи на уровне объекта то как отличить когда идет загрузка из конвертации, а когда групповое изменение?
Да, это нужно обдумать, спасибо.
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс