Ponto de Entrada – M460FIM

Exemplo do Ponto de Entrada M460FIM.

Exemplo do Ponto de Entrada:

//Bibliotecas
#Include "TOPCONN.CH"

/*------------------------------------------------------------------------------------------------------*
 | P.E.:  M460FIM                                                                                       |
 | Desc:  Gravação dos dados após gerar NF de Saída                                                     |
 | Links: http://tdn.totvs.com/pages/releaseview.action?pageId=6784180                                  |
 *------------------------------------------------------------------------------------------------------*/

User Function M460FIM()
	Local cPedido  := ''
	Local cCampo   := ''
	Local aAreaSF2 := SF2->(GetArea())
	Local aAreaSD2 := sd2->(GetArea())
	Local aAreaSC5 := sc5->(GetArea())
	Local aAreaSE1 := sE1->(GetArea())
	Local aAreaSA1 := sA1->(GetArea())
	
	//Pega o pedido
	DbSelectArea("SD2")
	SD2->(DbSetorder(3))
	If SD2->(DbSeek(SF2->(F2_FILIAL+F2_DOC+F2_SERIE+F2_CLIENTE+F2_LOJA)))
		cPedido := SD2->D2_PEDIDO
	Endif          
	
	//Se tiver pedido
	If !Empty(cPedido)
		DbSelectArea("SC5")
		SC5->(DbSetorder(1))
		
		//Se posiciona pega o tipo de pagamento
		If SC5->(DbSeek(FWxFilial('SC5')+cPedido))
			cCampo := SC5->C5_X_CAMPO
		Endif
	Endif     
	
	//Filtra títulos dessa nota
	cSql := "SELECT R_E_C_N_O_ AS REC FROM "+RetSqlName("SE1")
	cSql += " WHERE E1_FILIAL = '"+xFilial("SE1")+"' AND D_E_L_E_T_<>'*' "
	cSql += " AND E1_PREFIXO = '"+SF2->F2_SERIE+"' AND E1_NUM = '"+SF2->F2_DOC+"' "
	cSql += " AND E1_TIPO = 'NF' "
	TcQuery ChangeQuery(cSql) New Alias "_QRY"
	
	//Enquanto tiver dados na query
	While !_QRY->(eof())
		DbSelectArea("SE1")
		SE1->(DbGoTo(_QRY->REC))
		
		//Se tiver dado, altera o tipo de pagamento
		If !SE1->(EoF())
			RecLock("SE1",.F.)
				Replace E1_X_CAMPO WITH cCampo
			MsUnlock()
		EndIf
		
		_QRY->(DbSkip())
	Enddo
	_QRY->(DbCloseArea())
	
	RestArea(aAreaSF2)
	RestArea(aAreaSD2)
	RestArea(aAreaSC5)
	RestArea(aAreaSE1)
	RestArea(aAreaSA1)
Return

Observações:

– Caso tenha dúvidas ou problemas com os exemplos, entre em contato;
– Se tiver sugestões de rotinas, pode entrar em contato;

Links:

Pesquisa no TDN