Order tab - tecla tab
Carlos Edurado Sotelo Pinto
csotelop en yahoo.es
Lun Ene 3 15:50:52 CET 2005
Este es mi codigo fuente, por favor si pueden revisralo, ya que no
funciona los order tab, que puse en la propuiedad de stylo
wxTE_PROCESS_TAB, por favor chequeenlo y diganme por que no funciona los
order tab
#-----------------------------------------------------------------------------
# Name: frm2110.py
# Purpose: Formulario de Ingreso y Edicion de Contratos
#
# Author: Carlos Eduardo Sotelo Pinto
#
# Created: 2004/11/20
# Updated: 2004/12/28
# RCS-ID: $Id: frm2110.py $
# Copyright: (c) 2004 Asociacion Civil San Juan Bautista
# Licence: GPL
# New field: Whatever
#-----------------------------------------------------------------------------
#Boa:MDIChild:frm2110
from wxPython.wx import *
from bussines.config import TEA, DOLAR, TEAS
def create(parent):
return frm2110(parent)
[wxID_FRM2110, wxID_FRM2110BTNADVISERSCLEAR, wxID_FRM2110BTNCLEARCONTRACT,
wxID_FRM2110BTNCONTRACTEND, wxID_FRM2110BTNCONTRACTSEEKER,
wxID_FRM2110BTNDISCOUNTADD, wxID_FRM2110BTNFALLGENERATE,
wxID_FRM2110BTNNOTVENDOR, wxID_FRM2110BTNPRODUCTADD,
wxID_FRM2110BTNPRODUCTCLEAR, wxID_FRM2110BTNPRODUCTGENERATE,
wxID_FRM2110BTNSAVERECORD, wxID_FRM2110BTNVENDORADD,
wxID_FRM2110CHCCONTRACTHASGROUPHASRESOURCES, wxID_FRM2110CHCDPERCENT,
wxID_FRM2110CHCFALLS, wxID_FRM2110CHCGROUPS, wxID_FRM2110CHCPERCENT,
wxID_FRM2110CHCPLAN, wxID_FRM2110CHCPRODUCTS, wxID_FRM2110CHCRESOURCES,
wxID_FRM2110CHKCHOICED, wxID_FRM2110CHKPAYMODE, wxID_FRM2110CHKRISK,
wxID_FRM2110LSTADVISERS, wxID_FRM2110LSTDISCOUNTS,
wxID_FRM2110LSTPRODUCTS,
wxID_FRM2110STATICBOX1, wxID_FRM2110STATICBOX2, wxID_FRM2110STATICBOX3,
wxID_FRM2110STATICBOX4, wxID_FRM2110STATICBOX5, wxID_FRM2110STATICTEXT1,
wxID_FRM2110STATICTEXT10, wxID_FRM2110STATICTEXT11,
wxID_FRM2110STATICTEXT12,
wxID_FRM2110STATICTEXT13, wxID_FRM2110STATICTEXT2,
wxID_FRM2110STATICTEXT3,
wxID_FRM2110STATICTEXT4, wxID_FRM2110STATICTEXT5, wxID_FRM2110STATICTEXT6,
wxID_FRM2110STATICTEXT7, wxID_FRM2110STATICTEXT8, wxID_FRM2110STATICTEXT9,
wxID_FRM2110STCCONTRACT, wxID_FRM2110STCFALL, wxID_FRM2110STCRESOURCES,
wxID_FRM2110TXTCONTRACTNUMBER, wxID_FRM2110TXTCONTRACTTOTAL,
wxID_FRM2110TXTDPAY, wxID_FRM2110TXTFALLTOTAL, wxID_FRM2110TXTINITIAL,
wxID_FRM2110TXTINITIALX, wxID_FRM2110TXTMPROM, wxID_FRM2110TXTNUMPRODUCTS,
wxID_FRM2110TXTPRODUCTTOTAL, wxID_FRM2110TXTPROM, wxID_FRM2110TXTQUOT,
wxID_FRM2110TXTQUOTS, wxID_FRM2110TXTSALD, wxID_FRM2110TXTTITULAR,
wxID_FRM2110TXTTOTAL,
] = map(lambda _init_ctrls: wxNewId(), range(63))
class frm2110(wxMDIChildFrame):
def _init_ctrls(self, prnt):
# generated method, don't edit
wxMDIChildFrame.__init__(self, id=wxID_FRM2110, name='frm2110',
parent=prnt, pos=wxPoint(221, 67), size=wxSize(601, 467),
style=wxDEFAULT_FRAME_STYLE, title='Ingreso de Contratos')
self.SetClientSize(wxSize(593, 440))
EVT_ACTIVATE(self, self.OnFrm2110Activate)
self.txtContractNumber =
wxTextCtrl(id=wxID_FRM2110TXTCONTRACTNUMBER,
name='txtContractNumber', parent=self, pos=wxPoint(16, 24),
size=wxSize(80, 21), style=0, value='0')
self.btnContractSeeker = wxButton(id=wxID_FRM2110BTNCONTRACTSEEKER,
label='Buscar', name='btnContractSeeker', parent=self,
pos=wxPoint(104, 24), size=wxSize(75, 23), style=0)
self.chcPlan = wxChoice(choices=[], id=wxID_FRM2110CHCPLAN,
name='chcPlan', parent=self, pos=wxPoint(200, 24),
size=wxSize(128, 21),
style=wxTE_PROCESS_ENTER | wxTE_PROCESS_TAB)
EVT_CHOICE(self.chcPlan, wxID_FRM2110CHCPLAN, self.OnChcPlanChoice)
self.chcPercent = wxChoice(choices=['10', '20', '30', '40',
'50', '60',
'70', '80', '90', '100'], id=wxID_FRM2110CHCPERCENT,
name='chcPercent', parent=self, pos=wxPoint(504, 72),
size=wxSize(72, 21), style=0)
self.chcPercent.SetStringSelection('100')
self.btnVendorAdd = wxButton(id=wxID_FRM2110BTNVENDORADD,
label='Agregar', name='btnVendorAdd', parent=self,
pos=wxPoint(504, 24), size=wxSize(72, 23), style=0)
EVT_BUTTON(self.btnVendorAdd, wxID_FRM2110BTNVENDORADD,
self.OnBtnVendorAddButton)
self.chcContractHasGroupHasResources = wxChoice(choices=[],
id=wxID_FRM2110CHCCONTRACTHASGROUPHASRESOURCES,
name='chcContractHasGroupHasResources', parent=self,
pos=wxPoint(352, 24), size=wxSize(144, 21),
style=wxTE_PROCESS_ENTER | wxTE_PROCESS_TAB)
self.lstAdvisers = wxListBox(choices=[], id=wxID_FRM2110LSTADVISERS,
name='lstAdvisers', parent=self, pos=wxPoint(352, 72),
size=wxSize(144, 48), style=0)
self.stcContract = wxStaticBox(id=wxID_FRM2110STCCONTRACT,
label='Contrato', name='stcContract', parent=self,
pos=wxPoint(8,
8), size=wxSize(328, 72), style=0)
self.stcResources = wxStaticBox(id=wxID_FRM2110STCRESOURCES,
label='Consejero', name='stcResources', parent=self,
pos=wxPoint(344, 8), size=wxSize(240, 120), style=0)
self.stcFall = wxStaticBox(id=wxID_FRM2110STCFALL, label='Tumba',
name='stcFall', parent=self, pos=wxPoint(344, 128),
size=wxSize(240, 160), style=0)
self.chcFalls = wxChoice(choices=[], id=wxID_FRM2110CHCFALLS,
name='chcFalls', parent=self, pos=wxPoint(352, 144),
size=wxSize(224, 21),
style=wxTE_PROCESS_ENTER | wxTE_PROCESS_TAB)
EVT_CHOICE(self.chcFalls, wxID_FRM2110CHCFALLS,
self.OnChcFallsChoice)
self.btnDiscountAdd = wxButton(id=wxID_FRM2110BTNDISCOUNTADD,
label='Agregar', name='btnDiscountAdd', parent=self,
pos=wxPoint(504, 224), size=wxSize(72, 23), style=0)
EVT_BUTTON(self.btnDiscountAdd, wxID_FRM2110BTNDISCOUNTADD,
self.OnBtnDiscountAddButton)
self.lstDiscounts = wxListBox(choices=[],
id=wxID_FRM2110LSTDISCOUNTS,
name='lstDiscounts', parent=self, pos=wxPoint(352, 224),
size=wxSize(144, 56), style=0)
self.txtFallTotal = wxTextCtrl(id=wxID_FRM2110TXTFALLTOTAL,
name='txtFallTotal', parent=self, pos=wxPoint(88, 232),
size=wxSize(72, 21), style=0, value='0')
EVT_TEXT(self.txtFallTotal, wxID_FRM2110TXTFALLTOTAL,
self.OnTxtFallTotalText)
self.staticBox1 = wxStaticBox(id=wxID_FRM2110STATICBOX1,
label='Anexo',
name='staticBox1', parent=self, pos=wxPoint(8, 80),
size=wxSize(328, 136), style=0)
self.chcGroups = wxChoice(choices=[], id=wxID_FRM2110CHCGROUPS,
name='chcGroups', parent=self, pos=wxPoint(200, 48),
size=wxSize(128, 21),
style=wxTE_PROCESS_ENTER | wxTE_PROCESS_TAB)
EVT_CHOICE(self.chcGroups, wxID_FRM2110CHCGROUPS,
self.OnChcGroupsChoice)
self.txtTitular = wxTextCtrl(id=wxID_FRM2110TXTTITULAR,
name='txtTitular', parent=self, pos=wxPoint(88, 96),
size=wxSize(240, 21), style=wxTE_PROCESS_ENTER |
wxTE_PROCESS_TAB,
value='')
self.txtTitular.SetMaxLength(80)
self.staticText1 = wxStaticText(id=wxID_FRM2110STATICTEXT1,
label='Titular', name='staticText1', parent=self,
pos=wxPoint(16,
104), size=wxSize(29, 13), style=0)
self.txtProm = wxTextCtrl(id=wxID_FRM2110TXTPROM, name='txtProm',
parent=self, pos=wxPoint(88, 128), size=wxSize(160, 21),
style=wxTE_PROCESS_ENTER | wxTE_PROCESS_TAB, value='')
self.txtMProm = wxTextCtrl(id=wxID_FRM2110TXTMPROM, name='txtMProm',
parent=self, pos=wxPoint(256, 128), size=wxSize(72, 21),
style=wxTE_PROCESS_ENTER | wxTE_PROCESS_TAB, value='0')
self.chkChoiced = wxCheckBox(id=wxID_FRM2110CHKCHOICED,
label='Escogido', name='chkChoiced', parent=self,
pos=wxPoint(504,
176), size=wxSize(73, 13),
style=wxTE_PROCESS_ENTER | wxTE_PROCESS_TAB)
self.chkChoiced.SetValue(False)
self.staticBox2 = wxStaticBox(id=wxID_FRM2110STATICBOX2,
label='Productos', name='staticBox2', parent=self,
pos=wxPoint(344, 288), size=wxSize(240, 144), style=0)
self.chcProducts = wxChoice(choices=[], id=wxID_FRM2110CHCPRODUCTS,
name='chcProducts', parent=self, pos=wxPoint(352, 304),
size=wxSize(144, 21), style=0)
self.btnProductAdd = wxButton(id=wxID_FRM2110BTNPRODUCTADD,
label='Agregar', name='btnProductAdd', parent=self,
pos=wxPoint(504, 336), size=wxSize(72, 23), style=0)
EVT_BUTTON(self.btnProductAdd, wxID_FRM2110BTNPRODUCTADD,
self.OnBtnProductAddButton)
self.lstProducts = wxListBox(choices=[], id=wxID_FRM2110LSTPRODUCTS,
name='lstProducts', parent=self, pos=wxPoint(352, 328),
size=wxSize(144, 96), style=0)
self.btnProductClear = wxButton(id=wxID_FRM2110BTNPRODUCTCLEAR,
label='Limpiar', name='btnProductClear', parent=self,
pos=wxPoint(504, 368), size=wxSize(72, 23), style=0)
EVT_BUTTON(self.btnProductClear, wxID_FRM2110BTNPRODUCTCLEAR,
self.OnBtnProductClearButton)
self.btnProductGenerate =
wxButton(id=wxID_FRM2110BTNPRODUCTGENERATE,
label='Totalizar', name='btnProductGenerate', parent=self,
pos=wxPoint(504, 400), size=wxSize(72, 23), style=0)
EVT_BUTTON(self.btnProductGenerate, wxID_FRM2110BTNPRODUCTGENERATE,
self.OnBtnProductGenerateButton)
self.txtProductTotal = wxTextCtrl(id=wxID_FRM2110TXTPRODUCTTOTAL,
name='txtProductTotal', parent=self, pos=wxPoint(88, 256),
size=wxSize(72, 21), style=0, value='0')
EVT_TEXT(self.txtProductTotal, wxID_FRM2110TXTPRODUCTTOTAL,
self.OnTxtProductTotalText)
self.staticBox3 = wxStaticBox(id=wxID_FRM2110STATICBOX3,
label='Financiamiento', name='staticBox3', parent=self,
pos=wxPoint(176, 216), size=wxSize(160, 168), style=0)
self.staticBox4 = wxStaticBox(id=wxID_FRM2110STATICBOX4,
label='Totales', name='staticBox4', parent=self,
pos=wxPoint(8,
216), size=wxSize(160, 168), style=0)
self.staticText4 = wxStaticText(id=wxID_FRM2110STATICTEXT4,
label='Tumba', name='staticText4', parent=self,
pos=wxPoint(16,
240), size=wxSize(33, 13), style=0)
self.staticText5 = wxStaticText(id=wxID_FRM2110STATICTEXT5,
label='Productos', name='staticText5', parent=self,
pos=wxPoint(16, 264), size=wxSize(48, 13), style=0)
self.txtContractTotal = wxTextCtrl(id=wxID_FRM2110TXTCONTRACTTOTAL,
name='txtContractTotal', parent=self, pos=wxPoint(88, 280),
size=wxSize(72, 21), style=0, value='0')
self.txtInitial = wxTextCtrl(id=wxID_FRM2110TXTINITIAL,
name='txtInitial', parent=self, pos=wxPoint(256, 232),
size=wxSize(72, 21), style=wxTE_PROCESS_ENTER |
wxTE_PROCESS_TAB,
value='0')
self.txtSald = wxTextCtrl(id=wxID_FRM2110TXTSALD, name='txtSald',
parent=self, pos=wxPoint(256, 280), size=wxSize(72, 21),
style=wxTE_PROCESS_ENTER | wxTE_PROCESS_TAB, value='0')
self.txtQuots = wxTextCtrl(id=wxID_FRM2110TXTQUOTS, name='txtQuots',
parent=self, pos=wxPoint(256, 304), size=wxSize(72, 21),
style=wxTE_PROCESS_ENTER | wxTE_PROCESS_TAB, value='0')
self.txtQuot = wxTextCtrl(id=wxID_FRM2110TXTQUOT, name='txtQuot',
parent=self, pos=wxPoint(256, 328), size=wxSize(72, 21),
style=wxTE_PROCESS_ENTER | wxTE_PROCESS_TAB, value='0')
self.staticBox5 = wxStaticBox(id=wxID_FRM2110STATICBOX5, label='',
name='staticBox5', parent=self, pos=wxPoint(8, 384),
size=wxSize(328, 48), style=0)
self.btnSaveRecord = wxButton(id=wxID_FRM2110BTNSAVERECORD,
label='Grabar', name='btnSaveRecord', parent=self,
pos=wxPoint(136, 400), size=wxSize(75, 23), style=0)
EVT_BUTTON(self.btnSaveRecord, wxID_FRM2110BTNSAVERECORD,
self.OnBtnSaveRecordButton)
self.btnContractEnd = wxButton(id=wxID_FRM2110BTNCONTRACTEND,
label='Totalizar', name='btnContractEnd', parent=self,
pos=wxPoint(16, 400), size=wxSize(72, 23), style=0)
EVT_BUTTON(self.btnContractEnd, wxID_FRM2110BTNCONTRACTEND,
self.OnBtnContractEndButton)
self.btnClearContract = wxButton(id=wxID_FRM2110BTNCLEARCONTRACT,
label='Limpiar', name='btnClearContract', parent=self,
pos=wxPoint(248, 400), size=wxSize(75, 23), style=0)
EVT_BUTTON(self.btnClearContract, wxID_FRM2110BTNCLEARCONTRACT,
self.OnBtnClearContractButton)
self.staticText6 = wxStaticText(id=wxID_FRM2110STATICTEXT6,
label='Inicial', name='staticText6', parent=self,
pos=wxPoint(184,
240), size=wxSize(27, 13), style=0)
self.staticText7 = wxStaticText(id=wxID_FRM2110STATICTEXT7,
label='Saldo', name='staticText7', parent=self,
pos=wxPoint(184,
288), size=wxSize(27, 13), style=0)
self.staticText8 = wxStaticText(id=wxID_FRM2110STATICTEXT8,
label='Cuotas', name='staticText8', parent=self,
pos=wxPoint(184,
312), size=wxSize(33, 13), style=0)
self.staticText9 = wxStaticText(id=wxID_FRM2110STATICTEXT9,
label='Cuota', name='staticText9', parent=self,
pos=wxPoint(184,
336), size=wxSize(28, 13), style=0)
self.staticText10 = wxStaticText(id=wxID_FRM2110STATICTEXT10,
label='Total', name='staticText10', parent=self,
pos=wxPoint(16,
288), size=wxSize(24, 13), style=0)
self.chkPayMode = wxCheckBox(id=wxID_FRM2110CHKPAYMODE,
label='Contado',
name='chkPayMode', parent=self, pos=wxPoint(504, 200),
size=wxSize(73, 13), style=wxTE_PROCESS_ENTER |
wxTE_PROCESS_TAB)
self.chkPayMode.SetValue(False)
EVT_CHECKBOX(self.chkPayMode, wxID_FRM2110CHKPAYMODE,
self.OnChkPayModeCheckbox)
self.btnFallGenerate = wxButton(id=wxID_FRM2110BTNFALLGENERATE,
label='Totalizar', name='btnFallGenerate', parent=self,
pos=wxPoint(504, 256), size=wxSize(75, 23), style=0)
EVT_BUTTON(self.btnFallGenerate, wxID_FRM2110BTNFALLGENERATE,
self.OnBtnFallGenerateButton)
self.chcResources = wxChoice(choices=[],
id=wxID_FRM2110CHCRESOURCES,
name='chcResources', parent=self, pos=wxPoint(352, 48),
size=wxSize(144, 21),
style=wxTE_PROCESS_ENTER | wxTE_PROCESS_TAB)
self.btnNotVendor = wxButton(id=wxID_FRM2110BTNNOTVENDOR,
label='Agregar', name='btnNotVendor', parent=self,
pos=wxPoint(504, 48), size=wxSize(72, 23), style=0)
EVT_BUTTON(self.btnNotVendor, wxID_FRM2110BTNNOTVENDOR,
self.OnBtnNotVendorButton)
self.txtDPay = wxTextCtrl(id=wxID_FRM2110TXTDPAY, name='txtDPay',
parent=self, pos=wxPoint(88, 304), size=wxSize(72, 21),
style=0,
value='0')
self.chcDPercent = wxChoice(choices=['0', '10', '20', '30',
'40', '50',
'60', '70', '80', '90', '100'], id=wxID_FRM2110CHCDPERCENT,
name='chcDPercent', parent=self, pos=wxPoint(424, 168),
size=wxSize(72, 21), style=wxTE_PROCESS_ENTER |
wxTE_PROCESS_TAB)
self.chcDPercent.SetStringSelection('100')
self.staticText2 = wxStaticText(id=wxID_FRM2110STATICTEXT2,
label='Perc. Desc', name='staticText2', parent=self,
pos=wxPoint(352, 176), size=wxSize(53, 13), style=0)
self.btnAdvisersClear = wxButton(id=wxID_FRM2110BTNADVISERSCLEAR,
label='Limpiar', name='btnAdvisersClear', parent=self,
pos=wxPoint(504, 96), size=wxSize(72, 23), style=0)
EVT_BUTTON(self.btnAdvisersClear, wxID_FRM2110BTNADVISERSCLEAR,
self.OnBtnAdvisersClearButton)
self.staticText3 = wxStaticText(id=wxID_FRM2110STATICTEXT3,
label='Diferido', name='staticText3', parent=self,
pos=wxPoint(16,
312), size=wxSize(36, 13), style=0)
self.txtNumProducts = wxTextCtrl(id=wxID_FRM2110TXTNUMPRODUCTS,
name='txtNumProducts', parent=self, pos=wxPoint(504, 304),
size=wxSize(68, 21), style=0, value='1')
self.chkRisk = wxCheckBox(id=wxID_FRM2110CHKRISK, label='Riesgo',
name='chkRisk', parent=self, pos=wxPoint(16, 56),
size=wxSize(73,
13), style=0)
self.chkRisk.SetValue(False)
self.txtTotal = wxTextCtrl(id=wxID_FRM2110TXTTOTAL, name='txtTotal',
parent=self, pos=wxPoint(256, 352), size=wxSize(72, 21),
style=wxTE_PROCESS_ENTER | wxTE_PROCESS_TAB, value='0')
self.staticText11 = wxStaticText(id=wxID_FRM2110STATICTEXT11,
label='Total', name='staticText11', parent=self,
pos=wxPoint(184,
360), size=wxSize(24, 13), style=0)
self.staticText12 = wxStaticText(id=wxID_FRM2110STATICTEXT12,
label='Promocion', name='staticText12', parent=self,
pos=wxPoint(16, 128), size=wxSize(50, 13), style=0)
self.txtInitialX = wxTextCtrl(id=wxID_FRM2110TXTINITIALX,
name='txtInitialX', parent=self, pos=wxPoint(256, 256),
size=wxSize(72, 21), style=wxTE_PROCESS_ENTER |
wxTE_PROCESS_TAB,
value='0')
self.staticText13 = wxStaticText(id=wxID_FRM2110STATICTEXT13,
label='Inicial *', name='staticText13', parent=self,
pos=wxPoint(184, 264), size=wxSize(34, 13), style=0)
def __init__(self, parent):
self._init_ctrls(parent)
from bussines.dbclasses.plans import Plans
clsPlans = Plans()
clsPlans.GetAll()
self.chcPlan.Clear()
for r in clsPlans.DBConnection.SQLResults:
self.chcPlan.Append(str(r[1]), r[0])
clsPlans.DBConnection.Close()
clsPlans = None
self.Vendors = []
self.Products = []
self.Discount = []
self.Services = []
self.txtFallTotal.SetEditable(False)
self.txtProductTotal.SetEditable(False)
self.txtContractTotal.SetEditable(False)
self.txtSald.SetEditable(False)
self.txtQuot.SetEditable(False)
self.txtTotal.SetEditable(False)
def OnFrm2110Activate(self, event):
event.Skip()
def OnChcPlanChoice(self, event):
#Llenado de control de manejo de grupos de planes
from bussines.dbclasses.groups import Groups
from bussines.dbclasses.falls import Falls
from bussines.dbclasses.products import Products
from bussines.dbclasses.plans import Plans
IDPlan =
str(self.chcPlan.GetClientData(self.chcPlan.GetSelection()))
clsPlans = Plans()
clsPlans.GetData(IDPlan)
if clsPlans.Currency == 'S':
self.TASA = TEAS
elif clsPlans.Currency == 'D':
self.TASA = TEA
self.MaxQuots = clsPlans.MaxQuots
clsPlans.DBConnection.Close()
clsGroups = Groups()
self.chcGroups.Clear()
clsGroups.GetAll(IDPlan)
for r in clsGroups.DBConnection.SQLResults:
self.chcGroups.Append(str(r[1]), r[0])
clsGroups.DBConnection.Close()
clsGroups = None
#Llenado de control de manejo de Tumbas
clsFalls = Falls()
self.chcFalls.Clear()
clsFalls.GetAll(self.chcPlan.GetClientData(self.chcPlan.GetSelection()))
for r in clsFalls.DBConnection.SQLResults:
self.chcFalls.Append(str(r[1]), r[0])
clsFalls.DBConnection.Close()
clsFalls = None
#Llenado de control de manejo de Productos
clsProducts = Products()
self.chcProducts.Clear()
clsProducts.GetAll(self.chcPlan.GetClientData(self.chcPlan.GetSelection()))
for r in clsProducts.DBConnection.SQLResults:
self.chcProducts.Append(str(r[1]), r[0])
clsProducts.DBConnection.Close()
clsProducts = None
self.chcContractHasGroupHasResources.Clear()
def OnChcGroupsChoice(self, event):
self.chcContractHasGroupHasResources.Clear()
from bussines.dbclasses.groups import Groups
clsGroups = Groups()
self.IDGroup =
self.chcGroups.GetClientData(self.chcGroups.GetSelection())
clsGroups.GetPersonal(self.IDGroup)
self.chcContractHasGroupHasResources.Clear()
for r in clsGroups.DBConnection.SQLResults:
self.chcContractHasGroupHasResources.Append(str(r[1]), r[0])
clsGroups.GetNotPersonal(self.chcGroups.GetClientData(self.chcGroups.GetSelection()))
self.chcResources.Clear()
for r in clsGroups.DBConnection.SQLResults:
self.chcResources.Append(str(r[1]), r[0])
clsGroups.DBConnection.Close()
clsGroups = None
def OnBtnVendorAddButton(self, event):
VCode =
self.chcContractHasGroupHasResources.GetClientData(self.chcContractHasGroupHasResources.GetSelection())
VName = self.chcContractHasGroupHasResources.GetStringSelection()
VPerc = self.chcPercent.GetStringSelection()
Vendor = [VCode, VName, VPerc]
total=0
for r in self.Vendors:
if r[0] == Vendor[0]:
return
for r in self.Vendors:
total = total + int(r[2])
if total + int(Vendor[2]) > 100:
return
self.Vendors.append(Vendor)
self.lstAdvisers.Clear()
for r in self.Vendors:
self.lstAdvisers.Append(str(r[0])+"-"+str(r[1])+"-"+str(r[2]), r[0])
def OnBtnAdvisersClearButton(self, event):
self.VendorsClear()
def OnBtnNotVendorButton(self, event):
VCode =
self.chcResources.GetClientData(self.chcResources.GetSelection())
VName = self.chcResources.GetStringSelection()
VPerc = self.chcPercent.GetStringSelection()
Vendor = [VCode, VName, VPerc]
total=0
for r in self.Vendors:
if r[0] == Vendor[0]:
return
for r in self.Vendors:
total = total + int(r[2])
if total + int(Vendor[2]) > 100:
return
self.Vendors.append(Vendor)
self.lstAdvisers.Clear()
for r in self.Vendors:
self.lstAdvisers.Append(str(r[0])+"-"+str(r[1])+"-"+str(r[2]), r[0])
def VendorsClear(self):
self.Vendors = None
self.Vendors = []
self.lstAdvisers.Clear()
def ProductsClear(self):
self.Products = None
self.Products = []
self.FillServices()
def DiscountClear(self):
self.Discount = None
self.Discount = []
self.lstDiscounts.Clear()
def OnTxtFallTotalText(self, event):
event.Skip()
def OnTxtProductTotalText(self, event):
event.Skip()
def OnBtnDiscountAddButton(self, event):
event.Skip()
def OnBtnProductAddButton(self, event):
from string import split
from bussines.dbclasses.products import Products
clsProducts = Products()
CodeAux =
self.chcProducts.GetClientData(self.chcProducts.GetSelection())
CodeX = split(CodeAux, '-')
clsProducts.GetData(CodeX[1])
PKey = int(clsProducts.PKey)
PName = clsProducts.PName
PValue = clsProducts.PValue
PQuantity = int(self.txtNumProducts.GetValue())
Product = [PKey, PName, PValue, PQuantity]
clsProducts.DBConnection.Close()
clsProducts = None
if self.Products:
f=0
for r in self.Products:
if r[0] == Product[0]:
if r[3] >= 0:
r[3] = r[3] + Product[3]
f=1
if f==0:
self.Products.append(Product)
else:
self.Products.append(Product)
self.FillServices()
def OnBtnProductClearButton(self, event):
self.ProductsClear()
def OnBtnProductGenerateButton(self, event):
self.FillServices()
def OnBtnFallGenerateButton(self, event):
self.FallGenerate()
def OnChkPayModeCheckbox(self, event):
self.txtDPay.SetValue('0')
if self.chkPayMode.GetValue() == True:
self.txtDPay.SetEditable(False)
else:
self.txtDPay.SetEditable(True)
def OnChcFallsChoice(self, event):
event.Skip()
def OnBtnClearContractButton(self, event):
self.ClearContract()
def OnBtnContractEndButton(self, event):
self.ContractEnd()
def OnBtnSaveRecordButton(self, event):
self.SaveRecord()
def FillServices(self):
self.Services = []
self.Services.extend(self.PrdHasFall)
self.Services.extend(self.Products)
self.lstProducts.Clear()
#calcular monto servicios
for x in self.Services:
self.lstProducts.Append(str(x[1])+'-'+str(x[2]), x[0])
from bussines.vfmounts import PrdsMount
Total = PrdsMount(self.Services)
self.txtProductTotal.SetValue(str(Total))
from bussines.vcmounts import CalculateTotal
TMount = CalculateTotal(int(self.txtFallTotal.GetValue()), Total)
if TMount !=False:
self.txtContractTotal.SetValue(str(TMount))
def FallGenerate(self):
from string import split
CodeAux = self.chcFalls.GetClientData(self.chcFalls.GetSelection())
CodeX = split(str(CodeAux),'-')
self.IDPlan = CodeX[0]
self.IDFall = CodeX[1]
CValue = self.chkChoiced.GetValue()
PValue = self.chkPayMode.GetValue()
DPercent = float(self.chcDPercent.GetStringSelection())/100.0
from bussines.vfmounts import FallMount, PrdFArray
Initial = self.txtInitial.GetValue()
InitialX = self.txtInitialX.GetValue()
InitialPay = Initial + InitialX
FallArray = FallMount(self.IDPlan, self.IDFall, CValue, PValue,
DPercent, DOLAR, InitialPay)
FallTotal = int(FallArray[0])
self.InitialPay = int(FallArray[1])
self.IShared = FallArray[2]
self.DMount = FallArray[3]
self.PrdHasFall = PrdFArray(self.IDPlan, self.IDFall)
self.FillServices()
self.txtFallTotal.SetValue(str(int(FallTotal)))
self.ContractTotal()
def ContractTotal(self):
from bussines.vcmounts import CalculateTotal, CalculateSaldd
FallTotal = int(self.txtFallTotal.GetValue())
ProductTotal = int(self.txtProductTotal.GetValue())
DPay = float(self.txtDPay.GetValue())
if float(DPay) > float(self.DMount):
DPay = float(self.DMount)
self.txtDPay.SetValue(str(int(DPay)))
ContractTotal = CalculateTotal(FallTotal, ProductTotal)
if ContractTotal == False:
return False
self.txtContractTotal.SetValue(str(ContractTotal))
if self.chkPayMode.GetValue() == True:
Initial = ContractTotal
else:
Initial = self.InitialPay # + int(round(float(ProductTotal)
* TMI,0))
self.txtInitial.SetValue(str(Initial))
if self.chkPayMode.GetValue() == True:
self.txtQuots.SetValue("0")
self.txtInitialX.SetValue(str("0"))
self.txtQuots.SetValue("0")
self.txtQuot.SetValue("0")
self.txtInitial.SetEditable(False)
self.txtInitialX.SetEditable(False)
self.txtQuots.SetEditable(False)
else:
self.txtInitial.SetEditable(True)
self.txtQuots.SetEditable(True)
if self.IShared == 'Y':
self.txtInitialX.SetEditable(True)
else:
self.txtInitialX.SetValue(str("0"))
self.txtInitialX.SetEditable(False)
Saldd = CalculateSaldd(ContractTotal, DPay, Initial)
if Saldd == False:
return False
self.txtSald.SetValue(str(Saldd))
clsConfigTable = None
self.ContractEnd()
def ContractEnd(self):
from bussines.vcmounts import CalculateTotal, CalculateSaldd,
CalculateFinal
ContractTotal = float(self.txtContractTotal.GetValue())
DPay = float(self.txtDPay.GetValue())
if DPay > float(self.DMount):
DPay = (self.DMount)
self.txtDPay.SetValue(str(int(DPay)))
Initial = float(self.txtInitial.GetValue())
InitialX = float(self.txtInitialX.GetValue())
InitialT = float(Initial + InitialX)
Saldd = CalculateSaldd(ContractTotal, DPay, InitialT)
if Saldd == False:
return False
self.txtSald.SetValue(str(Saldd))
ni = float(self.txtQuots.GetValue())
if int(ni) > int(self.MaxQuots):
ni = int(self.MaxQuots)
self.txtQuots.SetValue(str(ni))
if ni != 0.0:
from bussines.functions.financial import ConstantQuots
quot = ConstantQuots(self.TASA, ni, Saldd)
else:
quot = 0
if self.chkPayMode.GetValue() == False:
self.txtQuot.SetValue("0")
self.txtTotal.SetValue("0")
return
self.txtQuot.SetValue(str(quot))
CFinal = CalculateFinal(InitialT, quot, ni)
if CFinal == False:
return False
self.txtTotal.SetValue(str(CFinal))
def SaveRecord(self):
#Verificacion de Existencia de Datos
if self.Vendors == False:
print 'Contrato Sin Vendedor'
return
if int(self.txtContractNumber.GetValue()) == 0:
print 'Contrato Sin Numero'
return
if int(self.txtTotal.GetValue()) == 0:
print 'Contrato Sin Montos'
return
from string import strip, upper
if strip(self.txtTitular.GetValue()) == "":
print 'Contrato Sin Titular'
return
from bussines.dbclasses.contracts import Contracts
total = 0
for r in self.Vendors:
total = total + int(r[2])
if total != 100:
print "No se ha distribuido comisiones correctamente"
return
#Coger Datos
IDFall = int(self.IDFall)
IDPlan = int(self.IDPlan)
FMount = int(self.txtFallTotal.GetValue())
PMount = int(self.txtProductTotal.GetValue())
DMount = int(self.txtDPay.GetValue())
TMount = int(self.txtContractTotal.GetValue())
IPay = int(self.txtInitial.GetValue())
IXPay = int(self.txtInitialX.GetValue())
IMount = int(IPay + IXPay)
NQuots = int(self.txtQuots.GetValue())
QMount = int(self.txtQuot.GetValue())
SMount = int(self.txtSald.GetValue())
TCMount = int(self.txtTotal.GetValue())
RCredi = self.TASA
print self.txtFallTotal.GetValue()
print FMount
print PMount
print TMount
from bussines.vcmounts import ValidateAll
ValidateValue = ValidateAll(FMount, PMount, TMount, DMount,
IMount, SMount, NQuots, RCredi, QMount, TCMount)
if ValidateValue == False:
return False
#Grabar Informacion
clsContract = str(Contracts())
clsContract.IDContract = str(self.txtContractNumber.GetValue())
clsContract.IDFall = str(IDFall)
clsContract.IDPlan = str(IDPlan)
clsContract.FTotal = str(FMount)
clsContract.PTotal = str(PMount)
clsContract.DPay = str(DMount)
clsContract.CTotal = str(TMount)
clsContract.IPay = str(IPay)
clsContract.IXPay = str(IXPay)
clsContract.Quots = str(NQuots)
clsContract.Quot = str(QMount)
clsContract.DProm = str(self.txtProm.GetValue())
clsContract.MProm = self.txtMProm.GetValue()
clsContract.Titu = upper(self.txtTitular.GetValue())
if self.chkRisk.GetValue() == True:
clsContract.Risk = 'Y'
else:
clsContract.Risk = 'N'
clsContract.Nulled = 'N'
clsContract.SaveData()
for r in self.Vendors:
clsContract.IDGroup = str(self.IDGroup)
clsContract.IDResource = str(r[0])
clsContract.Percent = str(r[2])
clsContract.SaveCGR()
for r in self.Services:
clsContract.IDProduct = str(r[0])
clsContract.Mount = str(r[2])
clsContract.Quantity = str(r[3])
clsContract.SaveCHP()
self.ClearContract()
def ClearContract(self):
self.PrdHasFall = []
self.Products = []
self.lstProducts.Clear()
self.txtFallTotal.SetValue("0")
self.txtProductTotal.SetValue("0")
self.txtContractTotal.SetValue("0")
self.txtDPay.SetValue("0")
self.txtInitial.SetValue("0")
self.txtInitialX.SetValue("0")
self.txtSald.SetValue("0")
self.txtQuots.SetValue("0")
self.txtQuot.SetValue("0")
self.txtTotal.SetValue("0")
self.txtContractNumber.SetValue("0")
self.txtTitular.SetValue("")
self.VendorsClear()
self.ProductsClear()
Más información sobre la lista de distribución Python-es