Files
Mareon/ax/SRC/AxFacilitor.js
Marcel Bourseau 7aacebd7e5 MARX#61048: Documenten versturen van Mareon naar AX (Stadgenoot)
svn path=/Mareon/trunk/; revision=46490
2020-04-03 14:45:55 +00:00

675 lines
24 KiB
JavaScript

// --------------------------------------------------------------------------------------
// AxFacilitor.js
// Copyright 2014 SG|facilitor. 053-4800 700, helpdesk@sgfacilitor.nl
// Written by MB (2014)
//
// MAREON Connector/Adapter Ax -> FACILITOR en Facilitor -> Ax
// --------------------------------------------------------------------------------------
// Scheduled Connector/Adapter voor alle communcatie van Ax -> Facilitor
// Staat elke nn minuten gescheduled
//var proxy = "127.0.0.1:8888"; // Voor debugging met Fiddler
function FCLT_Sync_START(){
F_PutSync(0);
}
function FCLT_Sync_END(){
var l_erp = AX_or_Tobias();
switch (l_erp)
{
case "A365":
// AX 365
F_PutSync(2);
break;
case "F":
// Facilitor
F_PutSync(2);
break;
default:
F_PutSync(1);
}
}
// ----------------------------- AX functies -----------------------------------------
function AX_2_FCLT_ReturnCodes(){
A_GetReturnCodes();
}
function AX_2_FCLT_Opdrachten(){
A_GetOpdrachten();
}
function FCLT_2_AX_Bijlagen(){
F_GetOpdrachten_Bijlagen();
}
function FCLT_2_AX_OpmerkingOpdrachten(){
F_GetOpdrachten_Opmerking();
}
function FCLT_2_AX_AfgemeldeOpdrachten(){
F_GetOpdrachten_Afgemeld();
}
function FCLT_2_AX_GeplandeOpdrachten(){
F_GetOpdrachten_Gepland();
}
function FCLT_2_AX_VerlengdeOpdrachten(){
F_GetOpdrachten_Verlengd();
}
function FCLT_2_AX_UitvoeringOpdrachten(){
F_GetOpdrachten_Uitvoer();
}
function FCLT_2_AX_OnderbrokenOpdrachten(){
F_GetOpdrachten_Onderbroken();
}
function FCLT_2_AX_AcceptRefuseOpdracht(){
F_GetOpdrachten_AcceptRefuse();
}
// ----------------------------- AX2012 functies -----------------------------------------
function AX2012_2_FCLT_Opdrachten(){
A2012_GetOpdrachten();
}
function FCLT_2_AX2012_Bijlagen(){
F_GetOpdrachten_Bijlagen();
}
function FCLT_2_AX2012_OpmerkingOpdrachten(){
F_GetOpdrachten_Opmerking();
}
function FCLT_2_AX2012_AfgemeldeOpdrachten(){
F_GetOpdrachten_Afgemeld();
}
function FCLT_2_AX2012_GeplandeOpdrachten(){
F_GetOpdrachten_Gepland();
}
function FCLT_2_AX2012_VerlengdeOpdrachten(){
F_GetOpdrachten_Verlengd();
}
function FCLT_2_AX2012_UitvoeringOpdrachten(){
F_GetOpdrachten_Uitvoer();
}
function FCLT_2_AX2012_OnderbrokenOpdrachten(){
F_GetOpdrachten_Onderbroken();
}
function FCLT_2_AX2012_AcceptRefuseOpdracht(){
F_GetOpdrachten_AcceptRefuse();
}
// ----------------------------- Tobias functies -----------------------------------------
function Tobias_2_FCLT_Opdrachten(){
T_GetOpdrachten();
}
function FCLT_2_Tobias_OpmerkingOpdrachten(){
F_GetOpdrachten_Opmerking();
}
function FCLT_2_Tobias_AcceptRefuseOpdracht(){
F_GetOpdrachten_AcceptRefuse();
}
function FCLT_2_Tobias_GeplandeOpdrachten(){
F_GetOpdrachten_Gepland();
}
function FCLT_2_Tobias_AfgemeldeOpdrachten(){
F_GetOpdrachten_Afgemeld();
}
function FCLT_2_Tobias_Facturen(){
F_GetFacturen_Tobias();
}
// ----------------------------- Facilitor functies -----------------------------------------
function MARX_2_FCLT_NEW_Opdrachten(){
F_GetOpdrachten_NEW();
}
function MARX_2_FCLT_Bijlagen(){
F_GetOpdrachten_Bijlagen();
}
function MARX_2_FCLT_OpmerkingOpdrachten(){
F_GetOpdrachten_Opmerking();
}
function MARX_2_FCLT_AcceptRefuseOpdracht(){
F_GetOpdrachten_AcceptRefuse();
}
function MARX_2_FCLT_GeplandeOpdrachten(){
F_GetOpdrachten_Gepland();
}
function MARX_2_FCLT_AfgemeldeOpdrachten(){
F_GetOpdrachten_Afgemeld();
}
function MARX_2_FCLT_AfgerondeOpdrachten(){
F_GetOpdrachten_FinancAfgerond();
}
function MARX_2_FCLT_Facturen(){
F_GetFacturen_FCLT();
}
// ----------------------------- REMS functies -----------------------------------------
function REMS_2_MARX_Opdrachten(){
R_GetOpdrachten();
}
function MARX_2_REMS_OpmerkingOpdrachten(){
F_GetOpdrachten_Opmerking();
}
function MARX_2_REMS_AcceptRefuseOpdracht(){
F_GetOpdrachten_AcceptRefuse();
}
function MARX_2_REMS_GeplandeOpdrachten(){
F_GetOpdrachten_Gepland();
}
function MARX_2_REMS_AfgemeldeOpdrachten(){
F_GetOpdrachten_Afgemeld();
}
function MARX_2_REMS_Facturen(){
F_GetFacturen_REMS();
}
// ----------------------------- Xtractor functies -----------------------------------------
function FCLT_2_AX_Facturen(){
F_GetFacturen();
}
// ----------------------------- -----------------------------------------
function Ax_2_FACILITOR()
{
__Log("*** START AX --> FCLT : Opdrachten uit AX en naar Facilitor ***", 2);
AX_2_FCLT_Opdrachten();
__Log("*** END", 2);
__Log("*** START FCLT --> AX : Opmerking opdrachten uit Facilitor naar AX ***", 2);
FCLT_2_AX_OpmerkingOpdrachten();
__Log("*** END", 2);
__Log("*** START FCLT --> AX : Geaccepteerde/geweigerde opdrachten uit Facilitor naar AX ***", 2);
FCLT_2_AX_AcceptRefuseOpdracht();
__Log("*** END", 2);
__Log("*** START FCLT --> AX : Geplande opdrachten uit Facilitor naar AX ***", 2);
FCLT_2_AX_GeplandeOpdrachten();
__Log("*** END", 2);
if (G_mar_communicatielogboek == 1){
__Log("*** Communicatie logboek AAN", 2);
__Log("*** START FCLT --> AX : Verlengde opdrachten uit Facilitor naar AX ***", 2);
FCLT_2_AX_VerlengdeOpdrachten();
__Log("*** END", 2);
__Log("*** START FCLT --> AX : Opdrachten in uitvoering uit Facilitor naar AX ***", 2);
FCLT_2_AX_UitvoeringOpdrachten();
__Log("*** END", 2);
__Log("*** START FCLT --> AX : Onderbroken opdrachten uit Facilitor naar AX ***", 2);
FCLT_2_AX_OnderbrokenOpdrachten();
__Log("*** END", 2);
}
else{
__Log("*** Communicatie logboek UIT", 2);
}
if (G_mar_sync_bijlages_naar_opdrgvr != '0'){
__Log("*** START FCLT --> AX : Bijlagen bij opdrachten uit Mareon naar AX ***", 2);
FCLT_2_AX_Bijlagen();
__Log("*** END", 2);
}
__Log("*** START FCLT --> AX : Afgemelde opdrachten uit Facilitor naar AX ***", 2);
FCLT_2_AX_AfgemeldeOpdrachten();
__Log("*** END", 2);
}
function Ax2012_2_FACILITOR()
{
__Log("*** START AX2012 --> FCLT : Opdrachten uit AX en naar Facilitor ***", 2);
AX2012_2_FCLT_Opdrachten();
__Log("*** END", 2);
__Log("*** START FCLT --> AX2012 : Opmerking opdrachten uit Facilitor naar AX ***", 2);
FCLT_2_AX2012_OpmerkingOpdrachten();
__Log("*** END", 2);
__Log("*** START FCLT --> AX2012 : Geaccepteerde/geweigerde opdrachten uit Facilitor naar AX ***", 2);
FCLT_2_AX2012_AcceptRefuseOpdracht();
__Log("*** END", 2);
__Log("*** START FCLT --> AX2012 : Geplande opdrachten uit Facilitor naar AX ***", 2);
FCLT_2_AX2012_GeplandeOpdrachten();
__Log("*** END", 2);
if (G_mar_communicatielogboek == 1){
__Log("*** Communicatie logboek AAN", 2);
__Log("*** START FCLT --> AX2012 : Verlengde opdrachten uit Facilitor naar AX ***", 2);
FCLT_2_AX2012_VerlengdeOpdrachten();
__Log("*** END", 2);
__Log("*** START FCLT --> AX2012 : Opdrachten in uitvoering uit Facilitor naar AX ***", 2);
FCLT_2_AX2012_UitvoeringOpdrachten();
__Log("*** END", 2);
__Log("*** START FCLT --> AX2012 : Onderbroken opdrachten uit Facilitor naar AX ***", 2);
FCLT_2_AX2012_OnderbrokenOpdrachten();
__Log("*** END", 2);
}
else{
__Log("*** Communicatie logboek UIT", 2);
}
if (G_mar_sync_bijlages_naar_opdrgvr != '0'){
__Log("*** START FCLT --> AX2012 : Bijlagen bij opdrachten uit Mareon naar AX ***", 2);
//Bijlages naar AX2012 kan alleen via Token icm Saxton AX-webservice(s). Op soortgelijke (bijna identieke wijze) als AX365.
//---------------
__Log("*** START AX2012 --> FCLT : Get Token ***", 2);
G_Token = ReadTokenFromFile();
__Log("G_Token ReadTokenFromFile:" + G_Token, 4);
if (G_Token == ""){
__Log("G_Token ReadTokenFromFile is leeg:", 4);
G_Token = A2012_GetToken();
}
__Log("*** END Get Token", 2);
//---------------
FCLT_2_AX2012_Bijlagen();
__Log("*** END", 2);
}
__Log("*** START FCLT --> AX2012 : Afgemelde opdrachten uit Facilitor naar AX ***", 2);
FCLT_2_AX2012_AfgemeldeOpdrachten();
__Log("*** END", 2);
}
function AX365_2_FACILITOR()
{
__Log("*** START AX365 --> FCLT : Get Token ***", 2);
G_Token = ReadTokenFromFile();
__Log("G_Token ReadTokenFromFile:" + G_Token, 4);
if (G_Token == ""){
__Log("G_Token ReadTokenFromFile is leeg:", 4);
G_Token = A365_GetToken();
}
__Log("*** END Get Token", 2);
// Facturen van Mareon -> AX365
FACILITOR_2_Xtractor();
}
function Tobias_2_FACILITOR()
{
// "*** START Tobias --> FCLT : Weiger returncodes/teksten uit Tobias ZIJN ER NIET (i.t.t. AX ***");
__Log("*** START Tobias --> FCLT : Opdrachten uit Tobias en naar Facilitor ***", 2);
Tobias_2_FCLT_Opdrachten();
__Log("*** END", 2);
__Log("*** START FCLT --> Tobias : Opmerking opdrachten uit Facilitor naar Tobias ***", 2);
FCLT_2_Tobias_OpmerkingOpdrachten();
__Log("*** END", 2);
__Log("*** START FCLT --> Tobias : Geaccepteerde/geweigerde opdrachten uit Facilitor naar Tobias ***", 2);
FCLT_2_Tobias_AcceptRefuseOpdracht();
__Log("*** END", 2);
__Log("*** START FCLT --> Tobias : Geplande opdrachten uit Facilitor naar Tobias ***", 2);
FCLT_2_Tobias_GeplandeOpdrachten();
__Log("*** END", 2);
__Log("*** START FCLT --> Tobias : Afgemelde opdrachten uit Facilitor naar Tobias ***", 2);
FCLT_2_Tobias_AfgemeldeOpdrachten();
__Log("*** END", 2);
if (G_ax_xtractorfolder == ""){
__Log("*** START FCLT --> Tobias : Facturen uit Facilitor naar Tobias ***", 2);
FCLT_2_Tobias_Facturen();
}
else{
// Met name bij Hybride Tobias/AX omgevingen, zoals DWPL
__Log("*** NO START FCLT --> Tobias : Facturen verlopen via Xtractor ***", 2);
}
__Log("*** END", 2);
}
function MAREON_2_FACILITOR()
{
if (G_mar_sync_bijlages_opdrgvr != '0' && G_mar_sync_bijlages_opdrgvr != '-1'){
// MARX#57420: Documenten van Tobias AX naar Mareon
// 0/leeg = bestanden vanuit opdrachtgever worden niet gedeeld;
// <> 0 = bestanden vanuit opdrachtgever wel delen met leverancier, default wordt door import nieuwe woco/opdrachtgever de waarde -1 ingevuld, mn voor Tobias bedoeld, hiermee wordt bereikt dat default wel bijlages wordt uitgewisseld.
// LET OP!: vul voor Faciltior kenmerk-key bijlages in, dus key van flexprop van bijlages uit facilitor omgeving, -1 is daarbij geen geldige waarde/key voor kenmerk, en betekent geen uitwisseling)
//Deze key voor Facilitor moet derhalve > 0 zijn, anders heeft dat geen zin cq. gaat dat fout.
__Log("*** START CUST.FACILITOR.NL --> MAREON : Bijlages van opdrachtgever naar Mareon ***", 2);
MARX_2_FCLT_NEW_Opdrachten();
__Log("*** END", 2);
}
if (G_mar_sync_bijlages_naar_opdrgvr != '0'){
__Log("*** START MAREON --> CUST.FACILITOR.NL : Bijlagen bij opdrachten uit Mareon naar Facilitor ***", 2);
MARX_2_FCLT_Bijlagen();
__Log("*** END", 2);
}
__Log("*** START MAREON --> CUST.FACILITOR.NL : Opmerking opdrachten uit Mareon naar Facilitor ***", 2);
MARX_2_FCLT_OpmerkingOpdrachten();
__Log("*** END", 2);
__Log("*** START MAREON --> CUST.FACILITOR.NL : Geaccepteerde/geweigerde opdrachten uit Mareon naar Facilitor ***", 2);
MARX_2_FCLT_AcceptRefuseOpdracht();
__Log("*** END", 2);
__Log("*** START MAREON --> CUST.FACILITOR.NL : Geplande opdrachten uit Mareon naar Facilitor ***", 2);
MARX_2_FCLT_GeplandeOpdrachten();
__Log("*** END", 2);
__Log("*** START MAREON --> CUST.FACILITOR.NL : Afgemelde opdrachten uit Mareon naar Facilitor ***", 2);
MARX_2_FCLT_AfgemeldeOpdrachten();
__Log("*** END", 2);
__Log("*** START MAREON --> CUST.FACILITOR.NL : Afgeronde opdrachten uit Mareon naar Facilitor ***", 2);
MARX_2_FCLT_AfgerondeOpdrachten();
__Log("*** END", 2);
__Log("*** START MAREON --> CUST.FACILITOR.NL : Facturen uit Mareon naar Facilitor ***", 2);
if (G_fclt_factuur_xmlfolder != ""){
MARX_2_FCLT_Facturen();
}
__Log("*** END", 2);
}
function REMS_2_MAREON()
{
__Log("*** START REMS --> MAREON.NL : Nieuwe opdrachten uit REMS naar Mareon ***", 2);
REMS_2_MARX_Opdrachten();
__Log("*** END", 2);
__Log("*** START MAREON --> REMS : Opmerking opdrachten uit Mareon naar REMS ***", 2);
MARX_2_REMS_OpmerkingOpdrachten();
__Log("*** END", 2);
__Log("*** START MAREON --> REMS : Geaccepteerde/geweigerde opdrachten uit Mareon naar REMS ***", 2);
MARX_2_REMS_AcceptRefuseOpdracht();
__Log("*** END", 2);
__Log("*** START MAREON --> REMS : Geplande opdrachten uit Mareon naar REMS ***", 2);
MARX_2_REMS_GeplandeOpdrachten();
__Log("*** END", 2);
__Log("*** START MAREON --> REMS : Afgemelde opdrachten uit Mareon naar REMS ***", 2);
MARX_2_REMS_AfgemeldeOpdrachten();
__Log("*** END", 2);
if (G_rems_facturen_xmlfolder != ""){
MARX_2_REMS_Facturen();
}
}
function FACILITOR_2_Xtractor()
{
__Log("*** START FCLT --> AX / Tobias/AX : Facturen met status INGEVOERD + AKKOORD uit Facilitor naar AX of Tobias/AX ***", 2);
FCLT_2_AX_Facturen();
__Log("*** END", 2);
}
//-- Versie Mareon adapter
// 1.02 -- MARX#37375: Extreem veel API-aanroepen AX_OPDRACHTEN
// 1.10 -- MARX#39172: Koppeling AX2012 - Mareon
// 1.20 -- MARX#40977: Koppeling Mareon -> Facilitor + MARX#40953: Logging van Mareon sync adapter zelf kunnen opvragen
// 1.30 -- MARX#40977: Koppeling REMS -> Facilitor
// 1.31 -- MARX#53259: Geen automatische upload log-bestand bij HTTP500
// 1.32 -- MARX#56493: Lege plandatum vanuit Mareon naar Tobias-AX wordt in AX2012 niet verwerkt.
// 1.35 -- MARX#56792: Mareon sync adapter aanpassen tbv nieuwe statussen naar Tobias2012 + MARX#57368: Aanpassing 'huidige' aanroep Tobias-AX webservice ivm communicatie logboek
// 1.36 -- MARX#57502: AX Adapter robuuster maken + MARX#57491: Communicatie logboek ook voor Tobias AX 2009
// 1.37 -- MARX#57420: Documenten van Tobias AX naar Mareon
// 1.38 -- MARX#60079: Mareon inrichten voor reversible billing KPN
// 1.40 -- MARX#59862: Tobias 365 - Mareon
// 1.41 -- MARX#61048: Documenten versturen van Mareon naar AX
var G_Mareon_Adapter = "1.41";
//MARX#56643: Test Haagwonen inkoopordernummer ontbreekt in Mareon ION001753
var G_new_date = new Date();
//-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
// Filepointer voor Logfile
var fso = new ActiveXObject("Scripting.FileSystemObject");
// Parameter:
// 1) Naam van de configuratie-xml met settings.
var G_settings_xml_file = WScript.Arguments(0);
var G_log_level = Read_Ini_Setting("common","logging");
__Log("************************************************** START Mareon Adapter ***********************************************", 0);
var G_ax_url = Read_Ini_Setting("ax","url");
var G_ax_url_serviceax = Read_Ini_Setting("ax","url_serviceax");
var G_ax2012_url = Read_Ini_Setting("ax2012","url");
var G_ax2012_url_serviceax = Read_Ini_Setting("ax2012","url_serviceax");
var G_ax2012_logonAs = Read_Ini_Setting("ax2012", "logonAs");
var G_ax2012_bcProxy = Read_Ini_Setting("ax2012", "bcProxy");
var G_ax365_url = Read_Ini_Setting("ax365","url");
var G_Token = "";
// In een (1) sync sessie mogen er max 3 x een poging worden gedaan (= eigen keuze) om een Token op te halen indien deze expired zou zijn (om niet in oneindige loop te raken).
var G_AX365_Allowed_Get_Token = 3;
var G_tobias_url = Read_Ini_Setting("tobias","url");
var G_fclt_url = Read_Ini_Setting("fclt","url");
var G_fclt_apikey = Read_Ini_Setting("fclt","apikey");
var G_fclt_factuur_xmlfolder = Read_Ini_Setting("fclt","factuur/xmlfolder");
var G_fclt_factuur_pdffolder = Read_Ini_Setting("fclt","factuur/pdffolder");
var G_rems_opdracht_xmlfolder = Read_Ini_Setting("rems","opdrachtenfolder");
var G_rems_opdrachtstatus_xmlfolder = Read_Ini_Setting("rems","opdrachtstatusfolder");
var G_rems_facturen_xmlfolder = Read_Ini_Setting("rems","facturenfolder");
var G_ax_xtractorfolder = Read_Ini_Setting("xtractor","xmlfolder");
var G_pdf_xtractorfolder = Read_Ini_Setting("xtractor","pdffolder");
var G_ax_succeededfolder = Read_Ini_Setting("xtractor", "succeededfolder");
var G_ax_rejectedfolder = Read_Ini_Setting("xtractor", "rejectedfolder");
// Microsoft Token instellingen
var G_ID_url = Read_Ini_Setting("identityserver","token/url");
var G_ID_client_id = Read_Ini_Setting("identityserver","token/client_id");
var G_ID_client_secret = Read_Ini_Setting("identityserver","token/client_secret");
var G_ID_grant_type = Read_Ini_Setting("identityserver","token/grant_type");
var G_ID_resource = Read_Ini_Setting("identityserver","token/resource");
var G_ID_scope = Read_Ini_Setting("identityserver","token/scope");
// Mareon instellingen, de term (XML node) "facilitor" is ivm historie cq. alle locale installaties bij woco's niet 1-2-3 aan te passen in de veel logischere term mareon.
var G_marx_url = Read_Ini_Setting("facilitor","url");
var G_marx_apikey = Read_Ini_Setting("facilitor","apikey");
//MARX#57502: AX Adapter robuuster maken, instelbare timeout
var G_mar_timeout = 0; //initieel 1e keer.
__Log("***Mareon Adapter - versie: " + G_Mareon_Adapter, 1);
//Eerst de xml settings loggen
__Log("***XML- common/logging: " + G_log_level, 1);
__Log("***XML- ax/url(SupplierService): " + G_ax_url, 1);
__Log("***XML- ax/url(ServiceAX): " + G_ax_url_serviceax, 1);
__Log("***XML- ax2012/url(SupplierService): " + G_ax2012_url, 1);
__Log("***XML- ax2012/url(ServiceAX): " + G_ax2012_url_serviceax, 1);
__Log("***XML- tobias/url: " + G_tobias_url, 1);
__Log("***XML- facilitor/url: " + G_fclt_url, 1);
__Log("***XML- facilitor/factuur/xmlfolder: " + G_fclt_factuur_xmlfolder, 1);
__Log("***XML- facilitor/factuur/pdffolder: " + G_fclt_factuur_pdffolder, 1);
__Log("***XML- rems/opdrachtenfolder: " + G_rems_opdracht_xmlfolder, 1);
__Log("***XML- rems/opdrachtstatusfolder: " + G_rems_opdrachtstatus_xmlfolder, 1);
__Log("***XML- rems/facturenfolder: " + G_rems_facturen_xmlfolder, 1);
__Log("***XML- microsoft/token/url: " + G_ID_url, 1);
__Log("***XML- mareon/url: " + G_marx_url, 1);
__Log("***XML- xtractor/xmlfolder: " + G_ax_xtractorfolder, 1);
__Log("***XML- xtractor/pdffolder: " + G_pdf_xtractorfolder, 1);
__Log("***XML- xtractor/succeededfolder: " + G_ax_succeededfolder, 1);
__Log("***XML- xtractor/rejectedfolder: " + G_ax_rejectedfolder, 1);
if (G_marx_apikey == "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"){
// Vergeten de default/voorbeeld API key in mareon.xml in te vullen
__Log("Invalid API key: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", 2);
__Log("************************************************** END Mareon Adapter ***********************************************", 1);
}
else{
// Haal de Mareon-info uit Facilitor die geregistreerd zijn voor deze woco...
// In de array staan achtereenvolgens (op plaats 0 en 1):
// - min_adapter_version
// - mar_connection_allowed
l_array = F_GetMareonInfo();
//MARX#40953: Logging van Mareon sync adapter zelf kunnen opvragen
v_loglevel = l_array[9];
if (v_loglevel != ""){
G_log_level = v_loglevel;
__Log("***XML- common/logging G_log_level is overruled by Mareon :" + v_loglevel, 1);
}
v_date_sendlogfile = l_array[10]; // format "yyyy-mm-dd"
if (v_date_sendlogfile != "")
{
FCLT_SendLogFile(v_date_sendlogfile);
}
//MARX#52112: Mogelijkheid om (per opdrachtgever) Mareon Sync afbreken bij een HTTP error
var G_abort_http_error = parseInt(l_array[11]); //0 (not abort) or 1 (do abort) in case of HTTP status < 200 or > 299.
var G_mar_timeout = parseInt(l_array[15]); // Instelbare timeout die wordt gebruikt bij aanroepen van de (AX/FCLT)-webservices, default = 30 sec (30000 milli sec)
// MARX#59862: Tobias 365 - Mareon
var G_bedrijf_key = l_array[18]; // Key van woco-bedrijf
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
v_mar_connection_allowed = l_array[1]; // 0 (not allowed to connect) of 1 (= allowed to connect)
if (G_Mareon_Adapter >= v_min_adapter_version){
if (v_mar_connection_allowed == '1'){
// Connection is allowed
__Log("Connection allowed", 1);
FCLT_Sync_START();
//MARX#37375: nu- NA de start!!- halen we de nieuwe sync-data nog eens op. Met name hier cruciaal het moment van ophalen, dat MOET na de START van de sync.
// want na de start van de sync is het gegeven 'MAR_SYNC_OPDR_PAST_SECS_STOP' pas correct.
// dit gegeven wordt namelijk gebaseerd op 'sync_date_now' die in de DB in de procedure mar_update_ax_sync is gezet, en dat gebeurt dus in de start-sync. Vandaar!
l_array = F_GetMareonInfo();
var G_mar_sync_opdr_past_days = parseInt(l_array[6]);
var G_mar_sync_opdr_past_secs_start = parseInt(l_array[7]);
var G_mar_sync_opdr_past_secs_stop = parseInt(l_array[8]);
var G_mar_sync_date_now = l_array[12]; // Timestamp *now* in format yyyy-mm-ddThh:mm:ss
var G_mar_sync_date_last = l_array[3]; // Timestamp last connection in format yyyy-mm-ddThh:mm:ss
var G_mar_sync_buffer = parseInt(l_array[13]); // Buffer in seconds, extra time overload (overlap van extra tijd)
var G_mar_communicatielogboek = parseInt(l_array[14]); // Opdrachtgever maakt gebruik van communicatielogboek (AX webservice UpdatePurchStatus beschikbaar)
var G_mar_sync_bijlages_opdrgvr = l_array[16]; // Bijlages vanuit opdrachtgever worden gedeeld met leverancier indien niet leeg/0. Voor Facilitor vullen met de flexprop-key
var G_mar_sync_bijlages_naar_opdrgvr = l_array[17]; // Bijlages vanuit opdrachtnemer worden gedeeld met opdrachtgever indien niet leeg/0. Voor Facilitor vullen met de flexprop-key
if (AX_or_Tobias() == "A")
{
__Log("AX2009", 2);
Ax_2_FACILITOR();
}
if (AX_or_Tobias() == "A12")
{
__Log("AX2012", 2);
Ax2012_2_FACILITOR();
}
if (AX_or_Tobias() == "A365")
{
__Log("AX365", 2);
AX365_2_FACILITOR();
}
if (AX_or_Tobias() == "T")
{
__Log("TOBIAS", 2);
Tobias_2_FACILITOR();
}
if (AX_or_Tobias() == "F")
{
__Log("FACILITOR", 2);
MAREON_2_FACILITOR();
}
if (AX_or_Tobias() == "R")
{
__Log("REMS", 2);
REMS_2_MAREON();
}
if (G_ax_xtractorfolder != "")
{
FACILITOR_2_Xtractor();
}
FCLT_Sync_END();
}
else{
v_last_connect = l_array[3]; // format "2015-07-22T13:00"
v_connect_after = l_array[4]; // format "2015-07-22T12:30:22"
__Log("Connection NOT allowed (yet)", 1);
__Log("Last Connection: " + v_last_connect, 1);
__Log("Connection allowed after: " + v_connect_after, 1);
}
}
else{
__Log("Invalid Mareon adapter version", 0);
}
__Log("************************************************** END Mareon Adapter ***********************************************", 0);
__Log("", 1);
if (v_date_sendlogfile != "")
{
FCLT_SendLogFile(v_date_sendlogfile);
}
}