940 lines
36 KiB
JavaScript
940 lines
36 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 "A":
|
|
// AX 2009
|
|
F_PutSync(1);
|
|
break;
|
|
case "A12":
|
|
// AX 2012
|
|
F_PutSync(1);
|
|
break;
|
|
case "T":
|
|
// Tobias Progress
|
|
F_PutSync(1);
|
|
break;
|
|
default:
|
|
// T365, Facilitor, REMS en Twinq
|
|
F_PutSync(2);
|
|
}
|
|
}
|
|
|
|
// ----------------------------- 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_OpdrachtStatus(){
|
|
F_GetOpdrachten_Statussen();
|
|
}
|
|
|
|
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_OpdrachtStatus(){
|
|
F_GetOpdrachten_Statussen();
|
|
}
|
|
|
|
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();
|
|
}
|
|
|
|
// ----------------------------- AX365 functies -----------------------------------------
|
|
function FCLT_2_AX365_OpdrachtStatus_Bijlagen(){
|
|
F_GetOpdrachten_Statussen();
|
|
}
|
|
|
|
// ----------------------------- 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_OpdrachtStatus(){
|
|
F_GetOpdrachten_Statussen();
|
|
}
|
|
|
|
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_OpdrachtStatus(){
|
|
F_GetOpdrachten_Statussen();
|
|
}
|
|
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();
|
|
}
|
|
|
|
// ----------------------------- TWINQ functies -----------------------------------------
|
|
function MARX_2_TWINQ_OpdrachtStatus(){
|
|
F_GetOpdrachten_Statussen();
|
|
}
|
|
|
|
function MARX_2_TWINQ_Facturen(){
|
|
F_GetFacturen_TWINQ();
|
|
}
|
|
|
|
|
|
// ----------------------------- Xtractor functies -----------------------------------------
|
|
function FCLT_2_AX_Facturen(){
|
|
F_GetFacturen_AX();
|
|
}
|
|
// ----------------------------- -----------------------------------------
|
|
|
|
|
|
function Ax_2_FACILITOR()
|
|
{
|
|
|
|
if (G_push_notifyqueue == "0"){
|
|
//start then-tak pull
|
|
// Als de koppeling niet via PUSH verloopt, dan zelf de opdrachten uit AX halen (PULL), en de statusupdates via diverse views obv laatste tracking-key
|
|
|
|
__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);
|
|
} // einde then-tak "pull"
|
|
else {
|
|
|
|
//start else-tak "push/notifyqueue"
|
|
|
|
//Totdat AX nog geen push-mechanisme heeft, gaan we de opdrachtverstrekking nog PULLEN!
|
|
//Zodra AX2012 wel push-mechanisme heeft, verloopt de opdrachtverstrekking buiten de sync, en kan dit stukje komen te vervallen...
|
|
__Log("*** START AX --> FCLT : Opdrachten uit AX en naar Facilitor ***", 2);
|
|
AX_2_FCLT_Opdrachten();
|
|
__Log("*** END", 2);
|
|
|
|
__Log("*** START FCLT --> AX2012 : Verwerken van ALLE opdrachtstatussen uit Mareon Facilitor naar AX obv notifyqueue ***", 2);
|
|
FCLT_2_AX_OpdrachtStatus();
|
|
__Log("*** END", 2);
|
|
//einde else-tak "push/notifyqueue"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
function Ax2012_2_FACILITOR()
|
|
{
|
|
|
|
if (G_push_notifyqueue == "0"){
|
|
//start then-tak pull
|
|
// Als de koppeling niet via PUSH verloopt, dan zelf de opdrachten uit AX halen (PULL), en de statusupdates via diverse views obv laatste tracking-key
|
|
|
|
__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);
|
|
}
|
|
|
|
|
|
// Alleen bij pull (niet bij push), de bijlages opvragen van ALLE(!) opdrachten op basis van sync-datum
|
|
// PS Bij push doen we dat per opdracht...
|
|
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_saxton = ReadSaxtonTokenFromFile();
|
|
__Log("G_Token_saxton ReadSaxtonTokenFromFile:" + G_Token_saxton, 4);
|
|
if (G_Token_saxton == ""){
|
|
__Log("G_Token_saxton ReadSaxtonTokenFromFile is leeg:", 4);
|
|
G_Token_saxton = A2012_saxton_GetToken();
|
|
}
|
|
__Log("*** END Get Token", 2);
|
|
//---------------
|
|
|
|
|
|
FCLT_2_AX2012_Bijlagen();
|
|
__Log("*** END", 2);
|
|
}
|
|
|
|
// En tenslotte obv PULL de afgemelde opdrachten nog.
|
|
__Log("*** START FCLT --> AX2012 : Afgemelde opdrachten uit Facilitor naar AX ***", 2);
|
|
FCLT_2_AX2012_AfgemeldeOpdrachten();
|
|
__Log("*** END", 2);
|
|
} // einde then-tak "pull"
|
|
|
|
else {
|
|
|
|
//start else-tak "push/notifyqueue"
|
|
|
|
//Totdat AX nog geen push-mechanisme heeft, gaan we de opdrachtverstrekking nog PULLEN!
|
|
//Zodra AX2012 wel push-mechanisme heeft, verloopt de opdrachtverstrekking buiten de sync, en kan dit stukje komen te vervallen...
|
|
__Log("*** START AX2012 --> FCLT : Opdrachten uit AX en naar Facilitor ***", 2);
|
|
AX2012_2_FCLT_Opdrachten();
|
|
__Log("*** END", 2);
|
|
|
|
__Log("*** START FCLT --> AX2012 : Verwerken van ALLE opdrachtstatussen uit Mareon Facilitor naar AX obv notifyqueue ***", 2);
|
|
FCLT_2_AX2012_OpdrachtStatus();
|
|
__Log("*** END", 2);
|
|
//einde else-tak "push/notifyqueue"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
function AX365_2_FACILITOR()
|
|
{
|
|
|
|
if (G_ID_saxton_url != "" && G_push_notifyqueue == "1")
|
|
{
|
|
__Log("*** START AX365 --> FCLT : Get AX Saxton Token ***", 2);
|
|
G_Token_saxton = ReadSaxtonTokenFromFile();
|
|
__Log("G_Token_saxton ReadSaxtonTokenFromFile:" + G_Token_saxton, 4);
|
|
if (G_Token_saxton == ""){
|
|
__Log("G_Token_saxton ReadSaxtonTokenFromFile is leeg:", 4);
|
|
G_Token_saxton = A365_saxton_GetToken();
|
|
}
|
|
__Log("*** END Get AX Saxton Token", 2);
|
|
|
|
// Statusinformatie en evt bijlagen van Mareon -> AX365
|
|
__Log("*** START FCLT --> AX365 : Verwerken van ALLE opdrachtstatussen + bijlagen uit Mareon Facilitor naar AX365 obv notifyqueue ***", 2);
|
|
FCLT_2_AX365_OpdrachtStatus_Bijlagen();
|
|
__Log("*** END", 2);
|
|
|
|
}
|
|
else{
|
|
__Log("*** AX365: Status berichten NIET ingesteld", 2)
|
|
}
|
|
|
|
if (G_ID_ax365_supplierservice_url != "")
|
|
{
|
|
__Log("*** START AX365 --> FCLT : Get Supplierservice Token ***", 2);
|
|
|
|
G_Token_supplierservice = ReadSupplierserviceTokenFromFile();
|
|
__Log("G_Token_supplierservice ReadSupplierserviceTokenFromFile:" + G_Token_supplierservice, 4);
|
|
if (G_Token_supplierservice == ""){
|
|
__Log("G_Token_supplierservice ReadSupplierserviceTokenFromFile is leeg:", 4);
|
|
G_Token_supplierservice = A365_supplierservice_GetToken();
|
|
}
|
|
__Log("*** END Get Supplierservice Token", 2);
|
|
|
|
// Facturen van Mareon -> AX365, in de functie FACILITOR_2_Xtractor wordt zelf bekeken of dit WEL/NIET via pushnotificatie verloopt...
|
|
FACILITOR_2_Xtractor();
|
|
}
|
|
else{
|
|
__Log("*** AX365: Facturen koppeling NIET ingesteld", 2);
|
|
}
|
|
|
|
|
|
}
|
|
|
|
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_push_notifyqueue == "0"){
|
|
//start then-tak pull
|
|
|
|
// Als de koppeling niet via PUSH verloopt, dan zelf de opdrachten uit AX halen (PULL), omdat Putorders iig nog gezet moet worden en evt bijlages opgehaald moeten worden, obv laatste tracking-key
|
|
// MARX_2_FCLT_NEW_Opdrachten zet iig Putorders (mld_opdr_teverzenden), mogelijk (afh van instelling) worden bijlages opgehaald.
|
|
__Log("*** START CUST.FACILITOR.NL --> MAREON : Putorders instellen en bijlages van opdrachtgever naar Mareon ophalen ***", 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);
|
|
} // einde then-tak "pull"
|
|
else{
|
|
//start else-tak "push/notifyqueue"
|
|
|
|
__Log("*** START MAREON --> CUST.FACILITOR.NL : Verwerken van ALLE opdrachtstatussen uit Mareon naar Facilitor obv notifyqueue ***", 2);
|
|
MARX_2_FCLT_OpdrachtStatus();
|
|
__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);
|
|
//einde else-tak "push/notifyqueue"
|
|
}
|
|
}
|
|
|
|
function REMS_2_MAREON()
|
|
{
|
|
if (G_push_notifyqueue == "0"){
|
|
//start then-tak pull
|
|
// Als de koppeling niet via PUSH verloopt, dan zelf de opdrachten uit AX halen (PULL), en de statusupdates via diverse views obv laatste tracking-key
|
|
__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);
|
|
|
|
if (G_mar_communicatielogboek == 1){
|
|
__Log("*** Communicatie logboek AAN", 2);
|
|
|
|
__Log("*** START MAREON --> REMS : Verlengde opdrachten uit Mareon naar AX ***", 2);
|
|
FCLT_2_AX2012_VerlengdeOpdrachten();
|
|
__Log("*** END", 2);
|
|
|
|
__Log("*** START MAREON --> REMS : Opdrachten in uitvoering uit Mareon naar AX ***", 2);
|
|
FCLT_2_AX2012_UitvoeringOpdrachten();
|
|
__Log("*** END", 2);
|
|
|
|
__Log("*** START MAREON --> REMS : Onderbroken opdrachten uit Mareon naar AX ***", 2);
|
|
FCLT_2_AX2012_OnderbrokenOpdrachten();
|
|
__Log("*** END", 2);
|
|
}
|
|
else{
|
|
__Log("*** Communicatie logboek UIT", 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();
|
|
}
|
|
}// einde then-tak "pull"
|
|
else{
|
|
//start else-tak "push/notifyqueue"
|
|
// Ook als de koppeling wel via PUSH (NQ mode) verloopt, dan zelf de opdrachten uit folder bij REMS halen (PULL), en door de SYNC pushen naar Mareon
|
|
__Log("*** START REMS --> MAREON.NL : Nieuwe opdrachten uit REMS naar Mareon ***", 2);
|
|
REMS_2_MARX_Opdrachten();
|
|
__Log("*** END", 2);
|
|
|
|
__Log("*** START MAREON --> REMS : Verwerken van ALLE opdrachtstatussen uit Mareon naar REMS obv notifyqueue ***", 2);
|
|
MARX_2_REMS_OpdrachtStatus();
|
|
__Log("*** END", 2);
|
|
if (G_rems_facturen_xmlfolder != ""){
|
|
MARX_2_REMS_Facturen();
|
|
}
|
|
//einde else-tak "push/notifyqueue"
|
|
}
|
|
}
|
|
|
|
function MAREON_2_TWINQ()
|
|
{
|
|
|
|
if (G_ID_saxton_url != "" && G_push_notifyqueue == "1")
|
|
{
|
|
__Log("*** START MAREON --> TWINQ : Get (Saxton) Token ***", 2);
|
|
G_Token_saxton = ReadSaxtonTokenFromFile();
|
|
__Log("G_Token_saxton ReadSaxtonTokenFromFile:" + G_Token_saxton, 4);
|
|
if (G_Token_saxton == ""){
|
|
__Log("G_Token_saxton ReadSaxtonTokenFromFile is leeg:", 4);
|
|
G_Token_saxton = TWINQ_GetToken();
|
|
}
|
|
__Log("*** END Get (Saxton) Token", 2);
|
|
|
|
//start "push/notifyqueue"
|
|
__Log("*** START MAREON --> TWINQ : Verwerken van ALLE opdrachtstatussen uit Mareon naar Twinq obv notifyqueue ***", 2);
|
|
MARX_2_TWINQ_OpdrachtStatus();
|
|
__Log("*** END", 2);
|
|
|
|
|
|
//MARX#71922 Factuurbericht naar Twinq
|
|
__Log("*** START MAREON --> TWINQ: Facturen uit Mareon naar Twinq ***", 2);
|
|
MARX_2_TWINQ_Facturen();
|
|
__Log("*** END", 2);
|
|
}
|
|
else{
|
|
//Geen "push/notifyqueue" ingesteld
|
|
__Log("*** NQ staat niet in gesteld, de koppeling naarr Twinq staat uit ***", 1);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
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
|
|
// 1.50 -- MARX#62647: Koppeling AX365 - Mareon (Push)
|
|
// 1.51 -- MARX#66742: De logging van de sync adapter voor AX365 per klant + YKPN#66746: Hago en Mondial krijgen geen mails/ meldingen meer door
|
|
// 1.52 -- MARX#67695: Adapter genereert veel te veel logging --> Logging van base64 XML nodes (van PDF bestanden) is oorzaak, we kappen de logging daarvan af op max. 1024 tekens (1K)
|
|
// 1.53 -- MARX#67715: Uitbreiding van de communicatie van statuscodes naar REMS
|
|
// 1.54 -- MARX#69545 Factuur scanning 365 werkt niet door update in Tobias 365
|
|
// 1.60 -- MARX#69220 Koppeling Mareon -> Twinq
|
|
// 1.61 -- MARX#71922 Factuurbericht naar Twinq
|
|
|
|
var G_Mareon_Adapter = "1.61";
|
|
//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_supplierservice = Read_Ini_Setting("ax365","url");
|
|
var G_Token_supplierservice = "";
|
|
|
|
var G_ax365_url_serviceax = Read_Ini_Setting("ax365","url_serviceax");
|
|
var G_Token_saxton = "";
|
|
|
|
var G_twinq_url = Read_Ini_Setting("twinq","url");
|
|
|
|
// 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");
|
|
|
|
// Identity Token instellingen voor de AX Saxton webservice 'CustomerPortalAX' of Twinq token service
|
|
var G_ID_saxton_url = Read_Ini_Setting("identityserver","token/url");
|
|
var G_ID_saxton_client_id = Read_Ini_Setting("identityserver","token/client_id");
|
|
var G_ID_saxton_client_secret = Read_Ini_Setting("identityserver","token/client_secret");
|
|
var G_ID_saxton_grant_type = Read_Ini_Setting("identityserver","token/grant_type");
|
|
var G_ID_saxton_resource = Read_Ini_Setting("identityserver","token/resource");
|
|
var G_ID_saxton_scope = Read_Ini_Setting("identityserver","token/scope");
|
|
|
|
// Identity Token instellingen voor de AX365 webservice 'SupplierService' MSMSupplierPortal
|
|
var G_ID_ax365_supplierservice_url = Read_Ini_Setting("ax365","supplierservice/identityserver/token/url");
|
|
var G_ID_ax365_supplierservice_client_id = Read_Ini_Setting("ax365","supplierservice/identityserver/token/client_id");
|
|
var G_ID_ax365_supplierservice_client_secret = Read_Ini_Setting("ax365","supplierservice/identityserver/token/client_secret");
|
|
var G_ID_ax365_supplierservice_grant_type = Read_Ini_Setting("ax365","supplierservice/identityserver/token/grant_type");
|
|
var G_ID_ax365_supplierservice_resource = Read_Ini_Setting("ax365","supplierservice/identityserver/token/resource");
|
|
var G_ID_ax365_supplierservice_scope = Read_Ini_Setting("ax365","supplierservice/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- ax365/url(SupplierService): " + G_ax365_url_supplierservice, 1);
|
|
__Log("***XML- ax365/url(ServiceAX): " + G_ax365_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- twinq/url: " + G_twinq_url, 1);
|
|
__Log("***XML- identityserver/token/url: " + G_ID_saxton_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
|
|
|
|
// 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
|
|
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
|
|
|
|
//MARX62284: Identityserver gegevens (tbv AX2012) niet in mareon sync.xml
|
|
var v_ax2012_bcproxy = l_array[19];
|
|
if (v_ax2012_bcproxy != ""){
|
|
G_ax2012_bcProxy = v_ax2012_bcproxy;
|
|
__Log("***XML- G_ax2012_bcProxy is overruled by Mareon", 3);
|
|
}
|
|
var v_ID_url = l_array[20];
|
|
if (v_ID_url != ""){
|
|
G_ID_saxton_url = v_ID_url;
|
|
__Log("***XML- G_ID_saxton_url is overruled by Mareon", 3);
|
|
}
|
|
var v_ID_client_id = l_array[21];
|
|
if (v_ID_client_id != ""){
|
|
G_ID_saxton_client_id = v_ID_client_id;
|
|
__Log("***XML- G_ID_saxton_client_id is overruled by Mareon", 3);
|
|
}
|
|
var v_ID_client_secret = l_array[22];
|
|
if (v_ID_client_secret != ""){
|
|
G_ID_saxton_client_secret = v_ID_client_secret;
|
|
__Log("***XML- G_ID_saxton_client_secret is overruled by Mareon", 3);
|
|
}
|
|
var v_ID_grant_type = l_array[23];
|
|
if (v_ID_grant_type != ""){
|
|
G_ID_saxton_grant_type = v_ID_grant_type;
|
|
__Log("***XML- G_ID_saxton_grant_type is overruled by Mareon", 3);
|
|
}
|
|
var v_ID_resource = l_array[24];
|
|
if (v_ID_resource != ""){
|
|
G_ID_saxton_resource = v_ID_resource;
|
|
__Log("***XML- G_ID_saxton_resource is overruled by Mareon", 3);
|
|
}
|
|
var v_ID_scope = l_array[25];
|
|
if (v_ID_scope != ""){
|
|
G_ID_saxton_scope = v_ID_scope;
|
|
__Log("***XML- G_ID_saxton_scope is overruled by Mareon", 3);
|
|
}
|
|
|
|
|
|
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 (AX_or_Tobias() == "TQ")
|
|
{
|
|
__Log("TWINQ", 2);
|
|
MAREON_2_TWINQ();
|
|
}
|
|
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);
|
|
}
|
|
}
|