18 echo _(
"Séparateur de champs inconnu");
25 $id=
$cn->get_value(
'insert into importbank.import(format_bank_id) values ($1) returning id',
26 array($format_bank->id));
30 while( (
$row=fgetcsv($fbank,0,$sp)) !==
false)
35 $count_col=count($array_row);
39 if ($count_col==$_POST[
'nb_col'])
41 echo
'<tr style="border:solid 1px black">';
46 for ($i=0; $i<$count_col; $i++)
48 switch ($_POST[
'header'][$i])
51 $tp_date=$array_row[$i];
59 $libelle=utf8_encode($array_row[$i]);
62 $operation_nb=preg_replace(
'/[^[:print:]]/',
'',
66 $third=utf8_encode($array_row[$i]);
69 $extra=utf8_encode(preg_replace(
'/[^[:print:]]/',
'',
73 if ($_POST[
'header'][$i]!=
'-1')
75 echo td(utf8_encode($array_row[$i]),
76 'style="border:solid 1px black;color:green"');
88 if ($format_bank->sep_thousand!=
'')
91 if (
$adecimal[$format_bank->sep_decimal]<>
'.')
100 throw new Exception(_(
'Montant invalide'),10);
105 $test = DateTime::createFromFormat(
$aformat_date[$format_bank->format_date-1][
'format'], trim($tp_date));
106 if ( $test ===
false )
108 throw new Exception (_(
'Date invalide').
' '.
$str_date,20);
110 $cn->exec_Sql(
'insert into importbank.temp_bank(tp_date,jrn_def_id,libelle,amount,ref_operation,status,import_id,tp_third,tp_extra)'.
111 ' values (to_date($1,\''.
$str_date.
'\'),$2,$3,$4,$5,$6,$7,$8,$9)
',
112 array($tp_date, $format_bank->jrn_def_id, $libelle, $amount,
113 $operation_nb, $status, $id, $third, $extra));
115 echo '<td>
'.$g_succeed.'</td>
';
117 catch (Exception $ex)
120 $exc_code=$ex->getCode();
121 if ( $exc_code = 10 || $exc_code == 20 ) {
122 // date or amount is invalid
123 echo '<td>
'.$g_failed.$ex->getMessage().'</td>
';
125 echo _("Echec import");
126 alert($ex->getMessage());
128 var_dump($ex->getTraceAsString());
140 $table=ob_get_contents();
143 $nb_col->value=($nb_col->value=='')?$max:$nb_col->value;
146 <h2><?php echo _("Etape 4/4 : les données sont sauvegardées")?></h2>
147 <form method="POST" enctype="multipart/form-data">
151 <?php echo _("Nom du format")?>
154 <?php echo $format->input()?>
159 <?php echo _("A importer dans le journal de banque")?>
162 <?php echo $jrn_def->input()?>
167 <?php echo _("Format de date")?>
170 <?php echo $format_date->input()?>
176 <?php echo _("Séparateur de champs")?>
179 <?php echo $sep_field->input()?>
185 <?php echo _("Séparateur de millier")?>
188 <?php echo $sep_thousand->input()?>
194 <?php echo _("Séparateur décimal")?>
197 <?php echo $sep_decimal->input()?>
202 <?php echo _("Ligne d'en-tête à ne pas prendre en considération
")?>
205 <?php echo $skip->input()?>
211 <?php echo _("Les lignes ayant ce nombre de colonnes sont valides
")?>
214 <?php echo $nb_col->input()?>
227 $header=new ISelect('header[]');
228 $header->value=$aheader;
230 echo th(_('Ligne n°'));
231 echo th(_('Nbre de colonnes'));
232 for ( $i=0;$i<$max;$i++)
234 $header->selected=-1;
249 case $pos_operation_nb:
253 $third=utf8_encode($array_row[$i]);
256 $extra=utf8_encode($array_row[$i]);
260 echo '<th>'.$header->input()."</th>
";
268 <ul style="list-
style: none
">
269 <li><?php echo _('Importés')," ",$imported_row?></li>
270 <li><?php echo _('Echec')," ",$skip_row?></li>
for($i=0;$i< Database::num_row($ret);$i++) $row
switch($sep_field->selected) $str_date