Emojis en Business central


¿Sabías que es posible utilizar emojis en Business central?

Los emojis son tratados como un tipo de fuente más y es tan sencillo como copiar y pegar y ya tendremos emojis en nuestro Business central.

Conviene de cualquier forma llamar la atención sobre un detalle, el diseño de Business central. Este,  como vemos mantiene un tema y una sobriedad a la que no le va a sentar nada bien que abusemos de esta técnica de añadir emojis, además la gran mayoría de emojis presenta un gran colorido.

No queremos convertir Business central en esto 😁😁 


En Navision era relativamente fácil añadir imágenes para mostrar, por ejemplo, una lista de pedidos de venta y mediante algo similar a un "semáforo" mostrar qué pedidos estaban pendientes de servir y cuales servidos completamente.
En Business central, añadir imágenes en una página de tipo lista es algo más complicado.

Pero a mayores...
¿podemos usar emojis para los caption de las acciones?
¿podemos usar emojis para cualquier tipo de texto?
¿podemos usar emojis en una página de tipo lista dentro de un repeater?
¿podríamos añadir un botón en una página de tipo Navigation con un emoji? ...

La respuesta a todas esas preguntas es 🆂🅸

Vamos a ver un pequeño ejemplo.

Haremos algo muy simple, mostrar una lista de pedidos y veremos con un icono en verde los que se han servido por completo y en rojo los que no.


Como vemos ya se empieza a "romper" la "armonía visual" y no es conveniente abusar.

Veamos el código:
page 50450 "Sales Order Status"
{
    ApplicationArea = All;
    Caption = 'Estado pedidos de venta';
    PageType = List;
    SourceTable = "Sales Header";
    UsageCategory = Lists;

    layout
    {
        area(content)
        {
            repeater(General)
            {
                field("No."; Rec."No.")
                {
                }
                field("Sell-to Customer Name"; Rec."Sell-to Customer Name")
                {
                }
                field("Sell-to Customer Name 2"; Rec."Sell-to Customer Name 2")
                {
                }
                field("Completely Shipped"; Rec."Completely Shipped")
                {
                }
                field(SatusColor; SatusColor)
                {
                    Caption = 'Estado';
                }
            }
        }
    }

    trigger OnAfterGetRecord()
    begin
        if Rec."Completely Shipped" then
            SatusColor := '🟩'
        else
            SatusColor := '🟥';
    end;

    var
        SatusColor: Text;

}


Es extremadamente sencillo. Simplemente hay que localizar el emoji a utilizar, copiar y pegar.

Veamos cómo quedaría en una acción

Aquí el código (se añade sólo el apartado Actions a lo anterior)
    actions
    {
        area(Processing)
        {
            action(a1)
            {
                Caption = '🚛';
                Image = none;
                ToolTip = 'Enviar pedido';

                trigger OnAction()
                begin
                    Message('Enviar');
                end;
            }
        }
        area(Promoted)
        {
            actionref(aa1; a1) { }
        }
    }

Simplemente hemos pegado el emoji en el caption de la acción y le hemos asignado una imagen que no exista Image = none;, por lo que no veremos ninguna imagen del sistema, sólo el texto, en este caso nuestro emoji.

Otro ejemplo con una página de tipo NavigatePage





Y el código

page 50451 Navigation
{
    ApplicationArea = All;
    Caption = 'Emoji navigation';
    PageType = NavigatePage;
    SourceTable = "Integer";
    UsageCategory = Lists;

    layout
    {
        area(content)
        {
            group(General)
            {
                Caption = 'General';

            }
        }
    }

    actions
    {
        area(Processing)
        {
            action(Previous)
            {
                Caption = '◀️';
                Image = none;
                InFooterBar = true;

                trigger OnAction()
                begin
                    Message('Previo');
                end;
            }
            action(Next)
            {
                Caption = '▶️';
                Image = none;
                InFooterBar = true;

                trigger OnAction()
                begin
                    Message('Siguiente');
                end;
            }

        }
    }
}


Se pueden lograr resultados que no rompan demasiado el aspecto visual y a la vez añadir gráficos


Y hasta aquí este post. Un post corto, pero mostrando uno de esos "truquitos" que quizás un día nos pueda sacar de un apuro.

Espero que os sirva de ayuda.

El código como siempre en github.



1 Comentarios

  1. Truco sencillo y elegante, como a mi me gustan. Seguro que me permitirá mejorar la legibilidad a la hora de mostrar ciertos datos (sin abusar ni salirnos mucho del estilo Microsoft, claro).

    ¡Gracias por compartir!

    ResponderEliminar

Publicar un comentario

Añade comentario

Artículo Anterior Artículo Siguiente