function jsaHeredarDatos($idcuenta) { $tab = new TinyAjaxBehavior(); $xLog = new cCoreLog(); $xCta = new cCuentaContable($idcuenta); $cuenta = ""; $nombre = ""; $superior = ""; $nombresupe = ""; $tipo = ""; $nivel = ""; $centro = ""; $superiorf = ""; $operar = 0; $equivale = ""; if ($xCta->init() == true) { $cuenta = $xCta->get(); $nombre = $xCta->getNombre(); $superior = $xCta->getInmediatoSuperior(); $nivel = $xCta->getDigitoAgrupador(); $centro = $xCta->getCentroDeCosto(); $tipo = $xCta->getTipoDeCuenta(); $operar = 1; $xLog->add("OK\tModificar la cuenta {$idcuenta} - {$operar} - {$superior}\r\n"); $equivale = $xCta->getEquivalencia(); } else { $xEsq = new cCuentaContableEsquema($idcuenta); $cuenta = $xEsq->CUENTA; $superior = $xEsq->CUENTA_SUPERIOR; $nivel = $xEsq->NIVEL_ACTUAL; $xLog->add("OK\tAgregar Nueva cuenta {$idcuenta} ({$cuenta}) - {$superior}\r\n"); } $xLog->add($xCta->getMessages(), $xLog->DEVELOPER); //inicializar superior if ($nivel > 1) { $xSup = new cCuentaContable($superior); if ($xSup->init() == true) { $tipo = $tipo == "" ? $xSup->getTipoDeCuenta() : $tipo; $centro = $centro == "" ? $xSup->getCentroDeCosto() : $centro; $superiorf = $xSup->getCuentaCompleta($superior, true); $nombresupe = $xSup->getNombre(); if ($operar == 0) { $equivale = $xSup->getEquivalencia(); } } $xLog->add($xSup->getMessages(), $xLog->DEVELOPER); } $tab->add(TabSetvalue::getBehavior('idcuenta', $cuenta)); $tab->add(TabSetvalue::getBehavior('idnombrecuenta', $nombre)); $tab->add(TabSetvalue::getBehavior('idtipodecuentacontable', $tipo)); $tab->add(TabSetvalue::getBehavior('idcentrodecosto', $centro)); $tab->add(TabSetvalue::getBehavior('idcuentasuperior', $superiorf)); $tab->add(TabSetvalue::getBehavior('idnombresuperior', $nombresupe)); $tab->add(TabSetvalue::getBehavior('idoperacion', $operar)); $tab->add(TabSetvalue::getBehavior('idequivalencia', $equivale)); $tab->add(TabSetvalue::getBehavior('idmsg3', $xLog->getMessages())); return $tab->getString(); }
function addMovimiento($TipoDeMovimiento, $cuenta, $monto, $referencia = "", $concepto = "") { $CWTipoMvto = array("1" => 1, "-1" => "2"); $xCuenta = new cCuentaContable($cuenta); $cuenta = $xCuenta->get(); //Corrige la Cuenta de Cuadre if ($cuenta == CUENTA_DE_CUADRE) { $cuenta = "_CUADRE"; } //Tipo M + espacio //Cuenta 20 //Referencia 10 //TipoMvto 2 espacios 1 Cargo 2 Abono //Importe 16 Alineado //espacio + 000 + espacio + " 0.00 " //concepto 30 + espacio $this->mMovimientosDePoliza .= "M " . substr(str_pad($cuenta, 20, " ", STR_PAD_RIGHT), 0, 20); $this->mMovimientosDePoliza .= " " . substr(str_pad($referencia, 10, " ", STR_PAD_RIGHT), 0, 10); $this->mMovimientosDePoliza .= " " . $CWTipoMvto[$TipoDeMovimiento]; $this->mMovimientosDePoliza .= " " . substr(str_pad($monto, 16, " ", STR_PAD_LEFT), -16); $this->mMovimientosDePoliza .= " 000 " . " 0.00 " . substr(str_pad($referencia, 30, " ", STR_PAD_RIGHT), 0, 30) . "\r\n"; }
/** * Agrega un Movimiento a la Poliza Contable * @param integer $cuenta * @param float $cargo * @param float $abono * @param string $referencia * @param string $concepto * @param integer $NumMvto * @param date $Fecha */ function addMovimiento($cuenta, $cargo = 0, $abono = 0, $referencia = "", $concepto = "", $NumMvto = false, $Fecha = false) { //if($this->mPolizaIniciada == false){ $this->init(); } $xT = new cTipos(); $xLogg = new cCoreLog(); $msg = ""; $ejercicio = $this->mEjercicioPoliza; $periodo = $this->mPeriodoPoliza; $poliza = $this->mNumeroDePoliza; $tipo = $this->mTipoDePoliza; $NumMvto = setNoMenorQueCero($NumMvto); $this->mNumeroMvto = setNoMenorQueCero($this->mNumeroMvto); //$this->getFolioDeMvto(); if ($NumMvto <= 1) { $NumMvto = $this->mNumeroMvto > 1 ? $this->mNumeroMvto + 1 : $this->getFolioDeMvto() + 1; } $cargo = $xT->cFloat($cargo, 2); $abono = $xT->cFloat($abono, 2); $xLogg->add("WARN\t----------------------------------------------\r\n", $xLogg->DEVELOPER); //Valores de los proximos Movimientos $TipoMvto = TM_CARGO; $monto = 0; $Fecha = $Fecha == false ? $this->mFechaPoliza : $Fecha; $concepto = $concepto == "" ? $this->mConceptoPoliza : $concepto; $referencia = trim($referencia); $diario = $this->mCentroDeCosto == false ? DEFAULT_CONTABLE_DIARIO_MVTOS : $this->mCentroDeCosto; $xCCont = new cCuentaContable($cuenta); $xCCont->init(); $cuenta = $xCCont->get(); if ($cargo > 0) { $TipoMvto = TM_CARGO; $monto = $cargo; $abono = 0; $this->mTotalCargos += $monto; } else { $TipoMvto = TM_ABONO; $monto = $abono; $cargo = 0; $this->mTotalAbonos += $monto; } //------------------------------------------------------------------------------------------------------- if ($monto != 0) { //------------------------------------------------------------------------------------------------------- $sqli_mvto = "INSERT INTO contable_movimientos(ejercicio, periodo, tipopoliza, numeropoliza, numeromovimiento,\n\t\t\t\t\t\tnumerocuenta, tipomovimiento, referencia, importe, diario, moneda, concepto, fecha, cargo, abono)\n\t\t\t\t\t\t VALUES({$ejercicio}, {$periodo},\n\t\t\t\t\t\t {$tipo}, {$poliza},\n\t\t\t\t\t\t {$NumMvto}, {$cuenta},\n\t\t\t\t\t\t '{$TipoMvto}', '{$referencia}',\n\t\t\t\t\t\t {$monto}, {$diario}, 1,\n\t\t\t\t\t\t '{$concepto}', '{$Fecha}',\n\t\t\t\t\t\t {$cargo}, {$abono})"; $rs = my_query($sqli_mvto); //setLog($sqli_mvto); if ($rs[SYS_ESTADO] == true) { $xLogg->add("{$NumMvto}\t{$cuenta}\t{$TipoMvto}\t{$cargo}\t{$abono}\t{$referencia}\r\n", $xLogg->DEVELOPER); $xCCont->setAfectarSaldos($TipoMvto, $monto, $periodo, $ejercicio, false); //Establecer Numeracion $this->mNumeroMvto = $NumMvto; $_SESSION[POLIZA_ID_ULTIMAOPERACION] = $NumMvto; } else { $xLogg->add("ERROR\t{$NumMvto}\tAl intentar insertar registro\r\n", $xLogg->DEVELOPER); } } else { $xLogg->add("ERROR\t{$NumMvto}\tNo existe un saldo que agregar\r\n", $xLogg->DEVELOPER); } $xLogg->add($xCCont->getMessages(), $xLogg->DEVELOPER); $xLogg->add($msg, $xLogg->DEVELOPER); $this->mMessages .= $xLogg->getMessages(); return $xLogg->getMessages(); }