|
![]() |
#1 |
Модератор
|
Есть BizTalk (дорогой собака), есть open source системы..
__________________
-ТСЯ или -ТЬСЯ ? |
|
![]() |
#2 |
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 |
|
|