jueves, 3 de abril de 2014

Modos de "Debugear" Power Builder

Walt Whitman nos explica claramente las maneras de debugear powerbuilder, las cuales son:


  • Depuración Just In Time
  • Depuración de Símbolo Preprocesador
  • Depuración con botones de "Debug"


A continuación el artículo:

http://www.joomla-gnu.com/programacion/powerbuilder-sysbase/177-debuggeando-en-powerbuilder.html?showall=&limitstart=


miércoles, 26 de marzo de 2014

PowerBuilder y Configuración Regional de Windows



Estoy madrugando esta noche para corregir un grave problema de inventario erróneamente incrementado. Luego de revisar los ingresos al almacén descubro que el problema radica en la mala lectura de los tipos de cambio y los decimales en la aplicación.

Cuando la aplicación se usa en dos países con diferente configuración regional (separador de miles y de decimales), el uso de la propiedad "Edit Mask" de los campos de un datawindow no contempla la configuración regional de la PC del usuario.

La lectura correcta de los decimales se consigue mediante la propiedad "Format", que reconoce la configuración de los separadores de miles y decimales y adapta la visualización para el usuario.

Usando EditMask:

En Perú:                 123,456.000
En Colombia:  123.456.000,000

Usando Format:

En Perú:               123,456.000
En Colombia:       123.456,000

Tomar en cuenta.

lunes, 16 de diciembre de 2013

Generar dígito de verificación de NIT de Colombia en PowerBuilder



Recientemente me he involucrado en un proyecto de implementación del ERP El Gestor a un cliente en Medellín, quien nos solicitó implementar el dígito de verificación que la DIAN obliga para el NIT de los proveedores.

Luego de algo de investigación, encontramos un post con el algoritmo en Visual Basic para excel, lo tradujimos a PowerScript y funcionó perfecto.

A continuación el código:


///******************************************************** 
//* FUNCION : fn_co_nitdv
//* FUNCION : Devuelve el Digito de Verificacion de un Nit (COLOMBIA) 
//* PARAMETROS : _nit: Numero de Nit a Calcular en string
//* RETORNO : Digito de Verificación en string
//* AUTOR : Johan Gálvez (johangalvez@lylsistemas.com) 
//********************************************************/ 
long WSuma, lnRetorno, Arreglo_PA[15], WDig_Ver, I
string WDato

_Nit = TRIM(_Nit) 
if _Nit="" or isnull(_Nit) then
 MESSAGEBOX("Error de NIT","El valor de NIT no puede ser nulo.") 
 RETURN 0
end if 

Arreglo_PA[1] = 71 
Arreglo_PA[2] = 67 
Arreglo_PA[3] = 59 
Arreglo_PA[4] = 53 
Arreglo_PA[5] = 47 
Arreglo_PA[6] = 43 
Arreglo_PA[7] = 41 
Arreglo_PA[8] = 37 
Arreglo_PA[9] = 29 
Arreglo_PA[10] = 23 
Arreglo_PA[11] = 19 
Arreglo_PA[12] = 17 
Arreglo_PA[13] = 13 
Arreglo_PA[14] = 7 
Arreglo_PA[15] = 3 
lnRetorno = 0 
WDato=RIGHT(SPACE(15)+TRIM(_Nit),15) 
WSuma=0 
WDig_Ver=0 

FOR I = 1 TO 15 
 WSuma=WSuma+(long(mid(WDato,I,1))*Arreglo_PA[I])
NEXT 

WSuma=MOD(WSuma,11) 

IF WSuma=0 OR WSuma=1 then 
 lnRetorno = WSuma 
ELSE 
 lnRetorno = 11 - WSuma 
END IF 

RETURN lnRetorno 


lunes, 8 de abril de 2013

WampServer: Liberar puerto 80 en Windows 7




Detener el servicio: "Servicio de Publicación World Wide Web"

Luego volver a intentar "Start All Services" del Wamp Server y listo




miércoles, 27 de febrero de 2013

WorkFlow ERP: Pasos para mostrar un formulario o pagina web


Despachar tarea pendiente
  1. Al abrir formulario
    1. Validación de proceso abierto en la fecha.
    2. Validación de tareas previas concluidas.
    3. Validación de estados de documentos de tarea.
    4. Validación de permisos de usuario para la tarea.
    5. Carga de información necesaria.
    6. Visualización según diseño.
    7. Al redactar
      1. Validación de redacción correcta
      2. Validación presupuestal (por ejemplo PCA y PIM)
      3. Al grabar
        1. Grabar datos del formulario (en cada documento de tarea).
        2. Grabar nuevos estados (de cada documento de tarea)
        3. Grabar estado de tarea realizado en proceso y usuario
        4. Grabar estado de tarea pendiente en proceso y usuario
        5. Grabar afectación contable
        6. Grabar afectación presupuestal
        7. Preguntar - Emitir notificación a interesados de tarea (por defecto: participantes anteriores) del proceso.