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 |
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas