Consulta de Promoções - Quantidade

Regras de negócio

Para realizar consulta de promoções por quantidade é necessário efetuar configurações necessárias de modo a restringir a quantidade a ser considerada para aplicação do desconto promocional, se este desconto será em "valor" ou "percentual" e o valor ou percentual de desconto propriamente dito.
Ressalto que o desconto por quantidade será válido apenas quando o 'Tipo de Negociação' possuir a opção "Considerar por Quantidade".
Importante: Não é possível a configuração de desconto por quantidade, considerando controle adicional de estoque.
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/360044600034-Descontos-Promocionais

Dependências

Não possui dependências

Detalhes Técnicos

A entidade utilizada é a Desconto que por sua vez instancia a tabela TGFDES 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.

No exemplo abaixo foram utilizados como filtro os campos USADESCQTD, DTINICIAL e DTFINAL para poder pesquisar as promoções cadastradas por Quantidade e por período de vigência da Promoção, porém você pode utilizar outros campos da entidade. .

• USADESCQTD – Usa desconto por quantidade.
• DTINICIAL – Data Inicial.
• DTFINAL – Data Final.
Para utilizarmos o filtro, basta acrescentar no corpo da requisição o código abaixo utilizando o criteria:
              "criteria": {
                "expression": {
                  "$": "this.USADESCQTD = ? AND this.DTINICIAL = ? AND this.DTFINAL = ?"
                },
                "parameters": [
                   {
                     "$": "S",
                     "type": "S"
                   },
                   {
                     "$": "19/06/2020",
                     "type": "D"
                   },
                   {
                     "$": "01/08/2020",
                     "type": "D"
                   }
                ]
              }
              

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 TGFDES

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": "Desconto",
      "includePresentationFields": "S",
      "offsetPage": "0",
      "criteria": {
        "expression": {
          "$": "this.USADESCQTD = ? AND this.DTINICIAL = ? AND this.DTFINAL = ?"
        },
        "parameters": [
           {
             "$": "S",
             "type": "S"
           },
           {
             "$": "19/06/2020",
             "type": "D"
           },
           {
             "$": "01/08/2020",
             "type": "D"
           }
        ]
      },
      "entity": {
        "fieldset": {
          "list": "DTINICIAL,DTFINAL,CODPROD,VLRDESC,CODEMP,NUPROMOCAO,DESCRPROMOCAO"
        }
      }
    }
  }
}

Retorno em json:

{
    "serviceName": "CRUDServiceProvider.loadRecords",
    "status": "1",
    "pendingPrinting": "false",
    "transactionId": "E9683289E33A955307014CFA970A5AEF",
    "responseBody": {
        "entities": {
            "total": "2",
            "hasMoreResult": "false",
            "offsetPage": "0",
            "offset": "0",
            "metadata": {
                "fields": {
                    "field": [
                        {
                            "name": "DTINICIAL"
                        },
                        {
                            "name": "DTFINAL"
                        },
                        {
                            "name": "CODPROD"
                        },
                        {
                            "name": "VLRDESC"
                        },
                        {
                            "name": "CODEMP"
                        },
                        {
                            "name": "NUPROMOCAO"
                        },
                        {
                            "name": "DESCRPROMOCAO"
                        },
                        {
                            "name": "Produto_DESCRPROD"
                        },
                        {
                            "name": "Empresa_NOMEFANTASIA"
                        }
                    ]
                }
            },
            "entity": [
                {
                    "f6": {
                        "$": "EMPRESA 25 PROMOÇÕES SAZONAIS "
                    },
                    "f7": {
                        "$": "TELEVISÃO LED SONY 4K"
                    },
                    "f8": {
                        "$": "TESTE EFD ICMS/IPI"
                    },
                    "f0": {
                        "$": "19/06/2020"
                    },
                    "f1": {
                        "$": "01/08/2020"
                    },
                    "f2": {
                        "$": "869"
                    },
                    "f3": {
                        "$": "0"
                    },
                    "f4": {
                        "$": "25"
                    },
                    "f5": {
                        "$": "303"
                    }
                }
            ]
        }
    }
}
Language
Click Try It! to start a request and see the response here!