Árvore de páginas

Ponto-de-Entrada: M460QRY - Adição de elementos em Query


Abrangências:Microsiga Protheus 8.11 , Microsiga Protheus 10, Microsiga Protheus 11, Microsiga Protheus 12
Versões:Microsiga Protheus 8.11 , Microsiga Protheus 10, Microsiga Protheus 11, Microsiga Protheus 12
Compatível Países:Todos
Sistemas Operacionais:Todos
Compatível às Bases de Dados:Todas TotvsDbAccess
Idiomas:Português (Brasil) , Português (Portugal) , Espanhol , Inglês


Descrição: 

Ponto de entrada executado antes da exibição da tela de seleção de itens para a geração de Doc. de Saída (Markbrowse) e ao realizar o cálculo dos rateios de Despesas Acessórias (Frete/Seguro/Despesa) e de Desconto entre os itens do pedido a ser faturado (para mais informações sobre esses rateios acesse https://tdn.totvs.com/x/mDc-Dg). 

Ao utilizar o ponto de entrada M460FIL é necessário utilizar o ponto de entrada M460QRY, pois as regras de filtro customizadas implementadas na tela de seleção (Markbrowse) devem ser replicadas no ponto de entrada M460QRY, utilizando a sintaxe da linguagem SQL do Banco de Dados utilizado para execução do sistema. No momento da geração dos documentos de saída, o sistema deve utilizar as mesmas regras de filtro utilizadas na tela de seleção (Markbrowse) para selecionar os registros no banco de dados. O meio para informar as mesmas regras utilizada no ponto de entrada M460FIL é o ponto de entrada M460QRY. Neste caso o código da query (ParamIxb[2]) a ser executada é "1".

No momento de realizar o cálculo dos rateios de Despesas Acessórias (Frete/Seguro/Despesa) e de Desconto entre os itens do pedido a ser faturado, o sistema também executa o ponto de entrada M460QRY. Neste momento é possível obter a query preparada pelo sistema e adicionar filtros customizados nas queries utilizadas pelo sistema para o processamento deste cálculo. O ponto de entrada é executado duas vezes para cada um desses cálculos (rateio de despesas acessórias e rateio de desconto) quando for necessário:
  1. A primeira vez é informada a query (ParamIxb[1]) para obter o valor total do pedido, que é necessário realizar o cálculo do percentual do rateio. Neste caso o código da query (ParamIxb[2]) a ser executada é "2".
  2. A segunda vez é informada a query (ParamIxb[1]) que calculará o valor do rateado para o item (da despesa e/ou do desconto) para o item. Neste caso o código da query (ParamIxb[2]) a ser executada é "3".

Apesar de poder alterar a query passada como parâmetro, isto não deve ser efetuado sob nenhuma hipótese, deve-se apenas adicionar elementos à cláusula 'Where'

Este ponto de entrada somente será executado para a versão TOTVS DbAccess (TopConnect).

Programa Fonte
MATA461.PRW

Sintaxe

M460QRY - Adição de elementos ( < UPAR> ) --> URET


Parâmetros:



Nome

Tipo

Descrição

Default

Obrigatório

Referência

UPAR

Qualquer

ParamIXB[1] : Expressão da Query a ser executada no banco. / ParamIxb[2] : Código da Query a ser executada.




X




Retorno
cRET
    (Caractere)
  • ExpC1: Expressão da Query a ser executada no Banco.

Exemplos

#include "rwmake.ch"
User Function M460QRY()

Local _volta := " and C9_CODISS = ' '"
Local cQuery :=paramixb[1]
Local cCodQry := paramixb[2]

If cCodQry == "1"
cQuery+=_volta
EndIf

Return(cQuery)