Consulta de Volumes alternativos

Regras de negócio

No ERP sankhya as Unidades Alternativas deverão ser configuradas considerando a unidade padrão que poderá ser unidade ou caixa, pois o sistema considera unidade padrão para o cálculo das “Unidades Alternativas”.
Caso haja alguma Unidade Alternativa já cadastrada, o sistema permitirá que a Unidade Padrão seja alterada para a Unidade Alternativa já cadastrada, permitindo assim, que estas duas sejam iguais.
OBS: Caso tenha alguma necessidade de configuração do ERP procure “Consultor” ou acesso o link de apoio:
https://ajuda.sankhya.com.br/hc/pt-br/articles/360045112113-Cadastro-de-Produtos-#abaunidadesalternativas

Dependências

Não possui dependências

Detalhes Técnicos

A entidade utilizada é a VolumeAlternativo que por sua vez instancia a tabela TGFVOA mapeando os campos principais.
Para realizarmos a busca através do Json, utilizamos o serviço "CRUDServiceProvider.loadRecords".

O serviço CRUDServiceProvider.loadRecords é um otimo serviço para ser utilizado para consulta de dados através do JSON.

Na busca dos dados foram utilizados os campos CODVOL e o campo CODPROD, porém também podem ser utilizados os demais campos para consulta utilizando filtro no corpo da requisição.
Para utilizarmos o filtro, basta acrescentar no corpo da requisição o código abaixo utilizando o criteria:
    "criteria": {
      "expression": {
        "$": "this.CODVOL = 'UN' and CODPROD = 115"
      },
      "parameters": [
         {
           "$": "UN",
           "type": "S"
         },
         {
           "$": "115",
           "type": "I"
         }
      ]
    }

Para melhor performance sempre utilize nas suas consultas apenas os campos necessários, para evitar tráfego de dados que não serão utilizados.

Descritivo de campos da entidade

Acesse aqui o dicionário de dados da tabela TGFVOA

Exemplo de uso:


URL de chamada: https://api.sankhya.com.br/gateway/v1/mge/service.sbr?serviceName=CRUDServiceProvider.loadRecords&outputType=json

Corpo de requisição
{
  "serviceName": "CRUDServiceProvider.loadRecords",
  "requestBody": {
    "dataSet": {
      "rootEntity": "VolumeAlternativo",
      "includePresentationFields": "N",
      "offsetPage": "0",
      "criteria": {
        "expression": {
          "$": "this.CODVOL = 'UN' and CODPROD = 115"
        },
        "parameters": [
           {
             "$": "UN",
             "type": "S"
           },
           {
             "$": "115",
             "type": "I"
           }
        ]
      },
      "entity": {
        "fieldset": {
          "list": "CODVOL,CODPROD,DIVIDEMULTIPLICA,QUANTIDADE"
        }
      }
    }
  }
}

Retorno em json:

{
    "serviceName": "CRUDServiceProvider.loadRecords",
    "status": "1",
    "pendingPrinting": "false",
    "transactionId": "2FE21EBBD661F7A43DDB9743D839C709",
    "responseBody": {
        "entities": {
            "total": "1",
            "hasMoreResult": "false",
            "offsetPage": "0",
            "offset": "0",
            "metadata": {
                "fields": {
                    "field": [
                        {
                            "name": "CODVOL"
                        },
                        {
                            "name": "CODPROD"
                        },
                        {
                            "name": "DIVIDEMULTIPLICA"
                        },
                        {
                            "name": "QUANTIDADE"
                        },
                        {
                            "name": "CONTROLE"
                        }
                    ]
                }
            },
            "entity": {
                "f0": {
                    "$": "UN"
                },
                "f1": {
                    "$": "115"
                },
                "f2": {
                    "$": "M"
                },
                "f3": {
                    "$": "1"
                },
                "f4": {}
            }
        }
    }
}
Language
Click Try It! to start a request and see the response here!