Ayuda con DW
Publicado por Sandra (16 intervenciones) el 15/02/2006 17:59:55
Hola a todos chicos, bueno desde temprano estoy tratando de hacer lo sgte: tengo un DW Cabecera de contiene un DDDW q contiene a los proveedores.. bueno el caso es q todos los proveedores no tienen Impuesto a la Renta, Impuesto E. Solidaridad y IGV.
Entonces al momento de seleccionar ejemplo al Proveedor "Boticas XXX" se debe activar.. el CheckBox IGV y los demas desactivados
Si selecciono otro Proveedor "Ana Perez" se debe activar los CheckBox Impuesto a la Renta, Impuesto E. Solidaridad
El monto lo ingreso luego de q selecciono el proveedor del DDDW (segun el proveedor se activaran los CheckBoxs) al costado de cada CheckBoxs hay una caja segun el proveedor y segun q el CheckBox activado... y segun el monto esas cajitas me deben arrojar un resultado.. el cual me sale correctamente... pero no cuando yo coloco el monto.. si no cuando vuelvo a seleccionar al mismo.. proveedor... no se si me dejo explicar..
Q es lo q tengo q hacer para q cuando digite el monto despues de seleecionar el proveedor y segun los CheckBoxs q se activen al darle enter o presionar el tab esas cajas se llenen... sin necesidad... de volver a seleccionar al mismo proveedor... Haber si me dan una ayudadita chicos gracias.
PD. Todo esta en un mismo DW..
Tengo el sgte Codigo:
Evento: ItemChanged - dw_cabecera
Integer ll_Null, i
String ls_FlagMonto
String ls_Serv
String ls_tipoprov
Decimal {3}ldec_Monto, li_SubTotal
Decimal {3}lc_IGV
Decimal {3}ldec_IR, ldec_IES
SetNull(ll_Null)
This.AcceptText()
/*------------------------------Capturando el IGV---------------------------*/
SELECT valor_uno
INTO :lc_IGV
FROM TabParametro
WHERE tipo = 'IGV';
lc_IGV = lc_IGV/100.00
/*------------------------Capturando el Impuesto a la Renta-----------------*/
SELECT valor_uno
INTO :ldec_IR
FROM TabParametro
WHERE tipo = 'IR';
ldec_IR = ldec_IR/100.00
/*-----------------------Capturando el Impuesto E. SOLIDARIDAD-------------*/
SELECT valor_uno
INTO :ldec_IES
FROM TabParametro
WHERE tipo='IES';
ldec_IES = ldec_IES/100.000
ldec_Monto = dw_cabecera.GetItemNumber(dw_cabecera.GetRow(), 'monto')
li_SubTotal = (ldec_Monto/(1.00 + lc_IGV))
CHOOSE CASE dwo.Name
CASE 'codigotipocompra'
is_tipocompra = This.GetText()
IF is_tipocompra = '06' THEN
dw_cabecera.SetItem(dw_cabecera.GetRow(), 'nrotipocompra' , ll_Null)
dw_cabecera.SetItem(dw_cabecera.GetRow(), 'anhotipocompra' , ll_Null) dw_cabecera.SetItem(dw_cabecera.GetRow(), 'siglastipocompra', ll_Null) ELSE
dw_cabecera.SetItem(dw_cabecera.GetRow(), 'referencia', ll_Null) END IF
CASE 'codigo_proveedor'
is_CodProv = This.GetText()
/****Consulta si el Proveedor es Natural o Juridico para activar los campos necesarios***/
SELECT dbo.TabMaeProv.NaturalJuridica
INTO :ls_tipoprov
FROM dbo.TabMaeProv
WHERE dbo.TabMaeProv.nro_maestro = :is_CodProv;
/*************************************************************************************************/
IF ls_tipoprov = 'N' THEN
dw_cabecera.Object.flg_ir.TabSequence = '60'
dw_cabecera.Object.flg_ies.TabSequence = '70'
dw_cabecera.Object.flg_igv.TabSequence = '0'
dw_cabecera.Object.flg_otros.TabSequence = '0'
dw_cabecera.Object.monto_igv.TabSequence = '0'
dw_cabecera.Object.monto_otros.TabSequence = '0'
dw_cabecera.SetItem(dw_cabecera.GetRow(), 'flg_ir', '1')
dw_cabecera.SetItem(dw_cabecera.GetRow(), 'flg_ies', '1')
dw_cabecera.SetItem(dw_cabecera.GetRow(), 'flg_igv', '0')
dw_cabecera.SetItem(dw_cabecera.GetRow(), 'flg_otros', '0')
/**********Asignando Valores***************************/
dw_cabecera.SetItem(dw_cabecera.GetRow(), 'monto_ir', (ldec_Monto * ldec_IR))
dw_cabecera.SetItem(dw_cabecera.GetRow(), 'monto_ies', Round(ldec_Monto * ldec_IES, 2))
dw_cabecera.SetItem(dw_cabecera.GetRow(), 'monto_igv', 0)
dw_cabecera.SetItem(dw_cabecera.GetRow(), 'monto_otros', 0)
/*************************************************************/
ELSE
dw_cabecera.Object.flg_ir.TabSequence = '0'
dw_cabecera.Object.flg_ies.TabSequence = '0'
dw_cabecera.Object.flg_igv.TabSequence = '80'
dw_cabecera.Object.flg_otros.TabSequence = '90'
dw_cabecera.Object.monto_ir.TabSequence = '0'
dw_cabecera.Object.monto_ies.TabSequence = '0'
dw_cabecera.Object.monto_igv.TabSequence = '270'
dw_cabecera.SetItem(dw_cabecera.GetRow(), 'flg_ir', '0')
dw_cabecera.SetItem(dw_cabecera.GetRow(), 'flg_ies', '0')
dw_cabecera.SetItem(dw_cabecera.GetRow(), 'flg_igv', '1')
dw_cabecera.SetItem(dw_cabecera.GetRow(), 'flg_otros', '0')
/******Asignando Valores*************************************/
dw_cabecera.SetItem(dw_cabecera.GetRow(), 'monto_ir', 0)
dw_cabecera.SetItem(dw_cabecera.GetRow(), 'monto_ies', 0)
dw_cabecera.SetItem(dw_cabecera.GetRow(), 'monto_igv', ldec_Monto - li_SubTotal)
/******************************************************************/
END IF
END CHOOSE
Entonces al momento de seleccionar ejemplo al Proveedor "Boticas XXX" se debe activar.. el CheckBox IGV y los demas desactivados
Si selecciono otro Proveedor "Ana Perez" se debe activar los CheckBox Impuesto a la Renta, Impuesto E. Solidaridad
El monto lo ingreso luego de q selecciono el proveedor del DDDW (segun el proveedor se activaran los CheckBoxs) al costado de cada CheckBoxs hay una caja segun el proveedor y segun q el CheckBox activado... y segun el monto esas cajitas me deben arrojar un resultado.. el cual me sale correctamente... pero no cuando yo coloco el monto.. si no cuando vuelvo a seleccionar al mismo.. proveedor... no se si me dejo explicar..
Q es lo q tengo q hacer para q cuando digite el monto despues de seleecionar el proveedor y segun los CheckBoxs q se activen al darle enter o presionar el tab esas cajas se llenen... sin necesidad... de volver a seleccionar al mismo proveedor... Haber si me dan una ayudadita chicos gracias.
PD. Todo esta en un mismo DW..
Tengo el sgte Codigo:
Evento: ItemChanged - dw_cabecera
Integer ll_Null, i
String ls_FlagMonto
String ls_Serv
String ls_tipoprov
Decimal {3}ldec_Monto, li_SubTotal
Decimal {3}lc_IGV
Decimal {3}ldec_IR, ldec_IES
SetNull(ll_Null)
This.AcceptText()
/*------------------------------Capturando el IGV---------------------------*/
SELECT valor_uno
INTO :lc_IGV
FROM TabParametro
WHERE tipo = 'IGV';
lc_IGV = lc_IGV/100.00
/*------------------------Capturando el Impuesto a la Renta-----------------*/
SELECT valor_uno
INTO :ldec_IR
FROM TabParametro
WHERE tipo = 'IR';
ldec_IR = ldec_IR/100.00
/*-----------------------Capturando el Impuesto E. SOLIDARIDAD-------------*/
SELECT valor_uno
INTO :ldec_IES
FROM TabParametro
WHERE tipo='IES';
ldec_IES = ldec_IES/100.000
ldec_Monto = dw_cabecera.GetItemNumber(dw_cabecera.GetRow(), 'monto')
li_SubTotal = (ldec_Monto/(1.00 + lc_IGV))
CHOOSE CASE dwo.Name
CASE 'codigotipocompra'
is_tipocompra = This.GetText()
IF is_tipocompra = '06' THEN
dw_cabecera.SetItem(dw_cabecera.GetRow(), 'nrotipocompra' , ll_Null)
dw_cabecera.SetItem(dw_cabecera.GetRow(), 'anhotipocompra' , ll_Null) dw_cabecera.SetItem(dw_cabecera.GetRow(), 'siglastipocompra', ll_Null) ELSE
dw_cabecera.SetItem(dw_cabecera.GetRow(), 'referencia', ll_Null) END IF
CASE 'codigo_proveedor'
is_CodProv = This.GetText()
/****Consulta si el Proveedor es Natural o Juridico para activar los campos necesarios***/
SELECT dbo.TabMaeProv.NaturalJuridica
INTO :ls_tipoprov
FROM dbo.TabMaeProv
WHERE dbo.TabMaeProv.nro_maestro = :is_CodProv;
/*************************************************************************************************/
IF ls_tipoprov = 'N' THEN
dw_cabecera.Object.flg_ir.TabSequence = '60'
dw_cabecera.Object.flg_ies.TabSequence = '70'
dw_cabecera.Object.flg_igv.TabSequence = '0'
dw_cabecera.Object.flg_otros.TabSequence = '0'
dw_cabecera.Object.monto_igv.TabSequence = '0'
dw_cabecera.Object.monto_otros.TabSequence = '0'
dw_cabecera.SetItem(dw_cabecera.GetRow(), 'flg_ir', '1')
dw_cabecera.SetItem(dw_cabecera.GetRow(), 'flg_ies', '1')
dw_cabecera.SetItem(dw_cabecera.GetRow(), 'flg_igv', '0')
dw_cabecera.SetItem(dw_cabecera.GetRow(), 'flg_otros', '0')
/**********Asignando Valores***************************/
dw_cabecera.SetItem(dw_cabecera.GetRow(), 'monto_ir', (ldec_Monto * ldec_IR))
dw_cabecera.SetItem(dw_cabecera.GetRow(), 'monto_ies', Round(ldec_Monto * ldec_IES, 2))
dw_cabecera.SetItem(dw_cabecera.GetRow(), 'monto_igv', 0)
dw_cabecera.SetItem(dw_cabecera.GetRow(), 'monto_otros', 0)
/*************************************************************/
ELSE
dw_cabecera.Object.flg_ir.TabSequence = '0'
dw_cabecera.Object.flg_ies.TabSequence = '0'
dw_cabecera.Object.flg_igv.TabSequence = '80'
dw_cabecera.Object.flg_otros.TabSequence = '90'
dw_cabecera.Object.monto_ir.TabSequence = '0'
dw_cabecera.Object.monto_ies.TabSequence = '0'
dw_cabecera.Object.monto_igv.TabSequence = '270'
dw_cabecera.SetItem(dw_cabecera.GetRow(), 'flg_ir', '0')
dw_cabecera.SetItem(dw_cabecera.GetRow(), 'flg_ies', '0')
dw_cabecera.SetItem(dw_cabecera.GetRow(), 'flg_igv', '1')
dw_cabecera.SetItem(dw_cabecera.GetRow(), 'flg_otros', '0')
/******Asignando Valores*************************************/
dw_cabecera.SetItem(dw_cabecera.GetRow(), 'monto_ir', 0)
dw_cabecera.SetItem(dw_cabecera.GetRow(), 'monto_ies', 0)
dw_cabecera.SetItem(dw_cabecera.GetRow(), 'monto_igv', ldec_Monto - li_SubTotal)
/******************************************************************/
END IF
END CHOOSE
Valora esta pregunta
0