![]() |
#5 |
Участник
|
Цитата:
X++: public server static container mel_getInventTableWithBarcodeListXml(RBOID _rboid, RBOItemHierarchy _rboitemhierarchy) { InventTable inventTable; InventItemBarcode inventItemBarcode; container con = connull(); XmlDocument ItmXml; XmlElement ItmRoot; XmlElement ItmNode; XmlElement ItmField; XmlDocument BarXml; XmlElement BarRoot; XmlElement BarNode; XmlElement BarField; ; ItmXml = XmlDocument::newBlank(); BarXml = XmlDocument::newBlank(); ItmRoot = ItmXml.createElement(@"DocumentElement"); BarRoot = BarXml.createElement(@"DocumentElement"); ItmXml.appendChild(ItmRoot); BarXml.appendChild(BarRoot); while select inventTable where inventTable.InventStatus == DKL_InventStatus::Active && (_rboItemHierarchy == RBOItemHierarchy::BusinessGroup && inventTable.MEL_BusinessGroup == _rboid) || (_rboitemhierarchy == RBOItemHierarchy::DivisionGroup && inventTable.MEL_DivisionGroup == _rboid) || (_rboitemhierarchy == RBOItemHierarchy::RetailDepartment && inventTable.MEL_ItemDepartment == _rboid) || (_rboitemhierarchy == RBOItemHierarchy::RetailGroup && inventTable.MEL_RetailGroup == _rboid) { ItmNode = ItmXml.createElement(@"I"); ItmRoot.appendChild(ItmNode); ItmField = ItmXml.createElement(@"ItemId"); ItmField.innerText(inventTable.ItemId); ItmNode.appendChild(ItmField); ItmField = ItmXml.createElement(@"Description"); ItmField.innerText(inventTable.ItemName); ItmNode.appendChild(ItmField); ItmField = ItmXml.createElement(@"Article"); ItmField.innerText(inventTable.MEL_Article); ItmNode.appendChild(ItmField); ItmField = ItmXml.createElement(@"Price"); ItmField.innerText(num2str(inventTable.dkl_baseRetailPrices().BasePrice, 0, 8, 1, 0)); ItmNode.appendChild(ItmField); while select inventItemBarcode where inventItemBarcode.itemId == inventTable.ItemId { BarNode = BarXml.createElement(@"B"); BarRoot.appendChild(BarNode); BarField = BarXml.createElement(@"ItemId"); BarField.innerText(inventTable.ItemId); BarNode.appendChild(BarField); BarField = BarXml.createElement(@"Barcode"); BarField.innerText(inventItemBarcode.itemBarCode); BarNode.appendChild(BarField); } } con = [ItmXml.toString(), BarXml.toString()]; return con; } Код: //вызов object Ret = ax.CallAxMethod("PosIsTransactionService", "mel_getInventTableWithBarcodeListXml", new object[] { BusinessGroup, ItemHierarchy }); //Обёртка public object CallAxMethod(string className, string methodName, params object[] parameters) { if (AxConn == null) return null; object res = null; try { log.Write("AxConn.CallAxMethod({0}, {1})", className, methodName); res = AxConn.CallStaticClassMethod(className, methodName, parameters); } catch (BusinessConnectorException bex) { log.Write("AxConn.Logon BusinessConnectorException: {0} {1}", bex.ToString(), bex.Message); log.Write("AxConn.Logon BusinessConnectorException stack: {0}", bex.StackTrace); return null; } catch (Exception ex) { log.Write("AxConn.CallAxMethod Exception: {0} {1}", ex.ToString(), ex.Message); log.Write("AxConn.CallAxMethod Exception stack: {0}", ex.StackTrace); return null; } return res; } Цитата:
P.S. Не пинайте сильно, я только учусь ![]() Последний раз редактировалось _sharky_; 18.09.2013 в 09:15. |
|
Теги |
business connector, sehexception |
|
|