Ir para conteúdo
  • Cadastre-se

Roberto Yunes

Membros Pro
  • Total de ítens

    27
  • Registro em

  • Última visita

Posts postados por Roberto Yunes

  1. Oi Daniel! 
    Não tinha reparado, mas estranho isto!
    Fiz somente o seguinte:
    Primeiro retirei o ribbon (impressora Elgin  L42pro possui a opções térmica sem utilizar ribbon).

    Segundo alterei nas propriedades da impressora "METODO DE IMPRESSÃO = Térmico Direto";

    Terceiro configurei o ETQTeste na porta correta e enviei uma impressão teste. 

    Resultado foi o travamento e a luz de off acessa (Não me lembro a cor). Travando a impressora até ser reinicializada.

    Inseri o comando acima, resolveu.

    Não realizei o debug, para ver o comportamento que vc citou, porque tive que devolver a impressora ao cliente.
     

  2. Oi Daniel! Consegui resolver o erro do exemplo!
    Na procedure "TFPrincipal.bEtqSimplesClick(Sender: TObject);" adicionei a função FinalizarEtiqueta(1,0):
    "......
          DefinirCor(clBlue, 0, 0, 0);
          ImprimirTexto(orNormal, 2, 2, 2, 3, 3, 'RAÇÃO PARA CÃES ÁÉÍÓÚ 5KG', 0, True);
          ImprimirTexto(orNormal, 2, 2, 1, 8, 3, 'MÉDIO PORTE');
          ImprimirBarras(orNormal, barEAN13, 2, 2, 13, 5, '7896003701685', 10, becSIM);
          ImprimirCaixa(10,32,56,13,1,1);
          ImprimirTexto(orNormal, 3, 3, 2, 16, 35, 'R$');
          ImprimirTexto(orNormal, 3, 4, 4, 12, 50, '20,59');
          FinalizarEtiqueta(1, 0);
    ....."


    Obrigado! 

    • Curtir 1
  3. Erro ao utilizar ACBRETQ sem ribbon. Utilizei o exemplo ETQTESTE.

    Mesmo marcando nas configurações da impressora como "Térmica direta", quando envio a impressão ela ocorre corretamente, mas logo em seguida, retorna a configuração de fábrica para uso do ribbon: "transferência térmica", causando uma travamento na impressora, pois a mesma fica com a luz de falta do ribbon.
    Alguém passando por isto?
    Detalhe: a impressão em etiquetas térmicas e sem utilizar o ribbon reduz bastante o custo para nossos clientes.

  4.  

    Conforme documentação da Abrasel ( https://abrasel-nacional.github.io/docs/#tag/ordersDetails/operation/ordersDetails ), foi implementado o novo tipo de order "INDOOR".

    Version [1.0.1] - Oct 17, 2022

    • Fixed the type field in the GET /orders/{orderId} where the INDOOR option (included in version 1.0.1) was not being displayed.

    Esse tipo NÃO esta implementado no AcbrOpenDelivery.

    No "pcnConversaoOD.pas", somente estão implementados os tipos:

      TACBrODServiceType = (stDelivery, stTakeout);

    Sendo que na documentação já se encontra disponível.

    1014848608_Screenshot2022-12-29at14-33-30OpenDeliveryDocumentation.png.6cbd249a42c1317ed4e6356f646c09c3.png

    É muito importante a implementação do INDOOR pois muitos restaurantes o utilizam.

    Por favor, avaliem quando podem fazer as alterações para implementarmos o recurso.

    Desde já agradeço.

     

    • Obrigado 1
  5.  

    Como teste, foi utilizado o projeto de Demo: AcbrOpenDelivery_DemoVCL

    Após incluir o pedido fake abaixo (via postman) no HubDelivery:

    {
      "saleChannelId": "*****",
      "sourceAppId": "*****",
      "type": "DELIVERY",
      "scheduled": false,
      "extraInfo": "Pedido Teste",
      "items": [
        {
          "name": "X-Burger",
          "externalCode": "0101",
          "quantity": 1,
          "unitPrice": 10,
          "specialInstructions": "Remover mostarda 2022-10-19",
          "options": [
            {
              "name": "Coca-Cola",
              "externalCode": "COC",
              "quantity": 1,
              "unitPrice": 0,
              "specialInstructions": ""
            }
          ]
        }
      ]

     

    Listar esse pedido com o botão Polling e depois pego o seu "Order ID", na aba Orders (Pedidos) é clicado no botão "Get Order details" com o o "Order ID" informado.

    Depois que puxou os detalhes, é aguardado um tempo para que passe do tempo limite, e não possa mais confirmar remotamente...

    É tentado clicar em "Confirm", logicamente para confirmar o pedido.

    É retornado uma mensagem de erro em json:
             '[{"code":501,"message":"Invalid Status"}]'

    Até aqui, tudo certo pois o status não pode mais ser modificado para confirmado, pois excedeu o tempo.

    Só que no código é gerado a exceção:
       "Invalid class typecast"

    Esse erro ocorre na função: "TACBrJSONObject.Parse" que redireciona para a
    "TACBrJSONObject.CreateJsonObject", que ao receber o texto do json,
    esta tentando transformar o json acima, em um TJsonObject (Simples),
    mas ele é um JsonArray.

    E ai que ocorre o erro, pois não é possível transformar.

    Isso ocorre ao tentar executar:
       Result := TJsonObject.Parse(AJsonString) as TJsonObject

    Finalizando no bloco da exception.

    Fato observado, é que ao retornar algo que NÃO seja um JsonArray, então Não ocorrerá o erro, por exemplo,
    se for retornado:
        {"code":501,"message":"Invalid Status"}
        < observe que não é um json array, e sim um json simples >
    Nesse caso, NÃO é gerado uma exceção e o código executa sem erros.

    No entanto, conforme documentação da opendelivery, é sempre retornado um JsonArray para erro 501.

    =>>> Em resumo: precisamos de uma correção no código para tratar esse retorno.

    Observação: esta ativa a diretiva "USE_JSONDATAOBJECTS_UNIT"

    Captura de tela 2022-11-10 162905.png

×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.