Necesito una mano con mi codigo, no se porque me saltea una linea del codigo muy importante que es la siguiente
Código:
Aqui mi codigo completo:exec("python2 /srv/http/Gcom/facturacion/pyafipws/pyfepdf.py /srv/http/Gcom/facturacion/rece.ini --cargar --json");
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 } ?>