Árvore de páginas

01. DADOS GERAIS

Linha de Produto:Microsiga Protheus®
Segmento:Serviços
Módulo:Fiscal

02. DESCRIÇÃO

Este ponto de entrada é utilizado para complementar as regras de validação do TES Inteligente.
Caso exista no ambiente, as regras de desempate do sistema não serão aplicadas, assim o retorno do ponto de entrada que definirá qual TES será sugerido, considerando as customizações existentes. 

03. Especificação

Parâmetros do ponto de entrada:

Nome

Tipo

Descrição

PARAMIXB[1]Bloco de códigoCondição que avalia os campos do SFM
PARAMIXB[2]Array of RecordForma de ordenação do array onde o 1o elemento será utilizado. Esse array inicialmente possui 9 posições
PARAMIXB[3]Array of RecordRegra de seleção dos registros do SFM
PARAMIXB[4]Array of RecordConteúdo a ser acrescentado no array
PARAMIXB[5]Array of RecordTabela que esta sendo tratada
PARAMIXB[6]CaractereTipo de Operação

Retorno:

Nome

Tipo

Descrição

Array Array of Record
    ()Array com os code blocks a serem tratados com as novas condições.
    Ex.: {bCond, bSort, bIRWhile, bAddTes, cNewTpOper}

04. EXEMPLO DE UTILIZAÇÃO

Exemplo:
User Function MT089CD() //As variáveis foram carregada com paramixb somente para verificar o conteúdo original.
	Local bCond    := PARAMIXB[1] //Condição que avalia os campos do SFM
	Local bSort    := PARAMIXB[2] //Forma de ordenação do array onde o 1o elemento será utilizado. Esse array inicialmente possui 9 posições
	Local bIRWhile := PARAMIXB[3] //Regra de seleção dos registros do SFM
	Local bAddTes  := PARAMIXB[4] //Conteúdo a ser acrescentado no array
	Local cTabela  := PARAMIXB[5] //Tabela que esta sendo tratada
	Local cTpOper  := PARAMIXB[6] //Tipo de Operação

	If cTabela == "SC6"
		bCond    := {||(M->C5_TIPOCLI == (cAliasSFM)->FM_XTPCLI .Or. Empty((cAliasSFM)->FM_XTPCLI))}
		bSort    := {|x,y| x[1]+x[2]+x[3]+x[4]+x[5]+x[6]+x[18]+x[7] > y[1]+y[2]+y[3]+y[4]+y[5]+y[6]+y[18]+y[7]} //Altero a ordem do array, posicao 10, para considerar o campo especifico acrescentado na linha abaixo
		bIRWhile := {||.T.}
		bAddTes  := {||aAdd(aTes[Len(aTes)],(cAliasSFM)->FM_XTPCLI)} //Acrescento campo a ser considerado na TES Inteligente.
	Else
 		bCond    := {||.T.}
 		bSort    := bSort
 		bIRWhile := {||.T.}
 		bAddTes  := {||.T.}
	EndIf
Return ({bCond, bSort, bIRWhile, bAddTes, cTpOper})

05. DEMAIS INFORMAÇÕES

As posições do ARRAY aTes podem variar dependendo dos campos usados nas regras de decisão. Portanto, deverá ser considerado a quantidade de campos do padrão ao definir o conteúdo da  variável aSort.

06. ASSUNTOS RELACIONADOS

PE - MT089UNC - Tratamento da Chave Única da TES Inteligente