Skip to main content

Códigos de Especificación

Código dp001

Mensaje: Elimine Web Panel que ha sido creado por Genexus.

Problema

WebPanel creado por genexus, para las listas de selección de las transacciones por defecto.

Solución

Eliminar WebPanel, en la Transacción en las rules poner un noparm, para que no genere las listas de seleccion por defecto.

Código dp002

Mensaje: Utilizar comentarios /* */.

Problema

// CrearCliente crea una nuevo cliente
// según las variables:

Solución

/*
* CrearCliente crea una nuevo cliente
* según las variables:
*/

Código dp003

Mensaje: Utilizar un espacio siempre despues de una coma.

Problema

parm(in:PaiId,out:&PaiNom);

Solución

parm(in:PaiId, out:&PaiNom);

Código dp004

Mensaje: Utilizar comillas dobles por defecto.

Problema

&Msg = 'Hola mundo!'

Solución

&Msg = "Hola mundo!"

Código dp005

Mensaje: Utilizar format para desplegar mensajes conteniendo datos.

Problema

&Msg = "El cliente Nro." + &ClienteId.ToString() + " se llama " + &ClienteNombre

Solución

&Msg = format("El cliente Nro. %1 se llama %2", &ClienteId.ToString(), &ClienteNombre)

Código dp006

Definir las reglas por grupo para una mayor organizacion.

Problema

default(Campo1, Valor);

error(....);

default(Campo2, Valor);

prompt(...);
prompt(...);

Solución

default(Campo1, Valor);
default(Campo2, Valor);

error(....);

prompt(...);
prompt(...);

Código dp007

No hay una cláusula Otherwise en el Do Case que contiene el Case de la Línea:{0}.

Problema

do case
case &DocTipo = DocumentoTipos.Venta
...
case &DocTipo = DocumentoTipos.Compra
...

endcase

Solución

do case
case &DocTipo = DocumentoTipos.Venta
...

case &DocTipo = DocumentoTipos.Compra
...

otherwise
...
endcase

Código dp008

La cláusula Case o Otherwise que comienza en la Línea:{0} contiene más de 1 línea de código. Debería extraerse a una subrutina.

Problema

do case
case &Action = Action.Update
...
...
...
otherwise
...
...
...
endcase

Solución

do case
case &Action = Action.Update do 'DoUpdate'

case &Action = Action.Insert do 'DoInsert'

case &Action = Action.Regenerate do 'DoRegenerate'

case &Action = Action.Clean do 'DoClean'

case &Action = Action.Refresh do 'DoRefresh'

case &Action = Action.Reload do 'DoReload'

otherwise do 'UnexpectedAction'
endcase

Código dp009

Mensaje: Se encontró una sentencia Else If en la Línea:{0}. Debería ser reemplazada con Do Case

Problema

if &DocTipo = DocumentoTipos.Venta
...
else
if &DocTipo = DocumentoTipos.Compra
...
endif
endif

Solución

do case
case &DocTipo = DocumentoTipos.Venta
...

case &DocTipo = DocumentoTipos.Compra
...

otherwise
...
endcase

Código dp010

Mensaje: No Utilizar cadenas de string para comparar en una clausula if.

Problema

if &DocumentoTipo = "Venta"

Solución

if &DocumentoTipo = DocumentoTipos.Venta

Código dp011

Mensaje: No Utilizar cadenas de string para comparar en una clausula case.

Problema

case &DocTipo =  "Venta"

Solución

case &DocTipo = DocumentoTipos.Venta

Código dp012

Mensaje: No Utilizar cadenas de string como argumento en una web session.

Problema

&websession.Get("EmpresaId")

Solución

&websession.Get(Session.EmpresaId)

Código dp013

Mensaje: No Utilizar la funcion udp para pasarle dentro otra función. Llame directamente a la función.

Problema

&Name = udp( PNameGet, &Id)

Solución

&Name = PNameGet( &Id )

Código dp014

Mensaje: No Utilizar la funcion call para pasarle dentro otra función. Llame directamente a la función.

Problema

call( PNameSet, &Id, &Name)

Solución

PNameSet( &Id, &Name)

Código dp015

Mensaje: La clausula case o otherwise encontrada en la Linea:{0} no le antecede una linea en blanco.

Problema

do case
case &Action = Action.Update do 'DoUpdate'
case &Action = Action.Insert do 'DoInsert'
otherwise do 'UnexpectedAction'
endcase

Solución

do case
case &Action = Action.Update do 'DoUpdate'

case &Action = Action.Insert do 'DoInsert'

otherwise do 'UnexpectedAction'
endcase