1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

  2. Anuncie Aqui ! Entre em contato fdantas@4each.com.br

Integração Datasul X E-millennium via API OData/REST

Discussão em 'EMS , HCM e Totvs 11' iniciado por Neivaldo, Janeiro 30, 2020.

  1. Neivaldo

    Neivaldo Membro Participativo

    Bom tarde Anderson,

    Amigo me perdoe a surra que estou tomando, mas como consigo ler os array internos ao 'Value', como por exemplo os 'Produtos' da nota?

    Tentei de várias formas aqui e não consegui.

    Desde já obrigado.
  2. Neivaldo

    Neivaldo Membro Participativo

    Boa tarde Anderson,

    Muito obrigado pelas orientações era isso mesmo que precisava.

    Porem agora estou com problema no retorno de um campo do .json que no caso é um campo do tipo array, ou seja, é um array dentro do array de conversão do arquivo json.

    Estou tentando fazer da forma abaixo declarando uma variável do tipo CLASS JsonArray mas não esta retornando.

    Se pude ajudar lhe agradeço muito.

    Att,

    Arquivos Anexados:

  3. af.dums

    af.dums Membro Ativo

    Não testei aqui por estar retornando o Json sempre vazio, acredito que pelo consumo dele ter sido frequente... Mas acredito que isso funcionaria

    Definição das variáveis
    Código:
    DEFINE VARIABLE oJsonArrayProdutos AS JsonArray NO-UNDO.
    
    DEFINE VARIABLE oJsonProduto AS CLASS JsonObject NO-UNDO.
    
    DEF VAR i2 AS INTEGER NO-UNDO.
    
    Ai a lógica:
    Código:
    /* Converte de Json para Registros na temp-table */
            Loop1:
            do i=1 to oJsonArray:length on error undo, next:
                oJsonObj = oJsonArray:GetJsonObject(i).
               
                oJsonArrayProdutos = oJsonObj:getJSONArray("produtos").
    
                Loop2:
                DO i2 = 1 TO oJsonArrayProdutos:LENGTH ON ERROR UNDO, NEXT:
    
                    oJsonProduto = oJsonArrayProdutos:GetJsonObject(i2).
    
                    MESSAGE "produto: " string(oJsonObj:GetInt64("produto")) SKIP
                        "sku: " oJsonObj:GetCharacter("sku") 
                    VIEW-AS ALERT-BOX INFO BUTTONS OK.
    
                END.
    
       
                MESSAGE "saida: " string(oJsonObj:GetInt64("saida")) SKIP
                        "tipo_operacao: " oJsonObj:GetCharacter("tipo_operacao") SKIP
                        "romaneio: " oJsonObj:GetCharacter("romaneio") SKIP
                        "nf: " oJsonObj:GetCharacter("nf") skip 
                        "cancelado:" oJsonObj:GetLogical("cancelado") skip
                        //"Produtos: " oJsonProdutos 
                    VIEW-AS ALERT-BOX INFO BUTTONS OK.
               
            end.
    
  4. Neivaldo

    Neivaldo Membro Participativo

    Obrigado Anderson,
  5. Neivaldo

    Neivaldo Membro Participativo

    Para mim está retornando uma nota, mas com esse código que você me enviou está retornando erro ao tentar displayar o Produto.
    Segue o erro abaixo:
    upload_2020-2-6_16-32-23.png
  6. Neivaldo

    Neivaldo Membro Participativo

    Anderson muito Obrigado,

    Matei aqui.

    upload_2020-2-6_16-47-23.png
    af.dums curtiu isso.

Compartilhe esta Página