genexusextensions |
| Enrique Almeida | |
Me autorespondo para que quede documentado como hacerlo: Cuando definís el mensaje de error, usando la clase OutputError, podés pasar como parámetro un objeto con información de la posición. Ejemplo: new OutputError("Unknown function 'ToJson'", MessageLevel.Error, <Position>)); En donde <Position> es una clase que implementa Artech.Architecture.Common.Location.IKBObjectPosition; en este mismo namespace, junto con esta interfaz, están definidas las clases: KBObjectPosition o KBObjectAnyPosition (en la primera podés pasarle la parte del objeto a la que querés que te direccione el link y la segunda clase acepta simplemente el objeto). Transaction trnObj = (Artech.Genexus.Common.Objects.Transaction)kbObj; OutputError err = new OutputError("Unknown function 'ToJson'", MessageLevel.Error, new KBObjectAnyPosition(trnObj))); y si se quieren se puede usar el KBObjectPosition(objPart); 2018-05-14 15:23 GMT-03:00 Enrique Almeida <ealmeida@concepto.com.uy>: > En una extension, estoy mostrando warnings de la forma > > output.AddWarningLine(obj.Name + " > Code block too long"); > > Esto funciona bien, pero ahora quiero poner en vez del nombre del objeto > un link que me permita abrir dicho objeto. > > Es similar al mensaje de la imagen adjunta: > > Probe poner <a href......> y los html que se me ocurrieron, pero ningun > funciono, pues lo muestra como string. > > Hay alguna forma de hacerlo? > > > Enrique Almeida > Concepto. > > > |
|
|
| | |
Enrique Almeida | |
Gracias Ana por la ayuda!
2018-05-23 16:13 GMT-03:00 Enrique Almeida :
> Me autorespondo para que quede documentado como hacerlo:
>
> Cuando definís el mensaje de error, usando la clase OutputError, podés
> pasar como parámetro un objeto con información de la posición.
> Ejemplo:
>
> new OutputError("Unknown function 'ToJson'", MessageLevel.Error,
> ));
>
> En donde es una clase que implementa Artech.Architecture.Common.Location.IKBObjectPosition;
> en este mismo namespace, junto con esta interfaz, están definidas las
> clases: KBObjectPosition o KBObjectAnyPosition (en la primera podés pasarle
> la parte del objeto a la que querés que te direccione el link y la segunda
> clase acepta simplemente el objeto).
>
> Transaction trnObj = (Artech.Genexus.Common.Objects.Transaction)kbObj;
> OutputError err = new OutputError("Unknown function 'ToJson'",
> MessageLevel.Error, new KBObjectAnyPosition(trnObj)));
>
> y si se quieren se puede usar el KBObjectPosition(objPart);
>
>
>
>
> 2018-05-14 15:23 GMT-03:00 Enrique Almeida :
>
>> En una extension, estoy mostrando warnings de la forma
>>
>> output.AddWarningLine(obj.Name + " > Code block too long");
>>
>> Esto funciona bien, pero ahora quiero poner en vez del nombre del objeto
>> un link que me permita abrir dicho objeto.
>>
>> Es similar al mensaje de la imagen adjunta:
>>
>> Probe poner y los html que se me ocurrieron, pero ningun
>> funciono, pues lo muestra como string.
>>
>> Hay alguna forma de hacerlo?
>>
>>
>> Enrique Almeida
>> Concepto.
>>
>>
>>
> |
|
|
Enrique Almeida | |
Estaba necesitando poner un mensaje en una extension del tipo (con un link
para* abrir un objeto en una linea especifica*)
spc0010 Type mismatch in assignment: BPSRUCID = val(substr(&Registro,2,12))
(Character=Numeric). (*Source, Line: 24*)
spc0010 Type mismatch in assignment: BPSRUCID = val(&CDOCUMEN)
(Character=Numeric). (*Source, Line: 55*)
donde se pone un link que permite abrir el objeto y que se posicione en la
linea.
Con la ayuda de Ana, llegue a programar de la forma:
Transaction trnObj = (Artech.Genexus.Common.Objects.Transaction)kbObj;
OutputError err = new OutputError("Unknown function 'ToJson'",
MessageLevel.Error, new KBObjectAnyPosition(trnObj)));
que permite abrir en una parte especifica, pero *no encuentro como deberia
hacer la llamada para poder abrir en una linea especifica de la parte.*
Me pueden ayudar con esto?
2018-05-14 15:23 GMT-03:00 Enrique Almeida :
> En una extension, estoy mostrando warnings de la forma
>
> output.AddWarningLine(obj.Name + " > Code block too long");
>
> Esto funciona bien, pero ahora quiero poner en vez del nombre del objeto
> un link que me permita abrir dicho objeto.
>
> Es similar al mensaje de la imagen adjunta:
>
> Probe poner y los html que se me ocurrieron, pero ningun
> funciono, pues lo muestra como string.
>
> Hay alguna forma de hacerlo?
>
>
> Enrique Almeida
> Concepto.
>
>
> |
|
|
Enrique Almeida | |
Perfecto, gracias!
Era lo que estuve buscando y no lo puede encontrar.
2018-07-31 16:28 GMT-03:00 Federico Azzato :
> Hola Enrique
>
> En lugar de utilizar KBObjectAnyPosition, puedes utilizar la clase
> SourcePosition que se encuentra en Artech.Architecture.Common.Location
>
> ej: new SourcePosition(kbObj, PartType.Events, lineNumber, columnNumber);
>
> saludos
>
> Federico Azzato
> Development & Research
> GeneXus™
> *+598 2601 2082*
> Av Italia 6201, Ed Los Pinos, P1
> Montevideo, Uruguay
> www.genexus.com
> [image: GeneXus™]
>
>
> On Tue, Jul 31, 2018 at 3:41 PM Enrique Almeida
> |
|
|
|
|
Back to genexusextensions |
|