function index() { $this->rapyd->load('dataform'); $lscst = site_url('compras/scst/autocomplete/control'); $script = ' function formato(row) { return row[0]+" "+row[1]+" "+row[3]; } $(function() { $("#control").autocomplete("' . $lscst . '",{ delay:10, //minChars:2, matchSubset:1, matchContains:1, cacheLength:10, formatItem:formato, width:450, autoFill:true } ); });'; $form = new DataForm($this->url . 'index/process'); $form->title('Pasar precios a cajas'); $form->script($script); $form->control = new inputField('Control de compra', 'control'); $form->control->rule = 'required|callback_chcontrol'; $form->control->size = 12; $form->control->maxlength = 10; $form->control->append('Dejar vacio para enviar un masivo'); $form->submit("btnsubmit", "Pasar precios a caja"); $form->build_form(); $error = ''; if ($form->on_success()) { $control = $form->control->newValue; $usr = $this->session->userdata('usuario'); $join = ''; if (strlen($control > 0)) { $join = 'JOIN `itscst` AS b ON a.codigo=b.codigo AND b.codigo=' . $this->db->escape($control); } $mSQL = "INSERT INTO `enviapos` (codigo,numero,precio1,fecha,hora,usuario)\n\t\t\t\t SELECT a.codigo,'INVENTAR',a.precio1,CURDATE(),CURTIME(),'{$usr}' FROM `maes` AS a {$join}"; $ban = $this->db->simple_query($mSQL); if (!$ban) { $error .= "Hubo problemas al pasar los precios, comuniquese con servicio técnico"; memowrite($mSQL, 'ENVIACAJA'); } else { logusu('ENVIACAJA', "Fue enviado una actualizacion de precios"); } } $data['content'] = "<div class='alert'>{$error}</div>"; $data['content'] .= $form->output; $data['title'] = '<h1>Envío de precios para las cajas</h1>'; $data["head"] = script('jquery.pack.js') . script('plugins/jquery.autocomplete.js') . style('jquery.autocomplete.css') . $this->rapyd->get_head(); $this->load->view('view_ventanas', $data); }
function ejecutar() { $error = false; $mfinal = $this->input->post('fecha'); //echo $mfinal; //$mfinal='31/12/2009'; if ($mfinal == false) { redirect('contabilidad/cierre'); } $mfinal = date('Ymd', timestampFromInputDate($mfinal)); $anio = substr($mfinal, 2, 2); $annio = substr($mfinal, 0, 4); $comprob = "ZIERRE{$anio}"; $this->db->simple_query("DELETE FROM itcasi WHERE comprob='{$comprob}'"); $this->db->simple_query("DELETE FROM casi WHERE comprob='{$comprob}'"); $mSQL = "INSERT INTO casi SET comprob='{$comprob}', fecha={$mfinal}, descrip='ASIENTO DE CIERRE DEL EJERCICIO', total = 0, debe=0, haber=0, estampa=NOW(),tipo='INDETERMIN',status='A',origen='MANUAL'"; $centinela = $this->db->simple_query($mSQL); if ($centinela == false) { memowrite($mSQL, 'casi'); $error = true; } $mSQL = "INSERT INTO itcasi (fecha,comprob,origen,cuenta,referen,concepto,debe,haber,ccosto,sucursal)\n\t\t SELECT {$mfinal} fecha,\n\t\t '{$comprob}' comp, 'MANUAL' origen,\n\t\t cuenta, 'CIERRE " . $anio . "' referen,\n\t\t 'CIERRE DE CUENTAS DE RESULTADO EJERCICIO " . $anio . "' concepto,\n\t\t SUM(haber) debe, SUM(debe) haber, 0 ccosto, 0 sucu\n\t\t FROM itcasi WHERE cuenta>='4' AND fecha<={$mfinal} AND fecha>={$annio}0101\n\t\t GROUP BY cuenta"; $centinela = $this->db->simple_query($mSQL); if ($centinela == false) { memowrite($mSQL, 'itcasi'); $error = true; } $mSQL = "INSERT INTO itcasi (fecha,comprob,origen,cuenta,referen,concepto,debe,haber,ccosto,sucursal)\n\t\tSELECT fecha, comprob, origen,\n\t\t (SELECT resultado FROM cemp limit 1) AS cuenta,\n\t\t referen,concepto,\n\t\t IF(SUM(debe-haber)>0,0,SUM(haber-debe)) AS debe,\n\t\t IF(SUM(debe-haber)>0,SUM(debe-haber),0) AS haber, 0 AS ccosto, 0 AS sucu\n\t\t FROM itcasi WHERE comprob='{$comprob}' GROUP BY comprob "; $centinela = $this->db->simple_query($mSQL); if ($centinela == false) { memowrite($mSQL, 'itcasi'); $error = true; } $centinela = $this->db->simple_query("DELETE FROM itcasi WHERE debe=haber AND comprob='{$comprob}'"); if ($centinela == false) { memowrite($mSQL, 'itcasi'); $error = true; } $centinela = $this->db->simple_query("UPDATE casi SET\n\t\t debe =(SELECT SUM(debe) FROM itcasi WHERE comprob='{$comprob}'),\n\t\t haber=(SELECT SUM(haber) FROM itcasi WHERE comprob='{$comprob}')\n\t\t WHERE comprob='{$comprob}'"); if ($centinela == false) { memowrite($mSQL, 'itcasi'); $error = true; } if ($error) { echo 'Hubo algunos errores, se generaron centinelas, favor comunicarse con servicio tecnico'; } else { echo "Cierre realizado {$comprob}"; logusu('cierre', "Realizo cierre contable {$comprob}"); } }
function import($arch) { if (file_exists($arch)) { $file = fopen($arch, "r"); while (!feof($file)) { $mSQL = fgets($file); if (strlen($mSQL) > 0) { $rt = $this->ci->db->simple_query($mSQL); if ($rt === FALSE) { memowrite($mSQL, 'sqlinex'); } } } fclose($file); } else { show_error('Archivo no existe ' . $arch); } }
static function genehotel($mes) { $CI =& get_instance(); $udia = days_in_month(substr($mes, 4), substr($mes, 0, 4)); $fdesde = $mes . '01'; $fhasta = $mes . $udia; // BORRA LA GENERADA ANTERIOR $CI->db->simple_query("DELETE FROM siva WHERE EXTRACT(YEAR_MONTH FROM fechal) = {$mes} AND fuente='FH' "); // ARREGLA LAS TASAS NULAS EN SFAC $CI->db->simple_query("UPDATE hfac SET tasa=0, montasa=0, reducida=0, monredu=0, sobretasa=0, monadic=0, exento=0 WHERE (tasa IS NULL OR montasa IS NULL) AND EXTRACT(YEAR_MONTH FROM fecha)={$mes} "); $mSQL = "INSERT INTO siva\n\t\t\t(id, libro, tipo, fuente, sucursal, fecha, numero, numhasta, caja, nfiscal, nhfiscal,\n\t\t\treferen, planilla, clipro, nombre, contribu, rif, registro,\n\t\t\tnacional, exento, general, geneimpu,\n\t\t\tadicional, adicimpu, reducida, reduimpu, stotal, impuesto,\n\t\t\tgtotal, reiva, fechal, fafecta)\n\t\t\tSELECT 0 AS id,\n\t\t\t'V' AS libro,\n\t\t\tIF(a.tipo='D','NC',IF(a.tipo='F','FC',CONCAT('F',a.tipo))) AS tipo,\n\t\t\t'FH' AS fuente,\n\t\t\t'00' AS sucursal,\n\t\t\ta.fecha_ou,\n\t\t\ta.num_fac,\n\t\t\t' ' AS numhasta,\n\t\t\t' ' AS caja,\n\t\t\t' ' AS nfiscal,\n\t\t\t' ' AS nhfiscal,\n\t\t\tIF(a.tipo='E',a.num_fac,a.num_fac ) AS referen,\n\t\t\t' ' AS planilla,\n\t\t\ta.cod_cli AS clipro,\n\t\t\tIF(a.tipo='X','DOCUMENTO ANULADO.......',if(c.nombre='',a.nombre,c.nombre)),\n\t\t\tIF(c.tiva='C','CO','NO') AS contribu,\n\t\t\tIF(c.rifci='', a.cedula, c.rifci ),\n\t\t\t'01' AS registro,\n\t\t\t'S' AS nacional,\n\t\t\t0 AS exento,\n\t\t\ta.total*(a.tipo<>'X') AS general,\n\t\t\ta.iva*(a.tipo<>'X') AS geneimpu,\n\t\t\t0 AS adicional,\n\t\t\t0 AS adicimpu,\n\t\t\t0 AS reducida,\n\t\t\t0 AS reduimpu,\n\t\t\ta.total*(a.tipo<>'X') AS stotal,\n\t\t\ta.iva*(a.tipo<>'X') AS impuesto,\n\t\t\ta.totalg*(a.tipo<>'X') AS gtotal,\n\t\t\t0 AS reiva,\n\t\t\t" . $mes . "01 AS fechal,\n\t\t\t0 AS fafecta\n\t\t\tFROM hfac AS a\n\t\t\tLEFT JOIN scli AS c ON a.cod_cli=c.cliente\n\t\t\tWHERE a.fecha_ou BETWEEN {$fdesde} AND {$fhasta} AND a.tipo NOT IN ('P','T')"; $flag = $CI->db->simple_query($mSQL); if (!$flag) { memowrite($mSQL, 'genehotel'); } //CARGA LAS RETENCIONES DE IVA DE CONTADO $mSQL = "SELECT * FROM sfpa WHERE tipo='RI' AND\tf_factura BETWEEN {$fdesde} AND {$fhasta} AND tipo_doc='FE' "; $query = $CI->db->query($mSQL); if ($query->num_rows() > 0) { foreach ($query->result() as $row) { $mSQL = "UPDATE siva SET reiva=" . $row->monto . ", comprobante='20" . $row->num_ref . "' WHERE tipo='" . $row->tipo_doc . "' AND numero='" . $row->numero . "' AND libro='V' AND fechal BETWEEN {$fdesde} AND {$fhasta} "; $flag = $CI->db->simple_query($mSQL); if (!$flag) { memowrite($mSQL, 'genehotel'); } } } //CARGA LAS RETENCIONES DE IVA DESDE SMOV $mSQL = "SELECT a.tipo_doc, a.fecha, a.numero, c.nombre, c.rifci, a.cod_cli, b.monto,\n\t\t\t\ta.numero AS afecta, a.fecha AS fafecta, a.reteiva, a.transac, a.nroriva, a.emiriva, a.recriva\n\t\t\tFROM itccli AS a JOIN smov AS b ON a.transac=b.transac\n\t\t\t\tLEFT JOIN scli AS c ON a.cod_cli=c.cliente\n\t\t\tWHERE b.fecha BETWEEN {$fdesde} AND {$fhasta} AND b.cod_cli='REIVA'\n\t\t\t\tAND a.reteiva>0 AND b.monto>b.abonos "; $query = $CI->db->query($mSQL); if ($query->num_rows() > 0) { foreach ($query->result() as $row) { $mSQL = "UPDATE siva SET reiva=" . $row->reteiva . ", comprobante='" . $row->nroriva . "', fecharece='{$row->recriva}' WHERE tipo='" . $row->tipo_doc . "' AND numero='" . $row->numero . "' AND libro='V' AND fechal BETWEEN {$fdesde} AND {$fhasta} "; $flag = $CI->db->simple_query($mSQL); if (!$flag) { memowrite($mSQL, 'genehotel'); } } } }
function ejecutar() { $error = FALSE; $mfinal = $this->input->post('fecha'); //echo $mfinal; //$mfinal='31/12/2009'; if ($mfinal == FALSE) { redirect('contabilidad/cierre'); } $mfinal = date("Ymd", timestampFromInputDate($mfinal)); $ano = substr($mfinal, 2, 2); $comprob = "ZIERRE{$ano}"; $this->db->simple_query("DELETE FROM itcasi WHERE comprob='{$comprob}'"); $this->db->simple_query("DELETE FROM casi WHERE comprob='{$comprob}'"); $mSQL = "INSERT INTO casi SET comprob='{$comprob}', fecha={$mfinal}, descrip='ASIENTO DE CIERRE DEL EJERCICIO', total = 0, debe=0, haber=0, estampa=now(),tipo='INDETERMIN',status='A',origen='MANUAL'"; $centinela = $this->db->simple_query($mSQL); if ($centinela == FALSE) { memowrite($mSQL, 'casi'); $error = TRUE; } $mSQL = "INSERT INTO itcasi \n\t\t SELECT {$mfinal} fecha, \n\t\t '{$comprob}' comp, 'MANUAL' origen,\n\t\t cuenta, 'CIERRE " . substr($mfinal, 0, 2) . "' referen, \n\t\t 'CIERRE DE CUENTAS DE RESULTADO EJERCICIO " . substr($mfinal, 0, 2) . "' concepto,\n\t\t sum(haber) debe, sum(debe) haber, 0 ccosto, 0 sucu, null AS id\n\t\t FROM itcasi WHERE cuenta>='4' AND fecha<={$mfinal} \n\t\t GROUP BY cuenta "; $centinela = $this->db->simple_query($mSQL); if ($centinela == FALSE) { memowrite($mSQL, 'itcasi'); $error = TRUE; } $mSQL = "INSERT INTO itcasi \n\t\t SELECT fecha, comprob, origen, \n\t\t (SELECT resultado FROM cemp limit 1) cuenta, \n\t\t referen, \n\t\t concepto, \n\t\t if(sum(debe-haber)>0,0,sum(haber-debe)) debe, \n\t\t if(sum(debe-haber)>0,sum(debe-haber),0) haber, 0 ccosto, 0 sucu, null AS id\n\t\t FROM itcasi WHERE comprob='{$comprob}' group by comprob "; $centinela = $this->db->simple_query($mSQL); if ($centinela == FALSE) { memowrite($mSQL, 'itcasi'); $error = TRUE; } $this->db->simple_query("DELETE FROM itcasi WHERE debe=haber AND comprob='{$comprob}'"); if ($error) { echo "Hubo algunos errores, favor comunicarse con servicio tecnico"; } else { echo "Cierre realizado {$comprob}"; } }
$mSQL = "\n\tSELECT SUM(asignacion+aumento-disminucion+traslados-" . substr($lista[$cfecha], 1) . ") disponible,IF(modo='AUMENTO' OR modo='DISMINUCION',faudis,IF(modo='Traslado',ftrasla,IF(modo='Asignacion','',{$cfecha}))) fmostrar,SUM(asignacion+aumento-disminucion+traslados) modificado,fecha,des,observa,cod_prov,numero,status,modo,codigoadm,fondo,codigopres,ordinal,faudis,ftrasla,fcomprome,fcausado,fopago,fpagado,frendi,SUM(comprometido)comprometido,SUM(causado)causado,SUM(opago)opago,SUM(pagado)pagado,SUM(aumento)aumento,SUM(disminucion)disminucion,SUM(traslados)traslados,SUM(asignacion)asignacion,denopart,denoadm,denofondo,nombre,SUM(ccomprometido)ccomprometido,SUM(ccausado)ccausao,SUM(copago)copago,SUM(cpagado)cpagado FROM (\n\tSELECT * FROM view_pres WHERE asignacion >0 "; $mSQL2 = $this->rapyd->db->_compile_select(); $pos = strripos($mSQL2, "WHERE"); if ($pos > 0) { $where = substr($mSQL2, $pos + 5); $mSQL2 .= " AND (ftrasla<= {$fechah} OR faudis <= {$fechah} OR frendi <= {$fechah} OR "; $mSQL .= " AND " . $where; } else { $mSQL2 .= " WHERE (ftrasla<= {$fechah} OR faudis <= {$fechah} OR frendi <= {$fechah} OR "; } $mSQL2 .= " {$cfecha} <= {$fechah} )"; $mSQL .= " UNION ALL "; $mSQL .= $mSQL2; $mSQL .= " \n\t)reporte\n\tGROUP BY " . ($agruparv ? ' codigoadm,fondo,codigopres,ordinal' : "modo,numero,codigoadm,fondo,codigopres,ordinal") . "\n\tORDER BY codigoadm,fondo,codigopres,ordinal,fecha,modo='asignacion' \n\t"; //echo "-->".$agruparv."<--"; memowrite($mSQL, 'MOVI'); $pdf = new PDFReporte($mSQL, 'L', $tpagina); $pdf->setHeadValores('TITULO1'); $pdf->setSubHeadValores('TITULO2', 'TITULO3'); $pdf->setTitulo($titulo); $pdf->setSubTitulo($subtitu); $pdf->AddPage(); $pdf->setTableTitu(9, 'Times'); if (!$agrupara) { $pdf->AddCol('codigoadm', 25, 'Est. Administrativa', 'L', 8); } if (!$agruparf) { $pdf->AddCol('fondo', 20, 'Fondo', 'L', 8); } if (!$agruparp) { $pdf->AddCol('codigopres', 25, 'Partida', 'L', 8);
function _post_insert($do) { $primary = implode(',', $do->pk); $tipop = $do->get('tipop'); $codban = $do->get('codban'); $monto = $do->get('monto'); $fecha = $do->get('fecha'); $negreso = $do->get('negreso'); $tipo = $do->get('tipo'); $docum = $do->get('docum'); $numero = $do->get('numero'); $dbcodban = $this->db->escape($codban); $dbdocum = $this->db->escape($docum); //GUARDA PRESTAMO OTORGADO if ($tipop == '1') { // Crea bmov egreso $this->datasis->actusal($codban, $fecha, -1 * $monto); $mREG = $this->datasis->damereg("SELECT numcuent, banco, saldo, tbanco FROM banc WHERE codbanc={$dbcodban}"); $mCUENTA = $mREG['numcuent']; $mBANCO = $mREG['banco']; $mSALDO = $mREG['saldo']; $mTBANCO = $mREG['tbanco']; if ($mTBANCO == 'CAJ') { $tipo = 'ND'; } $data = array(); $data['codbanc'] = $codban; $data['numcuent'] = $mCUENTA; $data['banco'] = $mBANCO; $data['saldo'] = $mSALDO; $data['fecha'] = $fecha; $data['tipo_op'] = $tipo; $data['numero'] = $do->get('numche'); $data['concepto'] = 'PRESTAMO OTORGADO ' . $do->get('numero'); $data['clipro'] = 'C'; $data['concep2'] = $do->get('observa1'); $data['concep3'] = $do->get('observa2'); $data['monto'] = $monto; $data['codcp'] = $do->get('clipro'); $data['nombre'] = $do->get('nombre'); $data['benefi'] = $do->get('benefi'); //$data['comprob']= $COMPROB; $data['negreso'] = $do->get('negreso'); $data['posdata'] = $fecha; $data['liable'] = 'S'; $data['usuario'] = $do->get('usuario'); $data['transac'] = $do->get('transac'); $data['estampa'] = $do->get('estampa'); $data['hora'] = $do->get('hora'); $mSQL = $this->db->insert_string('bmov', $data); $ban = $this->db->simple_query($mSQL); if ($ban == false) { memowrite($mSQL, 'bmov'); } // Crea smov el pasivo //$mNUMERO = $this->datasis->fprox_numero('ndcli'); $cana = 1; $mNUMERO = 'P' . str_pad(substr($do->get('numero'), -1 * ($this->datasis->long - 1)), $this->datasis->long - 1, '0', STR_PAD_LEFT); while ($cana > 0) { $dbmNUMERO = $this->db->escape($mNUMERO); $mSQL = "SELECT COUNT(*) AS cana FROM smov WHERE tipo_doc='ND' AND numero={$dbmNUMERO}"; $cana = intval($this->datasis->dameval($mSQL)); if ($cana == 0) { break; } $mNUMERO = $this->datasis->fprox_numero('ndprmo'); $mNUMERO = 'P' . substr($mNUMERO, 1); } $data = array(); $data['cod_cli'] = $do->get('clipro'); $data['nombre'] = $do->get('nombre'); $data['tipo_doc'] = 'ND'; $data['numero'] = $mNUMERO; $data['fecha'] = $fecha; $data['monto'] = $do->get('monto'); $data['impuesto'] = 0; $data['vence'] = $do->get('vence'); $data['tipo_ref'] = 'PR'; $data['num_ref'] = $do->get('numero'); $data['observa1'] = $do->get('observa1'); $data['observa2'] = $do->get('observa2'); $data['banco'] = $do->get('codban'); $data['fecha_op'] = $do->get('fecha'); $data['num_op'] = $do->get('numche'); $data['tipo_op'] = $do->get('tipo'); $data['usuario'] = $do->get('usuario'); $data['transac'] = $do->get('transac'); $data['estampa'] = $do->get('estampa'); $data['hora'] = $do->get('hora'); $mSQL = $this->db->insert_string('smov', $data); $ban = $this->db->simple_query($mSQL); if ($ban == false) { memowrite($mSQL, 'smov'); } //GUARDA PRESTAMO RECIBIDO } elseif ($tipop == '2') { $COMPROB = $do->get('comprob'); // Crea bmov ingreso $this->datasis->actusal($codban, $fecha, $monto); $mREG = $this->datasis->damereg("SELECT numcuent, banco, saldo, tbanco FROM banc WHERE codbanc={$dbcodban}"); $mCUENTA = $mREG['numcuent']; $mBANCO = $mREG['banco']; $mSALDO = $mREG['saldo']; $mTBANCO = $mREG['tbanco']; if ($mTBANCO == 'CAJ') { $tipo = 'NC'; } $data = array(); $data['codbanc'] = $codban; $data['numcuent'] = $mCUENTA; $data['banco'] = $mBANCO; $data['saldo'] = $mSALDO; $data['fecha'] = $fecha; $data['tipo_op'] = $tipo; $data['numero'] = $do->get('numche'); $data['concepto'] = 'PRESTAMO RECIBIDO ' . $do->get('numero'); $data['clipro'] = 'P'; $data['concep2'] = $do->get('observa1'); $data['concep3'] = $do->get('observa2'); $data['monto'] = $monto; $data['codcp'] = $do->get('clipro'); $data['nombre'] = $do->get('nombre'); $data['benefi'] = $do->get('benefi'); $data['comprob'] = $COMPROB; $data['negreso'] = $do->get('ningreso'); $data['posdata'] = $fecha; $data['usuario'] = $do->get('usuario'); $data['transac'] = $do->get('transac'); $data['estampa'] = $do->get('estampa'); $data['hora'] = $do->get('hora'); $mSQL = $this->db->insert_string('bmov', $data); $ban = $this->db->simple_query($mSQL); if ($ban == false) { memowrite($mSQL, 'bmov'); } // Crea sprm CxP $cana = 1; while ($cana > 0) { $mNUMERO = $this->datasis->fprox_numero('num_nd'); $mSQL = "SELECT COUNT(*) AS cana FROM sprm WHERE tipo_doc='ND' AND numero='" . $mNUMERO . "' "; $cana = intval($this->datasis->dameval($mSQL)); } $data = array(); $data['cod_prv'] = $do->get('clipro'); $data['nombre'] = $do->get('nombre'); $data['tipo_doc'] = 'ND'; $data['numero'] = $mNUMERO; $data['fecha'] = $fecha; $data['monto'] = $do->get('monto'); $data['impuesto'] = 0; $data['vence'] = $do->get('vence'); $data['tipo_ref'] = 'PR'; $data['num_ref'] = $do->get('numero'); $data['observa1'] = $do->get('observa1'); $data['observa2'] = $do->get('observa2'); $data['banco'] = $do->get('codban'); $data['numche'] = $do->get('numche'); $data['tipo_op'] = $do->get('tipo'); $data['benefi'] = $do->get('benefi'); $data['usuario'] = $do->get('usuario'); $data['transac'] = $do->get('transac'); $data['estampa'] = $do->get('estampa'); $data['hora'] = $do->get('hora'); $mSQL = $this->db->insert_string('sprm', $data); $ban = $this->db->simple_query($mSQL); if ($ban == false) { memowrite($mSQL, 'sprm'); } //CHEQUE DEVUELTO CLIENTE } elseif ($tipop == '3') { // Crea bmov egreso $this->datasis->actusal($codban, $fecha, -1 * $monto); $mREG = $this->datasis->damereg("SELECT numcuent, banco, saldo, tbanco FROM banc WHERE codbanc={$dbcodban}"); $mCUENTA = $mREG['numcuent']; $mBANCO = $mREG['banco']; $mSALDO = $mREG['saldo']; $mTBANCO = $mREG['tbanco']; $COMPROB = $this->datasis->fprox_numero('ncomprob'); $data = array(); $data['codbanc'] = $codban; $data['numcuent'] = $mCUENTA; $data['banco'] = $mBANCO; $data['saldo'] = $mSALDO; $data['fecha'] = $fecha; $data['tipo_op'] = $do->get('tipo'); $data['numero'] = $do->get('numche'); $data['concepto'] = "CHEQUE DEVUELTO CLIENTE " . $do->get('numero'); $data['clipro'] = 'C'; $data['concep2'] = $do->get('observa1'); $data['concep3'] = $do->get('observa2'); $data['monto'] = $monto; $data['codcp'] = $do->get('clipro'); $data['nombre'] = $do->get('nombre'); $data['benefi'] = $do->get('benefi'); $data['comprob'] = $COMPROB; $data['negreso'] = ''; $data['posdata'] = $fecha; $data['liable'] = 'S'; $data['usuario'] = $do->get('usuario'); $data['transac'] = $do->get('transac'); $data['estampa'] = $do->get('estampa'); $data['hora'] = $do->get('hora'); $mSQL = $this->db->insert_string('bmov', $data); $ban = $this->db->simple_query($mSQL); if ($ban == false) { memowrite($mSQL, 'bmov'); } // Crea smov CxC //$mNUMERO = $this->datasis->fprox_numero('ndcli'); $cana = 1; $mNUMERO = 'P' . str_pad(substr($do->get('numero'), -1 * ($this->datasis->long - 1)), $this->datasis->long - 1, '0', STR_PAD_LEFT); while ($cana > 0) { $dbmNUMERO = $this->db->escape($mNUMERO); $mSQL = "SELECT COUNT(*) AS cana FROM smov WHERE tipo_doc='ND' AND numero={$dbmNUMERO}"; $cana = intval($this->datasis->dameval($mSQL)); if ($cana == 0) { break; } $mNUMERO = $this->datasis->fprox_numero('ndprmo'); $mNUMERO = 'P' . substr($mNUMERO, 1); } $data = array(); $data['cod_cli'] = $do->get('clipro'); $data['nombre'] = $do->get('nombre'); $data['tipo_doc'] = 'ND'; $data['numero'] = $mNUMERO; $data['fecha'] = $fecha; $data['monto'] = $do->get('monto'); $data['impuesto'] = 0; $data['vence'] = $do->get('vence'); $data['tipo_ref'] = 'PR'; $data['num_ref'] = $do->get('numero'); $data['observa1'] = $do->get('observa1'); $data['observa2'] = $do->get('observa2'); $data['banco'] = $do->get('codban'); $data['fecha_op'] = $do->get('fecha'); $data['num_op'] = $do->get('numche'); $data['tipo_op'] = $do->get('tipo'); $data['usuario'] = $do->get('usuario'); $data['transac'] = $do->get('transac'); $data['estampa'] = $do->get('estampa'); $data['hora'] = $do->get('hora'); $mSQL = $this->db->insert_string('smov', $data); $ban = $this->db->simple_query($mSQL); if ($ban == false) { memowrite($mSQL, 'smov'); } //GUARDA CHEQUE DEVUELTO A PROVEEDOR } elseif ($tipop == '4') { // Crea bmov egreso $this->datasis->actusal($codban, $fecha, $monto); $mREG = $this->datasis->damereg("SELECT numcuent, banco, saldo, tbanco FROM banc WHERE codbanc={$dbcodban}"); $mCUENTA = $mREG['numcuent']; $mBANCO = $mREG['banco']; $mSALDO = $mREG['saldo']; $mTBANCO = $mREG['tbanco']; $data = array(); $data['codbanc'] = $codban; $data['numcuent'] = $mCUENTA; $data['banco'] = $mBANCO; $data['saldo'] = $mSALDO; $data['fecha'] = $fecha; $data['tipo_op'] = $do->get('tipo'); $data['numero'] = $do->get('numche'); $data['concepto'] = 'CHEQUE O NOTA DEVUELTO DE PROVEEDOR ' . $do->get('numero'); $data['clipro'] = 'P'; $data['concep2'] = $do->get('observa1'); $data['concep3'] = $do->get('observa2'); $data['monto'] = $monto; $data['codcp'] = $do->get('clipro'); $data['nombre'] = $do->get('nombre'); $data['benefi'] = $do->get('benefi'); //$data['comprob'] = $COMPROB; $data['posdata'] = $fecha; $data['negreso'] = ''; $data['posdata'] = $fecha; $data['liable'] = 'N'; $data['usuario'] = $do->get('usuario'); $data['transac'] = $do->get('transac'); $data['estampa'] = $do->get('estampa'); $data['hora'] = $do->get('hora'); $mSQL = $this->db->insert_string('bmov', $data); $ban = $this->db->simple_query($mSQL); if ($ban == false) { memowrite($mSQL, 'bmov'); } // Crea sprm CxP $cana = 1; while ($cana > 0) { $mNUMERO = $this->datasis->fprox_numero('num_nd'); $mSQL = "SELECT COUNT(*) AS cana FROM sprm WHERE tipo_doc='ND' AND numero='" . $mNUMERO . "' "; $cana = intval($this->datasis->dameval($mSQL)); } $data = array(); $data['cod_prv'] = $do->get('clipro'); $data['nombre'] = $do->get('nombre'); $data['tipo_doc'] = 'ND'; $data['numero'] = $mNUMERO; $data['fecha'] = $fecha; $data['monto'] = $do->get('monto'); $data['impuesto'] = 0; $data['vence'] = $do->get('vence'); $data['tipo_ref'] = 'PR'; $data['num_ref'] = $do->get('numero'); $data['observa1'] = $do->get('observa1'); $data['observa2'] = $do->get('observa2'); $data['banco'] = $do->get('codban'); $data['numche'] = $do->get('docum'); $data['tipo_op'] = $do->get('tipo'); $data['benefi'] = $do->get('benefi'); $data['usuario'] = $do->get('usuario'); $data['transac'] = $do->get('transac'); $data['estampa'] = $do->get('estampa'); $data['hora'] = $do->get('hora'); $mSQL = $this->db->insert_string('sprm', $data); $ban = $this->db->simple_query($mSQL); if ($ban == false) { memowrite($mSQL, 'sprm'); } $mTRAN = $this->datasis->dameval("SELECT transac FROM bmov WHERE tipo_op='CH' AND numero={$dbdocum} AND codbanc={$dbcodban}"); $this->db->simple_query("UPDATE bmov SET liable='N' WHERE tipo_op='CH' AND numero={$dbdocum} AND codbanc={$dbcodban}"); //GUARDA DEPOSITO POR ANALIZAR } elseif ($tipop == '5') { // Crea bmov ingreso $this->datasis->actusal($codban, $fecha, $monto); $mREG = $this->datasis->damereg("SELECT numcuent, banco, saldo, tbanco FROM banc WHERE codbanc={$dbcodban}"); $mCUENTA = $mREG['numcuent']; $mBANCO = $mREG['banco']; $mSALDO = $mREG['saldo']; $mTBANCO = $mREG['tbanco']; $data = array(); $data['codbanc'] = $codban; $data['numcuent'] = $mCUENTA; $data['banco'] = $mBANCO; $data['saldo'] = $mSALDO; $data['fecha'] = $fecha; $data['tipo_op'] = $do->get('tipo'); $data['numero'] = $do->get('numche'); $data['concepto'] = 'DEPOSITO POR ANALIZAR ' . $do->get('numero'); $data['clipro'] = 'P'; $data['concep2'] = $do->get('observa1'); $data['concep3'] = $do->get('observa2'); $data['monto'] = $monto; $data['codcp'] = $do->get('clipro'); $data['nombre'] = $do->get('nombre'); $data['benefi'] = $do->get('benefi'); $data['posdata'] = $fecha; $data['negreso'] = ''; $data['posdata'] = $fecha; $data['liable'] = 'S'; $data['usuario'] = $do->get('usuario'); $data['transac'] = $do->get('transac'); $data['estampa'] = $do->get('estampa'); $data['hora'] = $do->get('hora'); $mSQL = $this->db->insert_string('bmov', $data); $ban = $this->db->simple_query($mSQL); if ($ban == false) { memowrite($mSQL, 'bmov'); } // Crea sprm CxP $cana = 1; while ($cana > 0) { $mNUMERO = $this->datasis->fprox_numero('num_nd'); $mSQL = "SELECT COUNT(*) AS cana FROM sprm WHERE tipo_doc='ND' AND numero='" . $mNUMERO . "' "; $cana = intval($this->datasis->dameval($mSQL)); } $data = array(); $data['cod_prv'] = $do->get('clipro'); $data['nombre'] = $do->get('nombre'); $data['tipo_doc'] = 'ND'; $data['numero'] = $mNUMERO; $data['fecha'] = $fecha; $data['monto'] = $do->get('monto'); $data['impuesto'] = 0; $data['vence'] = $do->get('vence'); $data['tipo_ref'] = 'PR'; $data['num_ref'] = $do->get('numero'); $data['observa1'] = $do->get('observa1'); $data['observa2'] = $do->get('observa2'); $data['banco'] = $do->get('codban'); $data['numche'] = $do->get('numche'); $data['tipo_op'] = $do->get('tipo'); //$data['benefi'] = $do->get('benefi'); $data['usuario'] = $do->get('usuario'); $data['transac'] = $do->get('transac'); $data['estampa'] = $do->get('estampa'); $data['hora'] = $do->get('hora'); $mSQL = $this->db->insert_string('sprm', $data); $ban = $this->db->simple_query($mSQL); if ($ban == false) { memowrite($mSQL, 'sprm'); } //GUARDAR CARGOS INDEBIDOS } elseif ($tipop == '6') { // Crea bmov egreso $this->datasis->actusal($codban, $fecha, -1 * $monto); $mREG = $this->datasis->damereg("SELECT numcuent, banco, saldo, tbanco FROM banc WHERE codbanc={$dbcodban}"); $mCUENTA = $mREG['numcuent']; $mBANCO = $mREG['banco']; $mSALDO = $mREG['saldo']; $mTBANCO = $mREG['tbanco']; $data = array(); $data['codbanc'] = $codban; $data['numcuent'] = $mCUENTA; $data['banco'] = $mBANCO; $data['saldo'] = $mSALDO; $data['fecha'] = $fecha; $data['tipo_op'] = $do->get('tipo'); $data['numero'] = $do->get('numche'); $data['concepto'] = 'CARGOS INDEBIDOS DEL BANCO ' . $do->get('numero'); $data['clipro'] = 'C'; $data['concep2'] = $do->get('observa1'); $data['concep3'] = $do->get('observa2'); $data['monto'] = $monto; $data['codcp'] = $do->get('clipro'); $data['nombre'] = $do->get('nombre'); $data['benefi'] = $do->get('benefi'); $data['posdata'] = $fecha; $data['negreso'] = ''; $data['posdata'] = $fecha; $data['liable'] = 'S'; $data['usuario'] = $do->get('usuario'); $data['transac'] = $do->get('transac'); $data['estampa'] = $do->get('estampa'); $data['hora'] = $do->get('hora'); $mSQL = $this->db->insert_string('bmov', $data); $ban = $this->db->simple_query($mSQL); if ($ban == false) { memowrite($mSQL, 'bmov'); } //$mNUMERO = $this->datasis->fprox_numero('ndcli'); $cana = 1; $mNUMERO = 'P' . str_pad(substr($do->get('numero'), -1 * ($this->datasis->long - 1)), $this->datasis->long - 1, '0', STR_PAD_LEFT); while ($cana > 0) { $dbmNUMERO = $this->db->escape($mNUMERO); $mSQL = "SELECT COUNT(*) AS cana FROM smov WHERE tipo_doc='ND' AND numero={$dbmNUMERO}"; $cana = intval($this->datasis->dameval($mSQL)); if ($cana == 0) { break; } $mNUMERO = $this->datasis->fprox_numero('ndprmo'); $mNUMERO = 'P' . substr($mNUMERO, 1); } $data = array(); $data['cod_cli'] = $do->get('clipro'); $data['nombre'] = $do->get('nombre'); $data['tipo_doc'] = 'ND'; $data['numero'] = $mNUMERO; $data['fecha'] = $fecha; $data['monto'] = $do->get('monto'); $data['impuesto'] = 0; $data['vence'] = $do->get('vence'); $data['tipo_ref'] = 'PR'; $data['num_ref'] = $do->get('numero'); $data['observa1'] = $do->get('observa1'); $data['observa2'] = $do->get('observa2'); $data['banco'] = $do->get('codban'); $data['fecha_op'] = $do->get('fecha'); $data['num_op'] = $do->get('numche'); $data['tipo_op'] = $do->get('tipo'); $data['usuario'] = $do->get('usuario'); $data['transac'] = $do->get('transac'); $data['estampa'] = $do->get('estampa'); $data['hora'] = $do->get('hora'); $mSQL = $this->db->insert_string('smov', $data); $ban = $this->db->simple_query($mSQL); if ($ban == false) { memowrite($mSQL, 'smov'); } } logusu($do->table, "Creo {$this->t**s} {$numero} {$primary} "); }
function cargamdb() { $path = reduce_double_slashes(FCPATH . '/uploads/traspasos'); $dirlocal = $path . '/gpt.mdb'; $mdb = mdb_open($dirlocal); if ($mdb === false) { return false; } //$tablas=mdb_tables($mdb); $tablas = array('pro'); foreach ($tablas as $tabla) { //echo $tabla.br(); $sistab = "gpt_{$tabla}"; $this->db->simple_query("TRUNCATE {$sistab}"); $tbl = mdb_table_open($mdb, $tabla); if ($tbl === false) { continue; } while ($row = mdb_fetch_assoc($tbl)) { $sql = $this->db->insert_string($sistab, $row); $ban = $this->db->simple_query($sql); if ($ban == false) { $error++; memowrite($sql, 'gpt_prod'); } } } }
function _post_insert($do) { $alma = $do->get('almacen'); $numero = $do->get('numero'); $cana = $do->count_rel('itconv'); for ($i = 0; $i < $cana; $i++) { $codigo = $do->get_rel('itconv', 'codigo', $i); $ent = $do->get_rel('itconv', 'entrada', $i); $sal = $do->get_rel('itconv', 'salida', $i); $monto = $ent - $sal; $dbcodigo = $this->db->escape($codigo); $dbalma = $this->db->escape($alma); $this->datasis->sinvcarga($codigo, $alma, $monto); if ($monto > 0 && $this->peso_entradas > 0) { // Entrada $peso = $this->pesos[$codigo] * $monto; $participa = $peso / $this->peso_entradas; $ncosto = round($this->costo_salidas * $participa / $monto, 2); if ($ncosto > 0) { $mycosto = "IF(formcal='P',pond,IF(formcal='U',{$ncosto},IF(formcal='S',standard,GREATEST(pond,ultimo))))"; $mSQL = 'UPDATE sinv SET ultimo =' . $ncosto . ', base1 =ROUND(precio1*10000/(100+iva))/100, base2 =ROUND(precio2*10000/(100+iva))/100, base3 =ROUND(precio3*10000/(100+iva))/100, base4 =ROUND(precio4*10000/(100+iva))/100, margen1=ROUND(10000-((' . $mycosto . ')*10000/base1))/100, margen2=ROUND(10000-((' . $mycosto . ')*10000/base2))/100, margen3=ROUND(10000-((' . $mycosto . ')*10000/base3))/100, margen4=ROUND(10000-((' . $mycosto . ')*10000/base4))/100 WHERE codigo=' . $dbcodigo; $ban = $this->db->simple_query($mSQL); if (!$ban) { memowrite($mSQL, 'conv'); } } } } //trafrac ittrafrac logusu('conv', "Conversion {$numero} CREADA"); }
function _cargar($control, $nfiscal, $almacen, $dias) { $control = $this->db->escape($control); $farmaxDB = $this->load->database('farmax', true); $farmaxdb = $farmaxDB->database; $localdb = $this->db->database; $retorna = ''; $sql = "SELECT COUNT(*) AS cana\n\t\t FROM {$farmaxdb}.itscst AS a\n\t\t LEFT JOIN {$localdb}.sinv AS b ON a.codigo=b.codigo\n\t\t LEFT JOIN {$localdb}.farmaxasig AS c ON a.codigo=c.barras AND c.proveed=a.proveed\n\t\tWHERE a.control={$control} AND b.codigo IS NULL AND c.abarras IS NULL"; $query = $this->db->query($sql); if ($query->num_rows() > 0) { $row = $query->row_array(); if ($row['cana'] == 0) { //$query=$farmaxDB->query("SELECT * FROM scst WHERE control=$control AND pcontrol IS NULL"); $query = $farmaxDB->query("SELECT * FROM scst WHERE control={$control}"); if ($query->num_rows() == 1) { $row = $query->row_array(); $pcontrol = $row['pcontrol']; if ($this->_btn_cargar($pcontrol)) { $lcontrol = $this->datasis->fprox_numero('nscst'); $transac = $this->datasis->fprox_numero('ntransa'); $contribu = $this->datasis->traevalor('CONTRIBUYENTE'); $rif = $this->datasis->traevalor('RIF'); $estampa = date('Ymd'); $hora = date('H:i:s'); $numero = $row['numero']; $proveed = $row['proveed']; $row['serie'] = $numero; $row['numero'] = substr($numero, -8); $row['control'] = $lcontrol; $row['transac'] = $transac; $row['nfiscal'] = $nfiscal; $row['credito'] = $row['montonet']; $row['anticipo'] = 0; $row['inicial'] = 0; $row['estampa'] = $estampa; $row['hora'] = $hora; $row['usuario'] = $this->session->userdata('usuario'); $row['depo'] = $almacen; $cd = strtotime($row['fecha']); $row['vence'] = date('Y-m-d', mktime(0, 0, 0, date('m', $cd), date('d', $cd) + $dias, date('Y', $cd))); $mmsql = "SELECT iva,SUM(montoiva) AS monto,SUM(importe) AS base FROM itscst WHERE control={$control} GROUP BY iva"; $m_iva = $farmaxDB->query($mmsql); $ivas = $this->datasis->ivaplica($row['fecha']); $tasa = $redutasa = $sobretasa = $exento = $basetasa = $baseredu = $baseadicio = 0; foreach ($m_iva->result_array() as $ivarow) { if ($ivarow['iva'] == $ivas['redutasa']) { $redutasa += $ivarow['monto']; $baseredu += $ivarow['base']; } elseif ($ivarow['iva'] == $ivas['tasa']) { $tasa += $ivarow['monto']; $basetasa += $ivarow['base']; } elseif ($ivarow['iva'] == $ivas['sobretasa']) { $sobretasa += $ivarow['monto']; $baseadicio += $ivarow['base']; } elseif ($ivarow['iva'] == 0) { $exento += $ivarow['base']; } } $row['reducida'] = $redutasa; $row['tasa'] = $tasa; $row['sobretasa'] = $sobretasa; $row['monredu'] = $redutasa; $row['montasa'] = $tasa; $row['monadic'] = $sobretasa; $row['ctotal'] = $row['montonet']; $row['cstotal'] = $row['montotot']; $row['cexento'] = $exento; $row['cimpuesto'] = $redutasa + $tasa + $sobretasa; $row['cgenera'] = $basetasa; $row['civagen'] = $tasa; $row['cadicio'] = $baseadicio; $row['civaadi'] = $sobretasa; $row['creduci'] = $baseredu; $row['civared'] = $redutasa; unset($row['pcontrol']); if ($contribu == 'ESPECIAL' && strtoupper($rif[0]) != 'V') { $por_rete = $this->datasis->dameval('SELECT reteiva FROM sprv WHERE proveed=' . $this->db->escape($row['proveed'])); if ($por_rete != 100) { $por_rete = 0.75; } else { $por_rete = $por_rete / 100; } $row['reteiva'] = round($row['montoiva'] * $por_rete, 2); } $mSQL[] = $this->db->insert_string('scst', $row); $itquery = $farmaxDB->query("SELECT * FROM itscst WHERE control={$control}"); //echo "SELECT * FROM itscst WHERE control=$control"; $esstd = $this->datasis->traevalor('SCSTSD'); foreach ($itquery->result_array() as $itrow) { $codigo = $this->datasis->dameval('SELECT abarras FROM farmaxasig WHERE barras=' . $this->db->escape($itrow['codigo']) . ' AND proveed=' . $this->db->escape($proveed)); $itrow['codigo'] = $codigo; $itrow['control'] = $lcontrol; $itrow['usuario'] = $this->session->userdata('usuario'); $itrow['estampa'] = $estampa; $itrow['hora'] = $hora; $itrow['transac'] = $transac; if ($esstd == 'F') { $itrow['rmargen'] = 'S'; } unset($itrow['id']); if (isset($itrow['pmanual'])) { unset($itrow['pmanual']); } $mSQL[] = $this->db->insert_string('itscst', $itrow); } foreach ($mSQL as $sql) { $rt = $this->db->simple_query($sql); if (!$rt) { memowrite($sql, 'scstfarma'); } } $sql = "UPDATE scst SET pcontrol='{$lcontrol}' WHERE control={$control}"; $rt = $farmaxDB->simple_query($sql); if (!$rt) { memowrite($sql, 'farmaejec'); } /*$mSQL="UPDATE ${localdb}.itscst AS a JOIN ${localdb}.farmaxasig AS b ON a.codigo=b.barras AND a.proveed=b.proveed SET a.codigo=b.abarras WHERE a.control='$lcontrol'"; $rt=$this->db->simple_query($mSQL); if(!$rt){ memowrite('farmaejec1',$sql);}*/ logusu('scst', "Compra {$numero} control {$lcontrol} CARGADA DESDE FarmaSIS"); $retorna = 'Compra guardada con el control ' . $lcontrol; //.anchor("compras/scst/dataedit/show/${lcontrol}",$lcontrol); } else { $retorna = 'Al parecer la factura fue ya pasada'; } } else { $retorna = 'Control no existe'; } } else { $retorna = 'No se puede pasar porque hay productos que no existen en inventario'; } } else { $retorna = 'Error en la consulta'; } return $retorna; }
function _post_insert($do) { $primary = $do->get('id'); $error = 0; $montan = 0; // Monto para anticipar $sobrante = 0; // Monto sobrante para anticipar, reitegrar o pagar $abonado = 0; // Abonado si alguna factura esta pagada $rp = false; // Bandera para indicar retencion pendiente $transac = $do->get('transac'); $estampa = $do->get('estampa'); $hora = $do->get('hora'); $cod_cli = $do->get('cod_cli'); $nombre = $do->get('nombre'); $estampa = $do->get('estampa'); $usuario = $do->get('usuario'); $hora = $do->get('hora'); $operacion = $do->get('operacion'); $periodo = $do->get('periodo'); $id = $do->get('id'); $numero = $do->get('nrocomp'); $comprob = $periodo . $numero; $dbcod_cli = $this->db->escape($cod_cli); $dbtransac = $this->db->escape($transac); $efecha = $do->get('emision'); $fecha = $do->get('fecha'); $ex_fecha = explode('-', $fecha); $vence = $ex_fecha[0] . $ex_fecha[1] . days_in_month($ex_fecha[1], $ex_fecha[0]); $mNUMERO = 'R' . str_pad($primary, $this->datasis->long - 1, '0', STR_PAD_LEFT); $mSQL = "DELETE FROM smov WHERE transac={$dbtransac}"; $ban = $this->db->simple_query($mSQL); if ($ban == false) { memowrite($mSQL, 'RIVC'); } $arr_dev = array(); $cli_dev = 0; $rel = 'itrivc'; $cana = $do->count_rel($rel); for ($i = 0; $i < $cana; $i++) { $ittipo_doc = $do->get_rel($rel, 'tipo_doc', $i); $itnumero = $do->get_rel($rel, 'numero', $i); $itfecha = $do->get_rel($rel, 'fecha', $i); $itmonto = floatval($do->get_rel($rel, 'reiva', $i)); $dbitnumero = $this->db->escape($itnumero); $dbittipo_doc = $this->db->escape($ittipo_doc); //Chequea que su origen sea sfac if ($ittipo_doc == 'F' || $ittipo_doc == 'D') { $sql = "SELECT referen,reiva,factura,cod_cli,nombre FROM sfac WHERE numero={$dbitnumero} AND tipo_doc={$dbittipo_doc}"; $query = $this->db->query($sql); if ($query->num_rows() > 0) { $row = $query->row(); $anterior = $row->reiva; $itreferen = $row->referen; $itfactura = $row->factura; } if ($anterior == 0) { $mSQL = "UPDATE sfac SET reiva={$itmonto}, creiva='{$periodo}{$numero}', freiva='{$fecha}', ereiva='{$efecha}' WHERE numero={$dbitnumero} AND tipo_doc={$dbittipo_doc}"; $ban = $this->db->simple_query($mSQL); if ($ban == false) { memowrite($mSQL, 'rivc'); } } } else { //En caso de provenir de smov if ($ittipo_doc == 'NC') { $mSQL = "UPDATE smov SET reteiva={$itmonto}, nroriva='{$periodo}{$numero}', emiriva='{$efecha}' WHERE numero={$dbitnumero} AND tipo_doc={$dbittipo_doc} AND cod_cli={$dbcod_cli} LIMIT 1"; $ban = $this->db->simple_query($mSQL); if ($ban == false) { memowrite($mSQL, 'rivc'); } $itreferen = 'E'; } else { $itreferen = 'C'; } } //Chequea si es credito y si tiene saldo if ($itreferen == 'C') { $iittipo_doc = $ittipo_doc == 'F' ? 'FC' : $ittipo_doc; $dbiittipo_doc = $this->db->escape($iittipo_doc); $saldo = floatval($this->datasis->dameval("SELECT monto-abonos FROM smov WHERE tipo_doc={$dbiittipo_doc} AND numero={$dbitnumero}")); } else { if ($ittipo_doc == 'F') { //Busca un tipo de pago RP $sel = array('b.monto - b.abonos AS saldo', 'b.numero'); $this->db->select($sel); $this->db->from('sfac AS a'); $this->db->join('smov AS b', 'a.cod_cli=b.cod_cli AND a.transac=b.transac AND a.fecha=b.fecha'); $this->db->where('a.tipo_doc', 'F'); $this->db->where('b.tipo_doc', 'ND'); $this->db->where('a.numero', $itnumero); $query = $this->db->get(); if ($query->num_rows() > 0) { $row = $query->row(); $ittipo_doc = 'ND'; $itnumero = $row->numero; $saldo = floatval($row->saldo); $rp = true; } else { $saldo = 0; } } else { $saldo = 0; } } //Si es una factura o una nota de debito por causa o no causa de una RP if ($ittipo_doc == 'F' || $ittipo_doc == 'ND') { //Si el saldo es 0 o menor que el monto retenido if ($saldo == 0) { $sobrante += $itmonto; } else { //Como tiene saldo pendiente crea una NC y la aplica a la FC $aplmonto = $itmonto > $saldo ? $saldo : $itmonto; $sobrante += $itmonto - $aplmonto; $mnumnc = 'I' . $this->datasis->fprox_numero('ncint', -1); //$this->datasis->fprox_numero('nccli'); $data = array(); $data['cod_cli'] = $cod_cli; $data['nombre'] = $nombre; $data['tipo_doc'] = 'NC'; $data['numero'] = $mnumnc; $data['fecha'] = $fecha; $data['monto'] = $aplmonto; $data['impuesto'] = 0; $data['abonos'] = $aplmonto; $data['vence'] = $fecha; $data['tipo_ref'] = $rp || $ittipo_doc == 'F' ? 'FC' : $ittipo_doc; $data['num_ref'] = $do->get_rel($rel, 'numero', $i); $data['observa1'] = 'APLICACION DE RET/IVA A FC' . $do->get_rel($rel, 'numero', $i); $data['estampa'] = $estampa; $data['hora'] = $hora; $data['transac'] = $transac; $data['usuario'] = $usuario; $data['codigo'] = 'NOCON'; $data['descrip'] = 'NOTA DE CONTABILIDAD'; $data['fecdoc'] = $itfecha; $data['nroriva'] = $comprob; $data['emiriva'] = $efecha; $mSQL = $this->db->insert_string('smov', $data); $ban = $this->db->simple_query($mSQL); if ($ban == false) { memowrite($mSQL, 'rivc'); } //Aplica la NC a la FC o ND segun sea el caso $data = array(); $data['numccli'] = $itnumero; $data['tipoccli'] = $ittipo_doc == 'F' ? 'FC' : 'ND'; $data['cod_cli'] = $cod_cli; $data['tipo_doc'] = 'NC'; $data['numero'] = $mnumnc; $data['fecha'] = $fecha; $data['monto'] = $aplmonto; $data['abono'] = $aplmonto; $data['ppago'] = 0; $data['reten'] = 0; $data['cambio'] = 0; $data['mora'] = 0; $data['transac'] = $transac; $data['estampa'] = $estampa; $data['hora'] = $hora; $data['usuario'] = $usuario; $data['reteiva'] = 0; $data['nroriva'] = ''; $data['emiriva'] = ''; $data['recriva'] = ''; $mSQL = $this->db->insert_string('itccli', $data); $ban = $this->db->simple_query($mSQL); if ($ban == false) { memowrite($mSQL, 'rivc'); } // Abona la factura $tiposfac = $ittipo_doc == 'F' ? 'FC' : 'ND'; $mSQL = "UPDATE smov SET abonos=abonos+{$aplmonto} WHERE numero='{$itnumero}' AND cod_cli={$dbcod_cli} AND tipo_doc='{$tiposfac}'"; $ban = $this->db->simple_query($mSQL); if ($ban == false) { memowrite($mSQL, 'rivc'); } } $mnumnd = 'I' . $this->datasis->fprox_numero('ndint', -1); //$this->datasis->fprox_numero('ndcli'); $data = array(); $data['cod_cli'] = 'REIVA'; $data['nombre'] = 'RETENCION DE I.V.A. POR COMPENSAR'; $data['tipo_doc'] = 'ND'; $data['numero'] = $mnumnd; $data['fecha'] = $fecha; $data['monto'] = $itmonto; $data['impuesto'] = 0; $data['abonos'] = 0; $data['vence'] = $vence; $data['tipo_ref'] = 'FC'; $data['num_ref'] = $do->get_rel($rel, 'numero', $i); $data['observa1'] = 'RET/IVA DE ' . $cod_cli . ' A DOC. FC' . $do->get_rel($rel, 'numero', $i); $data['estampa'] = $estampa; $data['hora'] = $hora; $data['transac'] = $transac; $data['usuario'] = $usuario; $data['codigo'] = 'NOCON'; $data['descrip'] = 'NOTA DE CONTABILIDAD'; $data['nroriva'] = $comprob; $data['emiriva'] = $efecha; $mSQL = $this->db->insert_string('smov', $data); $ban = $this->db->simple_query($mSQL); if ($ban == false) { memowrite($mSQL, 'RIVC'); } } else { //Si es una devolucion // Devoluciones genera un ND al cliente $mnumnd = 'I' . $this->datasis->fprox_numero('ndint', -1); //$this->datasis->fprox_numero('ndcli'); $data = array(); $data['cod_cli'] = $cod_cli; $data['nombre'] = $nombre; $data['tipo_doc'] = 'ND'; $data['numero'] = $mnumnd; $data['fecha'] = $fecha; $data['monto'] = $itmonto; $data['impuesto'] = 0; $data['abonos'] = 0; $data['vence'] = $fecha; $data['tipo_ref'] = $ittipo_doc == 'F' ? 'FC' : 'DV'; $data['num_ref'] = $itnumero; $data['observa1'] = 'RET/IVA DE ' . $cod_cli . ' A DOC. ' . $ittipo_doc . $itnumero; $data['estampa'] = $estampa; $data['hora'] = $hora; $data['transac'] = $transac; $data['usuario'] = $usuario; $data['nroriva'] = $comprob; $data['emiriva'] = $efecha; $mSQL = $this->db->insert_string('smov', $data); $ban = $this->db->simple_query($mSQL); if ($ban == false) { memowrite($mSQL, 'rivc'); } $arr_dev[$mnumnd] = $itmonto; $cli_dev += $itmonto; //Devoluciones debe crear un NC si esta en el periodo $mnumnc = 'I' . $this->datasis->fprox_numero('ncint', -1); //$this->datasis->fprox_numero('nccli'); $data = array(); $data['cod_cli'] = 'REIVA'; $data['nombre'] = 'RETENCION DE I.V.A. POR COMPENSAR'; $data['tipo_doc'] = 'NC'; $data['numero'] = $mnumnc; $data['fecha'] = $fecha; $data['monto'] = $itmonto; $data['impuesto'] = 0; $data['abonos'] = 0; $data['vence'] = $fecha; $data['tipo_ref'] = $ittipo_doc == 'F' ? 'FC' : $ittipo_doc == 'NC' ? 'NC' : 'DV'; $data['num_ref'] = $itnumero; $data['observa1'] = 'RET/IVA DE ' . $cod_cli . ' A DOC.' . $ittipo_doc . $itnumero; $data['estampa'] = $estampa; $data['hora'] = $hora; $data['transac'] = $transac; $data['usuario'] = $usuario; $data['codigo'] = 'NOCON'; $data['descrip'] = 'NOTA DE CONTABILIDAD'; $data['nroriva'] = $comprob; $data['emiriva'] = $efecha; $mSQL = $this->db->insert_string('smov', $data); $ban = $this->db->simple_query($mSQL); if ($ban == false) { memowrite($mSQL, 'rivc'); } if ($ittipo_doc != 'NC') { //Aplica la NC a la ND si es posible a REIVA //$mnumnd; $fecha; $this->db->select(array('a.numero', 'a.fecha', 'a.monto - a.abonos AS saldo')); $this->db->from('smov AS a'); $this->db->join('itrivc AS b', 'a.transac=b.transac AND a.fecha=b.fecha AND a.num_ref=b.numero'); $this->db->where('b.numero', $itfactura); $this->db->where('b.tipo_doc', 'F'); $this->db->where('a.tipo_doc', 'ND'); $this->db->where('a.cod_cli', 'REIVA'); $qquery = $this->db->get(); if ($qquery->num_rows() == 1) { $rrrow = $qquery->row(); if ($rrrow->saldo >= $itmonto) { $data = array(); $data['numccli'] = $mnumnc; $data['tipoccli'] = 'NC'; $data['cod_cli'] = 'REIVA'; $data['tipo_doc'] = 'ND'; $data['numero'] = $rrrow->numero; $data['fecha'] = $rrrow->fecha; $data['monto'] = $itmonto; $data['abono'] = $itmonto; $data['ppago'] = 0; $data['reten'] = 0; $data['cambio'] = 0; $data['mora'] = 0; $data['transac'] = $transac; $data['estampa'] = $estampa; $data['hora'] = $hora; $data['usuario'] = $usuario; $data['reteiva'] = 0; $data['nroriva'] = ''; $data['emiriva'] = ''; $data['recriva'] = ''; $mSQL = $this->db->insert_string('itccli', $data); $ban = $this->db->simple_query($mSQL); if ($ban == false) { memowrite($mSQL, 'rivc'); } //Abona la ND $dbfecha = $this->db->escape($rrrow->fecha); $dbnumero = $this->db->escape($rrrow->numero); $mSQL = "UPDATE smov SET abonos=abonos+{$itmonto}\n\t\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\tcod_cli ='REIVA' AND\n\t\t\t\t\t\t\ttipo_doc='ND' AND\n\t\t\t\t\t\t\tnumero = {$dbnumero} AND\n\t\t\t\t\t\t\tfecha = {$dbfecha}"; $ban = $this->db->simple_query($mSQL); if ($ban == false) { memowrite($mSQL, 'rivc'); } //Abona la NC $dbfecha = $this->db->escape($fecha); $dbnumero = $this->db->escape($mnumnc); $mSQL = "UPDATE smov SET abonos=monto\n\t\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\tcod_cli ='REIVA' AND\n\t\t\t\t\t\t\ttipo_doc='NC' AND\n\t\t\t\t\t\t\tnumero = {$dbnumero} AND\n\t\t\t\t\t\t\tfecha = {$dbfecha}"; $ban = $this->db->simple_query($mSQL); if ($ban == false) { memowrite($mSQL, 'rivc'); } } } } } } //Chequea si es un reintegro para crear un solo egreso de caja if ($sobrante > 0) { //Revisa si tiene que cruzar sobrante if (count($arr_dev) > 0) { $aplmonto = $cli_dev > $sobrante ? $sobrante : $cli_dev; $mnumnc = 'I' . $this->datasis->fprox_numero('ncint', -1); //$this->datasis->fprox_numero('nccli'); $data = array(); $data['cod_cli'] = $cod_cli; $data['nombre'] = $nombre; $data['tipo_doc'] = 'NC'; $data['numero'] = $mnumnc; $data['fecha'] = $fecha; $data['monto'] = $aplmonto; $data['impuesto'] = 0; $data['abonos'] = $aplmonto; $data['vence'] = $fecha; $data['tipo_ref'] = ''; $data['num_ref'] = ''; $data['observa1'] = 'SOBRANTE DE RET/IVA ' . $comprob; $data['estampa'] = $estampa; $data['hora'] = $hora; $data['transac'] = $transac; $data['usuario'] = $usuario; $data['codigo'] = 'NOCON'; $data['descrip'] = 'NOTA DE CONTABILIDAD'; $data['fecdoc'] = $fecha; $data['nroriva'] = $comprob; $data['emiriva'] = $efecha; $mSQL = $this->db->insert_string('smov', $data); $ban = $this->db->simple_query($mSQL); if ($ban == false) { memowrite($mSQL, 'rivc'); } foreach ($arr_dev as $num => $valor) { if ($sobrante == 0) { break; } if ($sobrante >= $valor) { $sobrante -= $valor; } else { $valor = $sobrante; $sobrante = 0; } $data = array(); $data['numccli'] = $mnumnc; $data['tipoccli'] = 'NC'; $data['cod_cli'] = $cod_cli; $data['tipo_doc'] = 'ND'; $data['numero'] = $num; $data['fecha'] = $fecha; $data['monto'] = $valor; $data['abono'] = $valor; $data['ppago'] = 0; $data['reten'] = 0; $data['cambio'] = 0; $data['mora'] = 0; $data['transac'] = $transac; $data['estampa'] = $estampa; $data['hora'] = $hora; $data['usuario'] = $usuario; $data['reteiva'] = 0; $data['nroriva'] = ''; $data['emiriva'] = ''; $data['recriva'] = ''; $mSQL = $this->db->insert_string('itccli', $data); $ban = $this->db->simple_query($mSQL); if ($ban == false) { memowrite($mSQL, 'rivc'); } //Abona la ND $dbfecha = $this->db->escape($fecha); $dbnumero = $this->db->escape($num); $mSQL = "UPDATE smov SET abonos=monto\n\t\t\t\t\tWHERE\n\t\t\t\t\tcod_cli ={$dbcod_cli} AND\n\t\t\t\t\ttipo_doc='ND' AND\n\t\t\t\t\tnumero = {$dbnumero} AND\n\t\t\t\t\ttransac = {$dbtransac}"; $ban = $this->db->simple_query($mSQL); if ($ban == false) { memowrite($mSQL, 'rivc'); } } } //Fin del cruce del sobrante if ($operacion == 'A' && $sobrante > 0) { $mnumant = $this->datasis->fprox_numero('nancli'); $data = array(); $data['cod_cli'] = $cod_cli; $data['nombre'] = $nombre; $data['tipo_doc'] = 'AN'; $data['numero'] = $mnumant; $data['fecha'] = $fecha; $data['monto'] = $sobrante; $data['impuesto'] = 0; $data['vence'] = $fecha; $data['tipo_ref'] = 'CR'; $data['num_ref'] = $numero; $data['observa1'] = 'RET/IVA DE ' . $cod_cli . ' A CR' . $comprob; $data['usuario'] = $usuario; $data['estampa'] = $estampa; $data['hora'] = $hora; $data['transac'] = $transac; $data['fecdoc'] = $fecha; $data['nroriva'] = $comprob; $data['emiriva'] = $efecha; $mSQL = $this->db->insert_string('smov', $data); $ban = $this->db->simple_query($mSQL); if ($ban == false) { memowrite($mSQL, 'RIVC'); } } elseif ($operacion == 'R' && $sobrante > 0) { $codbanc = $do->get('codbanc'); $datacar = common::_traebandata($codbanc); $sp_fecha = date('Ymd'); $ttipo = $datacar['tbanco']; $moneda = $datacar['moneda']; $negreso = $this->datasis->fprox_numero('negreso'); if ($ttipo == 'CAJ') { $numeroch = $this->datasis->fprox_numero('ncaja' . $codbanc); $tipo_op = 'ND'; $tipo1 = 'D'; } else { //Pago con banco, falta implementar $numeroch = 'NUMERO CHEQUE'; $tipo_op = 'CH'; $tipo1 = 'C'; } $data = array(); $data['codbanc'] = $codbanc; $data['moneda'] = $moneda; $data['numcuent'] = $datacar['numcuent']; $data['banco'] = $datacar['banco']; $data['saldo'] = $datacar['saldo']; $data['tipo_op'] = $tipo_op; $data['numero'] = $numeroch; $data['fecha'] = date('Y-m-d'); $data['clipro'] = 'C'; $data['codcp'] = $cod_cli; $data['nombre'] = $nombre; $data['monto'] = $sobrante; $data['concepto'] = 'REINTEGRO RET/IVA DE ' . $cod_cli; $data['concep2'] = ' CR' . $comprob; $data['benefi'] = ''; $data['posdata'] = ''; $data['abanco'] = ''; $data['liable'] = $ttipo == 'CAJ' ? 'S' : 'N'; $data['transac'] = $transac; $data['usuario'] = $usuario; $data['estampa'] = $estampa; $data['hora'] = $hora; $data['anulado'] = 'N'; $data['susti'] = ''; $data['negreso'] = $negreso; $sql = $this->db->insert_string('bmov', $data); $ban = $this->db->simple_query($sql); if ($ban == false) { memowrite($sql, 'rivc'); $error++; } $this->datasis->actusal($codbanc, $sp_fecha, -1 * $sobrante); } elseif ($operacion == 'P' && $sobrante > 0) { //Lo manda a cuenta por pagar $causado = $this->datasis->fprox_numero('ncausado'); $mnsprm = $mNUMERO; //$this->datasis->fprox_numero('num_nd'); $data = array(); $data['cod_prv'] = 'REINT'; $data['nombre'] = 'REINTEGROS CLIENTES'; $data['tipo_doc'] = 'ND'; $data['numero'] = $mnsprm; $data['fecha'] = $fecha; $data['monto'] = $sobrante; $data['impuesto'] = 0; $data['abonos'] = 0; $data['vence'] = $fecha; $data['observa1'] = 'CARGO A CXC RET/IVA CR ' . $comprob; $data['observa2'] = 'DEL CLIENTE ' . $cod_cli; $data['tipo_ref'] = 'CR'; $data['num_ref'] = $numero; $data['transac'] = $transac; $data['estampa'] = $estampa; $data['hora'] = $hora; $data['usuario'] = $usuario; $data['reteiva'] = 0; $data['montasa'] = 0; $data['monredu'] = 0; $data['monadic'] = 0; $data['tasa'] = 0; $data['reducida'] = 0; $data['sobretasa'] = 0; $data['exento'] = 0; $data['causado'] = $causado; $data['codigo'] = 'NOCON'; $data['descrip'] = 'NOTA DE CONTABILIDAD'; $sql = $this->db->insert_string('sprm', $data); $ban = $this->db->simple_query($sql); if ($ban == false) { memowrite($sql, 'rivc'); $error++; } $sql = 'UPDATE rivc SET sprmreinte=' . $this->db->escape($mnsprm) . ' WHERE id=' . $this->db->escape($id); $ban = $this->db->simple_query($sql); if ($ban == false) { memowrite($sql, 'rivc'); $error++; } } } $periodo = $do->get('periodo'); $nrocomp = $do->get('nrocomp'); $primary = implode(',', $do->pk); logusu($do->table, "Creo {$this->t**s} ID {$primary} {$periodo}{$nrocomp}"); return true; }
function creadordpt($id_ordp) { $error = 0; $url = 'inventario/ordp/dataedit/show/' . $id_ordp; $this->rapyd->uri->keep_persistence(); $persistence = $this->rapyd->session->get_persistence($url, $this->rapyd->uri->gfid); $back = isset($persistence['back_uri']) ? $persistence['back_uri'] : $url; $this->genesal = false; $mSQL = "INSERT IGNORE INTO caub (ubica,ubides,gasto) VALUES ('APRO','APARTADO DE PRODUCCION','N')"; $this->db->simple_query($mSQL); $mSQL = "INSERT IGNORE INTO caub (ubica,ubides,gasto) VALUES ('PROD','ALMACEN DE PRODUCCION','S')"; $this->db->simple_query($mSQL); $sel = array('a.fecha', 'a.almacen', 'a.numero', 'a.status', 'a.cana', 'a.codigo', 'b.descrip'); $this->db->select($sel); $this->db->from('ordp AS a'); $this->db->join('sinv AS b', 'a.codigo=b.codigo'); $this->db->where('a.id', $id_ordp); $mSQL_1 = $this->db->get(); if ($mSQL_1->num_rows() > 0) { $row = $mSQL_1->row(); $codigo = $row->codigo; $cana = $row->cana; if ($row->status == 'C') { //Hace la transferencia de lo producido al almacen $_POST = array('btn_submit' => 'Guardar', 'envia' => 'PROD', 'fecha' => dbdate_to_human($row->fecha), 'recibe' => $row->almacen, 'observ1' => 'FIN ORDEN DE PROD. ' . $row->numero); $id = '1'; $ind = 'codigo_' . $id; $_POST[$ind] = $codigo; $ind = 'descrip_' . $id; $_POST[$ind] = $row->descrip; $ind = 'cantidad_' . $id; $_POST[$ind] = $cana; $rt = $this->dataedit(); if (strripos($rt, 'Guardada')) { $data = array('status' => 'T'); $this->db->where('id', $id_ordp); $this->db->update('ordp', $data); } //Calcula los costos $itcosto = 0; $sel = array('a.cantidad', 'a.costo', 'a.fijo'); $this->db->select($sel); $this->db->from('ordpitem AS a'); $this->db->join('sinv AS b', 'a.codigo=b.codigo'); $this->db->where('a.id_ordp', $id_ordp); $mSQL_2 = $this->db->get(); $ordpitem_row = $mSQL_2->result(); foreach ($ordpitem_row as $itrow) { $itcosto += $itrow->fijo == 'S' ? $itrow->costo : $itrow->costo * $itrow->cantidad; } $sel = array('a.porcentaje', 'a.tipo'); $this->db->select($sel); $this->db->from('ordpindi AS a'); $this->db->where('a.id_ordp', $id_ordp); $mSQL_4 = $this->db->get(); $ordpindi_row = $mSQL_4->result(); $costo = $itcosto; foreach ($ordpindi_row as $itrow) { $costo += $itrow->tipo == 'M' ? $itrow->porcentaje / $cana : $itrow->porcentaje * $itcosto / 100; } $costo = round($costo, 2); $data = array('ultimo' => $costo, 'formcal' => 'U'); $this->db->where('codigo', $codigo); $this->db->update('sinv', $data); $dbcodigo = $this->db->escape($codigo); $mSQL = "UPDATE sinv SET\n\t\t\t\tpond = IF(existen IS NULL,{$costo},(existen*pond+{$costo}*{$cana})/(existen+{$cana})),\n\t\t\t\tbase1 = {$costo}*100/(100-margen1),\n\t\t\t\tbase2 = {$costo}*100/(100-margen2),\n\t\t\t\tbase3 = {$costo}*100/(100-margen3),\n\t\t\t\tbase4 = {$costo}*100/(100-margen4),\n\t\t\t\tprecio1= {$costo}*100*(1+(iva/100))/(100-margen1),\n\t\t\t\tprecio2= {$costo}*100*(1+(iva/100))/(100-margen2),\n\t\t\t\tprecio3= {$costo}*100*(1+(iva/100))/(100-margen3),\n\t\t\t\tprecio4= {$costo}*100*(1+(iva/100))/(100-margen4)\n\t\t\t\tWHERE codigo={$dbcodigo}"; $ban = $this->db->simple_query($mSQL); if (!$ban) { memowrite($mSQL, 'straordp'); $error++; } echo $rt . ' ' . anchor($back, 'regresar'); } else { redirect($back); } } else { exit; } }
function _pre_delete($do) { $tipo = $do->get('tipo'); $transac = $do->get('transac'); $numero = $do->get('numero'); $almacen = $do->get('almacen'); $dbtransac = $this->db->escape($transac); $dbnumero = $this->db->escape($numero); $dbalmacen = $this->db->escape($almacen); if ($tipo == 'C') { $do->error_message_ar['pre_del'] = 'La nota de entrega esta cerrada, no se puede anular'; return false; } if ($tipo == 'A') { $do->error_message_ar['pre_del'] = 'La nota de entrega ya fue anulada en otro momento'; return false; } if ($tipo == 'E') { $abonos = $this->datasis->dameval('SELECT abonos FROM smov WHERE transac=' . $dbtransac); if ($abonos > 0) { $do->error_message_ar['pre_del'] = 'La nota de debito relacionada a esta nota esta abonada, debe primero reversar el pago.'; return false; } $mSQL = 'UPDATE sinv JOIN itsnte ON sinv.codigo=itsnte.codigo SET sinv.existen=sinv.existen+itsnte.cana WHERE itsnte.numero=' . $dbnumero; $ban = $this->db->simple_query($mSQL); if ($ban == false) { memowrite($mSQL, 'snte'); } $mSQL = 'UPDATE itsinv JOIN itsnte ON itsinv.codigo=itsnte.codigo SET itsinv.existen=itsinv.existen+itsnte.cana WHERE itsnte.numero=' . $dbnumero . ' AND itsinv.alma=' . $dbalmacen; $ban = $this->db->simple_query($mSQL); if ($ban == false) { memowrite($mSQL, 'snte'); } $mSQL = "UPDATE snte SET tipo='A' WHERE numero = {$dbnumero}"; $ban = $this->db->simple_query($mSQL); if ($ban == false) { memowrite($mSQL, 'snte'); } $do->error_message_ar['pre_del'] = 'La nota de entrega fue anulada'; return false; } $do->error_message_ar['pre_del'] = 'Accion no valida'; return false; }
function _transferendep($fecha, $tarjeta, $tdebito, $cheque, $efectivo, $comision, $islr, $envia, $recibe, $moneda = 'Bs') { if ($monto <= 0) { return true; } $numero = $this->datasis->fprox_numero('nbcaj'); $transac = $this->datasis->fprox_numero('ntransa'); $numeroe = $this->datasis->banprox($envia); $numeror = $this->datasis->banprox($recibe); $sp_fecha = str_replace('-', '', $fecha); $error = 0; $this->bcajnumero = $numero; $mSQL = 'SELECT codbanc,numcuent,tbanco,banco,saldo FROM banc WHERE codbanc IN (' . $this->db->escape($envia) . ',' . $this->db->escape($recibe) . ')'; $query = $this->db->query($mSQL); $infbanc = array(); if ($query->num_rows() > 0) { foreach ($query->result() as $row) { $infbanc[$row->codbanc]['numcuent'] = $row->numcuent; $infbanc[$row->codbanc]['tbanco'] = $row->tbanco; $infbanc[$row->codbanc]['banco'] = $row->banco; $infbanc[$row->codbanc]['saldo'] = $row->banco; } } $monto = $tarjeta + $tdebito + $cheques - $comision - $islr; $data = array('tipo' => 'DE', 'fecha' => $fecha, 'numero' => $numero, 'transac' => $transac, 'usuario' => $this->session->userdata('usuario'), 'envia' => $edit->envia->newValue, 'tipoe' => 'ND', 'numeroe' => $numeroe, 'bancoe' => $infbanc[$envia]['banco'], 'recibe' => $edit->recibe->newValue, 'tipor' => 'DE', 'numeror' => $numeror, 'bancor' => $infbanc[$recibe]['banco'], 'concepto' => 'DEPOSITO ENTRE ' . $envia . ' A ' . $recibe, 'concep2' => '', 'benefi' => '', 'boleta' => '', 'precinto' => '', 'comprob' => '', 'totcant' => '', 'status' => '', 'deldia' => $fecha, 'tarjeta' => $edit->tarjeta->newValue, 'tdebito' => $edit->tdebito->newValue, 'cheques' => $edit->cheques->newValue, 'efectivo' => $edit->efectivo->newValue, 'comision' => $edit->comision->newValue, 'islr' => $edit->islr->newValue, 'monto' => $monto, 'estampa' => date('Ymd'), 'hora' => date('H:i:s')); $sql = $this->db->insert_string('bcaj', $data); $ban = $this->db->simple_query($sql); if ($ban == false) { memowrite($sql, 'bcaj'); $error++; } else { $this->bcaj_id = $this->db->insert_id(); } //Crea el egreso en el banco $this->datasis->actusal($envia, $sp_fecha, -1 * $monto); $data = array(); $data['codbanc'] = $envia; $data['numcuent'] = $infbanc[$envia]['numcuent']; $data['banco'] = $infbanc[$envia]['banco']; $data['saldo'] = $infbanc[$envia]['saldo']; $data['tipo_op'] = 'ND'; $data['numero'] = $numeroe; $data['fecha'] = $fecha; $data['clipro'] = 'O'; $data['codcp'] = 'CAJAS'; $data['monto'] = $monto; $data['concepto'] = 'DEPOSITO ENTRE CAJA ' . $envia . ' A ' . $recibe; $data['concep2'] = ''; $data['transac'] = $transac; $data['usuario'] = $this->session->userdata('usuario'); $data['estampa'] = date('Ymd'); $data['hora'] = date('H:i:s'); $data['benefi'] = '-'; $data['moneda'] = $moneda; $sql = $this->db->insert_string('bmov', $data); $ban = $this->db->simple_query($sql); if ($ban == false) { memowrite($sql, 'bcaj'); $error++; } //Crea el ingreso la otra caja $this->datasis->actusal($recibe, $sp_fecha, $monto); $data = array(); $data['codbanc'] = $recibe; $data['numcuent'] = $infbanc[$recibe]['numcuent']; $data['banco'] = $infbanc[$recibe]['banco']; $data['saldo'] = $infbanc[$recibe]['saldo']; $data['tipo_op'] = 'DE'; $data['numero'] = $numeror; $data['fecha'] = $fecha; $data['clipro'] = 'O'; $data['codcp'] = 'CAJAS'; $data['monto'] = $monto; $data['concepto'] = 'DEPOSITO ENTRE CAJA ' . $envia . ' A ' . $recibe; $data['concep2'] = ''; $data['transac'] = $transac; $data['usuario'] = $this->session->userdata('usuario'); $data['estampa'] = date('Ymd'); $data['hora'] = date('H:i:s'); $data['benefi'] = '-'; $data['moneda'] = $moneda; $sql = $this->db->insert_string('bmov', $data); $ban = $this->db->simple_query($sql); if ($ban == false) { memowrite($sql, 'bcaj'); $error++; } return $error == 0 ? true : false; }
function _post_insert($do) { $codbanc = $do->get('codb1'); $codprv = $do->get('proveed'); $numero = $do->get('numero'); $fecha = $do->get('fecha'); $fechafac = $do->get('ffactura'); $montasa = $do->get('montasa'); $monredu = $do->get('monredu'); $monadic = $do->get('monadic'); $tasa = $do->get('tasa'); $reducida = $do->get('reducida'); $sobretasa = $do->get('sobretasa'); $exento = $do->get('exento'); $causado = $do->get('ncausado'); $negreso = $do->get('negreso'); $transac = $do->get('transac'); $cheque = $do->get('cheque1'); $monto1 = $do->get('monto1'); $tipo1 = $do->get('tipo1'); $codb1 = $do->get('codb1'); $reiva = $do->get('reteiva'); $reten = $do->get('reten'); $nfiscal = $do->get('nfiscal'); $tipo = $do->get('tipo_doc'); $afecta = $do->get('afecta'); $estampa = $do->get('estampa'); $usuario = $do->get('usuario'); $hora = $do->get('hora'); $nombre = $do->get('nombre'); $totiva = $do->get('totiva'); $credito = $do->get('credito'); $fondo = $do->get('fondo'); $reteter = $do->get('reteter'); $tercero = $do->get('tercero'); $totbruto = $do->get('totbruto'); $totneto = $do->get('totneto'); $totcred = round($totneto - $monto1, 2); //Crea el movimiento para la retencion ISLR if ($reten > 0) { $mnsprm = $this->datasis->fprox_numero('num_nd'); $control = $this->datasis->fprox_numero('nsprm'); $data = array(); $data['cod_prv'] = 'RETEN'; $data['nombre'] = 'RETENCIONES POR ENTERAR'; $data['tipo_doc'] = 'ND'; $data['numero'] = $mnsprm; $data['fecha'] = $fecha; $data['monto'] = $reten; $data['impuesto'] = 0; $data['abonos'] = 0; $data['vence'] = $fecha; $data['tipo_ref'] = $tipo; $data['num_ref'] = $numero; $data['observa1'] = 'RET/I.S.L.R. CAUSADA EN'; $data['observa2'] = 'FACTURA # ' . $numero . ' DE FECHA ' . $fechafac; $data['transac'] = $transac; $data['estampa'] = $estampa; $data['hora'] = $hora; $data['usuario'] = $usuario; $data['reteiva'] = 0; $data['montasa'] = 0; $data['monredu'] = 0; $data['monadic'] = 0; $data['tasa'] = 0; $data['reducida'] = 0; $data['sobretasa'] = 0; $data['exento'] = 0; $data['control'] = $control; $data['codigo'] = 'NOCON'; $data['descrip'] = 'NOTA DE CONTABILIDAD'; $sql = $this->db->insert_string('sprm', $data); $ban = $this->db->simple_query($sql); if ($ban == false) { memowrite($sql, 'gser'); } } //Fin de la retencion ISLR //Crea el movimiento para la retencion de IVA if ($reiva > 0) { $mnsprm = $this->datasis->fprox_numero('num_nd'); $control = $this->datasis->fprox_numero('nsprm'); $data = array(); $data['cod_prv'] = 'REIVA'; $data['nombre'] = 'RETENCIONES POR ENTERAR'; $data['tipo_doc'] = 'ND'; $data['numero'] = $mnsprm; $data['fecha'] = $fecha; $data['monto'] = $reiva; $data['impuesto'] = 0; $data['abonos'] = 0; $data['vence'] = $fecha; $data['tipo_ref'] = $tipo; $data['num_ref'] = $numero; $data['observa1'] = 'RET/IVA CAUSADA EN'; $data['observa2'] = 'FACTURA # ' . $numero . ' DE FECHA ' . $fechafac; $data['transac'] = $transac; $data['estampa'] = $estampa; $data['hora'] = $hora; $data['usuario'] = $usuario; $data['reteiva'] = 0; $data['montasa'] = 0; $data['monredu'] = 0; $data['monadic'] = 0; $data['tasa'] = 0; $data['reducida'] = 0; $data['sobretasa'] = 0; $data['exento'] = 0; $data['control'] = $control; $data['codigo'] = 'NOCON'; $data['descrip'] = 'NOTA DE CONTABILIDAD'; $sql = $this->db->insert_string('sprm', $data); $ban = $this->db->simple_query($sql); if ($ban == false) { memowrite($sql, 'gser'); } // Si es por cuenta de tercero /*if ( $reteter > 0 && $tercero ){ if ( $reiva == $reteter ) hace la retencion a nombre del tercero $this->_gserrete($fecha,$tipo,$fechafac,$numero,$nfiscal,$afecta,$tercero,$montasa,$monredu,$monadic,$tasa,$reducida,$sobretasa,$exento,$reteter,$transac); else { $this->_gserrete($fecha,$tipo,$fechafac,$numero,$nfiscal,$afecta,$codprv,$montasa,$monredu,$monadic,$tasa,$reducida,$sobretasa,$exento,$reiva-$reteter,$transac); } } else */ $this->_gserrete($fecha, $tipo, $fechafac, $numero, $nfiscal, $afecta, $codprv, $montasa, $monredu, $monadic, $tasa, $reducida, $sobretasa, $exento, $reiva, $transac); } //Fin de la retencion de IVA //Crea el movimiento en banco del monto al contado if ($monto1 > 0.0) { $benefi = $do->get('benefi'); $msj = "EGRESO AL CONTADO SEGUN FACTURA {$numero}"; if ($tipo1 == 'D') { $tipo_op = 'ND'; } else { $tipo_op = 'CH'; } $this->_bmovgser($codbanc, $codprv, $codbanc, $negreso, $cheque, $fecha, $monto1, $benefi, $transac, $tipo_op, $msj); } //Fin del movimiento en el banco //Crea el movimiento en el fondo if ($fondo) { $benefi = 'FONDOS'; $msj = "DESCARGO DEL FONDO SEGUN FACTURA {$numero}"; $tipo_op = 'ND'; $num = $this->datasis->banprox($row['fondo']); $this->_bmovgser($fondo, $codprv, $fondo, $negreso, $num, $fecha, $monto1, $benefi, $transac, $tipo_op, $msj); // Crea la NC en proveedores $control = $this->datasis->fprox_numero('nsprm'); $nfondo = $this->datasis->dameval('SELECT banco FROM banc WHERE codbanc=' . $this->db->escape($fondo)); $data = array(); $data['cod_prv'] = $fondo; $data['nombre'] = $nfondo; $data['tipo_doc'] = 'NC'; $data['numero'] = $numero; $data['fecha'] = $fecha; $data['monto'] = $totbruto; $data['impuesto'] = $totiva; $data['abonos'] = 0; $data['vence'] = $fecha; $data['observa1'] = ''; $data['transac'] = $transac; $data['estampa'] = $estampa; $data['hora'] = $hora; $data['usuario'] = $usuario; $data['reteiva'] = $reiva; $data['reten'] = $reten; $data['montasa'] = $montasa; $data['monredu'] = $monredu; $data['monadic'] = $monadic; $data['tasa'] = $tasa; $data['reducida'] = $reducida; $data['sobretasa'] = $sobretasa; $data['exento'] = $exento; $data['control'] = $control; $sql = $this->db->insert_string('sprm', $data); $ban = $this->db->simple_query($sql); if ($ban == false) { memowrite($sql, 'gser'); } } //Fin del movimiento en el banco //Crea la cuenta por pagar si es necesario if ($totcred > 0.0) { $causado = $this->datasis->fprox_numero('ncausado'); $control = $this->datasis->fprox_numero('nsprm'); $data = array(); $data['cod_prv'] = $codprv; $data['nombre'] = $nombre; $data['tipo_doc'] = $tipo; $data['numero'] = $numero; $data['fecha'] = $fecha; $data['monto'] = $totbruto; $data['impuesto'] = $totiva; $data['abonos'] = $monto1 + $reten + $reiva; $data['vence'] = $fecha; $data['observa1'] = ''; $data['transac'] = $transac; $data['estampa'] = $estampa; $data['hora'] = $hora; $data['usuario'] = $usuario; $data['reteiva'] = $reiva; $data['reten'] = $reten; $data['montasa'] = $montasa; $data['monredu'] = $monredu; $data['monadic'] = $monadic; $data['tasa'] = $tasa; $data['reducida'] = $reducida; $data['sobretasa'] = $sobretasa; $data['exento'] = $exento; $data['causado'] = $causado; $data['control'] = $control; $sql = $this->db->insert_string('sprm', $data); $ban = $this->db->simple_query($sql); if ($ban == false) { memowrite($sql, 'gser'); } //Crea el abono si lo tiene if ($monto1 > 0) { $absprm = $this->datasis->fprox_numero('num_ab'); $control = $this->datasis->fprox_numero('nsprm'); $data = array(); $data['cod_prv'] = $codprv; $data['nombre'] = $nombre; $data['tipo_doc'] = 'AB'; $data['numero'] = $absprm; $data['fecha'] = $fecha; $data['monto'] = $monto1; $data['impuesto'] = 0; $data['abonos'] = $monto1; $data['vence'] = $fecha; $data['observa1'] = 'ABONA A ' . $tipo . $numero; $data['transac'] = $transac; $data['estampa'] = $estampa; $data['hora'] = $hora; $data['usuario'] = $usuario; $data['banco'] = $codb1; $data['tipo_op'] = $tipo1 == 'C' ? 'CH' : 'DE'; $data['numche'] = $cheque; $data['reteiva'] = 0; $data['montasa'] = 0; $data['monredu'] = 0; $data['monadic'] = 0; $data['tasa'] = 0; $data['reducida'] = 0; $data['sobretasa'] = 0; $data['exento'] = 0; $data['control'] = $control; $sql = $this->db->insert_string('sprm', $data); $ban = $this->db->simple_query($sql); if ($ban == false) { memowrite($sql, 'gser'); } //Aplica el AB a la FC $itppro = array(); $itppro['numppro'] = $absprm; $itppro['tipoppro'] = 'AB'; $itppro['cod_prv'] = $codprv; $itppro['tipo_doc'] = 'FC'; $itppro['numero'] = $numero; $itppro['fecha'] = $fecha; $itppro['monto'] = $monto1; $itppro['abono'] = $monto1; $itppro['ppago'] = 0; $itppro['reten'] = 0; $itppro['cambio'] = 0; $itppro['mora'] = 0; $itppro['transac'] = $transac; $itppro['estampa'] = $estampa; $itppro['hora'] = $hora; $itppro['usuario'] = $usuario; $itppro['preten'] = 0; $itppro['creten'] = 0; $itppro['breten'] = 0; $itppro['reteiva'] = 0; $mSQL = $this->db->insert_string('itppro', $itppro); $ban = $this->db->simple_query($mSQL); if (!$ban) { memowrite($mSQL, 'gser'); $error++; } } //Fin de la creacion del abono //Si tiene retencion de IVA if ($reiva > 0) { $ncsprm = $this->datasis->fprox_numero('num_nc'); $data = array(); $data['cod_prv'] = $codprv; $data['nombre'] = $nombre; $data['tipo_doc'] = 'NC'; $data['numero'] = $ncsprm; $data['fecha'] = $fecha; $data['monto'] = $reiva; $data['impuesto'] = 0; $data['tipo_ref'] = $tipo; $data['num_ref'] = $numero; $data['abonos'] = $reiva; $data['vence'] = $fecha; $data['observa1'] = 'RET/IVA CAUSADA EN'; $data['observa2'] = 'FACTURA # ' . $numero . ' DE FECHA ' . $fechafac; $data['transac'] = $transac; $data['estampa'] = $estampa; $data['hora'] = $hora; $data['usuario'] = $usuario; $data['reteiva'] = 0; $data['montasa'] = 0; $data['monredu'] = 0; $data['monadic'] = 0; $data['tasa'] = 0; $data['reducida'] = 0; $data['sobretasa'] = 0; $data['exento'] = 0; $data['control'] = $control; $sql = $this->db->insert_string('sprm', $data); $ban = $this->db->simple_query($sql); if ($ban == false) { memowrite($sql, 'gser'); } //Aplica la NC a la FC $itppro = array(); $itppro['numppro'] = $ncsprm; $itppro['tipoppro'] = 'NC'; $itppro['cod_prv'] = $codprv; $itppro['tipo_doc'] = 'FC'; $itppro['numero'] = $numero; $itppro['fecha'] = $fecha; $itppro['monto'] = $reiva; $itppro['abono'] = $reiva; $itppro['ppago'] = 0; $itppro['reten'] = 0; $itppro['cambio'] = 0; $itppro['mora'] = 0; $itppro['transac'] = $transac; $itppro['estampa'] = $estampa; $itppro['hora'] = $hora; $itppro['usuario'] = $usuario; $itppro['preten'] = 0; $itppro['creten'] = 0; $itppro['breten'] = 0; $itppro['reteiva'] = 0; $mSQL = $this->db->insert_string('itppro', $itppro); $ban = $this->db->simple_query($mSQL); if (!$ban) { memowrite($mSQL, 'gser'); $error++; } } //Fin de la retencion de IVA //Si tiene ISLR if ($reten > 0) { $ncsprm = $this->datasis->fprox_numero('num_nc'); $data = array(); $data['cod_prv'] = $codprv; $data['nombre'] = $nombre; $data['tipo_doc'] = 'NC'; $data['numero'] = $ncsprm; $data['fecha'] = $fecha; $data['monto'] = $reten; $data['impuesto'] = 0; $data['tipo_ref'] = $tipo; $data['num_ref'] = $numero; $data['abonos'] = $reten; $data['vence'] = $fecha; $data['observa1'] = 'RET/I.S.L.R. CAUSADA EN'; $data['observa2'] = 'FACTURA # ' . $numero . ' DE FECHA ' . $fechafac; $data['transac'] = $transac; $data['estampa'] = $estampa; $data['hora'] = $hora; $data['usuario'] = $usuario; $data['reteiva'] = 0; $data['montasa'] = 0; $data['monredu'] = 0; $data['monadic'] = 0; $data['tasa'] = 0; $data['reducida'] = 0; $data['sobretasa'] = 0; $data['exento'] = 0; $data['control'] = $control; $sql = $this->db->insert_string('sprm', $data); $ban = $this->db->simple_query($sql); if ($ban == false) { memowrite($sql, 'gser'); } //Aplica la NC a la FC $itppro = array(); $itppro['numppro'] = $ncsprm; $itppro['tipoppro'] = 'NC'; $itppro['cod_prv'] = $codprv; $itppro['tipo_doc'] = 'FC'; $itppro['numero'] = $numero; $itppro['fecha'] = $fecha; $itppro['monto'] = $reten; $itppro['abono'] = $reten; $itppro['ppago'] = 0; $itppro['reten'] = 0; $itppro['cambio'] = 0; $itppro['mora'] = 0; $itppro['transac'] = $transac; $itppro['estampa'] = $estampa; $itppro['hora'] = $hora; $itppro['usuario'] = $usuario; $itppro['preten'] = 0; $itppro['creten'] = 0; $itppro['breten'] = 0; $itppro['reteiva'] = 0; $mSQL = $this->db->insert_string('itppro', $itppro); $ban = $this->db->simple_query($mSQL); if (!$ban) { memowrite($mSQL, 'gser'); $error++; } } //Fin de la retencion ISLR } //Fin de la cuenta por pagar logusu('gser', "Gasto {$numero} {$codprv} {$fecha} CREADO"); return true; }
function _post_insert($do) { $mnumant = $this->datasis->fprox_numero('nancli'); $numero = $do->get('numero'); $cod_cli = $do->get('cliente'); $fecha = $do->get('fecha'); $monto = $do->get('reserva'); $transac = $do->get('transac'); $usuario = $this->secu->usuario(); $estampa = date('Y-m-d'); $hora = date('H:i:s'); $inmueble = $do->get('inmueble'); $dbcod_cli = $this->db->escape($cod_cli); $nombre = $this->datasis->dameval("SELECT nombre FROM scli WHERE cliente={$dbcod_cli}"); $data = array(); $data['cod_cli'] = $cod_cli; $data['nombre'] = $nombre; $data['tipo_doc'] = 'AN'; $data['numero'] = $mnumant; $data['fecha'] = $fecha; $data['monto'] = $monto; $data['impuesto'] = 0; $data['vence'] = $fecha; $data['tipo_ref'] = 'RS'; $data['num_ref'] = $numero; $data['observa1'] = 'RESERVACION NRO. ' . $numero; $data['usuario'] = $usuario; $data['estampa'] = $estampa; $data['hora'] = $hora; $data['transac'] = $transac; $data['fecdoc'] = $fecha; $mSQL = $this->db->insert_string('smov', $data); $ban = $this->db->simple_query($mSQL); if ($ban == false) { memowrite($mSQL, 'edres'); } $primary = implode(',', $do->pk); logusu($do->table, "Creo {$this->t**s} {$primary} "); }
function _procesar($qfechai, $qfechaf, $generar = FALSE) { $error = FALSE; $DBbig = $this->load->database('default', TRUE); //$query=mysql_unbuffered_query($mSQL,$DBbig->conn_id); //while ($row = mysql_fetch_assoc($query)) {} if ($generar) { foreach ($generar as $modulo) { $query = $this->db->simple_query("DELETE FROM casi WHERE fecha BETWEEN {$qfechai} AND {$qfechaf} AND origen='{$modulo}'"); $query = $this->db->simple_query("DELETE FROM itcasi WHERE fecha BETWEEN {$qfechai} AND {$qfechaf} AND origen LIKE '{$modulo}%'"); $mTABLA = $this->datasis->dameval("SELECT origen FROM reglascont WHERE modulo='{$modulo}' AND regla=1 "); $mCONTROL = $this->datasis->dameval("SELECT control FROM reglascont WHERE modulo='{$modulo}' AND regla=1 "); if ($modulo == 'SCST') { $mSQL = "SELECT a.{$mCONTROL} mgrupo FROM {$mTABLA} WHERE a.recep BETWEEN {$qfechai} AND {$qfechaf} GROUP BY a.{$mCONTROL}"; } else { $mSQL = "SELECT a.{$mCONTROL} mgrupo FROM {$mTABLA} WHERE a.fecha BETWEEN {$qfechai} AND {$qfechaf} GROUP BY a.{$mCONTROL}"; } $query = mysql_unbuffered_query($mSQL, $DBbig->conn_id); while ($fila = mysql_fetch_assoc($query)) { $aregla = $this->_hace_regla($modulo, $mCONTROL, $fila['mgrupo']); foreach ($aregla['casi'] as $casi) { $ejecasi = 'INSERT IGNORE INTO casi ( comprob, fecha, descrip, origen ) ' . $casi; $ejec = $this->db->simple_query($ejecasi); if ($ejec == FALSE) { memowrite($ejecasi, 'generar'); $error = true; } } foreach ($aregla['itcasi'] as $itcasi) { $ejeitcasi = 'INSERT INTO itcasi (fecha, comprob, origen, cuenta, referen, concepto, debe, haber, sucursal, ccosto) ' . $itcasi; $ejec = $this->db->simple_query($ejeitcasi); if ($ejec == FALSE) { memowrite($ejeitcasi, 'generar'); $error = true; } } } $this->_borra_huerfano(); //Redondeo //$query=$this->db->query("SELECT comprob,sum(debe)-sum(haber) total, origen FROM itcasi WHERE (MID(comprob,1,2) IN ('VD','DV') OR MID(origen,1,4) IN ('SCOP','SCST')) AND fecha BETWEEN $qfechai AND $qfechaf GROUP BY comprob HAVING abs(total)>0 AND abs(total)<0.5"); //foreach ($query->result_array() as $row){ $mSQL = "SELECT comprob,sum(debe)-sum(haber) total, origen FROM itcasi WHERE (MID(comprob,1,2) IN ('VD','DV') OR MID(origen,1,4) IN ('SCOP','SCST')) AND fecha BETWEEN {$qfechai} AND {$qfechaf} GROUP BY comprob HAVING abs(total)>0 AND abs(total)<0.5"; $query = mysql_unbuffered_query($mSQL, $DBbig->conn_id); while ($row = mysql_fetch_assoc($query)) { //print_r($row); $mCOMPROB = $row['comprob']; $mORIGEN = $row['origen']; $mTOTAL = $row['total']; $this->db->simple_query("UPDATE itcasi SET haber=haber+{$mTOTAL} WHERE comprob='{$mCOMPROB}' AND origen='{$mORIGEN}' ORDER BY haber DESC LIMIT 1 "); $this->db->simple_query("UPDATE casi SET debe=(SELECT sum(itcasi.debe) FROM itcasi WHERE casi.comprob=itcasi.comprob AND casi.comprob='{$mCOMPROB}' AND origen='{$mORIGEN}' GROUP BY itcasi.comprob) WHERE comprob='{$mCOMPROB}'"); $this->db->simple_query("UPDATE casi SET haber=(SELECT sum(itcasi.haber) FROM itcasi WHERE casi.comprob=itcasi.comprob AND casi.comprob='{$mCOMPROB}' AND origen='{$mORIGEN}' GROUP BY itcasi.comprob) WHERE comprob='{$mCOMPROB}' "); $this->db->simple_query("UPDATE casi SET total=debe-haber WHERE comprob='{$mCOMPROB}' AND origen='{$mORIGEN}'"); } } $lgenerar = "'" . implode("','", $generar) . "'"; $mSQL = "SELECT comprob FROM itcasi WHERE fecha BETWEEN {$qfechai} AND {$qfechaf} GROUP BY comprob"; //$query=$this->db->query($mSQL); //TOTALIZA EN ITCASI $query = mysql_unbuffered_query($mSQL, $DBbig->conn_id); while ($row = mysql_fetch_assoc($query)) { $usr = $this->session->userdata('usuario'); $comprob = $this->db->escape($row['comprob']); $sql = "UPDATE casi\n\t\t\t\t\tSET debe=(SELECT sum(debe) FROM itcasi WHERE itcasi.comprob=casi.comprob),\n\t\t\t\t\thaber=(SELECT sum(haber) FROM itcasi WHERE itcasi.comprob=casi.comprob),\n\t\t\t\t\ttotal=(SELECT sum(debe)-sum(haber) FROM itcasi WHERE itcasi.comprob=casi.comprob),\n\t\t\t\t\testampa=NOW(),\n\t\t\t\t\tusuario='{$usr}',\n\t\t\t\t\thora=DATE_FORMAT(NOW(),'%H:%i:%s')\n\t\t\t\t\tWHERE comprob={$comprob} "; //$ejec=$this->db->simple_query($sql,array($row['comprob'])); $ejec = $this->db->simple_query($sql); if ($ejec == FALSE) { memowrite($sql, 'generar'); $error = true; } } if ($error) { $salida = utf8_encode('Hubo algunos errores en el proceso, se genero un centinela'); } else { $descuadre = $this->datasis->dameval("SELECT COUNT(*) FROM casi WHERE fecha BETWEEN {$qfechai} AND {$qfechaf} AND total<>0"); $salida = utf8_encode('Listo! Asientos descuadrados: ' . $descuadre); } } else { $salida = utf8_encode('Seleccione al menos un Modulo'); } return $salida; }
function _cargar($control) { $control = $this->db->escape($control); $lcontrol = $this->datasis->fprox_numero('nscst'); $transac = $this->datasis->fprox_numero('ntransac'); $farmaxDB = $this->load->database('farmax', TRUE); $farmaxdb = $farmaxDB->database; $localdb = $this->db->database; $retorna = ''; $sql = "SELECT COUNT(*) AS cana \n\t\t FROM {$farmaxdb}.itscst AS a \n\t\t LEFT JOIN {$localdb}.sinv AS b ON a.codigo=b.codigo \n\t\t LEFT JOIN {$localdb}.farmaxasig AS c ON a.codigo=c.barras AND c.proveed=a.proveed \n\t\tWHERE a.control={$control} AND b.codigo IS NULL AND c.abarras IS NULL"; $query = $this->db->query($sql); if ($query->num_rows() > 0) { $row = $query->row_array(); if ($row['cana'] == 0) { $query = $farmaxDB->query("SELECT * FROM scst WHERE control={$control} AND pcontrol IS NULL"); if ($query->num_rows() == 1) { $row = $query->row_array(); $row['control'] = $lcontrol; $row['transac'] = $transac; unset($row['pcontrol']); $mSQL[] = $this->db->insert_string('scst', $row); $itquery = $farmaxDB->query("SELECT * FROM itscst WHERE control={$control}"); foreach ($itquery->result_array() as $itrow) { $itrow['control'] = $lcontrol; unset($itrow['id']); $mSQL[] = $this->db->insert_string('itscst', $itrow); } foreach ($mSQL as $sql) { $rt = $this->db->simple_query($sql); if (!$rt) { memowrite('scstfarma', $sql); } } $sql = "UPDATE scst SET pcontrol='{$lcontrol}' WHERE control={$control}"; $rt = $farmaxDB->simple_query($sql); if (!$rt) { memowrite('farmaejec', $sql); } $mSQL = "UPDATE \n\t\t\t\t\t {$localdb}.itscst AS a\n\t\t\t\t\t JOIN {$localdb}.farmaxasig AS b ON a.codigo=b.barras AND a.proveed=b.proveed\n\t\t\t\t\t SET a.codigo=b.abarras\n\t\t\t\t\tWHERE a.control='{$lcontrol}'"; $rt = $this->db->simple_query($mSQL); if (!$rt) { memowrite('farmaejec1', $sql); } $retorna = 'Compra guardada con el control ' . anchor("compras/scst/dataedit/show/{$lcontrol}", $lcontrol); } else { $retorna = "Al parecer la factura fue ya pasada"; } } else { $retorna = "No se puede pasar porque hay productos que no existen en inventario"; } } else { $retorna = "Error en la consulta"; } return $retorna; }
function _post_delete($do) { $primary = implode(',', $do->pk); $numero = $do->get('numero'); $monto = $do->get('monto'); $numero = $do->get('numero'); $transac = $do->get('transac'); $dbnumero = $this->db->escape($numero); $dbtransac = $this->db->escape($transac); $sql = "DELETE FROM sfpa WHERE transac={$dbtransac} AND numero={$dbnumero} AND tipo_doc='CC'"; $ban = $this->db->simple_query($sql); if ($ban == false) { memowrite($sql, 'sfac'); } logusu('sfpa', "Elimino Cambio de medio de pago por efectovo {$primary}, {$numero}, monto={$monto}"); }
function _traercajas($ip = NULL, $caja = FALSE, $cajero = FALSE, $fecha = FALSE) { error_reporting(0); $timestamp = timestampFromInputDate($fecha); $fecha = inputDateFromTimestamp($timestamp, 'Ymd'); if (empty($ip)) { return false; } $tot = 0; ini_set('mysql.connect_timeout', '2'); $link = mysql_connect($ip, 'datasis') or die('Maquina fuera de linea'); mysql_select_db('datasis') or die('Base de datos no seleccionable'); $check = true; $data = array('viefac' => 'fecha', 'viepag' => 'f_factura', 'vieite' => 'fecha'); foreach ($data as $tabla => $fcampo) { $this->db->simple_query("DELETE FROM {$tabla} WHERE cajero='{$cajero}' AND caja='{$caja}' and {$fcampo}='{$fecha}'"); $mSQL = "SELECT * FROM {$tabla} WHERE cajero='{$cajero}' AND caja='{$caja}' and {$fcampo}='{$fecha}'"; $result = mysql_query($mSQL, $link); if (!$result) { $check = false; echo 'Consulta fallida' . mysql_error($link) . "\n"; } else { $num_rows = mysql_num_rows($result); $tot += $num_rows; if ($num_rows > 0) { while ($data = mysql_fetch_assoc($result)) { $insert = $this->db->insert_string($tabla, $data); if (!$this->db->simple_query($insert)) { $check = false; echo "Problemas en la insercion local\n"; memowrite($insert, 'straer'); } } } } } if ($check) { echo "Fueron pasados {$tot} registros!"; } }
function exportunbufferzip($datas, $nomb = 'sqlinex', $add_encrip = NULL) { $nombre = tempnam("/tmp", $nomb); $handle = fopen($nombre, "w"); //ON DUPLICATE KEY UPDATE `cedula`=IF(VALUES(`modifi`)>`modifi`,VALUES(`cedula`),`cedula`),`direc1`=IF(VALUES(`modifi`)>`modifi`,VALUES(`direc1`),`direc1`) foreach ($datas as $data) { if (isset($data['select']) and count($data['select']) > 0) { $this->ci->db->select($data['select']); } if (isset($data['where'])) { $this->ci->db->where($data['where'], NULL, FALSE); } else { $data['where'] = ''; } if (isset($data['distinc']) and $data['distinc']) { $this->ci->db->distinct(); } if (isset($data['join']) and is_array($data['join'])) { foreach ($data['join'] as $ddata) { if (isset($ddata['side'])) { $side = $ddata['side']; } else { $side = null; } $this->ci->db->join($ddata['table'], $ddata['on'], $side); } } if (isset($data['wherejoin'])) { $this->ci->db->where($data['wherejoin'], NULL, FALSE); } $this->ci->db->from($data['table']); $mSQL = $this->ci->db->_compile_select(); //echo $mSQL; $this->ci->db->_reset_select(); //$query = $this->ci->db->get(); memowrite($mSQL); $query = mysql_unbuffered_query($mSQL, $this->ci->db->conn_id); if ($query !== false) { if ($this->limpiar) { $mSQL = "DELETE FROM {$data['table']}"; if (!empty($data['where'])) { $mSQL .= ' WHERE ' . $data['where']; } $mSQL .= "\n"; fwrite($handle, $mSQL); } while ($row = mysql_fetch_assoc($query)) { $mSQL = $this->ci->db->insert_string($data['table'], $row); if ($this->ignore) { $mSQL = 'INSERT IGNORE ' . substr($mSQL, 6); } $mSQL .= "\n"; fwrite($handle, $mSQL); } mysql_free_result($query); } } fclose($handle); $firma = md5_file($nombre); $this->ci->load->library('encrypt'); if (!empty($add_encrip)) { $firma = $add_encrip . $this->separador . $firma; } $firma = $this->ci->encrypt->encode($firma); $this->ci->load->library('zip'); $this->ci->zip->add_data('firma.txt', $firma); $this->ci->zip->read_file($nombre); $this->ci->zip->download($nomb . '.zip'); unlink($nombre); }
function _pre_delete($do) { $codigo = $do->get('numero'); $mSQL = 'UPDATE sinv JOIN itpfac ON sinv.codigo=itpfac.codigoa SET sinv.exdes=sinv.exdes-itpfac.cana WHERE itpfac.numa=' . $this->db->escape($codigo); $ban = $this->db->simple_query($mSQL); if ($ban == false) { memowrite($mSQL, 'pfac'); } return true; }
function _traermonventas($id = null) { if (is_null($id)) { return null; } else { $id = $this->db->escape($id); } $config = $this->datasis->damerow("SELECT proveed,grupo,puerto,proteo,url,usuario,clave,tipo,depo,margen1,margen2,margen3,margen4,margen5 FROM b2b_config WHERE id={$id}"); if (count($config) == 0) { return null; } $er = 0; $this->load->helper('url'); $server_url = reduce_double_slashes($config['url'] . '/' . $config['proteo'] . '/' . 'rpcserver'); $this->load->library('xmlrpc'); $this->xmlrpc->xmlrpc_defencoding = $this->config->item('charset'); //$this->xmlrpc->set_debug(TRUE); $puerto = empty($config['puerto']) ? 80 : $config['puerto']; $this->xmlrpc->server($server_url, $puerto); $this->xmlrpc->method('montven'); $fecha = date('Ymd'); $request = array($fecha, '****'); $this->xmlrpc->request($request); if (!$this->xmlrpc->send_request()) { memowrite($this->xmlrpc->display_error(), 'notifica'); return null; } else { $res = $this->xmlrpc->display_response(); return $res; } return null; }
function request($tabla = '') { $page = $this->input->post('page'); $limit = $this->input->post('rows'); // get how many rows we want to have into the grid - rowNum parameter in the grid $sidx = $this->input->post('sidx'); // get index row - i.e. user click to sort. At first time sortname parameter -after that the index from colModel $sord = $this->input->post('sord'); $filtro = $this->input->post('filters'); if ($filtro !== FALSE) { $filtro = json_decode($filtro); if ($filtro->groupOp == 'AND') { $glu = ''; } else { $glu = 'or_'; } foreach ($filtro->rules as $rule) { switch ($rule->op) { case "eq": //Igual a $metodo = $glu . 'like'; $this->db->{$metodo}($rule->field, $rule->data); break; case "ne": //No igual a $metodo = $glu . 'where'; $this->db->{$metodo}($rule->field . ' <>', $rule->data); break; case "lt": //Menor que $metodo = $glu . 'where'; $this->db->{$metodo}($rule->field . ' <', $rule->data); break; case "le": //Menor o igual $metodo = $glu . 'where'; $this->db->{$metodo}($rule->field . ' <=', $rule->data); break; case "gt": //Mayor que $metodo = $glu . 'where'; $this->db->{$metodo}($rule->field . ' >', $rule->data); break; case "ge": //Mayor o igual que $metodo = $glu . 'like'; $this->db->{$metodo}($rule->field . ' >=', $rule->data); break; case "bw": //Empieza por $metodo = $glu . 'like'; $this->db->{$metodo}($rule->field, $rule->data, 'after'); break; case "bn": //No empieza por $metodo = $glu . 'not_like'; $this->db->{$metodo}($rule->field, $rule->data, 'after'); break; case "in": //Esta en $metodo = $glu . 'where_in'; $this->db->{$metodo}($rule->field, explode(',', $rule->data)); break; case "ni": //No esta en $metodo = $glu . 'where_not_in'; $this->db->{$metodo}($rule->field, explode(',', $rule->data)); break; case "ew": //Termina por $metodo = $glu . 'like'; $this->db->{$metodo}($rule->field, $rule->data, 'before'); break; case "en": //No termina por $metodo = $glu . 'not_like'; $this->db->{$metodo}($rule->field, $rule->data); break; case "cn": //Contiene $metodo = $glu . 'like'; $this->db->{$metodo}($rule->field, $rule->data); break; case "nc": //No contiene $metodo = $glu . 'not_like'; $this->db->{$metodo}($rule->field, $rule->data); break; default: $metodo = $glu . 'where'; $this->db->{$metodo}($rule->field . ' <=', $rule->data); } } } /*ob_start(); print_r($_REQUEST); $ddata=ob_get_contents(); ob_end_clean(); memowrite($ddata);*/ memowrite(http_build_query($_REQUEST)); $this->db->from($tabla); if (!$sidx) { $sidx = 1; } // if we not pass at first time index use the first column for the index or what you want $mSQL = $this->db->_compile_select($this->db->_count_string . $this->db->_protect_identifiers('numrows')); $query = $this->db->query($mSQL); if ($query->num_rows() > 0) { $row = $query->row(); $count = $row->numrows; } else { $count = 0; } if ($count > 0 && $limit > 0) { $total_pages = ceil($count / $limit); } else { $total_pages = 0; } if ($page > $total_pages) { $page = $total_pages; } $start = $limit * $page - $limit; if ($start < 0) { $start = 0; } $this->load->helper('xml'); header("Content-type: text/xml;charset=" . $this->config->item('charset')); $s = "<?xml version='1.0' encoding='" . $this->config->item('charset') . "'?>"; $s .= "<rows>"; $s .= "<page>" . $page . "</page>"; $s .= "<total>" . $total_pages . "</total>"; $s .= "<records>" . $count . "</records>"; $this->db->orderby($sidx, $sord); $this->db->limit($limit, $start); $query = $this->db->get(); $campos = $this->db->field_data(); foreach ($query->result() as $row) { $s .= "<row id='" . $row->{$id} . "'>"; foreach ($campos as $campo) { $s .= "<cell>" . xml_convert($row->{$campo}->name) . "</cell>"; } $s .= "</row>"; } $s .= "</rows>"; echo $s; }
function _xlsread($arch = '', $tablaid = 1) { $tabla = $this->tabla; $mSQL = "DELETE FROM {$tabla} WHERE id_tabla=" . $tablaid; $this->db->simple_query($mSQL); $cana = $error = $c = $f = 0; $this->load->library('Spreadsheet_Excel_Reader'); $this->spreadsheet_excel_reader->setOutputEncoding('CP1251'); $this->spreadsheet_excel_reader->read($arch); //$hojas=count($this->spreadsheet_excel_reader->sheets); foreach ($this->spreadsheet_excel_reader->sheets[0]['cells'] as $row) { foreach ($row as $idr => $val) { $c = $idr - 1; if (!empty($val)) { $data = array('id_tabla' => $tablaid, 'fila' => $f, 'columna' => $c, 'valor' => $val); $mSQL = $this->db->insert_string($tabla, $data); $ban = $this->db->simple_query($mSQL); if (!$ban) { memowrite($mSQL, 'extimpor'); $error++; } } } $cana++; $f++; } if (file_exists($arch)) { unlink($arch); } if ($error > 0) { return 'Hubo algunos errores se generaron centinelas.'; } else { return "Fueron cargadas {$cana} registro."; } }
function _bmovgser($codbanc, $codprv, $cargo, $negreso, $cheque, $fecha, $totneto, $benefi, $transac) { $nombre = $this->datasis->dameval('SELECT nombre FROM sprv WHERE proveed=' . $this->db->escape($codprv)); $datacar = common::_traebandata($cargo); $sp_fecha = str_replace('-', '', $fecha); $ttipo = $datacar['tbanco']; $tipo1 = $ttipo == 'CAJ' ? 'D' : 'C'; $error = 0; $data = array(); $data['codbanc'] = $cargo; $data['moneda'] = $datacar['moneda']; $data['numcuent'] = $datacar['numcuent']; $data['banco'] = $datacar['banco']; $data['saldo'] = $datacar['saldo']; $data['tipo_op'] = $ttipo == 'CAJ' ? 'ND' : 'CH'; $data['numero'] = str_pad($cheque, 12, '0', STR_PAD_LEFT); $data['fecha'] = $fecha; $data['clipro'] = 'P'; $data['codcp'] = $codprv; $data['nombre'] = $nombre; $data['monto'] = $totneto; $data['concepto'] = ''; $data['benefi'] = $benefi; $data['posdata'] = ''; $data['abanco'] = ''; $data['liable'] = $ttipo == 'CAJ' ? 'S' : 'N'; $data['transac'] = $transac; $data['usuario'] = $this->session->userdata('usuario'); $data['estampa'] = date('Y-m-d'); $data['hora'] = date('H:i:s'); $data['anulado'] = 'N'; $data['susti'] = ''; $data['negreso'] = $negreso; /*$data['ndebito'] = ''; $data['ncausado'] = ''; $data['ncredito'] = '';*/ $sql = $this->db->insert_string('bmov', $data); $ban = $this->db->simple_query($sql); if ($ban == false) { memowrite($sql, 'gser'); $error++; } $sql = 'CALL sp_actusal(' . $this->db->escape($cargo) . ",'{$sp_fecha}',-{$totneto})"; $ban = $this->db->simple_query($sql); if ($ban == false) { memowrite($sql, 'gser'); $error++; } return $error == 0 ? true : false; }
function _pre_delete($do) { $opttipo = $do->get('agente'); $codigo = $do->get('numero'); $almacen = $do->get('almacen'); $tipo = $do->get('tipo'); $fact = $opttipo == 'scli' ? 1 : -1; $mSQL = 'UPDATE sinv JOIN itpsinv ON sinv.codigo=itpsinv.codigo SET sinv.existen=sinv.existen+(' . $fact . ')*(itpsinv.cana) WHERE itpsinv.numero=' . $this->db->escape($codigo); $ban = $this->db->simple_query($mSQL); if ($ban == false) { memowrite($mSQL, 'psinv'); } $mSQL = 'UPDATE itsinv JOIN itpsinv ON itsinv.codigo=itpsinv.codigo SET itsinv.existen=itsinv.existen+(' . $fact . ')(itpsinv.cana) WHERE itpsinv.numero=' . $this->db->escape($codigo) . ' AND itsinv.alma=' . $this->db->escape($almacen); $ban = $this->db->simple_query($mSQL); if ($ban == false) { memowrite($mSQL, 'psinv'); } $codigo = $do->get('numero'); logusu('psinv', "Prestamo de inventario {$codigo} ELIMINADO"); }
function _reversar($numero) { $dbnumero = $this->db->escape($numero); $mSQL = 'SELECT tipo, transac FROM rcaj WHERE numero=' . $dbnumero; $query = $this->db->query($mSQL); $er = 0; if ($query->num_rows() > 0) { $row = $query->row(); if ($row->tipo == 'F') { //Reversa las ISLR $mmSQL = "SELECT a.monto,a.fecha,a.numero,a.transac\n\t\t\t\tFROM sfpa AS a\n\t\t\t\tJOIN rcaj AS b ON a.fecha=b.fecha AND a.cobrador=b.cajero\n\t\t\t\tWHERE b.numero={$dbnumero} AND a.tipo='IR'"; $qquery = $this->db->query($mmSQL); foreach ($qquery->result() as $rrow) { $this->db->where('cod_cli', 'RETEN'); $this->db->where('tipo_doc', 'ND'); $this->db->where('fecha', $rrow->fecha); $this->db->where('transac', $rrow->transac); $this->db->where('monto', $rrow->monto); $this->db->delete('smov'); } //Fin del reverso de las ISLR $transac = $row->transac; $dbtransac = $this->db->escape($transac); $sfecha = date('Ymd'); //Reversa los movimientos de caja $mmSQL = 'SELECT codbanc,monto,tipo_op FROM bmov WHERE transac=' . $dbtransac; $qquery = $this->db->query($mmSQL); if ($qquery->num_rows() > 0) { $rrow = $qquery->row(); $caja = $rrow->codbanc; $monto = $rrow->tipo_op == 'NC' ? $rrow->monto : -1 * $rrow->monto; $this->datasis->actusal($caja, $sfecha, $monto); $er += $ban; } $mSQL = 'DELETE FROM bmov WHERE transac=' . $dbtransac; $ban = $this->db->query($mSQL); if ($ban == false) { memowrite($mSQL, 'rcaj'); } $er += $ban; } $mSQL = 'DELETE FROM rcaj WHERE numero=' . $dbnumero; $ban = $this->db->query($mSQL); if ($ban == false) { memowrite($mSQL, 'rcaj'); } $er += $ban; $mSQL = 'DELETE FROM itrcaj WHERE numero=' . $dbnumero; $ban = $this->db->query($mSQL); if ($ban == false) { memowrite($mSQL, 'rcaj'); } $er += $ban; $mSQL = 'UPDATE rret SET cierre=NULL WHERE cierre=' . $dbnumero; $ban = $this->db->query($mSQL); if ($ban == false) { memowrite($mSQL, 'rcaj'); } $er += $ban; } logusu('rcaj', "Reverso de cierre de caja numero {$numero}"); return $er > 0 ? false : true; }
function _post_insert($do) { $numero = $do->get('numero'); $fecha = $do->get('fecha'); $totneto = $do->get('totalg'); $hora = $do->get('hora'); $usuario = $do->get('usuario'); $transac = $do->get('transac'); $nombre = $do->get('nombre'); $cod_cli = $do->get('cod_cli'); $estampa = $do->get('estampa'); $sprv = $do->get('sprv'); $iva = $do->get('iva'); $ref_numero = '00000000'; $error = 0; //Inserta en smov $data = array(); $data['cod_cli'] = $cod_cli; $data['nombre'] = $nombre; $data['tipo_doc'] = 'FC'; $data['numero'] = $numero; $data['fecha'] = $fecha; $data['monto'] = $totneto; $data['impuesto'] = $iva; $data['abonos'] = 0; $data['vence'] = $fecha; $data['tipo_ref'] = 'FT'; $data['num_ref'] = $sprv; $data['observa1'] = !empty($sprv) ? 'FACTURA P.CTA DE TERCERO ' . $sprv : 'FACTURA A CREDITO'; $data['estampa'] = $estampa; $data['hora'] = $hora; $data['transac'] = $transac; $data['usuario'] = $usuario; $data['codigo'] = 'NOCON'; $data['descrip'] = 'NOTA DE CONTABILIDAD'; $sql = $this->db->insert_string('smov', $data); $ban = $this->db->simple_query($sql); if ($ban == false) { memowrite($sql, 'sfacter'); $error++; } //Inserta en sprm if (!empty($sprv)) { $causado = $this->datasis->fprox_numero('ncausado'); $sprvnobre = $this->datasis->dameval('SELECT nombre FROM sprv WHERE proveed=' . $this->db->escape($sprv)); $mnumnc = $this->datasis->fprox_numero('num_nd'); $data = array(); $data['cod_prv'] = $sprv; $data['nombre'] = $sprvnobre; $data['tipo_doc'] = 'ND'; $data['numero'] = $mnumnc; $data['fecha'] = $fecha; $data['monto'] = $totneto; $data['impuesto'] = 0; $data['abonos'] = 0; $data['vence'] = $fecha; $data['observa1'] = 'FACTURA P.CTA DE TERCERO ' . $cod_cli; $data['observa2'] = ''; $data['tipo_ref'] = 'FT'; $data['num_ref'] = $numero; $data['transac'] = $transac; $data['estampa'] = $estampa; $data['hora'] = $hora; $data['usuario'] = $usuario; $data['reteiva'] = 0; $data['montasa'] = 0; $data['monredu'] = 0; $data['monadic'] = 0; $data['tasa'] = 0; $data['reducida'] = 0; $data['sobretasa'] = 0; $data['exento'] = 0; $data['causado'] = $causado; $data['codigo'] = 'NOCON'; $data['descrip'] = 'NOTA DE CONTABILIDAD'; $sql = $this->db->insert_string('sprm', $data); $ban = $this->db->simple_query($sql); if ($ban == false) { memowrite($sql, 'sfacter'); $error++; } } $primary = implode(',', $do->pk); logusu($do->table, "Creo {$this->t**s} {$primary} "); }
function _post_update($do) { $id = $do->get('id'); $mSQL = "UPDATE smov SET rcobro=NULL WHERE rcobro={$id}"; $ban = $this->db->simple_query($mSQL); if ($ban == false) { memowrite($mSQL, 'rcobro'); } $this->_post_inserup($do); $primary = implode(',', $do->pk); logusu($do->table, "Modifico {$this->t**s} {$primary} "); }