MARX#76891 VM387219: Registratie in AX2012 of inkooporder aanwezig is in Mareon

svn path=/Mareon/trunk/; revision=60261
This commit is contained in:
Marcel Bourseau
2023-05-02 11:28:49 +00:00
parent 8b7cf1cd26
commit 6e806d84bd
4 changed files with 76 additions and 5 deletions

View File

@@ -89,7 +89,11 @@ function A2012_GetOpdrachten()
// Er zijn opdrachten, zodat aanroep van Facilitor api oke is...
// Wegschrijven van de opdrachten (voor aannemer 'v_supplier_id') naar Facilitor....
__Log("A2012_GetOpdrachten: aantal opdrachten = " + l_aantal_opdrachten ,2);
api_F_PutXML(v_xml_opdrachten, "AX_OPDRACHTEN");
var l_marx_response_xml = api_F_PutXML(v_xml_opdrachten, "AX_OPDRACHTEN");
if (l_marx_response_xml)
{
A2012_PurchOrderS_Delivered(l_marx_response_xml);
}
}
else{
__Log("A2012_GetOpdrachten: Geen opdrachten.",2);
@@ -161,3 +165,61 @@ function A2012_GetBijlage_via_ReferenceId(v_docu_ref_id)
return v_resp;
}
// MARX#76891: Registratie in AX2012 of inkooporder aanwezig is in Mareon
function A2012_PurchOrderS_Delivered(v_marx_response_xml)
{
// Voorbeeld v_marx_response_xml (response uit Mareon):
// <facilitor>
// <details>
// ..
// <result>
// <mld_opdr_externnr>ION100236531-mb6</mld_opdr_externnr>
// <mld_opdr_key>2561187</mld_opdr_key>
// <mld_opdr_externnr>ION100236531-mb5</mld_opdr_externnr>
// <mld_opdr_key>2561186</mld_opdr_key>
// <success>true</success>
// </result>
// </details>
// </facilitor>
// Voor elke node <facilitor/details/mld_opdr_externnr> moet 'SupplierPortalPurchOrderDeliveredRequest' worden aangeroepen
var l_result_str = "facilitor/details/result";
var l_mld_opdr_externnr_str = "mld_opdr_externnr";
var l_node_result = v_marx_response_xml.selectNodes(l_result_str);
for (var i=0; i < l_node_result.length; i++)
{
var l_nodes_mld_opdr_externnr = l_node_result[i].selectNodes(l_mld_opdr_externnr_str);
for (var j=0; j < l_nodes_mld_opdr_externnr.length; j++)
{
var l_mld_opdr_externnr_node = l_nodes_mld_opdr_externnr[j];
if (l_mld_opdr_externnr_node)
{
var l_mld_opdr_externnr = l_mld_opdr_externnr_node.text;
if (l_mld_opdr_externnr){
A2012_PurchOrder_Delivered(l_mld_opdr_externnr);
}
}
}
}
}
function A2012_PurchOrder_Delivered(v_purch_Id)
{
var v_API = "SupplierPortalPurchOrderDeliveredRequest";
var v_req = ' <SupplierPortalPurchOrderDeliveredRequest xmlns="http://tempuri.org"> '+
'<PurchOrders>' +
'<Purchorder>' +
'<id>'+ v_purch_Id +'</id>' +
'<companyId>'+ G_company_Id +'</companyId>' +
'</Purchorder>' +
'</PurchOrders>' +
'</SupplierPortalPurchOrderDeliveredRequest>';
var v_type = 0;
var v_soapAction = "SupplierPortal/PurchOrderDelivered";
var v_resp = apiAX(v_API, v_req, v_type, v_soapAction, 0);
return v_resp;
}

View File

@@ -734,7 +734,7 @@ function FACILITOR_2_Xtractor()
// 1.70 -- MARX#76415: Mareon koppeling met 3rd Party Viewpoint + MARX#74444: Het '&' teken in de naam van een bijlage wordt niet ondersteund in de sync.
// 1.71 -- MARX#76342: Mareon Bijlagen aanpassing AX2012 via nieuwe webservices die base64 stuk voor stuk ophaalt tbv performance
// 1.72 -- MARX#77225: Bugje statusbericht naar 3RD party Viewpoint/Itris + MARX#76900 Mareon Universele Opdracht API
// 1.73 -- MARX#76390: Kan oude logging van de SYNC adapter automatisch opgeruimd worden
// 1.73 -- MARX#76390: Kan oude logging van de SYNC adapter automatisch opgeruimd worden + MARX#76891: Registratie in AX2012 of inkooporder aanwezig is in Mareon
__Log("************************************************** START Mareon Adapter ***********************************************", 0);
@@ -886,7 +886,6 @@ var G_mar_timeout = 0; //initieel 1e keer.
// MARX#62647: Koppeling AX365 - Mareon (Push)
var G_push_notifyqueue = parseInt(l_array[26]); // 0 (no push koppeling) or 1 (push koppeling)
v_woco = l_array[2]; // Naam van de woco-bedrijf
__Log("*** Company: " + v_woco, 2);
v_min_adapter_version = l_array[0]; // Versienummer, iets als "1", of "1.1", of "1.23" etc
@@ -951,6 +950,9 @@ var G_mar_timeout = 0; //initieel 1e keer.
__Log("***XML- G_ID_saxton_scope is overruled by Mareon", 3);
}
// MARX#76891 VM387219: Registratie in AX2012 of inkooporder aanwezig is in Mareon
var G_company_Id = l_array[27]; // AX-id van interne bedrijf, o.a. nodig in de webservice SupplierPortalPurchOrderDeliveredRequest
if (AX_or_Tobias() == "A")
{

View File

@@ -43,7 +43,7 @@ function api_F_PutXML(v_xml, v_API)
var l_result_data = apiFCLT(G_marx_url, v_API, v_APIKEY, v_req, v_type, v_soap_envelop, 0);
//l_result_data is XML object, use method .xml to return xml-text.
return l_result_data.xml;
return l_result_data;
}

View File

@@ -182,6 +182,13 @@ function F_GetMareonInfo()
l_result.push(l_mar_push_notifyqueue.text); // (array 26)
// Einde MARX#62647
//MARX#76891 VM387219: Registratie in AX2012 of inkooporder aanwezig is in Mareon
var l_node = strQuery + "/prs_overeenkomst_nr";
var l_mar_company_Id = v_resp.selectSingleNode(l_node);
__Log("l_mar_company_Id: " + l_mar_company_Id.text,2);
l_result.push(l_mar_company_Id.text); // (array 27)
// Einde MARX#76891
return l_result;
}