function jsaGetNombreCuenta($cuenta)
{
    if (setNoMenorQueCero($cuenta) > 1) {
        $xCta = new cCuentaContable($cuenta);
        $xCta->init();
        //setLog($cuenta);
        return $xCta->getNombreCuenta();
    }
}
//$jxc ->exportFunction('datos_del_pago', array('idsolicitud', 'idparcialidad'), "#iddatos_pago");
//$jxc ->process();
$fecha = parametro("idfecha-0", false, MQL_DATE);
$fecha = parametro("idfechaactual", $fecha, MQL_DATE);
$persona = parametro("persona", DEFAULT_SOCIO, MQL_INT);
$persona = parametro("socio", $persona, MQL_INT);
$persona = parametro("idsocio", $persona, MQL_INT);
$credito = parametro("credito", DEFAULT_CREDITO, MQL_INT);
$credito = parametro("idsolicitud", $credito, MQL_INT);
$credito = parametro("solicitud", $credito, MQL_INT);
$cuenta = parametro("cuenta", DEFAULT_CUENTA_CORRIENTE, MQL_INT);
$cuenta = parametro("idcuenta", $cuenta, MQL_INT);
$jscallback = parametro("callback");
$tiny = parametro("tiny");
$form = parametro("form");
$action = parametro("action", SYS_NINGUNO);
$xHP->init();
$xFRM = new cHForm("frm", "./");
$msg = "";
if ($cuenta > 0) {
    $xCta = new cCuentaContable($cuenta);
    $xCta->init();
    $xFRM->addHElem($xCta->getFicha(true, true));
}
//$xFRM->addJsBasico();
//$xFRM->addCreditBasico();
//$xFRM->addSubmit();
$xFRM->addCerrar();
echo $xFRM->get();
//$jxc ->drawJavaScript(false, true);
$xHP->fin();
function jsaGuardarDatos($idcuenta, $nombre, $tipo, $centro, $equivalencia, $operacion)
{
    //no se puede cambiar naturaleza, superior
    $xLog = new cCoreLog();
    if ($operacion == SYS_CERO) {
        $xEsq = new cCuentaContableEsquema($idcuenta);
        $superior = $xEsq->CUENTA_SUPERIOR;
        $idcuenta = $xEsq->CUENTA;
        $nivel = $xEsq->NIVEL_ACTUAL;
        $xCta = new cCuentaContable($idcuenta);
        $xCta->add($nombre, $tipo, $centro, false, $nivel, false, $equivalencia, $superior);
        $xLog->add($xCta->getMessages(), $xLog->DEVELOPER);
        $xLog->add("OK\tAgregar Nueva cuenta {$idcuenta}\r\n");
    } else {
        $xCta = new cCuentaContable($idcuenta);
        if ($xCta->init() == true) {
            $xCta->setActualizar($nombre, $equivalencia, $centro);
        }
        $xLog->add($xCta->getMessages(), $xLog->DEVELOPER);
        $xLog->add("OK\tActualizar {$idcuenta} {$nombre} {$equivalencia} {$centro}\r\n");
    }
    return $xLog->getMessages(OUT_HTML);
}
 function setPolizaPorCajero($cajero, $FechaDeCorte, $NumeroDePoliza = false, $TipoDePoliza = 1, $TipoDePago = "efectivo", $generador = false)
 {
     $sucess = true;
     $msg = "=======\tGENERAR POLIZA POR USUARIO NUM {$cajero}\r\n";
     //if (GENERAR_CONTABILIDAD == true){
     //($generador == GENERAR_POLIZAS_AL_CIERRE) AND
     if (isset($cajero)) {
         $xUsr = new cOficial($cajero);
         $DUsr = $xUsr->getDatos();
         $UsrName = $DUsr["nombres"] . " " . $DUsr["apellidopaterno"];
         $tipo_de_poliza = $TipoDePoliza;
         $xD = new cFecha(0, $FechaDeCorte);
         $fecha_de_poliza = $FechaDeCorte;
         $ejercicio_de_poliza = $xD->anno();
         $periodo_de_poliza = $xD->mes();
         $numero_de_poliza = $NumeroDePoliza == false ? false : $NumeroDePoliza;
         $concepto_poliza = "{$UsrName}.-Movimientos del Corte de Fecha {$FechaDeCorte}";
         //Obten datos de la Poliza
         $sqlRec = "SELECT\r\n\t\t\t\t\t\t\t\t\t`operaciones_recibos`.*,\r\n\t\t\t\t\t\t\t\t\t`operaciones_recibostipo`.`tipo_poliza_generada`,\r\n\t\t\t\t\t\t\t\t\t`operaciones_recibostipo`.`afectacion_en_flujo_efvo`\r\n\t\t\t\t\t\t\t\tFROM\r\n\t\t\t\t\t\t\t\t\t`operaciones_recibos` `operaciones_recibos`\r\n\t\t\t\t\t\t\t\t\t\tINNER JOIN `operaciones_recibostipo`\r\n\t\t\t\t\t\t\t\t\t\t`operaciones_recibostipo`\r\n\t\t\t\t\t\t\t\t\t\tON `operaciones_recibos`.`tipo_docto` =\r\n\t\t\t\t\t\t\t\t\t\t`operaciones_recibostipo`.\r\n\t\t\t\t\t\t\t\t\t\t`idoperaciones_recibostipo`\r\n\t\t\t\t\t\t\t\tWHERE\r\n\t\t\t\t\t\t\t\t\t(`operaciones_recibos`.`idusuario` = {$cajero} )\r\n\t\t\t\t\t\t\t\t\tAND\r\n\t\t\t\t\t\t\t\t\t(`operaciones_recibos`.`fecha_operacion` = '{$FechaDeCorte}' )\r\n\t\t\t\t\t\t\t\t\tAND\r\n\t\t\t\t\t\t\t\t\t(`operaciones_recibostipo`.`tipo_poliza_generada` = {$TipoDePoliza} )\r\n\t\t\t\t\t\t\t\t\tAND\r\n\t\t\t\t\t\t\t\t\t(`operaciones_recibos`.`tipo_pago` = '{$TipoDePago}' )\r\n\t\t\t\t\t\t\t\tORDER BY\r\n\t\t\t\t\t\t\t\t\t`operaciones_recibos`.`tipo_pago`,\r\n\t\t\t\t\t\t\t\t\t`operaciones_recibos`.`idusuario`,\r\n\t\t\t\t\t\t\t\t\t`operaciones_recibos`.`idoperaciones_recibos`\r\n\t\t\t\t\t\t\t\t\t";
         //$msg		.= "$sqlRec\r\n";
         $rsP = getRecordset($sqlRec);
         //Obtener el la Ultima Poliza Registrada
         //------------------ Agregar Poliza
         $xPol = new cPoliza($tipo_de_poliza, $numero_de_poliza, $ejercicio_de_poliza, $periodo_de_poliza);
         if ($numero_de_poliza != false and $xPol->getCountPolizaByNumero($numero_de_poliza) > 1) {
             $xPol->setDeletePoliza();
         }
         $msg .= $xPol->add($concepto_poliza, $fecha_de_poliza, $numero_de_poliza, 0, 0, $cajero);
         $numero_de_poliza = $xPol->get();
         $msg .= "=====\tPOLIZA NUM: {$numero_de_poliza} | TIPO: {$tipo_de_poliza} | EJERCICIO: {$ejercicio_de_poliza} | PERIODO: {$periodo_de_poliza}\r\n";
         $sucess = $xPol->mRaiseError == true ? false : true;
         //seleccionar todos los recibos
         while ($rwP = mysql_fetch_array($rsP)) {
             $dRec = $rwP;
             $numero_de_recibo = $dRec["idoperaciones_recibos"];
             $recibo_fiscal = strlen($dRec["recibo_fiscal"]) > 2 ? ";RF:" . trim($dRec["recibo_fiscal"]) : "";
             $observacion_recibo = $dRec["observacion_recibo"];
             $flujo_efectivo = $dRec["afectacion_en_flujo_efvo"];
             $cheque = strlen($dRec["cheque_afectador"]) > 2 ? ";Ch:" . $dRec["cheque_afectador"] : "";
             $socio = $dRec["numero_socio"];
             $concepto_mvto = substr("R:" . $numero_de_recibo . $recibo_fiscal . $cheque . ";" . $dRec["observacion_recibo"], 0, 80);
             $msg .= "{$numero_de_recibo}\tRECIBO TIPO: " . $dRec["tipo_docto"] . " SUMA: " . $dRec["total_operacion"] . " \r\n";
             //regenera el perfil contable
             //if ( $Regenerar == true ){
             $xUCont = new cUtileriasParaContabilidad();
             $msg .= $xUCont->setRegenerarPrepolizaContable($dRec["fecha_operacion"], $numero_de_recibo);
             //}
             //------------------ Leer la PROFORMA
             $sqlMvtosToPoliza = "SELECT\r\n\t\t\t\t\t`contable_polizas_proforma`.*,\r\n\t\t\t\t\t`operaciones_tipos`.*\r\n\t\t\r\n\t\t\t\t\tFROM\r\n\t\t\t\t\t`operaciones_tipos` `operaciones_tipos`\r\n\t\t\t\t\t\tINNER JOIN `contable_polizas_proforma`\r\n\t\t\t\t\t\t`contable_polizas_proforma`\r\n\t\t\t\t\t\tON `operaciones_tipos`.`idoperaciones_tipos` =\r\n\t\t\t\t\t\t`contable_polizas_proforma`.`tipo_de_mvto`\r\n\t\t\t\t\t\tAND `contable_polizas_proforma`.`numero_de_recibo` = {$numero_de_recibo}\r\n\t\t\t\t\tORDER BY\r\n\t\t\t\t\t\t`contable_polizas_proforma`.`contable_operacion` DESC,\r\n\t\t\t\t\t\t`contable_polizas_proforma`.`socio`,\r\n\t\t\t\t\t\t`contable_polizas_proforma`.`documento`,\r\n\t\t\t\t\t\t`contable_polizas_proforma`.`tipo_de_mvto`\t\t\t\r\n\t\t\t\t\t";
             if ($sucess == true) {
                 //$msg		.= "$sqlMvtosToPoliza\r\n";
                 $rs = mysql_query($sqlMvtosToPoliza, cnnGeneral());
                 if (!$rs) {
                     //error en MYSQL
                     $sucess = false;
                     saveError(2, $_SESSION["SN_b80bb7740288fda1f201890375a60c8f"], "Depurar :" . mysql_error() . "|Numero: " . mysql_errno() . "|Instruccion SQL:" . $sqlMvtosToPoliza . "|EN:" . $_SESSION["current_file"]);
                 }
                 while ($rw = mysql_fetch_array($rs)) {
                     $cuenta = CUENTA_DE_CUADRE;
                     $nombre = "";
                     $socio = $rw["socio"];
                     if (CONTABLE_CUENTAS_POR_SOCIO == true) {
                         $xSoc = new cSocio($socio, true);
                         $nombre = $xSoc->getNombreCompleto();
                     }
                     //si la cuenta es de efectivo o similar
                     $documento = $rw["documento"];
                     $monto_movimiento = $rw["monto"];
                     $tipoOp = $rw["tipo_de_mvto"];
                     $tipo_movimiento = $rw["contable_operacion"];
                     $cargo_movimiento = 0;
                     $abono_movimiento = 0;
                     if ($tipo_movimiento == TM_CARGO) {
                         $cargo_movimiento = $monto_movimiento;
                         $abono_movimiento = 0;
                     } else {
                         $cargo_movimiento = 0;
                         $abono_movimiento = $monto_movimiento;
                     }
                     $formula = $rw["cuenta_contable"];
                     //Corregir de urgencia: OK: 06Oct2011
                     $sForms = new cValorarFormulas();
                     $cuenta = $sForms->getCuentaContable($socio, $documento, $formula, $cajero);
                     $msg .= $sForms->getMessages();
                     if ($cuenta != "NO_CONTABILIZAR") {
                         $xCuenta = new cCuentaContable($cuenta);
                         $cuenta = $xCuenta->get();
                         //Carga los datos del Oficial
                         if ($xCuenta->getEsCuentaDeCirculante() == true) {
                             $nombre = "EFVO:{$UsrName}";
                             $msg .= "CUENTA_ADD\tLa Cuenta {$cuenta} de Carga por Cajero [ {$nombre} ]\r\n";
                         } else {
                             $msg .= "CUENTA\tLa Cuenta de Trabajo es {$cuenta} Originado del Socio {$socio}\r\n";
                         }
                         //verifica para dar de alta a la cuenta
                         $Existentes = $xCuenta->getCountCuenta();
                         if ($Existentes == false) {
                             $msg .= "{$numero_de_recibo}\tCUENTA_ADD\tLa Cuenta de Trabajo {$cuenta} NO EXISTE, Se AGREGA\r\n";
                             $cuenta = $xCuenta->add($nombre);
                             if ($xCuenta->mRaiseError == true) {
                                 //$msg				.= "ERROR\tLa Cuenta de Trabajo $cuenta NO EXISTE\r\n";
                                 //$msg		= $xCuenta->getMessages();
                             }
                         }
                         $xCuenta->init();
                         $msg .= $xCuenta->getMessages();
                         $msg .= $xPol->addMovimiento($cuenta, $cargo_movimiento, $abono_movimiento, "{$socio}:{$documento}:{$tipoOp}", $concepto_mvto);
                     } else {
                         $msg .= "{$numero_de_recibo}\tNO_CONT\tEl Movimiento de {$socio} | {$documento} | {$tipoOp} de Monto {$monto_movimiento} se OMITE\r\n";
                     }
                 }
                 //END MOVIMIENTOS
             } else {
                 $msg .= "{$numero_de_recibo}\tEXISTE UN ERROR AL CARGAR EL RECIBO\r\n";
             }
             //	END SUCESS
         }
         //	END RECIBOS
         $xPol->setReestructurarEfvo();
         $msg .= $xPol->setFinalizar();
         $msg .= $xPol->getMessages();
         $this->mIDDePoliza = $xPol->getCodigo();
     }
     //			END VALUE.- GENERAR AL CIERRE DEL DIA
     //}		//			END VALUE.- GENERAR CONTABILIDAD
     return $msg;
 }
 function setEliminar()
 {
     $xCta = new cCuentaContable($this->mNumeroCuenta);
     $xCta->init();
     $xCta->setAfectarSaldos($this->mTipoOperacion, $this->mMontoOperacion, $this->mPeriodoPoliza, $this->mEjercicioPoliza, true);
     $sqlDMM = "DELETE FROM contable_movimientos\tWHERE clave_unica=" . $this->mCodigoUnico;
     my_query($sqlDMM);
     $this->mMessages .= $xCta->getMessages();
 }