Имя: Пароль:
1C
1С v8
Обмен УТ11 - БП 2.0 Возникла коллизия изменений объектов
0 Любопытная
 
04.07.11
14:54
Доброе время суток!
Делаем обмен УТ11 - БП 2.0. Хочется неперезаписывать документы, которые уже есть в БП, а они перезаписываются. Смотрела правила обмена свойство НеЗамещать = true. В базе БП при обмене в журнал регистраций после загрузки файла обмена делаются записи такого вида:
Возникла коллизия изменений объектов!
Объект этой информационной базы был заменен версией объекта из второй информационной базы.
Воткнула в тестовые правила (обработчик при загрузке объекта) предупреждение о нахождении элемента рядом с указанием не замещать объект, она предупреждение выдала при загрузке но доки все равно заменила. Найти где все это обрабатывается с ходу не смогла.
Подскажите, что делать?
1 Любопытная
 
04.07.11
15:01
Товарищи! Не проходите мимо.
2 Любопытная
 
04.07.11
15:12
Ап
3 Любопытная
 
04.07.11
16:15
Меня игнорируют? Хоть бы сказали, что ничего не понятно :(
4 Naumov
 
04.07.11
16:20
флаг не замещать при двустороннем обмене вроде не обрабатывается.
По какой причине документ не должен замещаться?
5 Любопытная
 
04.07.11
16:26
(4) документы выгружают из УТ в БП, а потом правят слегка. К примеру - выписка банка с видом прочее списание ден. средств (например комисси банку) выгружаются в БП без счетов учета. Туда проставляют счета учета, а при повторной загрузке эти даные затираются.
Вообще, там что-то не очень правильно в базах, т.к. вроде обмен по планам обмена, но из БП в УТ обмен не ведется.
Задача стоит именно так: исправить правила обмена так, чтобы некоторые документы не перезаписывались при загрузке
6 Любопытная
 
04.07.11
16:36
Хм... либо я неправльно спрашиваю, либо задаю вопросы, ответы на которые никто не знает( Вероятнее первое, чем второе
7 Любопытная
 
04.07.11
16:49
Ап
8 Kondarat
 
04.07.11
16:53
Глобальный обработчик ПослеЗагрузкиОбъекта

МетаданныеДокумента = Объект.Метаданные();
Если Метаданные.Документы.Содержит(МетаданныеДокумента) Тогда
   Если Не Объект.ЭтоНовый()  И Объект.Ссылка.Проведен Тогда
           Отказ = Истина;
   КонецЕсли;    
КонецЕсли;
9 Любопытная
 
04.07.11
17:02
(8) Я так понимаю, что тогда вообще все объекты перезаписываться не будут, т.к. это глобальный обработчик, правильно? Я подобный код писала в обработчики нужных мне документов - эффекта ноль(
10 Andy13
 
04.07.11
17:06
(0) По плану обмена?
11 Любопытная
 
04.07.11
17:08
(10) да
12 Andy13
 
04.07.11
17:36
Посмотри в монитор обмена, убери лишнюю регистрацию.
13 Любопытная
 
04.07.11
17:49
(12) Это где? В БП используется обмен данными с азами на платформе 8.2, там нет монитора обмена. ТАк же как и в УТ в прочем.
14 Любопытная
 
04.07.11
18:06
В общем, ничего не получается :(
Попытки выгрузить что-нибудь из БП натыкаются на ошибку в контактной информации. Загрузка данных из УТ в БП все также замещает документы, несмотря на все попытки изменить правила обмена.
15 Любопытная
 
04.07.11
18:21
Хоть бы посочувствовал кто...
16 lm2011
 
04.07.11
18:24
Можно попробовать следующие варианты:

1. У нас сотрудники отдела Бухгалтерия пользуются обработкой "Выгрузка данных в конфигурацию Бухгалтерия предприятия, ред. 1.6" (обработку можно взять в УТ ред.10). В этой обработке есть настройка-флажек "Не замещать документы при загрузке". Выгрузка производится в 2 этапа: сначала документы, которые можно перезатирать и флажок не ставится, потом документы, которые нельзя перезатирать, с установленным флажком соответственно. После перехода Бухгалтерии на редакцию 2.0 я подправила правила (они хранятся в макете обработки), а обработка осталась та же.
17 Любопытная
 
04.07.11
18:28
(16) Этот вариант похож на вариант с универсальным обменом. При желании, правила обмена я смогу поправить, однако возникает проблема с тем, что ее надо запускать в обычном приложении, а не в управляемых формах. Думаю вот - клиент могласится на это или выпендриваться будет.
Ладно, спасибо всем отозвавшимся, завтра буду шаманить с универсальным обменом
18 lm2011
 
04.07.11
18:33
2. В обмене между двумя УТ с разной структрой нужно было реализовать, чтобы некоторые документы не перезаписывались. Я попробовала различные настройки, которые устанавливаются для всего докумета - не получилось. А вот, если для каждого реквизита поставить галочку "Не замещать значение свойства у существующих объектов в приемнике", то работает. Чтобы не выполнялся код в обработчике событий "После загрузки" добавила условие:
Если СокрЛП(док.Номер)="" Тогда
  ........
КонецЕсли;
Т.к если выгружается документ, которого еще нет в базе-приемнике, то номер до момента записи пустой.
19 Любопытная
 
04.07.11
18:36
(18) КРопотливая работенка, особено если учесть, что мне надо обработать все правила кроме товарооборота... НО попробую, спасибо)
20 Andy13
 
04.07.11
18:49
Действительно, странно. Но ничего, можно поправить правила регистрации для первого обмена, чтоб ничего не регистрировал. А потом нормальные подсунуть.
21 Любопытная
 
04.07.11
18:51
(20)Это как? Не поняла мысль(
22 Andy13
 
04.07.11
18:55
(21) Сам до конца не понял. Некогда было смотреть на обмен в среде 8.2. Только вот щас глянул. Любопытственно... Вынесли регистрацию из планов/событий в XML. Но таблицы регистрации один фиг те же самые.
23 Andy13
 
04.07.11
18:55
И вот оно бинго!!!
24 Любопытная
 
04.07.11
18:57
(22) Солнце мое, а можно подробнее, для тупых типа меня? Учитывая, что у меня почти час ночи и я вторые сутки пытаюсь понять это великое шаманство
25 Andy13
 
04.07.11
18:57
Лезем в последнюю КД2 и находим там обработочку - "РегистрацияИзмененийДляОбмена82" !!!
26 Andy13
 
04.07.11
18:58
Вот и всё...
27 Andy13
 
04.07.11
18:58
Вот там и снимай регистрацию...
28 Любопытная
 
04.07.11
19:03
Вот туда-то я и не полезла. Каким образом снимать регистрацию? Совсем? Тогда документы вообще регистрироваться не будут. В общем, мысль интересна, но пока не понимаю, как ее приложить(
Andry13, спасибо)
29 Andy13
 
04.07.11
19:03
А вот регистрация занятненькая. Можно много намутить, не снимая конфу с поддержки.
30 Andy13
 
04.07.11
19:04
(28) Иди спать! Завтра поймешь. Это не регистрация насовсем, а то что зарегистрировано для обмена щас, в данный момент.
31 wildwilduser
 
06.07.11
10:08
АААА
подскажите пожалуйста между какими релизами УТ и Бух обмен наладили. уже неделю бьюсь со стандартным обменом. загружает справочник номенклатуры и встает.
32 Любопытная
 
06.07.11
10:13
(32) Да нифига не налажен обмен. Я не знаю, как обмен происходил до того, как ко мне попали эти базы, но сейчас там хрень получается с документами. При выгрузке всю банковскую выписику с НГ до июня нафиг помечает на удаление, например.
БП 2.0.23
УТ 11.0.6
33 wildwilduser
 
06.07.11
10:17
может использовался универсальный обмен XML?
правила какие нибудь самописные были.
34 Любопытная
 
06.07.11
10:21
Утверждают, что типовые. Сегодня еще с ними поночую, не получится, точно брошу)
35 Kondarat
 
06.07.11
10:26
(9) Все работает. В (8) кусок из "боевых" правил обмена. Там условий на не замещение целая куча. Может правишь одни правила, а в работе используешь другие?
36 Любопытная
 
06.07.11
10:29
(35) Нет, я писала подобный код не в глобальный загрузчик, а в ПКО отдельного документа. Так почему-то не работало, не знаю почему. С этим кодом в глобальном загрузчике заработало вроде. Правда для нормальной работы, похоже, придется половину базы перезаписать заново
37 Kondarat
 
06.07.11
10:47
(36) Разница между глобальным и локальным обработчиком только в том, что глобальный вызывается первым. С локальным обработчиком тоже все работает - проверено. Прсто мне было лень тыкать один и тот же код в ПКО каждого документа.
А зачем переписывать половину базы?
38 Любопытная
 
06.07.11
10:49
(37) Не переписывать,а перезаписывать. При первой загрузке помечаются на удаление все банковские выписки до 01.06. Не знаю почему) Если их удалить и загрузить заново, то все нормально. Я кроме выписок ничего дальше не смотрела, но думаю, что с кассой тоже не все гладко
39 blutang
 
13.07.11
10:47
Ну и чем всё кончилось?