def cheque(): '''Maneja la lista de cheques y muestra la informacion de uno o varios cheque(s).''' global lCh ch = ES.entradaNumero(droid, "CHEQUE", "Numero de cheque", "0", True, True) if None == ch or 0 > ch: ES.alerta(droid, 'CHEQUE', "Cheque no encontrado!") return None if 0 == ch: nCh = lCheques() if not nCh: return None else: mCheque(nCh) return None bEnc = False for l in lCh: if ch > int(l[1]): continue elif ch == int(l[1]): bEnc = True mCheque(l) # return # Comentada para poder mostrar mas de un cheque con el mismo numero. else: break # Fin for if not bEnc: ES.alerta(droid, 'CHEQUE', "El cheque %5d no fue encontrado." % ch) return None
def cedulaI(ciAnt): while True: ci = ES.entradaNumero(droid, "CEDULA DE IDENTIDAD", "Cedula de identidad del socio", str(ciAnt), True, True, True) if 0 == ci: return -1 if ci < 100000: print('Debe introducir un número entero de 6 o más dígitos') else: break return ci
def xCodigo(): global droid global lPro codigo = ES.entradaNumero(droid, 'Codigo de Casa Nacional', 'Introduzca el codigo o parte de el', lPro[0]['codigo']) cod = str(codigo).rstrip(' \t\n\r') lCod = [] for l in lPro: if cod in l['codigo']: if ('S' == l['estatus']): caida = 'Caida: ' else: caida = '' lst = (caida+l['codigo']+'-'+l['nombre'], l['id']-1) lCod.append(lst) # for l in lPro return mPropiedad(lCod, 'Codigo CN:'+cod)
def comisiones(droid=None, bImp=True): rPr = rCom = rIva = lados = xPReCaNa = asCapSoc = asCerSoc = None xPorcBon = xPorcCap = xPorcCer = comBanca = None while (None == rPr): rPr = ES.entradaNumeroConLista(droid, 'Precio del inmueble', 'Introduzca el monto', CO.lMonto, False) while (None == rCom): rCom = ES.entradaNumeroConLista(droid, 'Comision', 'Introduzca el porc de comision', CO.lComis, False) while (None == rIva): rIva = ES.entradaNumeroConLista(droid, 'Impuesto al valor ' 'agregado', 'Introduzca el IVA', CO.lIva, False, True) while (None == lados): lados = ES.entradaNumero(droid, 'Numero de lados', 'Cuantos lados, 1 o 2?', '2') if (None != lados): if (1 > lados) or (2 < lados): lados = None while (None == xPReCaNa): xPReCaNa = ES.entradaNumeroConLista( droid, 'Porcentaje reportada a Casa Nacional', '% Reportado a ' 'Casa Nacional?', [ '5.0', '4.9', '4.8', '4.7', '4.6', '4.5', '4.4', '4.3', '4.2', '4.1', 'Otro' ], False, True) while (None == asCapSoc): resp = ES.siNo(droid, 'El asesor captador es socio', 'El Captador es socio PrBr?', CO.lNoSi) if ('S' == resp): asCapSoc = True else: asCapSoc = False while (None == asCerSoc): resp = ES.siNo(droid, 'El asesor cerrador es socio', 'El Cerrador es socio PrBr?', CO.lNoSi) if ('S' == resp): asCerSoc = True else: asCerSoc = False while (None == xPorcBon): xPorcBon = ES.entradaNumeroConLista( droid, 'Porcentaje de bonificacion', '% de bonificacion?', ['0.00', '2.5', '5.0', '10.0', 'Otro'], False, True) xPorcCap = ES.entradaNumero(droid, 'Comision captador', '% de la comision del captador?', '20.00', False, True) if (None == xPorcCap): xPorcCap = 20.00 xPorcCer = ES.entradaNumero(droid, 'Comision cerrador', '% de la comision del cerrador?', '20.00', False, True) if (None == xPorcCer): xPorcCer = 20.00 comBanca = ES.entradaNumero(droid, 'Comision bancaria', 'Monto de la comision bancaria?', '0.00', False, True) if (None == comBanca): comBanca = 0.00 xPorcGer = 10.0 xPcFranq = 10.0 xPorcReg = 80.0 xPorcSan = 20.0 (resSIva, resCIva, compSIva, compCIva, frnqSIva, frnqCIva,\ frnqPaRe, regalia, sanfm5XC, ofBruRea, basHoSoc, basPaHon,\ captador, gerente, cerrador, bonifica, netoOfic) =\ calComisiones(rPr, rCom, rIva, lados, xPReCaNa, asCapSoc, asCerSoc, xPorcBon, xPorcCap, xPorcCer, comBanca, xPorcGer, xPcFranq, xPorcReg, xPorcSan) if bImp: if CO.bPantAmplia: sFormCuota = ("%sPrecio:%s %s, %sComision:%s %s%%, %sIVA:%s" " %s%%, %d %slado(s)%s\n") else: sFormCuota = "%sPr:%s%s,%s%%Com:%s%s%%,%sIVA:%s%s%%\n" sMsj = sFormCuota % (CO.AZUL, CO.FIN, FG.formateaNumero( rPr, 2), CO.AZUL, CO.FIN, FG.formateaNumero( rCom, 2), CO.AZUL, CO.FIN, FG.formateaNumero( rIva, 2), lados, CO.AZUL, CO.FIN) sMsj += ("%sReserva sin IVA:%s %s\n") % (CO.AZUL, CO.FIN, FG.formateaNumero(resSIva, 2)) sMsj += ("%sReserva con IVA:%s %s\n") % (CO.AZUL, CO.FIN, FG.formateaNumero(resCIva, 2)) sMsj += ("%sCompartido con otra oficina con IVA:%s %s\n") %\ (CO.AZUL, CO.FIN, FG.formateaNumero(compCIva, 2)) sMsj += ("%sCompartido con otra oficina sin IVA:%s %s\n") %\ (CO.AZUL, CO.FIN, FG.formateaNumero(compSIva, 2)) sMsj += ("%sFranquicia de reserva sin IVA:%s %s (%s%%)\n") %\ (CO.AZUL, CO.FIN, FG.formateaNumero(frnqSIva, 2), FG.formateaNumero(xPcFranq, 2)) sMsj += ("%sFranquicia de reserva con IVA:%s %s (%s%%)\n") %\ (CO.AZUL, CO.FIN, FG.formateaNumero(frnqCIva, 2), FG.formateaNumero(xPcFranq, 2)) sMsj += ("%sFranquicia a pagar reportada:%s %s (%s%%)\n") %\ (CO.AZUL, CO.FIN, FG.formateaNumero(frnqPaRe, 2), FG.formateaNumero(xPReCaNa, 2)) sMsj += ("%sRegalia:%s %s (%s%%)\n") % (CO.AZUL, CO.FIN, FG.formateaNumero(regalia, 2), FG.formateaNumero(xPorcReg, 2)) sMsj += ("%sSanaf menos 5 por ciento:%s %s (%s%%)\n") % ( CO.AZUL, CO.FIN, FG.formateaNumero( sanfm5XC, 2), FG.formateaNumero(xPorcSan, 2)) sMsj += ("%sOficina bruto real:%s %s\n") % ( CO.AZUL, CO.FIN, FG.formateaNumero(ofBruRea, 2)) sMsj += ("%sBase honorarios socios:%s %s\n") % ( CO.AZUL, CO.FIN, FG.formateaNumero(basHoSoc, 2)) sMsj += ("%sBase para honorarios:%s %s\n") % ( CO.AZUL, CO.FIN, FG.formateaNumero(basPaHon, 2)) sMsj += ("%sComision del captador:%s %s (%s%%)\n") % ( CO.AZUL, CO.FIN, FG.formateaNumero( captador, 2), FG.formateaNumero(xPorcCap, 2)) sMsj += ("%sComision del gerente:%s %s (%s%%)\n") % ( CO.AZUL, CO.FIN, FG.formateaNumero( gerente, 2), FG.formateaNumero(xPorcGer, 2)) sMsj += ("%sComision del cerrador:%s %s (%s%%)\n") % ( CO.AZUL, CO.FIN, FG.formateaNumero( cerrador, 2), FG.formateaNumero(xPorcCer, 2)) if (0.00 != xPorcBon): sMsj += ("%sBonificacion:%s %s (%s%%)\n") % ( CO.AZUL, CO.FIN, FG.formateaNumero( bonifica, 2), FG.formateaNumero(xPorcBon, 2)) if (0.00 != comBanca): sMsj += ("%sComision bancaria:%s %s\n") % ( CO.AZUL, CO.FIN, FG.formateaNumero(comBanca, 2)) sMsj += ("%sIngreso neto de la oficina:%s %s\n") % ( CO.AZUL, CO.FIN, FG.formateaNumero(netoOfic, 2)) opc = ES.imprime(sMsj.rstrip(' \t\n\r')) return opc return rPr, rCom, rIva, lados, resSIva, resCIva, compSIva,\ compCIva, frnqSIva, frnqCIva, frnqPaRe, regalia, sanfm5XC,\ ofBruRea, basHoSoc, basPaHon, captador, gerente, cerrador,\ bonifica, comBanca, netoOfic
else: print("%sNo suministro el sufijo de entrada.%s" % (CO.ROJO, CO.FIN)) print("Ejecutar: %s%s <sufijo de entrada:mmaa> [[<sufijo de salida>|HOY('aaaa_mm')] " "[<prefijo del nombre del archivo>|nomina_|_personal|_rac]]%s" %\ (CO.AMARI, basename(sys.argv[0]), CO.FIN)) sys.exit() print("Archivo de entrada: %s%s%s" % (CO.AZUL, nombArchEntCompleto, CO.FIN)) print("Archivo de salida: %s%s%s" % (CO.AZUL, nombArchSalCompleto, CO.FIN)) print("Inicio: %s%s%s" % (CO.AZUL, strftime("%Y/%m/%d %H:%M:%S"), CO.FIN)) if bMovil: nombArchEnt = buscarArchivo(lFiles) if None == nombArchEnt: exit f = ES.abrir(nombArchEnt, 'r', 'latin-1') iCed = ES.entradaNumero(droid, "Cedula de identidad", "Cedula de identidad del socio", sCed) if None == iCed or 0 == iCed: sCed = None else: sCed = str(iCed) else: try: f = ES.abrir(nombArchEntCompleto, 'r', 'latin-1', True) except: f = False if not f: print("%sNombre de archivo%s '%s' %serrado.%s" % (CO.ROJO, CO.FIN, nombArchEntCompleto, CO.ROJO, CO.FIN)) sys.exit() bControlPersonal = False salida = [] salida.append('SET GLOBAL max_allowed_packet=128*1024*1024;')
nombArchCompleto = sys.argv[1] nombArch = basename(nombArchCompleto) if 2 < len(sys.argv) and sys.argv[2].isdigit(): sCed = sys.argv[2] else: print("%sNo paso el nombre del archivo como parametro.%s" % (CO.ROJO, CO.FIN)) sys.exit() while True: if bMovil: nombArch = buscarArchivo(lFiles) if None == nombArch: break f = ES.abrir(nombArch, 'r') iCed = ES.entradaNumero( droid, "Cedula o Concepto" "Cedula del socio o Concepto", sCed) if None == iCed or 0 == iCed: sCed = '' else: sCed = str(iCed) else: try: f = open(nombArchCompleto, 'r') except: f = False if not f: print("%sNombre de archivo%s '%s' %serrado.%s" % (CO.ROJO, CO.FIN, nombArchCompleto, CO.ROJO, CO.FIN)) break # 0:Mov (6:retroact o 7:fijo); 1:CI; 2:Conc; 3:Saldo; 4:Cuota; # 5:Ctrl (1:Crea, 2:Mod, 3:eli); 6:Tipo (1:Saldo-cuota, 2:Cuota fija).
if 2 < len(sys.argv): nombArchivo = sys.argv[2] else: nombArchivo = 'IPAS' if 3 < len(sys.argv) and sys.argv[3].isdigit(): ano = sys.argv[3] else: ano = sAno else: print("%sEjecutar: movServifun mm ipas aaaa%s" % (CO.ROJO, CO.FIN)) sys.exit() nombArch = basename(nombArchivo) while True: if bMovil: mes = ES.entradaNumero(droid, "Mes del Concepto", "Mes del Concepto", sMes) if None == mes or 1 > int(mes) or 12 < int(mes): print("%sEl mes esta errado.%s" % (CO.ROJO, CO.FIN)) sys.exit() mes = "%02d" % mes nombArchivo = ES.entradaNombre(droid, "Nombre del archivo", "Nombre del Archivo", 'IPAS') ano = ES.entradaNumero(droid, "A#o del Movimiento", "A#o del Movimiento", sAno) bInicio = True st = '' for sNuc in ('01', '02', '03', '04', '05', '06'): nombArchivoCompleto = nombArchivo + sNuc + str(ano) + str(mes) +\ '.TXT' try: if bMovil: