|
![]() |
#1 |
Участник
|
Всегда интересовало - что под этим понимают? Но примеров реализации почему-то нигде не видел и не читал ;-(
__________________
Axapta 3.0 sp - хз какой, kr2 |
|
![]() |
#2 |
Участник
|
Цитата:
Идею gl00mie уже изложил. Как интегрировать Систему1 и Систему2, так чтобы они друг о друге не знали? Нужно взять Систему3 и интегрировать с ней обе наши Системы 1 и 2. Система3 в таком случае и будет выполнять роль шины данных. |
|
![]() |
#3 |
Участник
|
Цитата:
Сообщение от S.Kuskov
![]() Это абстракция. Реализовать которую можно различными способами. Самый простой - это наверное через файловую систему.
Идею gl00mie уже изложил. Как интегрировать Систему1 и Систему2, так чтобы они друг о друге не знали? Нужно взять Систему3 и интегрировать с ней обе наши Системы 1 и 2. Система3 в таком случае и будет выполнять роль шины данных. Последний раз редактировалось ice; 04.12.2012 в 11:55. |
|
![]() |
#4 |
Модератор
|
Есть BizTalk (дорогой собака), есть open source системы..
__________________
-ТСЯ или -ТЬСЯ ? |
|
![]() |
#5 |
Banned
|
Мне удалось малой кровью запрограммировать "слепое" обновление имени и адреса клиента/поставщика:
DirParty@action = update DirPartyPostalAddressView@action = create \Classes\AxDirPartyTable\parmName X++: public DirPartyName parmName(DirPartyName _name = '') { DirPartyTable itself; AxVendTable axVendTable; if (!prmisDefault(_name)) { this.setField(fieldNum(DirPartyTable, Name), _name); // BEGIN if (_name && parentAxBc && parentAxBc.recordAction() == AxdRecordAction::Update) { switch (classIdGet(parentAxBc)) { case classNum(AxCustTable): itself = parentAxBc.currentRecord().dirPartyTable_FK(); break; case classNum(AxVendTable): axVendTable = parentAxBc; itself = DirPartyTable::findRec(axVendTable.parmParty()); break; } if (itself) { this.parmRecId(itself.RecId); } } // END } return dirPartyTable.Name; } X++: public LogisticsIsPrimaryAddress parmIsPrimary(LogisticsIsPrimaryAddress _isPrimary = NoYes::No) { LogisticsPostalAddress itself; if (!prmisdefault(_isPrimary)) { this.setField(fieldnum(DirPartyPostalAddressView, IsPrimary), _isPrimary); // BEGIN if (_isPrimary && parentAxBc && parentAxBc.parentAxBC() && parentAxBc.parentAxBC().recordAction() == AxdRecordAction::Update) { switch (classIdGet(parentAxBc.parentAxBC())) { case classNum(AxCustTable): case classNum(AxVendTable): itself = parentAxBc.parentAxBC().currentRecord().postalAddress(); break; } if (itself) { itself = LogisticsPostalAddress::findRecId(itself.RecId, true, itself.ValidFrom, itself.ValidTo); itself.delete(); } } // END } return dirPartyPostalAddressView.IsPrimary; } Последний раз редактировалось EVGL; 14.12.2012 в 20:26. |
|
|
За это сообщение автора поблагодарили: gl00mie (1). |
Теги |
aif, ax2012 |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|