示例#1
0
 $view_card_detail = HtmlInput::card_detail($qcode, "", ' class="line" ');
 $row = td($view_card_detail);
 $sym_tva = '';
 if ($owner->MY_TVA_USE == 'Y' && $q['qp_vat_code'] != '') {
     /* retrieve TVA symbol */
     $tva = new Acc_Tva($cn, $q['qp_vat_code']);
     $tva->load();
     $sym_tva = h($tva->get_parameter('label'));
 }
 if ($owner->MY_UPDLAB == 'Y') {
     $l_lib = $q['j_text'] == '' ? $fiche->strAttribut(ATTR_DEF_NAME) : $q['j_text'];
     $hidden = HtmlInput::hidden("j_id[]", $q['j_id']);
     $input = new IText("e_march" . $q['j_id'] . "_label", $l_lib);
     $input->css_size = "100%";
 } else {
     $input = new ISpan("e_march" . $q['j_id'] . "_label");
     $hidden = HtmlInput::hidden("j_id[]", $q['j_id']);
     $input->value = $fiche->strAttribut(ATTR_DEF_NAME);
 }
 $row .= td($input->input() . $hidden);
 $row .= td($sym_tva, 'style="text-align:center"');
 $pu = 0;
 if ($q['qp_quantite'] != 0) {
     $pu = bcdiv($q['qp_price'], $q['qp_quantite']);
 }
 $row .= td(nbm($pu), 'class="num"');
 $row .= td(nbm($q['qp_quantite']), 'class="num"');
 $no_ded = bcadd($q['qp_dep_priv'], $q['qp_nd_amount']);
 $row .= td(nbm($no_ded), ' style="text-align:right"');
 $htva = $q['qp_price'];
 $row .= td(nbm($htva), 'class="num"');
示例#2
0
    $previous_exc->selected = true;
}
$from_poste = new IPoste();
$from_poste->name = "from_poste";
$from_poste->set_attribute('ipopup', 'ipop_account');
$from_poste->set_attribute('label', 'from_poste_label');
$from_poste->set_attribute('account', 'from_poste');
$from_poste->value = isset($_GET['from_poste']) ? $_GET['from_poste'] : "";
$from_span = new ISpan("from_poste_label", "");
$to_poste = new IPoste();
$to_poste->name = "to_poste";
$to_poste->set_attribute('ipopup', 'ipop_account');
$to_poste->set_attribute('label', 'to_poste_label');
$to_poste->set_attribute('account', 'to_poste');
$to_poste->value = isset($_GET['to_poste']) ? $_GET['to_poste'] : "";
$to_span = new ISpan("to_poste_label", "");
echo "<div>";
echo _("Plage de postes") . " :" . $from_poste->input();
echo $from_span->input();
echo " " . _("jusque") . " :" . $to_poste->input();
echo $to_span->input();
echo "</div>";
echo '<div>';
echo '<p>';
echo _("Uniquement comptes non soldés") . " " . $unsold->input();
echo '</p>';
echo '<p>';
echo _("Avec la balance de l'année précédente") . " " . $previous_exc->input();
echo '</p>';
echo '</div>';
echo '</div>';
示例#3
0
//-----------------------------------------------------
// Show the jrn and date
//-----------------------------------------------------
require_once NOALYSS_INCLUDE . '/class_database.php';
require_once NOALYSS_INCLUDE . '/class_ipopup.php';
global $g_user;
//-----------------------------------------------------
// Form
//-----------------------------------------------------
echo '<div class="content">';
echo '<FORM action="?" METHOD="GET">';
echo HtmlInput::hidden('ac', $_REQUEST['ac']);
echo HtmlInput::hidden('type', 'poste');
echo dossier::hidden();
echo '<TABLE><TR>';
$span = new ISpan();
$w = new IPoste('poste_id');
$w->set_attribute('ipopup', 'ipop_account');
$w->set_attribute('label', 'poste_id_label');
$w->set_attribute('account', 'poste_id');
$w->table = 0;
$w->value = isset($_REQUEST['poste_id']) ? $_REQUEST['poste_id'] : "";
$w->label = "Choisissez le poste";
print td('Choisissez un poste ') . td($w->input());
echo td($span->input('poste_id_label'));
echo '</tr><tr>';
$w_poste = new ICard('f_id');
$w_poste->table = 0;
$w_poste->jrn = 0;
echo td("Ou Choisissez la fiche");
$w_poste->set_attribute('label', 'f_id_label');
示例#4
0
 function display($p_array)
 {
     require_once NOALYSS_INCLUDE . '/class_acc_ledger_purchase.php';
     global $g_parameter, $g_user;
     extract($p_array);
     $ledger = new Acc_Ledger_Purchase($this->db, $this->jrn_def_id);
     if ($p_array != null) {
         extract($p_array);
     }
     $flag_tva = $g_parameter->MY_TVA_USE;
     /* Add button */
     $f_add_button = new IButton('add_card');
     $f_add_button->label = _('Créer une nouvelle fiche');
     $f_add_button->tabindex = -1;
     $f_add_button->set_attribute('ipopup', 'ipop_newcard');
     $f_add_button->set_attribute('jrn', $this->jrn_def_id);
     $f_add_button->javascript = " this.jrn=\$('p_jrn').value;select_card_type(this);";
     $f_add_button2 = new IButton('add_card2');
     $f_add_button2->tabindex = -1;
     $f_add_button2->label = _('Créer une nouvelle fiche');
     $f_add_button2->set_attribute('ipopup', 'ipop_newcard');
     $f_add_button2->set_attribute('filter', $ledger->get_all_fiche_def());
     //    $f_add_button2->set_attribute('jrn',$ledger->id);
     $f_add_button2->javascript = "  this.jrn=\$('p_jrn').value;select_card_type(this);";
     $str_add_button = "";
     $str_add_button2 = "";
     if ($g_user->check_action(FICADD) == 1) {
         $str_add_button = $f_add_button->input();
         $str_add_button2 = $f_add_button2->input();
     }
     $r = "";
     $r .= dossier::hidden();
     $f_legend = _("En-tête facture fournisseur");
     $f_legend_detail = _("Détail articles acheté");
     // Ledger (p_jrn)
     //--
     /* if we suggest the next pj, then we need a javascript */
     $add_js = "";
     // Display the customer
     //--
     $fiche = 'cred';
     // Save old value and set a new one
     //--
     $e_client = isset($e_client) ? $e_client : "";
     $e_client_label = "&nbsp;";
     //str_pad("",100,".");
     // retrieve e_client_label
     //--
     if (strlen(trim($e_client)) != 0) {
         $fClient = new Fiche($ledger->db);
         $fClient->get_by_qcode($e_client);
         $e_client_label = $fClient->strAttribut(ATTR_DEF_NAME) . ' ' . ' Adresse : ' . $fClient->strAttribut(ATTR_DEF_ADRESS) . ' ' . $fClient->strAttribut(ATTR_DEF_CP) . ' ' . $fClient->strAttribut(ATTR_DEF_CITY) . ' ';
     }
     $W1 = new ICard();
     $W1->label = _("Fournisseur ") . HtmlInput::infobulle(0);
     $W1->name = "e_client";
     $W1->tabindex = 3;
     $W1->value = $e_client;
     $W1->table = 0;
     $W1->set_dblclick("fill_ipopcard(this);");
     $W1->set_attribute('ipopup', 'ipopcard');
     // name of the field to update with the name of the card
     $W1->set_attribute('label', 'e_client_label');
     // name of the field to update with the name of the card
     $W1->set_attribute('typecard', 'cred');
     // Add the callback function to filter the card on the jrn
     $W1->set_callback('filter_card');
     $W1->set_function('fill_data');
     $W1->javascript = sprintf(' onchange="fill_data_onchange(\'%s\');" ', $W1->name);
     $f_client_qcode = $W1->input();
     $client_label = new ISpan();
     $client_label->table = 0;
     $f_client = $client_label->input("e_client_label", $e_client_label);
     $f_client_bt = $W1->search();
     // Record the current number of article
     $min = $ledger->get_min_row();
     $p_article = isset($nb_item) ? $nb_item : $min;
     $max = $p_article < $min ? $min : $p_article;
     $e_comment = isset($e_comment) ? $e_comment : "";
     $Hid = new IHidden();
     $r .= $Hid->input("nb_item", $p_article);
     // For each article
     //--
     for ($i = 0; $i < $max; $i++) {
         // Code id, price & vat code
         //--
         $march = isset(${"e_march{$i}"}) ? ${"e_march{$i}"} : "";
         $march_price = isset(${"e_march" . $i . "_price"}) ? ${"e_march" . $i . "_price"} : "";
         /* use vat */
         if ($g_parameter->MY_TVA_USE == 'Y') {
             $march_tva_id = isset(${"e_march{$i}" . "_tva_id"}) ? ${"e_march{$i}" . "_tva_id"} : "";
             $march_tva_amount = isset(${"e_march{$i}" . "_tva_amount"}) ? ${"e_march{$i}" . "_tva_amount"} : "";
         }
         $march_label = isset(${"e_march" . $i . "_label"}) ? ${"e_march" . $i . "_label"} : "";
         // retrieve the tva label and name
         //--
         if (strlen(trim($march)) != 0 && strlen(trim($march_label)) == 0) {
             $fMarch = new Fiche($ledger->db);
             $fMarch->get_by_qcode($march);
             $march_label = $fMarch->strAttribut(ATTR_DEF_NAME);
             /* vat use */
             if (!isset($march_tva_id) && $g_parameter->MY_TVA_USE == 'Y') {
                 $march_tva_id = $fMarch->strAttribut(ATTR_DEF_TVA);
             }
         }
         // Show input
         //--
         $W1 = new ICard();
         $W1->label = "";
         $W1->name = "e_march" . $i;
         $W1->value = $march;
         $W1->table = 1;
         $W1->set_dblclick("fill_ipopcard(this);");
         $W1->set_attribute('ipopup', 'ipopcard');
         $W1->set_attribute('typecard', 'deb');
         // name of the field to update with the name of the card
         $W1->set_attribute('label', 'e_march' . $i . '_label');
         // name of the field with the price
         $W1->set_attribute('purchase', 'e_march' . $i . '_price');
         /* autocomplete */
         $W1->set_attribute('price', 'e_march' . $i . '_price');
         /* via search */
         // name of the field with the TVA_ID
         $W1->set_attribute('tvaid', 'e_march' . $i . '_tva_id');
         // Add the callback function to filter the card on the jrn
         $W1->set_callback('filter_card');
         $W1->set_function('fill_data');
         $W1->javascript = sprintf(' onchange="fill_data_onchange(\'%s\');" ', $W1->name);
         $W1->readonly = false;
         $array[$i]['quick_code'] = $W1->input();
         $array[$i]['bt'] = $W1->search();
         $array[$i]['hidden'] = '';
         // For computing we need some hidden field for holding the value
         if ($g_parameter->MY_TVA_USE == 'Y') {
             $array[$i]['hidden'] .= HtmlInput::hidden('tva_march' . $i, 0);
         }
         if ($g_parameter->MY_TVA_USE == 'Y') {
             $tvac = new INum('tvac_march' . $i);
         } else {
             $tvac = new IHidden('tvac_march' . $i);
         }
         $tvac->readOnly = 1;
         $tvac->value = 0;
         $array[$i]['tvac'] = $tvac->input();
         $htva = new INum('htva_march' . $i);
         $htva->readOnly = 1;
         $htva->value = 0;
         $array[$i]['htva'] = $htva->input();
         if ($g_parameter->MY_UPDLAB == 'Y') {
             $Span = new IText("e_march" . $i . "_label");
             $Span->css_size = "100%";
         } else {
             $Span = new ISpan("e_march" . $i . "_label");
         }
         $Span->value = $march_label;
         $Span->setReadOnly(false);
         // card's name, price
         //--
         $array[$i]['denom'] = $Span->input("e_march" . $i . "_label", $march_label);
         // price
         $Price = new INum();
         $Price->setReadOnly(false);
         $Price->size = 9;
         $Price->javascript = "onBlur='format_number(this);clean_tva({$i});compute_ledger({$i})'";
         $array[$i]['pu'] = $Price->input("e_march" . $i . "_price", $march_price);
         if ($g_parameter->MY_TVA_USE == 'Y') {
             // vat label
             //--
             $Tva = new ITva_Popup($ledger->db);
             $Tva->js = "onblur=\"format_number(this);onChange=clean_tva({$i});compute_ledger({$i})\"";
             $Tva->in_table = true;
             $Tva->set_attribute('compute', $i);
             $Tva->value = $march_tva_id;
             $array[$i]['tva'] = $Tva->input("e_march{$i}" . "_tva_id");
             // Tva_amount
             // price
             $Tva_amount = new INum();
             $Tva_amount->setReadOnly(false);
             $Tva_amount->size = 9;
             $Tva_amount->javascript = "onBlur='format_number(this);compute_ledger({$i})'";
             $array[$i]['amount_tva'] = $Tva_amount->input("e_march" . $i . "_tva_amount", $march_tva_amount);
         }
         // quantity
         //--
         $quant = isset(${"e_quant{$i}"}) ? ${"e_quant{$i}"} : "1";
         $Quantity = new INum();
         $Quantity->setReadOnly(false);
         $Quantity->size = 9;
         $Quantity->javascript = "onChange=format_number(this);clean_tva({$i});compute_ledger({$i})";
         $array[$i]['quantity'] = $Quantity->input("e_quant" . $i, $quant);
     }
     $f_type = _('Fournisseur');
     ob_start();
     require_once NOALYSS_INCLUDE . '/template/predf_ledger_detail.php';
     $r .= ob_get_contents();
     ob_end_clean();
     // Set correctly the REQUEST param for jrn_type
     $r .= HtmlInput::hidden('jrn_type', 'ACH');
     $r .= HtmlInput::button('add_item', _('Ajout article'), ' onClick="ledger_add_row()"');
     return $r;
 }
示例#5
0
 public function select()
 {
     $r = '';
     $array = $this->get_valide();
     $r .= HtmlInput::hidden('gDossier', dossier::id());
     if (empty($array) == false) {
         $acompte = new INum('acompte');
         $acompte->value = 0;
         $r .= _(" Acompte à déduire");
         $r .= $acompte->input();
         $r .= '<p>';
         $e_comm_paiement = new IText('e_comm_paiement');
         $e_comm_paiement->table = 0;
         $e_comm_paiement->setReadOnly(false);
         $e_comm_paiement->size = 60;
         $e_comm_paiement->tabindex = 3;
         $r .= _(" Libellé du paiement");
         $r .= $e_comm_paiement->input();
         $r .= '</p>';
     }
     $r .= '<ol>';
     $r .= '<li ><input type="radio" name="e_mp" value="0" checked>' . _('Paiement encodé plus tard');
     if (empty($array) == false) {
         foreach ($array as $row) {
             $f = '';
             /* if the qcode is  null the propose a search button to select
                the card */
             if ($row->mp_qcode == NULL) {
                 $a = new ICard();
                 $a->jrn = $row->mp_jrn_def_id;
                 $a->set_attribute('typecard', $row->mp_fd_id);
                 $a->name = 'e_mp_qcode_' . $row->mp_id;
                 $a->set_dblclick("fill_ipopcard(this);");
                 $a->set_callback('filter_card');
                 $a->set_function('fill_data');
                 $a->set_attribute('ipopup', 'ipopcard');
                 $a->set_attribute('label', $a->name . '_label');
                 $s = new ISpan();
                 $s->name = $a->name . '_label';
                 $f = _(" paiement par ") . $a->input() . $s->input();
             } else {
                 /* if the qcode is not null then add a hidden variable with
                    the qcode */
                 $fiche = new Fiche($this->cn);
                 $fiche->get_by_qcode($row->mp_qcode);
                 $f = HtmlInput::hidden('e_mp_qcode_' . $row->mp_id, $row->mp_qcode);
                 //	  $f.=$fiche->strAttribut(ATTR_DEF_NAME);
             }
             $r .= '<li><input type="radio" name="e_mp" value="' . $row->mp_id . '">';
             $r .= $row->mp_lib . '  ' . $f;
         }
     }
     $r .= '</ol>';
     return $r;
 }
示例#6
0
 function Display($p_readonly)
 {
     $this->GetAttribut();
     $attr = $this->attribut;
     /* show card type here */
     $type_card = $this->cn->get_value('select fd_label ' . ' from fiche_def join fiche using (fd_id) where f_id=$1', array($this->id));
     $ret = "";
     $ret .= h2(_("Catégorie") . " " . $type_card, 'style="display:inline"');
     $ret .= '<span style="font-weight:bolder;margin-right:5px;float:right">' . _('id fiche') . ':' . $this->id . "</span>";
     $ret .= "<table style=\"width:98%;margin:1%\">";
     if (empty($attr)) {
         return 'FNT';
     }
     /* for each attribute */
     foreach ($attr as $r) {
         $msg = "";
         $bulle = "";
         if ($p_readonly) {
             $w = new IText();
             $w->table = 1;
             $w->readOnly = true;
             $w->css_size = "100%";
         }
         if ($p_readonly == false) {
             if ($r->ad_id == ATTR_DEF_ACCOUNT) {
                 $w = new IPoste("av_text" . $r->ad_id);
                 $w->set_attribute('ipopup', 'ipop_account');
                 $w->set_attribute('account', "av_text" . $r->ad_id);
                 $w->dbl_click_history();
                 //  account created automatically
                 $w->table = 0;
                 $w->value = $r->av_text;
                 //  account created automatically
                 $sql = "select account_auto({$this->fiche_def})";
                 $ret_sql = $this->cn->exec_sql($sql);
                 $a = Database::fetch_array($ret_sql, 0);
                 $bulle = HtmlInput::infobulle(10);
                 if ($a['account_auto'] == 't') {
                     $bulle .= HtmlInput::warnbulle(11);
                 }
             } elseif ($r->ad_id == ATTR_DEF_TVA) {
                 $w = new ITva_Popup('popup_tva');
                 $w->table = 1;
                 $w->value = $r->av_text;
             } else {
                 switch ($r->ad_type) {
                     case 'text':
                         $w = new IText('av_text' . $r->ad_id);
                         $w->css_size = "100%";
                         $w->value = $r->av_text;
                         break;
                     case 'numeric':
                         $w = new INum('av_text' . $r->ad_id);
                         $w->size = $r->ad_size;
                         $w->prec = $r->ad_extra == "" ? 2 : $r->ad_extra;
                         $w->value = $r->av_text;
                         break;
                     case 'date':
                         $w = new IDate('av_text' . $r->ad_id);
                         $w->value = $r->av_text;
                         break;
                     case 'zone':
                         $w = new ITextArea('av_text' . $r->ad_id);
                         $w->style = ' class="itextarea" style="margin:0px;width:100%"';
                         $w->value = $r->av_text;
                         break;
                     case 'poste':
                         $w = new IPoste("av_text" . $r->ad_id);
                         $w->set_attribute('ipopup', 'ipop_account');
                         $w->set_attribute('account', "av_text" . $r->ad_id);
                         $w->dbl_click_history();
                         $w->width = $r->ad_size;
                         $w->table = 0;
                         $bulle = HtmlInput::infobulle(14);
                         $w->value = $r->av_text;
                         break;
                     case 'card':
                         $uniq = rand(0, 1000);
                         $w = new ICard("av_text" . $r->ad_id);
                         $w->id = "card_" . $this->id . $uniq;
                         // filter on ad_extra
                         $filter = $r->ad_extra;
                         $w->width = $r->ad_size;
                         $w->extra = $filter;
                         $w->extra2 = 0;
                         $label = new ISpan();
                         $label->name = "av_text" . $uniq . $r->ad_id . "_label";
                         $fiche = new Fiche($this->cn);
                         $fiche->get_by_qcode($r->av_text);
                         if ($fiche->id == 0) {
                             $label->value = trim($r->av_text) == '' ? "" : " " . _("Fiche non trouvée") . " ";
                             $r->av_text = "";
                         } else {
                             $label->value = $fiche->strAttribut(ATTR_DEF_NAME) . " " . $fiche->strAttribut(ATTR_DEF_FIRST_NAME, 0);
                         }
                         $w->set_attribute('ipopup', 'ipopcard');
                         $w->set_attribute('typecard', $filter);
                         $w->set_attribute('inp', "av_text" . $r->ad_id);
                         $w->set_attribute('label', $label->name);
                         $w->autocomplete = 0;
                         $w->dblclick = "fill_ipopcard(this);";
                         $msg = $w->search();
                         $msg .= $label->input();
                         $w->value = $r->av_text;
                         break;
                     case 'select':
                         $w = new ISelect();
                         $w->value = $this->cn->make_array($r->ad_extra);
                         $w->selected = $r->av_text;
                         $w->style = ' style="width:100%" ';
                         break;
                     default:
                         var_dump($r);
                         throw new Exception("Type invalide");
                 }
                 $w->table = 0;
             }
         } else {
             switch ($r->ad_type) {
                 case 'select':
                     $x = new ISelect();
                     $x->value = $this->cn->make_array($r->ad_extra);
                     $x->selected = $r->av_text;
                     $value = $x->display();
                     $w->value = $value;
                     break;
                 default:
                     $w->value = $r->av_text;
             }
         }
         $w->name = "av_text" . $r->ad_id;
         $w->readOnly = $p_readonly;
         if ($r->ad_id == 21 || $r->ad_id == 22 || $r->ad_id == 20 || $r->ad_id == 31) {
             $bulle = HtmlInput::infobulle(21);
         }
         $ret .= "<TR>" . td(_($r->ad_text) . $bulle) . td($w->input() . " " . $msg) . " </TR>";
     }
     $ret .= "</table>";
     return $ret;
 }
echo HtmlInput::hidden('ac', $_REQUEST['ac']);
echo HtmlInput::hidden('sa', 'poste');
$poste = new IPoste();
$poste->name = "acc";
$poste->table = 0;
$poste->set_attribute('jrn', 0);
$poste->set_attribute('gDossier', dossier::id());
$poste->set_attribute('ipopup', 'ipop_account');
$poste->set_attribute('label', 'account_label');
$poste->set_attribute('account', 'acc');
$acc_lib = "";
if (isset($_GET['acc'])) {
    $poste->value = $_GET['acc'];
    $acc_lib = $cn->get_value('select pcm_lib from tmp_pcmn where pcm_val=upper($1)', array($poste->value));
}
$poste_span = new ISpan('account_label');
$poste_span->value = $acc_lib;
$r = td(_('Lettrage pour le poste comptable ')) . td($poste->input()) . td($poste_span->input());
echo '<table width="50%">';
echo tr($r);
// limit of the year
$exercice = $g_user->get_exercice();
$periode = new Periode($cn);
list($first_per, $last_per) = $periode->get_limit($exercice);
$start = new IDate('start');
if (isset($_GET['start']) && isDate($_GET['start']) == null) {
    echo alert(_('Date malformée, désolé'));
    $_GET['start'] = $first_per->first_day();
}
$start->value = isset($_GET['start']) ? $_GET['start'] : $first_per->first_day();
$r = td(_('Date début'));
示例#8
0
     // remove a file
     /////////////////////////////////////////////////////////////////////////////
 /////////////////////////////////////////////////////////////////////////////
 // remove a file
 /////////////////////////////////////////////////////////////////////////////
 case 'rmf':
     if ($access == 'W' && $g_user->check_action(RMRECEIPT) == 1) {
         echo "<html><head>";
         $repo = new Database();
         $theme = $repo->get_value("select the_filestyle from theme where the_name=\$1", array($_SESSION['g_theme']));
         echo "   <LINK REL=\"stylesheet\" type=\"text/css\" href=\"{$theme}\" media=\"screen\">";
         echo "</head><body class=\"op_detail_frame\">";
         echo "<h2>" . _("Document") . "</h2>";
         echo '<div class="op_detail_frame">';
         echo '<FORM METHOD="POST" ENCTYPE="multipart/form-data" id="form_file">';
         $sp = new ISpan('file' . $div);
         $sp->style = "display:none;width:155;height:15;background-color:red;color:white;font-size:10";
         $sp->value = _("Chargement");
         echo $sp->input();
         echo HtmlInput::hidden('act', 'loadfile');
         echo dossier::hidden();
         echo HtmlInput::hidden('jr_id', $jr_id);
         echo HtmlInput::hidden('div', $div);
         echo '<INPUT TYPE="FILE" name="pj" onchange="getElementById(\'file' . $div . '\').style.display=\'inline\';submit(this);">';
         echo '</FORM>';
         $ret = $cn->exec_sql("select jr_pj from jrn where jr_id=\$1", array($jr_id));
         if (Database::num_row($ret) != 0) {
             $r = Database::fetch_array($ret, 0);
             $old_oid = $r['jr_pj'];
             if (strlen($old_oid) != 0) {
                 // check if this pj is used somewhere else
echo '<FORM METHOD="GET">';
echo dossier::hidden();
echo HtmlInput::hidden('ac', $_REQUEST['ac']);
echo HtmlInput::hidden('sa', 'qc');
echo HtmlInput::hidden('p_jrn', '0');
echo '<table width="50%">';
$poste = new ICard('acc');
$poste->name = "acc";
$poste->extra = "all";
$poste->set_attribute('popup', 'ipopcard');
$poste->set_attribute('typecard', 'all');
$poste->set_callback('filter_card');
if (isset($_GET['acc'])) {
    $poste->value = strtoupper(trim($_GET['acc']));
}
$poste_span = new ISpan('account_label');
$r = td(_('Lettrage pour la fiche ')) . td($poste->input() . $poste->search()) . td($poste_span->input());
echo tr($r);
// limit of the year
$exercice = $g_user->get_exercice();
$periode = new Periode($cn);
list($first_per, $last_per) = $periode->get_limit($exercice);
$start = new IDate('start');
if (isset($_GET['start']) && isDate($_GET['start']) == null) {
    echo alert(_('Date malformée, désolé'));
    $_GET['start'] = $first_per->first_day();
}
$start->value = isset($_GET['start']) ? $_GET['start'] : $first_per->first_day();
$r = td(_('Date début'));
$r .= td($start->input());
echo tr($r);
 function input($p_array = null, $p_readonly = 0)
 {
     global $g_parameter, $g_user;
     if ($p_array != null) {
         extract($p_array);
     }
     $flag_tva = $g_parameter->MY_TVA_USE;
     /* Add button */
     $f_add_button = new IButton('add_card');
     $f_add_button->tabindex = -1;
     $f_add_button->label = _('Créer une nouvelle fiche');
     $f_add_button->set_attribute('ipopup', 'ipop_newcard');
     $f_add_button->set_attribute('jrn', $this->id);
     $f_add_button->javascript = "this.jrn=\$('p_jrn').value; select_card_type(this);";
     $f_add_button2 = new IButton('add_card2');
     $f_add_button2->tabindex = -1;
     $f_add_button2->label = _('Créer une nouvelle fiche');
     $f_add_button2->set_attribute('ipopup', 'ipop_newcard');
     $f_add_button2->set_attribute('filter', $this->get_all_fiche_def());
     //    $f_add_button2->set_attribute('jrn',$this->id);
     $f_add_button2->javascript = " this.jrn=\$('p_jrn').value;select_card_type(this);";
     $str_add_button = "";
     $str_add_button2 = "";
     if ($g_user->check_action(FICADD) == 1) {
         $str_add_button = $f_add_button->input();
         $str_add_button2 = $f_add_button2->input();
     }
     // The first day of the periode
     $oPeriode = new Periode($this->db);
     list($l_date_start, $l_date_end) = $oPeriode->get_date_limit($g_user->get_periode());
     if ($g_parameter->MY_DATE_SUGGEST == 'Y') {
         $op_date = !isset($e_date) ? $l_date_start : $e_date;
     } else {
         $op_date = !isset($e_date) ? '' : $e_date;
     }
     $e_ech = isset($e_ech) ? $e_ech : "";
     $e_comm = isset($e_comm) ? $e_comm : "";
     $r = '';
     $r .= dossier::hidden();
     $f_legend = _('Client');
     $Echeance = new IDate();
     $Echeance->setReadOnly(false);
     $Echeance->tabindex = 2;
     $label = HtmlInput::infobulle(4);
     $f_echeance = $Echeance->input('e_ech', $e_ech, _('Echéance') . $label);
     $Date = new IDate();
     $Date->setReadOnly(false);
     $f_date = $Date->input("e_date", $op_date);
     $f_periode = '';
     // Periode
     //--
     if ($this->check_periode() == true) {
         $l_user_per = $g_user->get_periode();
         $def = isset($periode) ? $periode : $l_user_per;
         $period = new IPeriod("period");
         $period->user = $g_user;
         $period->cn = $this->db;
         $period->value = $def;
         $period->type = OPEN;
         try {
             $l_form_per = $period->input();
         } catch (Exception $e) {
             if ($e->getCode() == 1) {
                 throw new Exception(_("Aucune période ouverte"));
             }
         }
         $label = HtmlInput::infobulle(3);
         $f_periode = '<td>' . _("Période comptable") . "</td> <td> {$label} " . $l_form_per . '</td>';
     }
     /* if we suggest the next pj, then we need a javascript */
     $add_js = "";
     if ($g_parameter->MY_PJ_SUGGEST == 'Y') {
         $add_js = "update_pj();";
     }
     if ($g_parameter->MY_DATE_SUGGEST == 'Y') {
         $add_js .= 'get_last_date();';
     }
     $add_js .= 'update_name();';
     $add_js .= 'update_pay_method();';
     $add_js .= 'update_row("sold_item");';
     $wLedger = $this->select_ledger('VEN', 2);
     if ($wLedger == null) {
         throw new Exception(_('Pas de journal disponible'));
     }
     $wLedger->table = 1;
     $wLedger->javascript = "onChange='update_predef(\"ven\",\"f\",\"" . $_REQUEST['ac'] . "\");{$add_js}'";
     $wLedger->label = " Journal " . HtmlInput::infobulle(2);
     $f_jrn = $wLedger->input();
     $Commentaire = new IText();
     $Commentaire->table = 0;
     $Commentaire->setReadOnly(false);
     $Commentaire->size = 60;
     $Commentaire->tabindex = 3;
     $label = HtmlInput::infobulle(1);
     $f_desc = $Commentaire->input("e_comm", h($e_comm));
     // PJ
     //--
     /* suggest PJ ? */
     $default_pj = '';
     if ($g_parameter->MY_PJ_SUGGEST == 'Y') {
         $default_pj = $this->guess_pj();
     }
     $pj = new IText();
     $pj->table = 0;
     $pj->name = "e_pj";
     $pj->size = 10;
     $pj->value = isset($e_pj) ? $e_pj : $default_pj;
     $f_pj = $pj->input() . HtmlInput::hidden('e_pj_suggest', $default_pj);
     // Display the customer
     //--
     $fiche = 'deb';
     // Save old value and set a new one
     //--
     $e_client = isset($e_client) ? $e_client : "";
     $e_client_label = "&nbsp;";
     //str_pad("",100,".");
     // retrieve e_client_label
     //--
     if (strlen(trim($e_client)) != 0) {
         $fClient = new Fiche($this->db);
         $fClient->get_by_qcode($e_client);
         $e_client_label = $fClient->strAttribut(ATTR_DEF_NAME) . ' ' . ' Adresse : ' . $fClient->strAttribut(ATTR_DEF_ADRESS) . ' ' . $fClient->strAttribut(ATTR_DEF_CP) . ' ' . $fClient->strAttribut(ATTR_DEF_CITY) . ' ';
     }
     $W1 = new ICard();
     $W1->label = "Client " . HtmlInput::infobulle(0);
     $W1->name = "e_client";
     $W1->tabindex = 3;
     $W1->value = $e_client;
     $W1->table = 0;
     $W1->set_dblclick("fill_ipopcard(this);");
     $W1->set_attribute('ipopup', 'ipopcard');
     // name of the field to update with the name of the card
     $W1->set_attribute('label', 'e_client_label');
     // name of the field to update with the name of the card
     $W1->set_attribute('typecard', 'deb');
     // Add the callback function to filter the card on the jrn
     $W1->set_callback('filter_card');
     $W1->set_function('fill_data');
     $W1->javascript = sprintf(' onchange="fill_data_onchange(\'%s\');" ', $W1->name);
     $f_client_qcode = $W1->input();
     $client_label = new ISpan();
     $client_label->table = 0;
     $f_client = $client_label->input("e_client_label", $e_client_label);
     $f_client_bt = $W1->search();
     // Record the current number of article
     $Hid = new IHidden();
     $p_article = isset($nb_item) ? $nb_item : $this->get_min_row();
     $r .= $Hid->input("nb_item", $p_article);
     $max = $p_article < $this->get_min_row() ? $this->get_min_row() : $p_article;
     $f_legend_detail = _("Détail articles vendus");
     // For each article
     //--
     for ($i = 0; $i < $max; $i++) {
         // Code id, price & vat code
         //--
         $march = isset(${"e_march{$i}"}) ? ${"e_march{$i}"} : "";
         $march_price = isset(${"e_march" . $i . "_price"}) ? ${"e_march" . $i . "_price"} : "";
         if ($flag_tva == 'Y') {
             $march_tva_id = isset(${"e_march{$i}" . "_tva_id"}) ? ${"e_march{$i}" . "_tva_id"} : "";
             $march_tva_amount = isset(${"e_march{$i}" . "_tva_amount"}) ? ${"e_march{$i}" . "_tva_amount"} : "";
         }
         $march_label = isset(${"e_march" . $i . "_label"}) ? ${"e_march" . $i . "_label"} : "";
         // retrieve the tva label and name
         //--
         if (strlen(trim($march)) != 0 && strlen(trim($march_label)) == 0) {
             $fMarch = new Fiche($this->db);
             $fMarch->get_by_qcode($march);
             $march_label = $fMarch->strAttribut(ATTR_DEF_NAME);
             if ($flag_tva == 'Y') {
                 if (!isset(${"e_march{$i}" . "_tva_id"})) {
                     $march_tva_id = $fMarch->strAttribut(ATTR_DEF_TVA);
                 }
             }
         }
         // Show input
         //--
         $W1 = new ICard();
         $W1->label = "";
         $W1->name = "e_march" . $i;
         $W1->value = $march;
         $W1->table = 1;
         $W1->set_attribute('typecard', 'cred');
         $W1->set_dblclick("fill_ipopcard(this);");
         $W1->set_attribute('ipopup', 'ipopcard');
         // name of the field to update with the name of the card
         $W1->set_attribute('label', 'e_march' . $i . '_label');
         // name of the field with the price
         $W1->set_attribute('price', 'e_march' . $i . '_price');
         // name of the field with the TVA_ID
         $W1->set_attribute('tvaid', 'e_march' . $i . '_tva_id');
         // Add the callback function to filter the card on the jrn
         $W1->set_callback('filter_card');
         $W1->set_function('fill_data');
         $W1->javascript = sprintf(' onchange="fill_data_onchange(\'%s\');" ', $W1->name);
         $W1->readonly = false;
         $array[$i]['quick_code'] = $W1->input();
         $array[$i]['bt'] = $W1->search();
         // For computing we need some hidden field for holding the value
         $array[$i]['hidden'] = '';
         if ($flag_tva == 'Y') {
             $array[$i]['hidden'] .= HtmlInput::hidden('tva_march' . $i, 0);
         }
         $htva = new INum('htva_march' . $i);
         $htva->readOnly = 1;
         $htva->value = 0;
         $array[$i]['htva'] = $htva->input();
         if ($g_parameter->MY_TVA_USE == 'Y') {
             $tvac = new INum('tvac_march' . $i);
         } else {
             $tvac = new IHidden('tvac_march' . $i);
         }
         $tvac->readOnly = 1;
         $tvac->value = 0;
         $array[$i]['tvac'] = $tvac->input();
         if ($g_parameter->MY_UPDLAB == 'Y') {
             $Span = new IText("e_march" . $i . "_label");
             $Span->css_size = "100%";
         } else {
             $Span = new ISpan("e_march" . $i . "_label");
         }
         $Span->value = $march_label;
         $Span->setReadOnly(false);
         // card's name, price
         //--
         $array[$i]['denom'] = $Span->input("e_march" . $i . "_label", $march_label);
         // price
         $Price = new INum();
         $Price->setReadOnly(false);
         $Price->size = 9;
         $Price->javascript = "onBlur='format_number(this);clean_tva({$i});compute_ledger({$i})'";
         $array[$i]['pu'] = $Price->input("e_march" . $i . "_price", $march_price);
         $array[$i]['tva'] = '';
         $array[$i]['amount_tva'] = '';
         // if tva is not needed then no tva field
         if ($flag_tva == 'Y') {
             // vat label
             //--
             $Tva = new ITva_Popup($this->db);
             $Tva->in_table = true;
             $Tva->set_attribute('compute', $i);
             $Tva->js = 'onblur="format_number(this);clean_tva(' . $i . ');compute_ledger(' . $i . ')"';
             $Tva->value = $march_tva_id;
             $array[$i]['tva'] = $Tva->input("e_march{$i}" . "_tva_id");
             // vat amount
             //--
             $wTva_amount = new INum();
             $wTva_amount->readOnly = false;
             $wTva_amount->size = 6;
             $wTva_amount->javascript = "onBlur='format_number(this);compute_ledger({$i})'";
             $array[$i]['amount_tva'] = $wTva_amount->input("e_march" . $i . "_tva_amount", $march_tva_amount);
         }
         // quantity
         //--
         $quant = isset(${"e_quant{$i}"}) ? ${"e_quant{$i}"} : "1";
         $Quantity = new INum();
         $Quantity->setReadOnly(false);
         $Quantity->size = 8;
         $Quantity->javascript = "onChange='format_number(this);clean_tva({$i});compute_ledger({$i})'";
         $array[$i]['quantity'] = $Quantity->input("e_quant" . $i, $quant);
     }
     // foreach article
     $f_type = _('Client');
     ob_start();
     require_once NOALYSS_INCLUDE . '/template/form_ledger_detail.php';
     $r .= ob_get_contents();
     ob_end_clean();
     // Set correctly the REQUEST param for jrn_type
     $r .= HtmlInput::hidden('jrn_type', 'VEN');
     $r .= HtmlInput::button('add_item', _('Ajout article'), ' onClick="ledger_add_row()"');
     $r .= create_script("\$('" . $Date->id . "').focus()");
     return $r;
 }
 function show_ledger()
 {
     global $g_user;
     echo dossier::hidden();
     $hid = new IHidden();
     $hid->name = "p_action";
     $hid->value = "bank";
     echo $hid->input();
     $hid->name = "sa";
     $hid->value = "l";
     echo $hid->input();
     $w = new ISelect();
     // filter on the current year
     $filter_year = " where p_exercice='" . $g_user->get_exercice() . "'";
     $periode_start = $this->db->make_array("select p_id,to_char(p_start,'DD-MM-YYYY') from parm_periode {$filter_year} order by p_start,p_end", 1);
     // User is already set User=new User($this->db);
     $current = isset($_GET['p_periode']) ? $_GET['p_periode'] : -1;
     $w->selected = $current;
     echo '<form>';
     echo 'Période  ' . $w->input("p_periode", $periode_start);
     $wLedger = $this->select_ledger('fin', 3);
     if ($wLedger == null) {
         throw new Exception(_('Pas de journal disponible'));
     }
     if (count($wLedger->value) > 1) {
         $aValue = $wLedger->value;
         $wLedger->value[0] = array('value' => -1, 'label' => _('Tous les journaux financiers'));
         $idx = 1;
         foreach ($aValue as $a) {
             $wLedger->value[$idx] = $a;
             $idx++;
         }
     }
     echo 'Journal ' . $wLedger->input();
     $w = new ICard();
     $w->noadd = 'no';
     $w->jrn = $this->id;
     $qcode = isset($_GET['qcode']) ? $_GET['qcode'] : "";
     echo dossier::hidden();
     echo HtmlInput::hidden('p_action', 'bank');
     echo HtmlInput::hidden('sa', 'l');
     $w->name = 'qcode';
     $w->value = $qcode;
     $w->label = '';
     $this->type = 'FIN';
     $all = $this->get_all_fiche_def();
     $w->extra = $all;
     $w->extra2 = 'QuickCode';
     $sp = new ISpan();
     echo $sp->input("qcode_label", "", $qcode);
     echo $w->input();
     echo HtmlInput::submit('gl_submit', _('Rechercher'));
     echo '</form>';
     // Show list of sell
     // Date - date of payment - Customer - amount
     if ($current != -1) {
         $filter_per = " and jr_tech_per=" . $current;
     } else {
         $filter_per = " and jr_tech_per in (select p_id from parm_periode where p_exercice::integer=" . $g_user->get_exercice() . ")";
     }
     /* security  */
     if ($this->id != -1) {
         $available_ledger = " and jr_def_id= " . $this->id . " and " . $g_user->get_ledger_sql();
     } else {
         $available_ledger = " and " . $g_user->get_ledger_sql();
     }
     // Show list of sell
     // Date - date of payment - Customer - amount
     $sql = SQL_LIST_ALL_INVOICE . $filter_per . " and jr_def_type='FIN'" . " {$available_ledger}";
     $step = $_SESSION['g_pagesize'];
     $page = isset($_GET['offset']) ? $_GET['page'] : 1;
     $offset = isset($_GET['offset']) ? $_GET['offset'] : 0;
     $l = "";
     // check if qcode contains something
     if ($qcode != "") {
         // add a condition to filter on the quick code
         $l = " and jr_grpt_id in (select j_grpt from jrnx where j_qcode=upper('{$qcode}')) ";
     }
     list($max_line, $list) = ListJrn($this->db, "where jrn_def_type='FIN' {$filter_per} {$l} {$available_ledger} ", null, $offset, 0);
     $bar = navigation_bar($offset, $max_line, $step, $page);
     echo "<hr> {$bar}";
     echo $list;
     echo "{$bar} <hr>";
 }
示例#12
0
 function form()
 {
     $r = '';
     $wName = new IText("po_name", $this->name);
     $wAmount = new INum("po_amount", $this->amount);
     $wDescription = new IText("po_description", $this->description);
     $aGroup_analytic = $this->db->make_array("select ga_id,ga_id from groupe_analytique where pa_id=" . $this->pa_id, 1);
     if (count($aGroup_analytic) > 1) {
         $wGa_id = new ISelect("ga_id");
         $wGa_id->value = $aGroup_analytic;
         $wGa_id->selected = $this->ga_id;
         $wGa_id->table = 1;
     } else {
         $wGa_id = new ISpan();
     }
     $pa = new Anc_Plan($this->db, $this->pa_id);
     $pa->get();
     $wPaName = new IText("", $pa->name);
     $wPaName->table = 1;
     $wPaName->readOnly = true;
     $wName->table = 1;
     $wAmount->table = 1;
     $wDescription->table = 1;
     $r .= HtmlInput::hidden("pa_id", $this->pa_id);
     $r .= HtmlInput::hidden("po_id", $this->id);
     $r .= "<table>";
     $r .= "<tr>";
     $r .= td(_('Nom'));
     $r .= $wName->input();
     $r .= "</tr>";
     $r .= "<tr>";
     $r .= td(_('Montant'));
     $r .= $wAmount->input();
     $r .= "</tr>";
     $r .= "<tr>";
     $r .= td(_('Description'));
     $r .= $wDescription->input();
     $r .= "</tr>";
     $r .= "<tr>";
     $r .= td(_('Plan Analytique'));
     $r .= $wPaName->input();
     $r .= "</tr>";
     $r .= "<tr>";
     $r .= td(_('Groupe'));
     $r .= $wGa_id->input();
     $r .= "</tr>";
     $r .= "</table>";
     return $r;
 }