Árvore de páginas
Ir para o final dos metadados
Ir para o início dos metadados

Ponto-de-Entrada: FRTSELNCC – Notas de Crédito ao Cliente (NCC)

 

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

 

Descrição:
O ponto de entrada FRTSELNCC permite personalizar a seleção de Notas de Crédito (NCC) durante a venda (Front Loja e Venda Assistida-PAF).
Programa Fonte
FRTA060.PRW
Sintaxe

FRTSELNCC – Notas de Crédito ao Cliente (NCC) ( [ nParm1 ], [ @nParm2 ] ) --> aRet

Parâmetros:

 

 Nome  Tipo  Descrição  Default  Obrigatório  Referência 
 nParm1  Numérico  Valor líquido da venda, formado pelo valor total menos o total de descontos.          
 nParm2  Numérico  Total da(s) NCC(s) selecionada(s).        X 

 

Retorno
aRet
    (array_of_record)
  • Array com os itens da NCC. aRet := FRTSELNCC(Parm1,@ Parm2)* Para definir corretamente o array de retorno verifique o exemplo abaixo, em "Observações" :
Observações

Para definir o array de retorno (aRet) retire as informações do trecho abaixo:

 aAdd( aRet,         {              oSvc:oWSFRTGETNCCRESULT:oWSWSRETABERTO[nX]:LSELECIONA     ,;
oSvc:oWSFRTGETNCCRESULT:oWSWSRETABERTO[nX]:nSALDO             ,;
                                               oSvc:oWSFRTGETNCCRESULT:oWSWSRETABERTO[nX]:CNUMTITULO   ,;
                                               oSvc:oWSFRTGETNCCRESULT:oWSWSRETABERTO[nX]:dDATANCC        ,;
                                               oSvc:oWSFRTGETNCCRESULT:oWSWSRETABERTO[nX]:nNUMRECNO   ,;
                                               oSvc:oWSFRTGETNCCRESULT:oWSWSRETABERTO[nX]:nSALDO2            ;
                                               oSvc:oWSFRTGETNCCRESULT:oWSWSRETABERTO[nX]:cMVMOEDA        ,;
                                               oSvc:oWSFRTGETNCCRESULT:oWSWSRETABERTO[nX]:nMOEDA             ,;
                                               oSvc:oWSFRTGETNCCRESULT:oWSWSRETABERTO[nX]:cPREFIXO           ,;
                                               oSvc:oWSFRTGETNCCRESULT:oWSWSRETABERTO[nX]:cPARCELA          ,;
                                               oSvc:oWSFRTGETNCCRESULT:oWSWSRETABERTO[nX]:cTIPO                   } )
 
Na utlização do ponto de entrada FRTSELNCC, se desejar a visualização da tela com as NCC's, será necessário o desenvolvimento da mesma, devido o retorno conter apenas o array com as NCC's.
 
 
Exemplos
/*** Exemplo de ponto de entrada na seleção de NCC para pagamento*/User Function FRTSELNCC( nParam1, nParam2 )Local aSaveSE1 := SE1->(GetArea())Local aRet := {}Local nI := 0Local cMV_MOEDA := SuperGetMV("MV_MOEDA1")BeginSql alias 'NCCSE1temp'	SELECT 		E1_SALDO AS 'SALDO',		E1_NUM AS 'NUM', 		E1_EMISSAO AS 'EMISSAO',		R_E_C_N_O_ AS 'RECNO',		E1_MOEDA AS 'MOEDA',		E1_PREFIXO AS 'PREFIXO',		E1_PARCELA AS 'PARCELA',		E1_TIPO AS 'TIPO'	FROM %table:SE1% SE1	WHERE	SE1.%notdel% AND E1_TIPO='NCC' AND E1_STATUS = 'A' AND E1_CLIENTE = %exp:M->LQ_CLIENTE% AND E1_LOJA = %exp:M->LQ_LOJA% EndSqlWhile !NCCSE1temp->(EOF())	If( StoD(NCCSE1temp->EMISSAO) >= CtoD('01/01/2011') ) // filtra os títulos maiores que a data 1/jan/2011		aAdd( aRet, {	iIf( NCCSE1temp->SALDO >= 100, .T., .F.) ,; // seleciona somente os títulos com saldo maior que R$100						NCCSE1temp->SALDO,;						NCCSE1temp->NUM,;						StoD(NCCSE1temp->EMISSAO),;						NCCSE1temp->RECNO,;						NCCSE1temp->SALDO,;						cMV_MOEDA,;						NCCSE1temp->MOEDA,;						NCCSE1temp->PREFIXO,;						NCCSE1temp->PARCELA,;						NCCSE1temp->TIPO } )	EndIf	NCCSE1temp->(dbSkip())EndIf ( Select( 'NCCSE1temp' ) != -1 )	NCCSE1temp->(dbCloseArea())EndIf// inicializa a variável, que terá a quantidade de títulos selecionados no processamento// nessa situação, que a primeira posição do array for True (.T.)nParam2 := 0For nI := 1 to Len(aRet)	 If( aRet[nI][1] )	 	nParam2++	 EndIfNext nI RestArea( aSaveSE1 )
Variáveis

 

 Nome  Tipo  Escopo  Pode Alterar  descrição 
 nParm1  Numérico  Local  Não    
 nParm2  Numérico  Local  Sim