Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/05/2016, 18:15
geen
 
Fecha de Ingreso: enero-2016
Ubicación: Rio Negro - Cipolletti
Mensajes: 5
Antigüedad: 8 años, 11 meses
Puntos: 0
Exclamación Mi codigo se salta una linea! por que ?

Como andan gente??

Necesito una mano con mi codigo, no se porque me saltea una linea del codigo muy importante que es la siguiente

Código:
     exec("python2 /srv/http/Gcom/facturacion/pyafipws/pyfepdf.py /srv/http/Gcom/facturacion/rece.ini --cargar --json");
Aqui mi codigo completo:

Código:
<?php

function facturarGcom($id){

    // Establezco los valores de la factura a autorizar:
    $factura = array(
         'id' => $datos[0]['id'],                     // identificador único (obligatorio WSFEX)

         'punto_vta' => $datos[0]['punto_vta'],
         'tipo_cbte' => $datos[0]['tipo_cbte'],              // 1: FCA, 2: NDA, 3:NCA, 6: FCB, 11: FCC
         'cbte_nro' => $datos[0]['cbte_nro'],               // solicitar proximo con /ult

         'tipo_doc' => $datos[0]['tipo_doc'],              // 96: DNI, 80: CUIT, 99: Consumidor Final
         'nro_doc' => $datos[0]['nro_doc'],    // Nro. de CUIT o DNI

         'fecha_cbte' => $datos[0]['fecha_cbte'],   // Formato AAAAMMDD
         'fecha_serv_desde' => $datos[0]['fecha_serv_desde'],    // competar si concepto > 1
         'fecha_serv_hasta' => $datos[0]['fecha_serv_hasta'],    // competar si concepto > 1
         'fecha_venc_pago' => $datos[0]['fecha_venc_pago'],     // competar si concepto > 1

         'concepto' => $datos[0]['concepto'],               // 1: Productos, 2: Servicios, 3/4: Ambos

         'nombre_cliente' => $datos[0]['nombre_cliente'],
         'domicilio_cliente' => $datos[0]['domicilio_cliente'],
         'pais_dst_cmp' => $datos[0]['pais_dst_cmp'],  // solo exportacion

         'moneda_ctz' => $datos[0]['moneda_ctz'],   // 1 para pesos
         'moneda_id' => $datos[0]['moneda_id'],  // 'PES': pesos, 'DOL': dolares (solo exportacion)

         'obs_comerciales' => $datos[0]['obs_comerciales'],
         'obs_generales' => $datos[0]['obs_generales'],
         'forma_pago' => $datos[0]['forma_pago'],             
         'incoterms' => $datos[0]['incoterms'],                  // solo exportacion
         'id_impositivo' => $datos[0]['id_impositivo'],     // solo exportacion

         // importes subtotales generales:
         'imp_neto' => $imp_neto,            // neto gravado
         'imp_op_ex' => $datos[0]['imp_op_ex'],             // operacioens exentas
         'imp_tot_conc' => $datos[0]['imp_tot_conc'],          // no gravado
         'imp_iva' => $imp_iva,              // IVA liquidado
         'imp_trib' => $datos[0]['imp_trib'],              // otros tributos
         'imp_total' => $imp_neto + $imp_iva,           // total de la factura

         // Datos devueltos por AFIP (completados luego al llamar al webservice):
         'cae' => '',                       // ej. '61123022925855'
         'fecha_vto' => '',                 // ej. '20110320'
         'motivos_obs' => '',               // ej. '11'
         'err_code' => '',                  // ej. 'OK'

         'descuento' => $datos[0]['descuento'],
         'detalles' => $detalles,
         'ivas' => array (
              array(
                 'base_imp' => $iva[0]['base_imp'],
                 'importe' => $iva[0]['importe'],
                 'iva_id' => $iva[0]['iva_id'],
              ),
            ),
         // Comprobantes asociados (solo notas de crédito y débito):
         //'cbtes_asoc' => array (
         //   array('cbte_nro' => 1234, 'cbte_punto_vta' => 2, 'cbte_tipo' => 91, ),
         //   array('cbte_nro' => 1234, 'cbte_punto_vta' => 2, 'cbte_tipo' => 5, ),
         // ),
         'tributos' => array (
              array(
                 'alic' => $tri[0]['alic'],
                 'base_imp' => $tri[0]['base_imp'],
                 'desc' => $tri[0]['desc'],
                 'importe' => $tri[0]['importe'],
                 'tributo_id' => $tri[0]['tributo_id'],
              ),
            ),
         'permisos' => array (),
         'datos' => array (),
    );


    // Guardar el archivo json para consultar la ultimo numero de factura:
    $json = file_put_contents('/srv/http/Gcom/facturacion/factura.json', json_encode(array($factura)));

    // Obtener el último número para este tipo de comprobante / punto de venta:
    exec("python2 /srv/http/Gcom/facturacion/pyafipws/rece1.py /srv/http/Gcom/facturacion/rece.ini /json /ult 1 4000");

    $json = file_get_contents('/srv/http/Gcom/facturacion/salida.json');
    $facturas = json_decode($json, True);

    // leo el ultimo numero de factura del archivo procesado (salida)
    $cbte_nro = intval($facturas[0]['cbt_desde']) + 1;
    echo "Proximo Numero: ", $cbte_nro, "\n\r";

    // Vuelvo a guardar el archivo json para actualizar el número de factura:
    $factura['cbt_desde'] = $cbte_nro;  // para WSFEv1
    $factura['cbt_hasta'] = $cbte_nro;  // para WSFEv1
    $factura['cbte_nro'] = $cbte_nro;   // para PDF
    $json = file_put_contents('/srv/http/Gcom/facturacion/factura.json', json_encode(array($factura)));

    // Obtención de CAE: llamo a la herramienta para WSFEv1
    exec("python2 /srv/http/Gcom/facturacion/pyafipws/rece1.py /srv/http/Gcom/facturacion/rece.ini /json ");

    // Ejemplo para levantar el archivo json con el CAE obtenido:
    $json = file_get_contents('/srv/http/Gcom/facturacion/salida.json');
    $facturas = json_decode($json, True);

    // leo el CAE del archivo procesado
    echo "CAE OBTENIDO: ", $facturas[0]['cae'], "\n\r";
    echo "Observaciones: ", $facturas[0]['motivos_obs'], "\n\r";
    echo "Errores: ", $facturas[0]['err_msg'], "\n\r";

    // Vuelvo a guardar el archivo json para actualizar el CAE y otros datos:
    $factura['cae'] = $facturas[0]['cae'];
    $factura['fecha_vto'] = $facturas[0]['fch_venc_cae'];
    $factura['motivos_obs'] = $facturas[0]['motivos_obs'];
    $factura['err_code'] = $facturas[0]['err_code'];
    $factura['err_msg'] = $facturas[0]['err_msg'];
    $json = file_put_contents('/srv/http/Gcom/facturacion/factura.json', 
    json_encode(array($factura)));

    // Genero la factura en PDF (agregar --mostrar si se tiene visor de PDF)
    exec("python2 /srv/http/Gcom/facturacion/pyafipws/pyfepdf.py /srv/http/Gcom/facturacion/rece.ini --cargar --json");

    // leer factura.pdf o similar para obtener el documento generado. TIP: --mostrar
}
?>