26 echo
'<div style="width:80%;margin-left:10%;border-collapse: separate;border-spacing: 5px;">';
27 if (!isset($_POST[
'imp']) && !isset($_GET[
'confirm']))
32 <h2> Importer le plan comptable</h2>
33 Comment votre fichier doit être ?
35 <li>Il faut 4 champs</li>
36 <li>Les champs sont séparés par des points virgules</li>
40 <li>Le poste comptable</li>
41 <li>Le libellé du poste</li>
42 <li>Le poste parent</li>
43 <li>Le type de poste : PAS pour passif, ACT pour actif, PRO pour produit, CHA pour charge, CON suivant contexte, pour les comptes inversés ajouter INV à la fin, exemple PROINV (produit compte inversé)</li>
46 echo
' <form method="post" enctype="multipart/form-data" >';
47 echo HtmlInput::hidden(
'sa', $_GET [
'sa']);
48 echo HtmlInput::extension();
49 echo dossier::hidden();
50 $file =
new IFile(
'plan');
56 $latin =
new ICheckBox(
'latin');
57 $overwrite =
new ICheckBox(
'over');
58 echo
"Le fichier n'est pas en unicode mais en latin1" . $latin->input() .
'<br>';
59 echo
"Supprimer le plan comptable uniquement si vous n'avez entré aucune opération" . $overwrite->input() .
"</br>";
61 echo HtmlInput::submit(
'imp',
'Importation');
70 if (isset($_POST[
'imp']))
73 if (trim($_FILES[
'plan'][
'name']) ==
'')
75 alert(
'Pas de fichier donné');
79 $filename = tempnam($_ENV[
'TMP'],
'upload_');
80 move_uploaded_file($_FILES[
"plan"][
"tmp_name"], $filename);
81 $fplan = fopen($filename,
'r');
84 while ((
$row = fgetcsv($fplan, 0,
';')) !==
false)
87 echo
'<tr style="border:solid 1px black">';
88 $count_col = count(
$row);
93 for ($i = 0; $i < 4; $i++)
95 echo td(
$row[$i],
'style="border:solid 1px black"');
101 echo
'<form method="get">';
102 echo HtmlInput::hidden(
'file', $filename);
103 echo dossier::hidden();
104 echo HtmlInput::hidden(
'sa',
$_REQUEST[
'sa']);
105 echo HtmlInput::extension();
106 if (isset($_POST[
'latin']))
107 echo HtmlInput::hidden(
'latin', $_POST[
'latin']);
108 if (isset($_POST[
'over']))
109 echo HtmlInput::hidden(
'over', $_POST[
'over']);
110 echo HtmlInput::hidden(
'ac',
$_REQUEST[
'ac']);
111 echo HtmlInput::submit(
'confirm',
'Confirmez');
117 if (isset($_GET[
'confirm']))
121 if (isset($_GET [
'over']))
123 $cn->exec_sql(
'delete from tmp_pcmn');
125 $fplan = fopen($_GET[
'file'],
'r');
128 while ((
$row = fgetcsv($fplan, 0,
';')) !==
false)
131 $count_col = count(
$row);
134 $dup =
$cn->get_value(
'select * from tmp_pcmn where pcm_val=$1', array(
$row[0]));
139 if (isset($_GET[
'latin']))
141 $cn->exec_sql(
"insert into tmp_pcmn(pcm_val,pcm_lib,pcm_val_parent,pcm_type) values ($1,$2,$3,$4)", array(
143 utf8_encode(
$row[1]),
150 $cn->exec_sql(
"insert into tmp_pcmn(pcm_val,pcm_lib,pcm_val_parent,pcm_type) values ($1,$2,$3,$4)", array(
162 echo
'<tr style="border:solid 1px black">';
166 for ($i = 0; $i < 4; $i++)
168 echo td(
$row[$i],
'style="border:solid 1px black"');
171 echo
'<td>' . $g_succeed .
'</td>';
173 echo
'<td>' . $g_failed .
'</td>';
178 echo
"Nombre de postes insérés " .
$row_count;
for($i=0;$i< Database::num_row($ret);$i++) $row