|
Знатоки по Планам Обмена Подскажите! | ☑ | ||
---|---|---|---|---|
0
ironkrab
06.07.12
✎
11:53
|
Добрый день, господа! Вопрос: возможно ли сделать между двумя конфигурациями два плана обмена, в каждом чтобы учавствовала номенклатура? И чтобы она не ходила в вечном цикле от одного обмена к другому в случае еее изменения? Спасибо!
|
|||
1
ZanderZ
06.07.12
✎
11:56
|
возможно
|
|||
2
qeos
06.07.12
✎
11:58
|
вполне возможно. пожалуйста
|
|||
3
y88
06.07.12
✎
11:58
|
я не знаток конечно :)
Убери авторегистрацию или сбрасывай вручную А зачем такой огород? |
|||
4
ironkrab
06.07.12
✎
11:59
|
(1) Как? У меня обмены уходят в цикл...
|
|||
5
ironkrab
06.07.12
✎
11:59
|
(3) Не хочется трогать штатный обмен, чтобы не иметь хлопот с обновлением.
|
|||
6
ironkrab
06.07.12
✎
12:02
|
(3) авторегистрация убрана, я сделал как было с обычным обменом,еще одна подписка на событие и еще один общий модуль(подправленные копии существующих)
|
|||
7
y88
06.07.12
✎
12:02
|
(5) т.е. два штатных обмена и менять их нельзя :)
|
|||
8
ironkrab
06.07.12
✎
12:03
|
(7) Нет, обмен штатный один, второй самописный, чтобы не трогать первый.
|
|||
9
y88
06.07.12
✎
12:10
|
(8) во втором при чтении сообщения не грузи номенклатуру
|
|||
10
ironkrab
06.07.12
✎
12:11
|
(9) Имеется в виду во втором обмене не использовать номенклатуру???
|
|||
11
ZanderZ
06.07.12
✎
12:14
|
(6) "авторегистрация убрана" ну если убрана значит где-то руками регистрирует там и смотри что бы только для одного плана обмена регистрировались, только проверяй что бы при загрузке не отрабатывала эта подписка
|
|||
12
AaNnDdRrEeYy
06.07.12
✎
12:15
|
В таких случаях делается признак главный узел.
если изменено в главном узле берем эти изменения и пофиг на зменения в неглавном узле из просто затираем. |
|||
13
y88
06.07.12
✎
12:15
|
(10) при получении файла обмена и его чтении не грузить номенклатуру
Вот пример с использованием реквизита Главного узла: Пока ВозможностьЧтенияДанных(ЧтениеXML) Цикл // Читаем очередное значение Данные = ПрочитатьДанные(ЧтениеXML); // Разрешение коллизий при одновременном изменении в обоих узлах Если Не ЧтениеСообщения.Отправитель.Главный И ПланыОбмена.ИзменениеЗарегистрировано(ЧтениеСообщения.Отправитель, Данные) Тогда Сообщение = Новый СообщениеПользователю(); Сообщение.Текст = "- Изменения отклонены:"; Сообщение.Сообщить(); Продолжить; КонецЕсли; |
|||
14
AaNnDdRrEeYy
06.07.12
✎
12:16
|
+(12) при записи в неглавном узле в момент обмена не регистрируем этот элемент в плане обмена
|
|||
15
ironkrab
06.07.12
✎
12:19
|
(11) Так мне надо чтобы регистрировалась в обоих планах Так как:
Создан новый документ(самописный), который обменивается по самописному плану, для него же создана новая номенклатура. В случае если регистрация номенклатуры для этого плана обмена будет отключена и самописный обмен сработает первым, до штатного - в базе приемнике будет создан документ с номенклатурой "Объект не обнаружен" |
|||
16
ZanderZ
06.07.12
✎
12:21
|
(15) проверять если не зарегистрированы для второго то регистрировать...
|
|||
17
ironkrab
06.07.12
✎
12:23
|
(12) А где ставится этот признак? Смотрю в списке узлов, не вижу такой опции...
|
|||
18
y88
06.07.12
✎
12:24
|
(17) добавляется реквизит к плану обмена
|
|||
19
ironkrab
06.07.12
✎
12:25
|
(12) или признак главный выбирается при создании плана обмена?
|
|||
20
y88
06.07.12
✎
12:26
|
(15) "Объект не обнаружен" - ну и что, потом все равно загрузится через другой ПО
|
|||
21
ironkrab
06.07.12
✎
12:26
|
(18) Спасибо, понял.
|
|||
22
ironkrab
06.07.12
✎
12:27
|
(20) Пробовал, почему-то в уже созданных документах не распознается, только в новых, созданных уже после загрузки номенклатуры...
|
|||
23
ZanderZ
06.07.12
✎
12:27
|
(20) у буха может быть разрыв сердца увидев такое сообщение :)
|
|||
24
y88
06.07.12
✎
12:30
|
(22) точно? поробуй еще разик
|
|||
25
y88
06.07.12
✎
12:32
|
(24)+ хотя хз как для разных ПО должно работать
|
|||
26
ironkrab
06.07.12
✎
12:34
|
(24) Точно. Несколько раз пробовал. Один раз получилось и то не с номенклатурой а с организациями. С номенклатурой - несколько раз пробовал, не получилось ни разу. Почему так - не знаю. Поэтому решил действовать как записано в (0) и наткнулся на эти грабли . сейчас вникаю в (13) и (14)
|
|||
27
y88
06.07.12
✎
12:38
|
Покури еще
ОбменДанными.Получатели.Добавить ОбменДанными.Получатели.Очистить |
|||
28
ironkrab
06.07.12
✎
12:54
|
(27) Спасибо, посмотрю. О результатах отпишусь.
|
|||
29
ironkrab
06.07.12
✎
14:52
|
(27) Не, не могу врубится. Мне нужно так прописать, чтобы штатные модули не менять, только свои добавлять. А куда вышеуказанный код впихнуть, так чтобы штатный код не менять- не знаю.
|
|||
30
Лефмихалыч
06.07.12
✎
14:57
|
(0) у меня в открытой сейчас конфе 18 планов обмена. Это к вопросу о возможности. А то, о чем ты говоришь, называется изоляцией планов обмена.
Отключи авторегистрацию и рули регистрацией из кода |
|||
31
hhhh
06.07.12
✎
14:59
|
(29) вставь проверку ОбменДанными.Загрузка = Истина. Чтобы при загрузке у тебе изменения не регистрировались.
|
|||
32
ironkrab
06.07.12
✎
15:01
|
(30) это возможно без правки существующих модулей (только добавляя новые)?
|
|||
33
Лефмихалыч
06.07.12
✎
15:03
|
(32) подписьки именно для этого придумали - чтобы не править существующие модули
|
|||
34
y88
06.07.12
✎
15:07
|
Попробуй в слейвовой базе ПередЗаписью Номенклатуры
ОбменДанными.Получатели.Очистить |
|||
35
ironkrab
06.07.12
✎
15:10
|
(29),(34) Спасибо, пробую
|
|||
36
ironkrab
06.07.12
✎
15:11
|
Упс (31),(34)
|
|||
37
ironkrab
06.07.12
✎
16:17
|
Получилось!!!
Сделал так: (конфигурация УНФ) для своего обмена закопировал общий модуль "ОбменДаннымиСобытияБП" и там в процедуре "ОбменДаннымиОбменУправлениеНебольшойФирмойБухгалтерияДляУкраиныПередЗаписью" Поместил следующий код: "Если Источник.ОбменДанными.Загрузка= Истина Тогда Возврат; КонецЕсли;" Загружаемая штатным планом обмена номенклатура перестала попадать в самописный обмен. Огромное спасибо всем, в особенности hhhh и y88 |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |