function __construct()
 {
     $this->listClients = new SplDoublyLinkedList();
     //=========================load file===============================//
     $read = new ReadCsv();
     $lisClient = $read->get2DArrayFromCsv('files/clientes.csv', ',');
     foreach ($lisClient as $row => $data) {
         $listProductByClient = new SplDoublyLinkedList();
         $contLines = 0;
         $codeProduct = 0;
         foreach ($data as $rowL => $dataL) {
             if ($rowL > 1 && $dataL != "") {
                 if ($contLines == 0) {
                     $codeProduct = $dataL;
                     $contLines++;
                 } else {
                     $listProdCliente = new ListaProductosPorCliente();
                     $listProdCliente->setIdProducto($codeProduct);
                     $listProdCliente->setProducto($dataL);
                     $listProductByClient->push($listProdCliente);
                     $contLines--;
                 }
             }
         }
         $client1 = new Clientes();
         $client1->setName($data[0]);
         $client1->setId($data[1]);
         $client1->setListPruductByClient($listProductByClient);
         $this->listClients->push($client1);
     }
     //=========================//load file=============================//
     $this->listClients->serialize();
     //$this->loadFile();
 }
 public function get_precio($articulo)
 {
     $clientes = new Clientes();
     $lista = $clientes->get_field('lista', $this->cliente);
     $lista_precios = new ListaDePrecios($lista);
     return $lista_precios->get_precio($articulo);
 }
 public function mostrar_info_operacion()
 {
     $row = parent::get_info();
     $clientes = new Clientes();
     print '<p class="contenido-campo">' . $clientes->get_field(1, $row[2]) . '</p>';
     print '<p class="titulo-campo">Cliente</p>';
     print '<p class="contenido-campo-small">' . Formatter::datetime_format($row[1]) . '</p>';
     print '<p class="titulo-campo">Fecha de pedido</p>';
 }
 function __construct()
 {
     parent::__construct();
     Clientes::checkCliente();
     $this->pagseguro = new PPagSeguro('progs');
     $this->setSize(550, 400);
     $this->setTitle('Lista de Produtos');
     $this->grid = new TQuickGrid();
     $this->grid->addQuickColumn('id', 'id', 'right', 100);
     $this->grid->addQuickColumn('nome', 'nome', 'right', 200);
     $this->grid->addQuickColumn('qtd', 'qtd', 'right', 100);
     $this->grid->addQuickColumn('preco', 'preco', 'right', 100);
     $action = new TDataGridAction(array('Carrinho', 'updateItem'));
     $this->grid->addQuickAction('UpdateItem', $action, 'id', 'ico_edit.png');
     $form = new TQuickForm('frm_finalizar');
     $action2 = new TAction(array($this, 'finalizar'));
     $form->addQuickAction('finalizar', $action2);
     $this->grid->createModel();
     $produtos = PCart::getItens();
     if ($produtos) {
         foreach ($produtos as $p) {
             $item = new stdClass();
             $item->id = $p->getId();
             $item->nome = $p->getNome();
             $item->qtd = $p->getQtd();
             $item->preco = $p->getPreco();
             $this->grid->addItem($item);
         }
         $box = new TVBox();
         $box->add($this->grid);
         $box->add($form);
         parent::add($box);
     }
 }
 public static function logar($email, $senha)
 {
     try {
         TTransaction::open('sample');
         $criteria = new TCriteria();
         $filter = new TFilter('email', '=', $email);
         $filter2 = new TFilter('senha', '=', $senha);
         $criteria->add($filter);
         $criteria->add($filter2);
         $user = Clientes::getObjects($criteria);
         if ($user) {
             TSession::setValue('cliente_logado', true);
             // cria a sessão para mostrar que o usuario esta no sistema
             TSession::setValue('cliente', $user);
             // guarda os dados do cliente
             foreach ($user as $c) {
                 TSession::setValue('id', $c->id);
                 // guarda os dados do cliente
             }
             TCoreApplication::executeMethod('Home');
         } else {
             new TMessage('error', 'Usuario ou Senha invalidos');
         }
         TTransaction::close();
     } catch (Exception $e) {
         echo $e->getMessage();
     }
 }
 /**
  * Genera una listado por pantalla en base al filtro.
  * Puede recibir un filtro adicional
  *
  * @param string $aditionalFilter
  * @return array con el template y valores a renderizar
  */
 public function listAction($aditionalFilter = '')
 {
     $clientes = new Clientes();
     $recibos = new RecibosClientes();
     $idComercial = $this->request['filter']['valuesSelected']['5'];
     if ($this->values['permisos']['permisosModulo']['CO']) {
         if ($idComercial) {
             $this->listado->makeQuery($aditionalFilter);
             $this->listado->arrayQuery['FROM'] = str_replace(", {$clientes->getDataBaseName()}.{$clientes->getTableName()}", "", $this->listado->arrayQuery['FROM']);
             $this->listado->arrayQuery['FROM'] .= ", {$clientes->getDataBaseName()}.{$clientes->getTableName()}";
             $this->listado->arrayQuery['WHERE'] .= " AND {$recibos->getDataBaseName()}.{$recibos->getTableName()}.IDCliente={$clientes->getDataBaseName()}.{$clientes->getTableName()}.IDCliente ";
             $this->listado->arrayQuery['WHERE'] .= "AND {$clientes->getDataBaseName()}.{$clientes->getTableName()}.IDComercial='{$idComercial}'";
             $this->listado->buildQuery();
         }
         $this->values['listado'] = $this->listado->getAll($aditionalFilter);
         $this->values['filtroRemesa'] = $this->values['listado']['filter']['valuesSelected'][11];
         // Obtener total recibos y total a remesar
         $em = new EntityManager($recibos->getConectionName());
         if ($em->getDbLink()) {
             $query = "select sum(Importe) as Importe from {$this->listado->arrayQuery['FROM']} where {$this->listado->arrayQuery['WHERE']}";
             $em->query($query);
             $total = $em->fetchResult();
             $query1 = "select sum(Importe) as Importe from {$this->listado->arrayQuery['FROM']} where {$this->listado->arrayQuery['WHERE']} and Remesar='1'";
             $em->query($query1);
             $remesa = $em->fetchResult();
             $em->desConecta();
         }
         unset($em);
         $this->values['listado']['importeRecibos'] = $total[0]['Importe'];
         $this->values['listado']['importeRemesa'] = $remesa[0]['Importe'];
         $template = $this->entity . '/list.html.twig';
     } else {
         $template = "_global/forbiden.html.twig";
     }
     unset($clientes);
     unset($recibos);
     return array('template' => $template, 'values' => $this->values);
 }
 public function indexAction()
 {
     $this->assets->addCss('/jqwidgets/styles/jqx.base.css')->addCss('/jqwidgets/styles/jqx.custom.css')->addCss('/assets/css/plugins.css');
     $this->assets->addJs('/jqwidgets/jqxcore.js')->addJs('/jqwidgets/jqxmenu.js')->addJs('/jqwidgets/jqxdropdownlist.js')->addJs('/jqwidgets/jqxlistbox.js')->addJs('/jqwidgets/jqxcheckbox.js')->addJs('/jqwidgets/jqxscrollbar.js')->addJs('/jqwidgets/jqxgrid.js')->addJs('/jqwidgets/jqxdata.js')->addJs('/jqwidgets/jqxgrid.sort.js')->addJs('/jqwidgets/jqxgrid.pager.js')->addJs('/jqwidgets/jqxgrid.filter.js')->addJs('/jqwidgets/jqxgrid.selection.js')->addJs('/jqwidgets/jqxgrid.grouping.js')->addJs('/jqwidgets/jqxgrid.columnsreorder.js')->addJs('/jqwidgets/jqxgrid.columnsresize.js')->addJs('/jqwidgets/jqxdatetimeinput.js')->addJs('/jqwidgets/jqxcalendar.js')->addJs('/jqwidgets/jqxbuttons.js')->addJs('/jqwidgets/jqxdata.export.js')->addJs('/jqwidgets/jqxgrid.export.js')->addJs('/jqwidgets/globalization/globalize.js')->addJs('/jqwidgets/jqxgrid.aggregates.js')->addJs('/media/plugins/bootbox/bootbox.min.js')->addJs('/jqwidgets/jqxtooltip.js')->addJs('/assets/js/app.js')->addJs('/assets/js/plugins.js')->addJs('/scripts/solicitudes/index.js');
     $model = new Usuarios();
     $resul = $model->responsablecomercial();
     $responsable = $this->tag->select(array('responsable_id', $resul, 'using' => array('id', 'nombres'), 'useEmpty' => true, 'emptyText' => '(Selecionar)', 'emptyValue' => '', 'class' => 'form-control', 'required' => 'required'));
     $this->view->setVar('responsable', $responsable);
     $resul = Clientes::find(array('baja_logica=1', 'order' => 'razon_social ASC'));
     $clientes = $this->tag->select(array('cliente_id', $resul, 'using' => array('id', 'razon_social'), 'useEmpty' => true, 'emptyText' => '(Selecionar)', 'emptyValue' => '', 'class' => 'form-control select-chosen', 'required' => 'required'));
     $this->view->setVar('clientes', $clientes);
     $resul = Parametros::find(array('parametro="solicitudes_estados" AND baja_logica=1 AND nivel>1', 'order' => 'nivel ASC'));
     $estado = $this->tag->select(array('estado', $resul, 'using' => array('nivel', 'valor_1'), 'useEmpty' => true, 'emptyText' => '(Selecionar)', 'emptyValue' => '', 'class' => 'form-control', 'required' => 'required'));
     $this->view->setVar('estado', $estado);
 }
 public function indexAction($opcion = '')
 {
     $this->assets->addCss('/jqwidgets/styles/jqx.base.css')->addCss('/jqwidgets/styles/jqx.custom.css')->addCss('/assets/css/plugins.css');
     $this->assets->addJs('/jqwidgets/jqxcore.js')->addJs('/jqwidgets/jqxmenu.js')->addJs('/jqwidgets/jqxdropdownlist.js')->addJs('/jqwidgets/jqxlistbox.js')->addJs('/jqwidgets/jqxcheckbox.js')->addJs('/jqwidgets/jqxscrollbar.js')->addJs('/jqwidgets/jqxgrid.js')->addJs('/jqwidgets/jqxdata.js')->addJs('/jqwidgets/jqxgrid.sort.js')->addJs('/jqwidgets/jqxgrid.pager.js')->addJs('/jqwidgets/jqxgrid.filter.js')->addJs('/jqwidgets/jqxgrid.selection.js')->addJs('/jqwidgets/jqxgrid.grouping.js')->addJs('/jqwidgets/jqxgrid.columnsreorder.js')->addJs('/jqwidgets/jqxgrid.columnsresize.js')->addJs('/jqwidgets/jqxdatetimeinput.js')->addJs('/jqwidgets/jqxcalendar.js')->addJs('/jqwidgets/jqxbuttons.js')->addJs('/jqwidgets/jqxdata.export.js')->addJs('/jqwidgets/jqxgrid.export.js')->addJs('/jqwidgets/globalization/globalize.js')->addJs('/jqwidgets/jqxgrid.aggregates.js')->addJs('/media/plugins/bootbox/bootbox.min.js')->addJs('/jqwidgets/jqxtooltip.js')->addJs('/assets/js/plugins.js')->addJs('/assets/js/app.js')->addJs('/js/app.plugin.js')->addJs('/scripts/contratos/index.js');
     $this->view->setVar('opcion', $opcion);
     $empresa = Empresas::findFirst(array('baja_logica=1'));
     $this->view->setVar('empresa', $empresa);
     //$model = usuarios::find(array('habilitado=1 and nivel=3',"order"=>"paterno ASC"));
     $model = new Usuarios();
     $resul = $model->responsablecomercial();
     $responsable = $this->tag->select(array('responsable_id', $resul, 'using' => array('id', 'nombres'), 'useEmpty' => true, 'emptyText' => '(Selecionar)', 'emptyValue' => '', 'class' => 'form-control', 'required' => 'required'));
     $this->view->setVar('responsable', $responsable);
     $resul = Clientes::find(array('baja_logica=1', 'order' => 'razon_social ASC'));
     $clientes = $this->tag->select(array('cliente_id', $resul, 'using' => array('id', 'razon_social'), 'useEmpty' => true, 'emptyText' => '(Selecionar)', 'emptyValue' => '', 'class' => 'form-control select-chosen', 'required' => 'required'));
     $this->view->setVar('clientes', $clientes);
 }
 public function Clientes()
 {
     $nItems = 0;
     $nErrores = 0;
     $dbLink = mysql_connect("localhost", "root", "albatronic");
     $query = "TRUNCATE {$this->dbDestino}.ErpClientes";
     mysql_query($query);
     $query = "TRUNCATE {$this->dbDestino}.ErpClientesDentrega";
     mysql_query($query);
     $query = "select * from {$this->dbOrigen}.clientes";
     $result = mysql_query($query, $dbLink);
     $poblaciones = new Municipios();
     while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
         $row = $this->utf($row);
         //if ($row['NombreComercial'] == '')
         //    $row['NombreComercial'] = $row['RazonSocial'];
         $poblacion = $poblaciones->cargaCondicion("IDMunicipio,IDProvincia", "Municipio='{$row['Poblacion']}'");
         $c = new Clientes();
         $c->setIDCliente($row['IDCliente']);
         $c->setRazonSocial(utf8_decode($row['RazonSocial']));
         $c->setNombreComercial(utf8_decode($row['NombreComercial']));
         $c->setCif($row['Cif']);
         $c->setDireccion(utf8_decode($row['Direccion']));
         $c->setIDPais(68);
         if ($poblacion[0]['IDMunicipio']) {
             $c->setIDProvincia($poblacion[0]['IDProvincia']);
             $c->setIDPoblacion($poblacion[0]['IDMunicipio']);
         } else {
             $c->setIDProvincia($row['IDProvincia']);
             $row['Avisos'] = $row['Poblacion'];
         }
         $c->setCodigoPostal($row['CodigoPostal']);
         $c->setTelefono($row['Telefono']);
         $c->setFax($row['Fax']);
         $c->setMovil($row['Movil']);
         $c->setEMail($row['EMail']);
         $c->setWeb($row['Web']);
         $c->setCContable($row['CContable']);
         $c->setBanco($row['IDBanco']);
         $c->setOficina($row['IDOficina']);
         $c->setDigito($row['Digito']);
         $c->setCuenta($row['Cuenta']);
         $c->setIban(Utils::iban($row['IDBanco'] . $row['IDOficina'] . $row['Digito'] . $row['Cuenta']));
         $c->setMandato($row['IDCliente']);
         $c->setFechaMandato('2013-01-01');
         $c->setIDTipo($row['IDTipo']);
         $c->setIDGrupo($row['IDGrupo']);
         $c->setIDFP($row['IDFP']);
         $c->setDiaDePago($row['DiaDePago']);
         $c->setRecargoEqu($row['RecargoEqu']);
         $c->setIDTarifa(1);
         $c->setIDZona(1);
         $c->setObservaciones($row['Observaciones']);
         $c->setAvisos($row['Avisos']);
         $c->setVigente($row['Vigente']);
         $c->setIDComercial($this->agentes[$row['IDAgente']]);
         $c->setLimiteRiesgo($row['LimiteRiesgo']);
         $c->setFechaNacimiento($row['FechaNacimiento']);
         $c->setPrimaryKeyMD5(md5($row['IDCliente']));
         $c->setIDZona(1);
         if (!$c->create()) {
             $errores[] = $c->getErrores();
             $nErrores++;
         } else {
             $nItems++;
         }
     }
     //mysql_close($dbLink);
     echo "Clientes {$nItems}<br/>";
     if (count($errores)) {
         echo "<pre>";
         print_r($errores);
         echo "</pre>";
     }
 }
Exemple #10
0
<?php

$Error = new Error();
if (isset($_SESSION[SESSION_NAME])) {
    $Clientes = new Clientes();
    $arrValue = $Clientes->getAllClientes();
    ?>
 <div id="main">
    <header>
        <div id="logo">
            <div id="logo_text">
                <h1><a href="?">Lar da<span class="logo_colour"> Vovó</span></a></h1>
                <h2>Asilo Nossa Senhora da Piedade.</h2>
            </div>
        </div>
        <nav>
            <ul class="sf-menu" id="nav">
                <li><a href="?page=Home">Início</a></li>
                <li><a href="javascript: void(Group4);">Cadastros</a>
                    <ul>
                        <li><a href="?page=Usuarios">Usuários</a></li>
                        <li><a href="?page=Idosos">Idosos</a></li>
                        <li><a href="?page=Produtos">Produtos</a></li>
                        <li><a href="?page=Dietas">Dietas</a></li>
                    </ul>
                </li>
                <li><a href="javascript: void(Group4);">Estoque</a>
                    <ul>
                        <li><a href="?page=EntradaAtivos">Entrada de Ativos</a></li>
                        <li><a href="?page=SaidaAtivos">Saída de Ativos</a></li>
                    </ul>
Exemple #11
0
 public function RelacaoMedicamento($arrValues, $type)
 {
     $pdf = new FPDF("P", "pt", "A4");
     $pdf->AddPage();
     $pdf->SetFont('arial', 'B', 13);
     $pdf->Cell(0, 5, utf8_decode("Relacionamento de medicamento x idosos"), 0, 1, 'C');
     $pdf->Cell(0, 5, "", "B", 1, 'C');
     $pdf->Ln(10);
     $pdf->SetFont('arial', 'B', 11);
     $Product = new Produto();
     $row = $Product->getProdutoById($arrValues['medicamento']);
     $pdf->Cell(300, 20, "Medicamento - " . $row['NMPRODUTO'], 1, 0, "L");
     $pdf->Cell(100, 20, utf8_decode('Sim/Não'), 1, 0, "L");
     $pdf->SetFont('arial', '', 10);
     $pdf->Ln();
     $Cliente = new Clientes();
     foreach ($arrValues['relacoes'] as $value) {
         $row = $Cliente->getIdodosById($value);
         $pdf->Cell(300, 20, utf8_decode($row['NMCLIENTE']), 1, 0, "L");
         $pdf->Cell(100, 20, 'Sim', 1, 0, "L");
         $pdf->Ln();
     }
     $pdf->Output(self::getNameRel(), $type);
 }
Exemple #12
0
 /**
  * Devuelve un array con las reservas del articulo y almacen indicado
  *
  * Cada elemento del array es otro array con los elementos:
  * array (
  *   'IDAlbaran' =>
  *   'PrimaryKeyMD5' =>
  *   'NumeroAlbaran' =>
  *   'Fecha' =>
  *   'IDCliente' =>
  *   'RazonSocial =>
  *   'Reservas' =>
  * )
  *
  * @param integer $idAlmacen El id de almacen
  * @return array Array con las reservas
  */
 public function getReservas($idAlmacen)
 {
     $reservas = array();
     $tablaAlbaranes = new AlbaranesCab();
     $tablaAlbaranesLineas = new AlbaranesLineas();
     $tablaClientes = new Clientes();
     $em = new EntityManager($this->getConectionName());
     if ($em->getDbLink()) {
         //$query = "Call ReservasArticuloAlmacen('{$this->IDArticulo}','{$idAlmacen}');";
         $query = "select\n                        cab.IDAlbaran,\n                        cab.PrimaryKeyMD5,\n                        cab.NumeroAlbaran,                       \n                        cab.Fecha,\n                        cab.IDCliente,\n                        cli.RazonSocial,\n                        sum(lin.Unidades) as Reservas\n                      from\n                        {$tablaAlbaranes->getDataBaseName()}.{$tablaAlbaranes->getTableName()} as cab,\n                        {$tablaAlbaranesLineas->getDataBaseName()}.{$tablaAlbaranesLineas->getTableName()} as lin,\n                        {$tablaClientes->getDataBaseName()}.{$tablaClientes->getTableName()} as cli\n                      where\n                        cab.IDAlbaran  = lin.IDAlbaran and\n                        cab.IDCliente  = cli.IDCliente and\n                        lin.IDEstado   = '1' and\n                        lin.IDArticulo = '{$this->IDArticulo}' and\n                        lin.IDAlmacen  = '{$idAlmacen}'\n                      group by IDAlbaran\n                      order by Fecha ASC";
         $em->query($query);
         //echo $query,"<br/>";
         $reservas = $em->fetchResult();
         $em->desConecta();
     }
     unset($em);
     unset($tablaAlbaranes);
     unset($tablaAlbaranesLineas);
     unset($tablaClientes);
     return $reservas;
 }
Exemple #13
0
<?php

require_once '../clases/clsClientes.php';
if (isset($_POST['dni'])) {
    if (!empty($_POST['dni'])) {
        $objCli = new Clientes();
        $item = $objCli->getClienteporId($_POST['dni']);
    }
}
?>

    <div class='modal-dialog'>
        <form method='POST' name="formClie">
            <div class='modal-content'>
                <div class='modal-header'>
                    <button type='button' class='close' data-dismiss='modal' aria-hidden='true'>&times;</button>
                    <h4 class='modal-title' id='myModalLabel'>CLIENTES</h4>
                </div>
                <div class='modal-body'>
                    <div class="row">
                        <div class="col-xs-12 col-md-12">
                            <label for="" class="hidden-xs">Tipo Persona</label>
                            <select class='form-control' name="tipo" required>
                                <?php 
$array = array('Natural', 'Jurídica');
?>
                                <option value="">Seleccione</option>
                                <?php 
foreach ($array as $key => $value) {
    ?>
                                <option value="<?php 
Exemple #14
0
<?php

include "../class/Clientes.php";
$cliente = new Clientes();
$bd = new DB();
$id_cliente = trim(strip_tags($_POST['id_cliente']));
$sql = "SELECT * FROM clientes WHERE id_cliente = " . $id_cliente;
if ($bd->query($sql) and $bd->resultCount() > 0) {
    $row = $bd->fetchObj();
    $tipo = $cliente->cargaTipos($row->id_tipo_cliente);
    $regiones = $cliente->cargaRegiones($row->id_region);
    $comunas = $cliente->cargaComunas($row->id_region, $row->id_comuna);
    $sel_estado = "selected='selected'";
    if ($row->activo == 1) {
        $opt_estado = "<option value='1' selected='selected'>Activo</option><option value='0'>Inactivo</option>";
    } else {
        $opt_estado = "<option value='1'>Activo</option><option value='0' selected='selected'>Inactivo</option>";
    }
    $a_json = array('id_cliente' => htmlentities(stripslashes($row->id_cliente)), 'region' => $regiones, 'comuna' => $comunas, 'tipo_cliente' => $tipo, 'rut' => htmlentities(stripslashes(str_replace("-", "", $row->rut))), 'cod_cliente' => htmlentities(stripslashes($row->cod_cliente_ex)), 'nombre' => htmlentities(stripslashes($row->nombre)), 'direccion' => htmlentities(stripslashes($row->direccion)), 'correo' => htmlentities(stripslashes($row->correo)), 'contacto' => htmlentities(stripslashes($row->contacto)), 'telefono' => htmlentities(stripslashes($row->telefono)), 'celular' => htmlentities(stripslashes($row->celular)), 'estado' => $opt_estado, 'resultado' => htmlentities(stripslashes('OK')));
    $json = json_encode($a_json);
    echo $json;
} else {
    $a_json = array('error' => htmlentities(stripslashes("No existen resultados")), 'resultado' => htmlentities(stripslashes('ERROR')));
    $json = json_encode($a_json);
    echo $json;
}
<?php

include_once '../table_handler.php';
include_once '../conexion.php';
include_once 'clientes.php';
include_once '../configuracion/provincias.php';
include_once '../configuracion/localidades.php';
include_once '../articulos/listas_precios.php';
Conexion::conectar();
$clientes = new Clientes();
$provincias = new Provincias();
$localidades = new Localidades(0);
$listas = new ListasPrecios();
$registro = $clientes->get_row($_REQUEST['codigo']);
?>
<div class="grupo-campos grupo-campos-chico">
    <img class="imagen imagen-chica" src="<?php 
empty($registro[18]) ? print 'images/sin-imagen.png' : (print $registro[18]);
?>
" />
</div>
<div class="grupo-campos grupo-campos-mediano">
    <p class="contenido-campo"><?php 
print $registro[0];
?>
</p>
    <p class="titulo-campo">Código</p>
    
    <p class="contenido-campo"><?php 
print $registro[1];
?>
Exemple #16
0
<?php

require 'TiposClientes.php';
require 'Clientes.php';
$loTiposClientes = new TiposClientes();
$loClientes = new Clientes();
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $loClientes->setCliente($_POST);
}
?>

<!DOCTYPE html>
<html lang="pt-br">
<head>
    <meta charset="UTF-8">
    <title>Trabalho</title>
</head>
<body>
<h1>Trabalho Joabe</h1>
<form action="" method="POST">
    <fieldset>
        <label>Nome:</label>
        <input type="text" value="" id="nome" name="nome" />
        <br/><br/>
        <label>CPF:</label>
        <input type="text" value="" id="cpf" name="cpf" />
        <br/><br/>
        <?php 
$laTiposClientes = $loTiposClientes->getTiposClientes();
?>
        <label>Tipo Cliente:</label>
 public function logar()
 {
     $data = $this->form->getData();
     Clientes::logar($data->user, $data->senha);
 }
Exemple #18
0
 /**
  * Recupera um objeto estaticamente
  * @author Hugo Ferreira da Silva
  * @return Clientes
  */
 public static function staticGet($pk, $pkValue = null)
 {
     $obj = new Clientes();
     $obj->get($pk, $pkValue);
     return $obj;
 }
 /**
  * Proceso de facturacion.
  * Puede ser facturación separada: Una factura por cada albarán
  * o facturación agrupada: Una factura con todos los albaranes, con las siguientes salvedades:
  *
  * Se agrupan las facturas en base a la forma de pago, comercial y al flag "Facturación agrupada"
  * de la ficha del cliente.
  *
  * @return <type>
  */
 public function facturarAction()
 {
     $facturados = array();
     $filtro = $this->request['filtro'];
     $fecha = new Fecha($filtro['desdeFecha']);
     $desdeFecha = $fecha->getaaaammdd();
     $fecha = new Fecha($filtro['hastaFecha']);
     $hastaFecha = $fecha->getaaaammdd();
     unset($fecha);
     switch ($this->request['tipo']) {
         case '0':
             // Facturación individual. Se genera una factura por cada albarán
             $filter = "IDFactura='0' and IDEstado='2' and IDCliente='{$filtro['idCliente']}' and FechaEntrega>='{$desdeFecha}' and FechaEntrega<'{$hastaFecha}' and FlagFacturar='1'";
             $albaran = new AlbaranesCab();
             $rows = $albaran->cargaCondicion("IDAlbaran", $filter, "FechaEntrega ASC");
             foreach ($rows as $row) {
                 $albaran = new AlbaranesCab($row['IDAlbaran']);
                 $idFactura = $albaran->facturar(new Contadores($this->request['idContador']), $this->request['fecha']);
                 if (count($albaran->getErrores()) != 0) {
                     $this->values['errores'] = $albaran->getErrores();
                     break;
                 } else {
                     $facturados[] = $idFactura;
                 }
             }
             unset($albaran);
             break;
         case '1':
             // Agrupada. Se agrupan los albaranes por forma de pago, comercial
             $filter = "c.IDFactura='0' and c.IDEstado='2' and c.IDCliente='{$filtro['idCliente']}' and c.FechaEntrega>='{$desdeFecha}' and c.FechaEntrega<'{$hastaFecha}' and c.FlagFacturar='1'";
             //COMPRUEBO QUE NO HAYA MAS DE TRES TIPOS DE IVA ENTRE TODOS LOS ALBARANES A FACTURAR
             $albaran = new AlbaranesCab();
             $albaranTabla = $albaran->getDataBaseName() . "." . $albaran->getTableName();
             $lineas = new AlbaranesLineas();
             $lineasTabla = $lineas->getDataBaseName() . "." . $lineas->getTableName();
             $em = new EntityManager($albaran->getConectionName());
             if (!$em->getDbLink()) {
                 $this->values['errores'] = $em->getError();
                 return $this->listAction();
             }
             $query = "select l.Iva from {$lineasTabla} as l, {$albaranTabla} as c\n                        where {$filter} and c.IDAlbaran=l.IDAlbaran\n                        group by l.Iva";
             $em->query($query);
             $rows = $em->fetchResult();
             $em->desConecta();
             if (count($rows) > 3) {
                 $this->values['alertas'] = "Hay más de tres tipos de iva distintos. No se puede agrupar";
                 return $this->listAction();
             }
             $contador = new Contadores($this->request['idContador']);
             // Buscar la cuenta contable de ventas para la sucursal
             $sucursal = new Sucursales($filtro['idSucursal']);
             $ctaVentas = $sucursal->getCtaContableVentas();
             unset($sucursal);
             $cliente = new Clientes($filtro['idCliente']);
             $agruparDireccionEntrega = $cliente->getFacturacionAgrupada()->getIDTipo() == '1';
             unset($cliente);
             $query = $agruparDireccionEntrega ? "select c.IDFP,c.IDComercial, sum(c.Importe) as Importe, sum(Descuento) as Descuento from {$albaranTabla} c where {$filter} GROUP BY c.IDFP, c.IDComercial;" : "select c.IDFP,c.IDComercial, c.IDDirec, sum(c.Importe) as Importe, sum(Descuento) as Descuento from {$albaranTabla} c where {$filter} GROUP BY c.IDFP, c.IDComercial, c.IDDirec;";
             unset($cliente);
             //AGRUPO LOS ALBARANES POR FORMA DE PAGO, COMERCIAL Y (si procede) DIRECCION DE ENTREGA.
             $em = new EntityManager($albaran->getConectionName());
             $em->query($query);
             $rows = $em->fetchResult();
             $em->desConecta();
             foreach ($rows as $row) {
                 $numeroFactura = $contador->asignaContador();
                 $factura = new FemitidasCab();
                 $factura->setIDSucursal($filtro['idSucursal']);
                 $factura->setIDContador($this->request['idContador']);
                 $factura->setNumeroFactura($numeroFactura);
                 $factura->setIDAgente($_SESSION['usuarioPortal']['Id']);
                 $factura->setIDComercial($row['IDComercial']);
                 $factura->setFecha($this->request['fecha']);
                 $factura->setIDCliente($filtro['idCliente']);
                 $factura->setCuentaVentas($ctaVentas);
                 $factura->setDescuento($row['Descuento']);
                 $factura->setImporte($row['Importe']);
                 $factura->setIDFP($row['IDFP']);
                 $idFactura = $factura->create();
                 // Guardo en un array los id's de facturas generadas
                 $facturados[] = $idFactura;
                 if ($idFactura != 0) {
                     // Crear las lineas de factura
                     // No incluyo las lineas de albaran cuyas unidades sean 0
                     $em = new EntityManager($albaran->getConectionName());
                     $query = $agruparDireccionEntrega ? "select l.* from {$lineasTabla} l, {$albaranTabla} c where (c.IDAlbaran=l.IDAlbaran) and (c.IDFP='{$row['IDFP']}') and (l.Unidades<>0) and {$filter}" : "select l.* from {$lineasTabla} l, {$albaranTabla} c where (c.IDAlbaran=l.IDAlbaran) and (c.IDFP='{$row['IDFP']}') and (c.IDDirec='{$row['IDDirec']}') and (l.Unidades<>0) and {$filter}";
                     $em->query($query);
                     $lineas = $em->fetchResult();
                     $em->desConecta();
                     foreach ($lineas as $linea) {
                         $linFactura = new FemitidasLineas();
                         $linFactura->setIDFactura($idFactura);
                         $linFactura->setIDArticulo($linea['IDArticulo']);
                         $linFactura->setDescripcion($linea['Descripcion']);
                         $linFactura->setUnidades($linea['Unidades']);
                         $linFactura->setPrecio($linea['Precio']);
                         $linFactura->setDescuento($linea['Descuento']);
                         $linFactura->setImporte($linea['Importe']);
                         $linFactura->setImporteCosto($linea['ImporteCosto']);
                         $linFactura->setIDAlbaran($linea['IDAlbaran']);
                         $linFactura->setIDLineaAlbaran($linea['IDLinea']);
                         $linFactura->setIva($linea['Iva']);
                         $linFactura->setRecargo($linea['Recargo']);
                         $linFactura->setIDVenta($linea['IDVenta']);
                         $linFactura->setComisionAgente($linea['ComisionAgente']);
                         $linFactura->setComisionMontador($linea['ComisionMontador']);
                         $linFactura->setComisionar($linea['Comisionar']);
                         $linFactura->setIDAgente($_SESSION['usuarioPortal']['Id']);
                         $linFactura->setIDComercial($linea['IDComercial']);
                         $linFactura->setIDPromocion($linea['IDPromocion']);
                         $linFactura->setAltoAl($linea['AltoAl']);
                         $linFactura->setAnchoAl($linea['AnchoAl']);
                         $linFactura->setMtsAl($linea['MtsAl']);
                         $linFactura->setAltoFa($linea['AltoFa']);
                         $linFactura->setAnchoFa($linea['AnchoFa']);
                         $linFactura->setMtsFa($linea['MtsFa']);
                         if ($linFactura->create()) {
                             // Pongo el estado de la linea de albaran a "Facturado"
                             $lineaAlbaran = new AlbaranesLineas($linea['IDLinea']);
                             $lineaAlbaran->setIDEstado(3);
                             $lineaAlbaran->save();
                         } else {
                             print_r($linFactura->getErrores());
                         }
                         unset($linFactura);
                     }
                     // Totalizar la factura
                     $factura->recalcula();
                     // Crear vencimientos
                     $factura->creaVctos();
                     // Anotar en caja sin procede
                     $factura->anotaEnCaja();
                     // Actualiza las cabecera del grupo de albaranes
                     $em = new EntityManager($albaran->getConectionName());
                     $query = $agruparDireccionEntrega ? "update {$albaranTabla} c set c.IDFactura='{$idFactura}', c.IDEstado='3' where (c.IDFP='{$row['IDFP']}') and ({$filter})" : "update {$albaranTabla} c set c.IDFactura='{$idFactura}', c.IDEstado='3' where (c.IDFP='{$row['IDFP']}') and (c.IDDirec='{$row['IDDirec']}') and ({$filter})";
                     $em->query($query);
                     $em->desConecta();
                     unset($factura);
                 } else {
                     $this->values['errores'] = $factura->getErrores();
                 }
             }
             break;
     }
     if ($this->request['imprimir'] == 'on' and count($facturados) > 0) {
         $this->values['archivo'] = $this->generaPdf('FemitidasCab', $facturados);
     }
     if (count($facturados) > 0) {
         $this->values['alertas'][] = "Se han generado las siguientes facturas:";
         foreach ($facturados as $item) {
             $this->values['alertas'][] = $item;
         }
     }
     return $this->listAction();
 }
Exemple #20
0
<?php

include 'Factura.php';
include 'Cliente.php';
include 'Producto.php';
ini_set('error_reporting', E_ALL);
# con esto me muestra los errores en el nav
$Producto = new Productos("", null);
$cliente2 = new Clientes("", "", "");
$Factura = new Facturas("", "", "", "", "", "");
$cliente2->registrarCliente(33000000, " Akiles Bailo", 3722426263);
$Producto->registrarProducto("Cafe", "La Virginia");
$Factura->registrarFactura('2001-04-12', "Factura tipo A", False, 67, 2, 25);
include_once 'include/tabla.php';
include_once 'include/fondos/fondos.php';
include_once 'include/ventas/ventas.php';
include_once 'include/clientes/clientes.php';
include_once 'include/url_util.php';
include_once 'include/formatter.php';
$ventas = new Ventas();
$venta = $ventas->get_row($_REQUEST['codigo']);
$url = new UrlUtil();
$formulario = new Formulario();
$formulario->set_action_uri($url->get_uri() . '&action=grabar_pago');
$campo_codigo = new Campo('codigo', Formatter::code_format($venta[0]), 'Código de la operación', 'text');
$campo_codigo->set_disabled();
$campo_fecha = new Campo('fecha', Formatter::datetime_format($venta[2]), 'Fecha de emisión:', 'text');
$campo_fecha->set_disabled();
$clientes = new Clientes();
$campo_cliente = new CampoOculto('cliente', $venta[3]);
$campo_razon_cliente = new Campo('cliente', $clientes->get_field(1, $venta[3]), 'Cliente:', 'text');
$campo_razon_cliente->set_disabled();
$campo_monto_factura = new Campo('monto_fac', $venta[6], 'Monto de la factura:', 'text');
$campo_monto_factura->set_disabled();
$campo_saldo_factura = new Campo('saldo_fac', $venta[7], 'Saldo de la factura:', 'text');
$campo_saldo_factura->set_disabled();
$monto = '0';
if (isset($monto_cuota)) {
    $monto = $monto_cuota;
}
$campo_monto = new CampoDecimal('monto', $monto, 'Monto a pagar:');
$fondos = new Fondos();
$campo_fondo = new CampoCombo('fondo', 'A acreditar en el fondo:');
$campo_fondo->add_option('Seleccione una opción...');
Exemple #22
0
function clientesFacturacion($filtro, $nameSelect = '', $idSelect = '')
{
    if ($nameSelect == '') {
        $nameSelect = $_GET['nameselect'];
    }
    if ($idSelect == '') {
        $idSelect = $_GET['idselect'];
    }
    // En el filtro viene separado por @ el id de la sucursal y el rango de fechas
    $valores = explode("@", $filtro);
    $idSucursal = $valores[0];
    $desdeFecha = $valores[1];
    $hastaFecha = $valores[2];
    $cliente = new Clientes();
    $rows = $cliente->fetchConPendienteDeFacturar($idSucursal, $desdeFecha, $hastaFecha);
    unset($cliente);
    if (count($rows) == 0) {
        $ch = "<div style='margin-top: 20px; font-weight: bold;'>No hay ningún cliente con albaranes pendientes en ese período</div>";
    } else {
        $ch .= "<div>Clientes con pendiente de facturar:</div>";
        $ch .= "<div><select name='" . $nameSelect . "' id='" . $idSelect . "' class='Select' style='width:310px;' onchange='submit();'>";
        foreach ($rows as $row) {
            $ch .= "<option value='" . $row['Id'] . "'>" . $row['Value'] . " (" . $row['Total'] . ")</option>";
        }
        $ch .= "</select>";
        $ch .= "<input type='submit' value='Ver Albaranes' class='Comando'/></div>";
    }
    return $ch;
}
<?php

/**
 * Obtiene todos los clientes de la base de datos
 */
require 'Clientes.php';
if ($_SERVER['REQUEST_METHOD'] == 'GET') {
    // Manejar petición GET
    $clientes = Clientes::getAll();
    if ($clientes) {
        $datos["estado"] = 1;
        $datos["clientes"] = $clientes;
        print json_encode($datos);
    } else {
        print json_encode(array("estado" => 2, "mensaje" => "Ha ocurrido un error"));
    }
}
    $dataDeNascimento = $_POST['data'];
    $endereco = $_POST['endereco'];
    $cep = $_POST['cep'];
    $estado = $_POST['estado'];
    $email = $_POST['email'];
    $telefoneFixo = $_POST['telefone_fixo'];
    $telefoneCelular = $_POST['telefone_celular'];
    $usuario = $_POST['usuario'];
    $senha = $_POST['senha'];
    $preferencias = null;
    if (isset($_POST['preferencias'])) {
        $preferencias = $_POST['preferencias'];
    }
    $cadastro_ok = false;
    try {
        $r = Clientes::add($nome, $sexo, $dataDeNascimento, $endereco, $cep, $estado, $email, $telefoneFixo, $telefoneCelular, $usuario, $senha, $preferencias);
        if ($r > 0) {
            $cadastro_ok = true;
        }
    } catch (Exception $ex) {
    }
}
include 'header.php';
?>

<h1>Criar conta</h1>

<p>Preencha o formulário a seguir para criar uma conta de usuário e concluir seus pedidos.
    Os campos marcados com <span class="required">*</span> são de preenchimento obrigatório.</p>

<?php 
 /**
  * Importa clientes desde fichero externo csv según
  * el formato de facturaplus
  */
 public function ImportarAction()
 {
     $fileName = "docs/docs{$_SESSION['emp']}/tmp/clientes.csv";
     $archivo = new Archivo($fileName);
     $archivo->setColumnsDelimiter(";");
     $archivo->setColumnsEnclosure('"');
     $idPais = 68;
     // España
     // Crear array de poblaciones
     if ($archivo->open("r")) {
         set_time_limit(0);
         while (($linea = $archivo->readLine()) !== FALSE) {
             $poblaciones[trim($linea[4])] = 0;
         }
         $pobla = new Municipios();
         foreach ($poblaciones as $key => $value) {
             $rows = $pobla->cargaCondicion("IDMunicipio", "Municipio='{$key}'");
             if ($rows[0]['IDMunicipio'] != '') {
                 $poblaciones[$key] = $rows[0]['IDMunicipio'];
             }
         }
         unset($pobla);
         $archivo->close();
     } else {
         $this->values['errores'][] = "El fichero de importación " . $fileName . " no existe";
     }
     if ($archivo->open("r")) {
         set_time_limit(0);
         while (($linea = $archivo->readLine()) !== FALSE) {
             //print_r($linea);
             $fp = new FormasPago();
             $fp = $fp->find('Observations', trim($linea[20]));
             $idFp = $fp->getIDFP();
             if (!$idFp) {
                 $idFp = 1;
             }
             $cliente = new Clientes();
             $cliente->setIDCliente($linea[0]);
             $cliente->setRazonSocial(utf8_encode($linea[1]));
             $cliente->setNombreComercial(utf8_encode($linea[2]));
             $cliente->setDireccion(utf8_encode($linea[3]));
             $cliente->setIDPoblacion($poblaciones[trim($linea[4])]);
             $cliente->setIDProvincia($linea[5]);
             $cliente->setCodigoPostal($linea[6]);
             $cliente->setIDPais($idPais);
             $cliente->setTelefono($linea[7]);
             $cliente->setMovil($linea[8]);
             $cliente->setFax($linea[9]);
             $cliente->setCif(str_replace("-", "", $linea[10]));
             $cliente->setObservaciones($linea[11] . " " . $linea[19]);
             $cliente->setBanco($linea[15]);
             $cliente->setOficina($linea[16]);
             $cliente->setDigito(substr($linea[17], 2, 2));
             $cliente->setCuenta($linea[18]);
             $cliente->setIDFP($idFp);
             $cliente->setEMail($linea[41]);
             $cliente->setLimiteRiesgo($linea[38]);
             $cliente->setIDZona(1);
             $cliente->setIDSucursal($_SESSION['suc']);
             $cliente->setIDTipo(1);
             $cliente->setIDGrupo(1);
             $idCliente = $cliente->create();
             if (!$idCliente) {
                 $nErrores += 1;
                 print_r($cliente->getErrores());
             } else {
                 $nAciertos += 1;
             }
             unset($cliente);
         }
         $archivo->close();
     } else {
         $this->values['errores'][] = "El fichero de importación " . $fileName . " no existe";
     }
     echo "Aciertos: {$nAciertos}, Errores: {$nErrores}";
     unset($archivo);
 }
 public function getClientesXDNI(Request $request)
 {
     $term = $request->term;
     $clientes = Clientes::where('dni', 'LIKE', "%{$term}%")->get();
     return response()->json(["msg" => "Succes", "clientes" => $clientes], 200);
 }
