Árvore de páginas

Descrição

Esse ponto de entrada é utilizado em todas as rotinas de venda do módulo Controle de Lojas (SIGALOJA) e Front Loja.

O conceito padrão dos módulos acima citados é sempre gerar a movimentação financeira de acordo com as formas de pagamento definidas na venda, independentemente da configuração do TES utilizado.

Este ponto de entrada permite ajustar o array com as informações que serão consideradas para gerar a movimentação financeira.

Observações

Esse ponto de entrada é utilizado em todas as rotinas de venda do módulo Controle de Lojas (SIGALOJA) e Front Loja.

Exemplos

//----------------------------------------------------------------------------------------------------------
// *** OBSERVAÇÃO: ESTE É APENAS UM EXEMPLO. Deve ser ajustado conforme a necessidade.
//----------------------------------------------------------------------------------------------------------
// Este exemplo é baseado em uma venda com itens de "Retira" e itens de "Entrega" na mesma venda.
// Neste caso somente se quer gerar o Contas a Receber apenas com o valor do "orçamento filho"
// que contém os itens de "Retira", que são itens que o cliente comprou e levou na hora.
// Para os itens de "Entrega" não gera o Contas a Receber.
//----------------------------------------------------------------------------------------------------------

#INCLUDE "PROTHEUS.CH"

User Function LJGRFIN()
Local aRet := {}
Local aSL4 := {}
Local aNewSL4 := {}
Local cTmpAlias := GetNextAlias()
Local aAuxSL4 := {}
Local cL1Filial := ""
Local cL1Num := ""
Local aAreaSL4 := {}

If SL1->L1_TIPO == "P" //P=Pedido (Verifica se o orcamento PAI tem venda de Pedido (Entrega)

//Guarda a area anterior onde o registro estava posicionado
aAreaSL4 := SL4->(GetArea())

aSL4 := aClone( PARAMIXB[1] )

cL1Filial := SL1->L1_FILIAL
cL1Num := SL1->L1_NUM

//Busca o orcamento Filho com itens Fiscais (Retira na hora), o qual deve gerar o financeiro
BeginSQL Alias cTmpAlias
SELECT L1_NUM
FROM %table:SL1%
WHERE L1_FILIAL = %XFilial:SL1%
AND L1_ORCRES = %exp:cL1Num%
AND L1_PEDRES = ' '
AND %notDel%
EndSQL

If (cTmpAlias)->( !Eof() )

DbSelectArea("SL4")
SL4->(dbSetOrder(1)) //L4_FILIAL+L4_NUM
If SL4->(dbSeek(xFilial("SL4")+(cTmpAlias)->L1_NUM))

While SL4->( !EoF() ) .And. SL4->L4_FILIAL+ SL4->L4_NUM == xFilial("SL4")+(cTmpAlias)->L1_NUM

Aadd( aAuxSL4, SL4->L4_DATA ) //01-Data de vencimento
Aadd( aAuxSL4, SL4->L4_VALOR ) //02-Valor da parcela
Aadd( aAuxSL4, SL4->L4_FORMA ) //03-Forma de recebimento
Aadd( aAuxSL4, SL4->L4_ADMINIS ) //04-Codigo e nome da Administradora
Aadd( aAuxSL4, SL4->L4_NUMCART ) //05-Numero do cartao/cheque
Aadd( aAuxSL4, SL4->L4_AGENCIA ) //06-Agencia do cheque
Aadd( aAuxSL4, SL4->L4_CONTA ) //07-Numero da conta do cheque
Aadd( aAuxSL4, SL4->L4_RG ) //08-RG do portador do cheque
Aadd( aAuxSL4, SL4->L4_TELEFON ) //09-Telefone do portador do cheque
Aadd( aAuxSL4, SL4->L4_TERCEIR ) //10-Indica se o cheque eh de terceiros
Aadd( aAuxSL4, 1 ) //11-Moeda
Aadd( aAuxSL4, SL4->L4_PARCTEF ) //12-Tipo de parcelamento
Aadd( aAuxSL4, SL4->L4_ACRSFIN ) //13-Acrescimo Financeiro
Aadd( aAuxSL4, SL4->L4_NOMECLI ) //14-Nome Emitente quando cheque de terceiro
Aadd( aAuxSL4, SL4->L4_FORMAID ) //15-ID do Cartao de Credito ou Debito
Aadd( aAuxSL4, SL4->L4_NSUTEF ) //16-NSU da trasacao TEF
Aadd( aAuxSL4, SL4->L4_DOCTEF ) //17-Num. Documento TEF
Aadd( aAuxSL4, SL4->(Recno()) ) //18-Numero Registro SL4
Aadd( aAuxSL4, SL4->L4_DESCMN ) //19 - Desconto MultNegociacao
Aadd( aAuxSL4, SL4->L4_CONHTL ) //20 - Conta Hotel (Integração com Hotel)
Aadd( aAuxSL4, SL4->L4_AUTORIZ ) //21 - Codigo Autorizacao TEF
Aadd( aAuxSL4, SL4->L4_COMP ) //22 - Compensação
Aadd( aAuxSL4, SL4->L4_IDCNAB ) //23 - IDCNAB


Aadd( aNewSL4, aAuxSL4 )
aAuxSL4 := {}

SL4->( DbSkip() )
End

EndIf

EndIf

(cTmpAlias)->( DbCloseArea() )


//Reposiciona o registro
RestArea(aAreaSL4)

Else
aNewSL4 := aClone( PARAMIXB[1] ) //Devolve o array de pagamento sem alteracoes
EndIf

aRet := aNewSL4

Return aRet

Idioma

Português(Brasil)

Versões

Microsiga_Protheus11

Sistemas Operacionais Suportados

Todos

Compatível com as Bases de Dados

Todas

Parâmetros

NomeTipoDescrição
aRecebArrayArray com as informações das parcelas a serem geradas no Contas a Receber.

Retorno

aRet (Array)
Array com as informações das parcelas a serem geradas no Contas a Receber com a mesma estrutura que foi recebido por parâmetro;

*** Atenção: Se o array de retorno não for montado com a mesma estrutura conforme recebido por parâmetro, pode ocorrer uma ação inesperado pelo sistema.

Eventos de chamada do Ponto de Entrada

Este ponto de entrada é executado no momento da gravação da venda, na geração da movimentação financeira.

Programa Fonte

LOJXFUNC.PRW

  • Sem rótulos