Check(); require_once NOALYSS_INCLUDE.'/user_menu.php'; // Correct (last step) if (isset($_POST['correct'])) { $ledger = new Acc_Ledger($cn, $_REQUEST['p_jrn']); require_once NOALYSS_INCLUDE.'/operation_ods_new.inc.php'; return; } // confirm before saving if ( isset($_POST['summary'])) { try { $ledger = new Acc_Ledger($cn, $_REQUEST['p_jrn']); $ledger->with_concerned=false; $ledger->verify($_POST); require_once NOALYSS_INCLUDE.'/operation_ods_confirm.inc.php'; } catch (Exception $e) { echo alert($e->getMessage()); require('operation_ods_new.inc.php'); } return; } // record if (isset($_POST['save'])) { $array = $_POST; $ledger = new Acc_Ledger($cn, $_REQUEST['p_jrn']); $ledger->with_concerned=false; try { $ledger->save($array); $jr_id = $cn->get_value('select jr_id from jrn where jr_internal=$1', array($ledger->internal)); echo '

Opération enregistrée Piece ' . h($ledger->pj) . '

'; if (strcmp($ledger->pj, $_POST['e_pj']) != 0) { echo '

' . _('Attention numéro pièce existante, elle a du être adaptée') . '

'; } printf('%s
', $jr_id, dossier::id(), $ledger->internal); // show feedback echo '
'; echo '

' . $ledger->get_name() . '

'; echo '
'; echo $ledger->confirm($_POST, true); } catch (Exception $e) { require('operation_ods_new.inc.php'); alert($e->getMessage()); } return; } /* -------------------------------------------------- * step 1 if nothing is asked we show the available folders */ if ($sa == '') { echo '
'; echo '

Etape 1

'; echo 'Choisissez le dossier où sont les soldes à importer'; $avail = $g_user->get_available_folder(); if (empty($avail)) { echo '*** Aucun dossier ***'; return; } echo '
'; echo HtmlInput::hidden('ac', $_REQUEST['ac']); echo HtmlInput::hidden('sa', 'step2'); echo dossier::hidden(); $wAvail = new ISelect(); /* compute select list */ $array = array(); $i = 0; foreach ($avail as $r) { $array[$i]['value'] = $r['dos_id']; $array[$i]['label'] = $r['dos_name']; $i++; } $wAvail->value = $array; echo 'Choix du dossier :' . $wAvail->input('f'); echo HtmlInput::submit('ok', 'Continuer'); echo '
'; echo '
'; echo ''; return; } /* -------------------------------------------------- * Step 2 choose now the exercice of this folder */ $back = 'do.php?ac=' . $_REQUEST['ac'] . '&' . dossier::get(); if ($sa == 'step2') { echo '
' . '

Etape 2

' . '

' . dossier::name($_REQUEST['f']) . '

' . '
' . ' Choisissez l\'exercice du dossier '; echo dossier::hidden(); echo HtmlInput::hidden('ac', $_REQUEST['ac']); echo HtmlInput::hidden('sa', 'step3'); echo HtmlInput::hidden('f', $_REQUEST['f']); $cn = new Database($_REQUEST['f']); $periode = $cn->make_array("select distinct p_exercice,p_exercice from parm_periode order by p_exercice"); $w = new ISelect(); $w->table = 0; $w->label = 'Periode'; $w->readonly = false; $w->value = $periode; $w->name = "p_periode"; echo 'Période : ' . $w->input(); echo HtmlInput::submit('ok', 'Continuer'); echo dossier::hidden(); echo "
"; echo HtmlInput::button_anchor('Retour', $back); exit(0); } /* -------------------------------------------------- * select the ledger where we will import the data */ if ($sa == 'step3') { echo '
' . '

Etape 3

' . '

' . dossier::name($_REQUEST['f']) . '

' . '
' . ' Choisissez le journal qui contiendra l\'opération d\'ouverture '; echo dossier::hidden(); echo HtmlInput::hidden('p_action', 'ouv'); echo HtmlInput::hidden('sa', 'step4'); echo HtmlInput::hidden('f', $_REQUEST['f']); echo HtmlInput::hidden('p_periode', $_REQUEST['p_periode']); $wLedger = new ISelect(); $g_user = new User(new Database(dossier::id())); $avail = $g_user->get_ledger('ODS'); /* compute select list */ $array = array(); $i = 0; foreach ($avail as $r) { $array[$i]['value'] = $r['jrn_def_id']; $array[$i]['label'] = $r['jrn_def_name']; $i++; } $wLedger->value = $array; echo $wLedger->input('p_jrn'); echo HtmlInput::submit('ok', 'Continuer'); echo HtmlInput::hidden('ac', $_REQUEST['ac']); echo dossier::hidden(); echo "
"; echo HtmlInput::button_anchor('Retour', $back . '&sa=step2&f=' . $_REQUEST['f']); exit(0); } /* -------------------------------------------------- * Step 4 we import data from the selected folder and year and * transform it into a misc operation */ if ($sa == 'step4') { echo '
'; echo '

Dernière étape

'; $cn_target = new Database($_REQUEST['f']); $saldo = new Acc_Ledger($cn_target, 0); $array = $saldo->get_saldo_exercice($_REQUEST['p_periode']); /* we need to transform the array into a Acc_Ledger array */ $result = array(); $result['desc'] = 'Ecriture d\'ouverture'; $result['nb_item'] = sizeof($array); $result['p_jrn'] = $_REQUEST['p_jrn']; $idx = 0; foreach ($array as $row) { $qcode = 'qc_' . $idx; $poste = 'poste' . $idx; $amount = 'amount' . $idx; $ck = 'ck' . $idx; $result[$qcode] = $row['j_qcode']; if (trim($row['j_qcode']) == '') $result[$poste] = $row['j_poste']; $result[$amount] = abs($row['solde']); if ($row['solde'] > 0) $result[$ck] = 'on'; $idx++; } $cn = new Database(dossier::id()); $jrn = new Acc_Ledger($cn, $_REQUEST['p_jrn']); echo '
'; echo HtmlInput::hidden('ac', $_REQUEST['ac']); echo HtmlInput::hidden('sa', 'step5'); echo HtmlInput::hidden('f', $_REQUEST['f']); echo HtmlInput::hidden('p_periode',$_REQUEST['p_periode']); echo dossier::hidden(); echo HtmlInput::hidden('p_jrn', $_REQUEST['p_jrn']); echo $jrn->input($result, 0); echo '
'; echo '

Ne corrigez pas encore, cliquez continuer pour passer à l\'étape suivante

'; echo HtmlInput::submit('correct_it', 'Continuer'); echo '
'; echo HtmlInput::button_anchor('Retour', $back); echo '
'; } // if sa=step4 then record it // if ($_REQUEST['sa'] == 'step5') { $ledger = new Acc_Ledger($cn, $_REQUEST['p_jrn']); require_once NOALYSS_INCLUDE.'/operation_ods_new.inc.php'; }