//---------------------------------------------------------------------------------------------- // ========== G L O B A L V A R I A B L E S var FISCAL_FILE_FULL_PATH = "c:\\tmp\\testing.txt"; var ASK_FOR_FISCAL_FILE_EXP = "Must I generate a fiscal file for the saved invoice?"; var FISCFILE_ERROR = "An error occured while trying to save the fiscal file. Perhaps you sould try once more, or an invalid path selected for ourput: "; //---------------------------------------------------------------------------------------------- // ========== L I B R A R I E S String.prototype.LeadingZeros=function(count){var sLen=this.length;var lenDiff,prefix;var lzi=0;prefix="";lenDiff=count-sLen;for(lzi=0;lenDiff>lzi;lzi++){prefix+="0"}return(prefix+this.toString())};String.prototype.supplyArguments=function(){var tmpS,CanExit;var retVal=this;for(sAiEx=0,arglen=arguments.length;sAiEx 0) sid = X.NEWID; else sid = SALDOC.FINDOC; var answer = X.ASK("CAUTION - Confirmation!", ASK_FOR_FISCAL_FILE_EXP); if(answer == 6) _export_fiscal_file(sid); } //---------------------------------------------------------------------------------------------- function _export_fiscal_file(sid) { var outs = ""; var SQL, tmpDS; outs = "CLEAR;\r\nKEY REG;\r\n"; SQL = ("select mt.name as item_name, round(mtl.qty1, 2) as qty1, " + "Round((mtl.LINEVAL / mtl.qty1), 2) as price " + "from mtrlines mtl " + "inner join mtrl mt on mt.mtrl = mtl.mtrl " + "where findoc = {0};") .supplyArguments(sid); tmpDS = X.GETSQLDATASET(SQL, null); if(tmpDS.Recordcount == 0) return; var tmp_qty, tmp_price; while(!tmpDS.Eof) { tmp_qty = new Number(tmpDS.qty1) * 1; tmp_qty = tmp_qty.FPNumberFormat(2).replace(",", "."); tmp_price = new Number(tmpDS.price) * 1; tmp_price = tmp_price.FPNumberFormat(2).replace(",", "."); //FPNumberFormat outs += ("SALE DPT=1,DES='{0}',QTY={1},PRICE={2};\r\n") .supplyArguments(tmpDS.item_name, tmp_qty, tmp_price); tmpDS.Next; } outs += "CLOSE TENDER=1"; try { X.Tofile(FISCAL_FILE_FULL_PATH, outs); } catch(e) { X.Exception(FISCFILE_ERROR + e.description); } } //----------------------------------------------------------------------------------------------