635 lines
23 KiB
JavaScript
635 lines
23 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_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_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);
|
|
}
|
|
|
|
|
|
__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);
|
|
}
|
|
|
|
__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' && G_mar_sync_bijlages_naar_opdrgvr != '-1'){
|
|
__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
|
|
|
|
var G_Mareon_Adapter = "1.40";
|
|
//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_ax2012_url = Read_Ini_Setting("ax2012","url");
|
|
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_MS_url = Read_Ini_Setting("microsoft","token/url");
|
|
var G_MS_client_id = Read_Ini_Setting("microsoft","token/client_id");
|
|
var G_MS_client_secret = Read_Ini_Setting("microsoft","token/client_secret");
|
|
var G_MS_grant_type = Read_Ini_Setting("microsoft","token/grant_type");
|
|
var G_MS_resource = Read_Ini_Setting("microsoft","token/resource");
|
|
|
|
// 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: " + G_ax_url, 1);
|
|
__Log("***XML- ax2012/url: " + G_ax2012_url, 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- 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 opdrachtnever 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);
|
|
}
|
|
}
|