[Fix] FEC: Correction of the export function (#16252)

* Correction of the export function

* Improve JS code

* Codacy corrections

* Codacy corrections
diff --git "a/erpnext/regional/report/fichier_des_ecritures_comptables_\133fec\135/fichier_des_ecritures_comptables_\133fec\135.js" "b/erpnext/regional/report/fichier_des_ecritures_comptables_\133fec\135/fichier_des_ecritures_comptables_\133fec\135.js"
index 8606a3b..a4c7640 100644
--- "a/erpnext/regional/report/fichier_des_ecritures_comptables_\133fec\135/fichier_des_ecritures_comptables_\133fec\135.js"
+++ "b/erpnext/regional/report/fichier_des_ecritures_comptables_\133fec\135/fichier_des_ecritures_comptables_\133fec\135.js"
@@ -1,85 +1,75 @@
-// Copyright (c) 2016, Frappe Technologies Pvt. Ltd. and contributors
+// Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and contributors
 // For license information, please see license.txt
-/* eslint-disable */
 
 frappe.query_reports["Fichier des Ecritures Comptables [FEC]"] = {
-	"filters": [{
-		"fieldname": "company",
-		"label": __("Company"),
-		"fieldtype": "Link",
-		"options": "Company",
-		"default": frappe.defaults.get_user_default("Company"),
-		"reqd": 1
-	},
-	{
-		"fieldname": "fiscal_year",
-		"label": __("Fiscal Year"),
-		"fieldtype": "Link",
-		"options": "Fiscal Year",
-		"default": frappe.defaults.get_user_default("fiscal_year"),
-		"reqd": 1
-	}],
-
+	"filters": [
+		{
+			"fieldname": "company",
+			"label": __("Company"),
+			"fieldtype": "Link",
+			"options": "Company",
+			"default": frappe.defaults.get_user_default("Company"),
+			"reqd": 1
+		},
+		{
+			"fieldname": "fiscal_year",
+			"label": __("Fiscal Year"),
+			"fieldtype": "Link",
+			"options": "Fiscal Year",
+			"default": frappe.defaults.get_user_default("fiscal_year"),
+			"reqd": 1
+		}
+	],
 	onload: function(query_report) {
 		query_report.page.add_inner_button(__("Export"), function() {
-			var fiscal_year = query_report.get_values().fiscal_year;
-			var company = query_report.get_values().company;
+			fec_export(query_report);
+		});
 
-			frappe.call({
-				method: "frappe.client.get_value",
-				args: {
-					'doctype': "Company",
-					'fieldname': ['siren_number'],
-					'filters': {
-						'name': company
-					}
-				},
-				callback: function(data) {
-					var company_data = data.message.siren_number;
-					if (company_data === null || company_data === undefined) {
-						frappe.msgprint(__("Please register the SIREN number in the company information file"))
-					} else {
-						frappe.call({
-							method: "frappe.client.get_value",
-							args: {
-								'doctype': "Fiscal Year",
-								'fieldname': ['year_end_date'],
-								'filters': {
-									'name': fiscal_year
-								}
-							},
-							callback: function(data) {
-								var fy = data.message.year_end_date;
-								var title = company_data + "FEC" + moment(fy).format('YYYYMMDD');
-								var result = $.map(frappe.slickgrid_tools.get_view_data(query_report.columns, query_report.dataView),
-									function(row) {
-										return [row.splice(1)];
-									});
-								downloadify(result, null, title);
-							}
-						});
+		query_report.add_make_chart_button = function() {
+			//
+		};
 
-					}
-				}
+		query_report.export_report = function() {
+			fec_export(query_report);
+		};
+	}
+};
+
+let fec_export = function(query_report) {
+	const fiscal_year = query_report.get_values().fiscal_year;
+	const company = query_report.get_values().company;
+
+	frappe.db.get_value("Company", company, "siren_number", (value) => {
+		const company_data = value.siren_number;
+		if (company_data === null || company_data === undefined) {
+			frappe.msgprint(__("Please register the SIREN number in the company information file"));
+		} else {
+			frappe.db.get_value("Fiscal Year", fiscal_year, "year_end_date", (r) => {
+				const fy = r.year_end_date;
+				const title = company_data + "FEC" + moment(fy).format('YYYYMMDD');
+				const column_row = query_report.columns.map(col => col.label);
+				const column_data = query_report.get_data_for_csv(false);
+				const result = [column_row].concat(column_data);
+				downloadify(result, null, title);
 			});
 
-		});
-	}
-}
+		}
+	});
+};
 
-var downloadify = function(data, roles, title) {
+let downloadify = function(data, roles, title) {
 	if (roles && roles.length && !has_common(roles, roles)) {
 		frappe.msgprint(__("Export not allowed. You need {0} role to export.", [frappe.utils.comma_or(roles)]));
 		return;
 	}
 
-	var filename = title + ".csv";
-	var csv_data = to_tab_csv(data);
-	var a = document.createElement('a');
+	const filename = title + ".txt";
+	let csv_data = to_tab_csv(data);
+	const a = document.createElement('a');
 
 	if ("download" in a) {
 		// Used Blob object, because it can handle large files
-		var blob_object = new Blob([csv_data], {
+		let blob_object = new Blob([csv_data], {
 			type: 'text/csv;charset=UTF-8'
 		});
 		a.href = URL.createObjectURL(blob_object);
@@ -98,8 +88,8 @@
 	document.body.removeChild(a);
 };
 
-var to_tab_csv = function(data) {
-	var res = [];
+let to_tab_csv = function(data) {
+	let res = [];
 	$.each(data, function(i, row) {
 		res.push(row.join("\t"));
 	});