Exemple #27
0
<?php

session_start();
if (isset($_SESSION["Usuario"])) {
    require_once 'clases/clsClientes.php';
    $objCli = new Clientes();
    $fila = $objCli->getClientes();
    ?>
<!DOCTYPE html>
<html lang="es">
<head>
	<meta charset="UTF-8">
	<title>Sistema - Compras</title>
	<?php 
    require_once 'inc/header.php';
    ?>
</head>
<body>
	<?php 
    require_once 'inc/navbar.php';
    ?>
	<div class="container-fluid top-container">
		<div class="row">
			<div class="col-xs-12 col-sm-12 col-md-2 col-lg-2">
				<?php 
    require_once 'inc/menu.php';
    ?>
			</div>
			<div class="content">
				<div class="col-xs-12 col-sm-12 col-sm-12 col-lg-12">
					<div class="navbar navbar-default">
 /**
  * Renderiza el template _Emergente/historicoVentas.html.twig
  * mostrando las ventas realizadas a un cliente de un articulo dado en un periodo.
  *
  * La información se obtiene en base a los albaranes confimardos o facturados.
  * No se tienen en cuenta los albaranes no confirmados.
  *
  * Puede entrar por POST o por GET.
  *
  * Si es por POST los parametros vienen en:
  *
  *  idArticulo, idCliente, periodo, formato
  *
  * Si es por GET los parametros vienen en:
  *
  *  posicion 2 (idArticulo), 3 (idCliente), 4 (periodo), 5 (formato)
  *
  * @return array El template y los datos
  */
 public function HistoricoVentasAction()
 {
     $periodos = array(array('Id' => '0', 'Value' => 'Último Mes'), array('Id' => '1', 'Value' => 'Último Trimestre'), array('Id' => '2', 'Value' => 'Último Año'), array('Id' => '3', 'Value' => 'Todo'));
     switch ($this->request["METHOD"]) {
         case 'GET':
             $idArticulo = $this->request['2'];
             if ($idArticulo == '0') {
                 $idArticulo = '';
             }
             $idCliente = $this->request['3'];
             if ($idCliente == '0') {
                 $idCliente = '';
             }
             $periodo = $this->request['4'];
             $formato = $this->request['5'];
             break;
         case 'POST':
             $idArticulo = $this->request['idArticulo'];
             if ($idArticulo == '0') {
                 $idArticulo = '';
             }
             $idCliente = $this->request['idCliente'];
             if ($idCliente == '0') {
                 $idCliente = '';
             }
             $periodo = $this->request['periodo'];
             $formato = $this->request['formato'];
             break;
     }
     $formato = strtoupper($formato);
     // Construir la parte del filtro que depende del periodo
     switch ($periodo) {
         case '':
             $periodo = 1;
         case '0':
             // Ultimo mes
             $diferenciaDias = -30;
             break;
         case '1':
             // Ultimo Trimestre
             $diferenciaDias = -90;
             break;
         case '2':
             // Ultimo año
             $diferenciaDias = -365;
             break;
         case '3':
             // Todo, 20 años hacia atrás
             $diferenciaDias = -7300;
             break;
     }
     $fecha = new Fecha(date('Y-m-d'));
     $desdeFecha = $fecha->sumaDias($diferenciaDias);
     unset($fecha);
     $cliente = new Clientes($idCliente);
     $clienteTabla = $cliente->getDataBaseName() . "." . $cliente->getTableName();
     $articulo = new Articulos($idArticulo);
     $articuloTabla = $articulo->getDataBaseName() . "." . $articulo->getTableName();
     $pedido = new PedidosCab();
     $pedidoTabla = $pedido->getDataBaseName() . "." . $pedido->getTableName();
     unset($pedido);
     $lineas = new PedidosLineas();
     $lineasTabla = $lineas->getDataBaseName() . "." . $lineas->getTableName();
     unset($lineas);
     // Calcular el total de unidades vendidas y el precio medio de venta
     if ($idArticulo != '' or $idCliente != '') {
         $em = new EntityManager($articulo->getConectionName());
         if ($em->getDbLink()) {
             $query = "SELECT SUM(t1.Unidades) as Unidades, SUM(t1.Importe) as Importe\n                FROM {$lineasTabla} as t1, {$pedidoTabla} as t2";
             $query .= " WHERE t1.IdPedido=t2.Id AND t2.Fecha>='{$desdeFecha}'";
             if ($idCliente !== '') {
                 $query .= " AND  t2.IdCliente='{$idCliente}'";
             }
             if ($idArticulo !== '') {
                 $query .= " AND t1.IdArticulo='{$idArticulo}'";
             }
             $em->query($query);
             //echo $query;
             $rows = $em->fetchResult();
             $em->desConecta();
         }
         $precioMedio = $rows[0]['Unidades'] != 0 ? $rows[0]['Importe'] / $rows[0]['Unidades'] : 0;
         $unidades = $rows[0]['Unidades'] == '' ? 0 : $rows['0']['Unidades'];
     }
     $values['datos'] = array('articulo' => $articulo->iterator(), 'cliente' => $cliente->iterator(), 'unidades' => $unidades, 'periodo' => $periodo, 'periodos' => $periodos, 'precioMedio' => number_format($precioMedio, 3));
     // Obtener el litado histórico de ventas para el articulo y cliente
     $em = new EntityManager($articulo->getConectionName());
     if ($em->getDbLink()) {
         $query = "SELECT t2.Id,t1.Id NumeroPedido,t1.PrimaryKeyMD5,DATE_FORMAT(t1.Fecha,'%d-%m-%Y') as Fecha,t2.Descripcion,t2.Unidades,t2.Precio,t2.Descuento1,t2.Descuento2,t2.Descuento3,t2.Importe\n                FROM {$pedidoTabla} as t1, {$lineasTabla} as t2";
         if ($idCliente !== '') {
             $query .= ", {$clienteTabla} as t3";
         }
         if ($idArticulo !== '') {
             $query .= ", {$articuloTabla} as t4";
         }
         $query .= " WHERE t1.Id=t2.IdPedido";
         if ($idCliente !== '') {
             $query .= " AND t1.IdCliente=t3.Id AND t1.IdCliente='{$idCliente}' ";
         }
         if ($idArticulo !== '') {
             $query .= " AND t2.IdArticulo=t4.Id AND t2.IdArticulo='{$idArticulo}'";
         }
         $query .= "\n                AND t1.Fecha>='{$desdeFecha}'\n                ORDER BY t1.Fecha DESC, t1.Id DESC";
         $em->query($query);
         //echo $query;
         $rows = $em->fetchResult();
         $em->desConecta();
     }
     $values['listado'] = $rows;
     unset($em);
     unset($articulo);
     unset($cliente);
     if (in_array($formato, $this->formats)) {
         $values['status'] = '200';
         $values['statusMessage'] = "";
         switch ($formato) {
             case '':
             case 'JSON':
                 header('Content-type: application/json; charset="UTF-8"', true);
                 $template = "_global/json.twig";
                 $this->values['json'] = $values;
                 break;
             case 'HTML':
                 $this->values = $values;
                 $template = "_Emergente/historicoVentas.html.twig";
                 break;
         }
     } else {
         $this->values['json'] = array('status' => 401, 'statusMessage' => 'Format not implemented', 'result' => array());
         $template = "_global/json.twig";
     }
     return array('template' => $template, 'values' => $this->values);
 }
<?php

require_once '../dados/Clientes.php';
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $postdata = file_get_contents("php://input");
    $request = json_decode($postdata);
    $usuario = $request->usuario;
    $senha = $request->senha;
    $cliente = Clientes::validate($usuario, $senha);
    if ($cliente) {
        echo json_encode($cliente);
    } else {
        echo json_encode(false);
    }
}
include_once 'include/campo.php';
include_once 'include/campo_oculto.php';
include_once 'include/campo_combo.php';
include_once 'include/boton.php';
include_once 'include/boton_flat.php';
include_once 'include/url_util.php';
include_once "include/lista_articulos.php";
include_once 'include/clientes/clientes.php';
if (isset($_SESSION['lista_articulos'])) {
    $_SESSION['lista_articulos'] = new ListaArticulos();
}
$formulario = new Formulario('ventas', 'form_venta', 'grabar_pedido');
$url = new UrlUtil();
$formulario->set_action_uri($url->get_uri() . '&action=grabar_pedido');
$campo_cliente = new CampoCombo('cliente', 'Cliente:');
$clientes = new Clientes();
if (isset($cliente)) {
    $campo_cliente->add_option($clientes->get_field('razon', $cliente), $cliente);
} else {
    $campo_cliente->add_option('Seleccione un cliente...');
    $campo_cliente->set_sql_options($clientes->get_result());
    $campo_cliente->set_selected_option(0);
}
$boton_buscar = new BotonFlat('buscar-articulos', 'Agregar artículos', 'agregar-item');
$boton_borrar = new BotonFlat('borrar-articulo', 'Limpiar la lista', 'borrar-item');
$boton_grabar = new BotonFlat('grabar-pedido', 'Grabar el pedido', 'guardar-item');
$formulario->open();
?>

<h1>Nuevo pedido</h1>