Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

GFEA1153 – Manipulação do Valor de “Base Imposto” da Tabela Temporária

Características do Requisito

Linha de Produto:

Microsiga Protheus

Segmento:

Logística

Módulo:

SIGAGFE

Ponto de Entrada - GFEA1153

Descrição:

Manipulação do valor de Base Imposto da tabela temporária.

Localização:

Rotina de Importação de Conhecimentos/EDI.

Programa Fonte:

GFEA115A - Importação de Conhecimentos/EDI (SIGAGFE)

Parâmetros:

NomeTipoDescriçãoObrigatório
PARAMIXB[1]String
Tipo de Tributação
Tabela TemporariaSim
PARAMIXB[2]StringBuffer do arquivo de importaçãoSim
PARAMIXB[
1
3]
Number
String
Valor do Documento de Frete
Dados complementares do bufferSim

Retorno:

Nome

Tipo

Descrição

Obrigatório

lRet
tTabCTRC

Boolean

Booleano (.t. ou .f.)

Sim

nRetNumberValor que será atribuído à "Base Imposto"

String

Tabela temporária

Sim

 

Bloco de código
languagedelphi
titleExemplo: GFEA1153
linenumberstrue
#Include 'Protheus.ch'
User Function GFEA1153()

	Local cTRBIMPcDir := ""
	Local cTime := ""
	Private cArqTxt := ""
	Private nHdl

	tTabCTRC := PARAMIXB[1]
	LocalcBuffer nVLDF := PARAMIXB[2]
	Local aRetorno
	cBuffer329 := PARAMIXB[3]
	cCNPJDest := ""
	cCNPJCons := ""
	cOrigem := ""
	cDestin := ""

	cTime := TIME() 
	cDir := {.F.,0}
 "c:\temp\OMSM0112.txt"

	cArqTxt  := "Entrei no GFEA1153" + CRLF
	
	If cTRBIMP(tTabCTRC)->GXG_TRBIMP == '3' //Substituição Tributaria
		(tTabCTRC)->GXG_BASIMP := (tTabCTRC)->GXG_VLDF
	EndIF
	
	cCNPJDest :=  SubStr(cBuffer, 681, 14)
	cCNPJCons := SubStr(cBuffer, 728, 14)
	
	(tTabCTRC)->GXG_VLCARG := Val(Transform(SubStr(cBuffer, 695, 13), '@R 99999999999.99'))
	(tTabCTRC)->GXG_QTVOL  := Val(Transform(SubStr(cBuffer, 708, 10), '@R 99999999.99'))
	(tTabCTRC)->GXG_PESOC  := Val(Transform(SubStr(cBuffer, 718, 10), '@R 99999999.99'))
	
	dbSelectArea("GU3")
	dbSetOrder(11)
	If dbSeek(xfilial("GU3")+ AllTrim(cCNPJDest))
		(tTabCTRC)->GXG_CDDEST := GU3->GU3_CDEMIT
	Else
		dbSelectArea("GU3")
		dbSetOrder(11)
		If dbSeek(xfilial("GU3")+ Substr(AllTrim(cCNPJDest),04,11))
			(tTabCTRC)->GXG_CDDEST := GU3->GU3_CDEMIT
		EndIf
	EndIf	
	
	If AllTrim(cCNPJCons) <> ""
		dbSelectArea("GU3")
		dbSetOrder(11)
		If dbSeek(xfilial("GU3")+ AllTrim(cCNPJCons))
			(tTabCTRC)->GXG_CDCONS := GU3->GU3_CDEMIT
		EndIf
	EndIf
	
	cOrigem := Posicione("GU3", 1, xFilial("GU3") + (tTabCTRC)->GXG_CDREM , "GU3_NRCID")
	cDestin := Posicione("GU3", 1, xFilial("GU3") + (tTabCTRC)->GXG_CDDEST, "GU3_NRCID")
	
	cArqTxt  += "Ponto 1" + CRLF
	
	If !Empty((tTabCTRC)->GXG_CTE) .And. !Empty(SuperGetMv("MV_ESPDF3",,""))
		If (SubStr(cBuffer329,24,15) > "000000000000000" .And. SubStr(cBuffer329, 1, 3) == "329") .or. (cOrigem == cDestin)
			(tTabCTRC)->GXG_CDESP := GETMV("MV_ESPDF2")
			(tTabCTRC)->GXG_TPIMP := "2"
			cArqTxt  += "Primeiro IF" + CRLF
			cArqTxt  += "TPIMP   : "  + (tTabCTRC)->GXG_TPIMP + CRLF
		aRetorno := {.T., nVLDF}
	EndIF
Return aRetorno			cArqTxt  += "CDESP   : "  + (tTabCTRC)->GXG_CDESP + CRLF 
		Else
			(tTabCTRC)->GXG_CDESP := GETMV("MV_ESPDF3")
			(tTabCTRC)->GXG_TPIMP := "1"
			cArqTxt  += "Primeiro ELSE" + CRLF
			cArqTxt  += "TPIMP   : "  + (tTabCTRC)->GXG_TPIMP + CRLF
			cArqTxt  += "CDESP   : "  + (tTabCTRC)->GXG_CDESP + CRLF
		EndIf
	ElseIf (SubStr(cBuffer329,24,15) > "000000000000000" .And. SubStr(cBuffer329, 1, 3) == "329") .or. (!Empty(cOrigem) .And. (cOrigem == cDestin))
		(tTabCTRC)->GXG_CDESP := GETMV("MV_ESPDF2")
		(tTabCTRC)->GXG_TPIMP := "2"
		cArqTxt  += "SEGUNDO IF" + CRLF
		cArqTxt  += "TPIMP   : "  + (tTabCTRC)->GXG_TPIMP + CRLF
		cArqTxt  += "CDESP   : "  + (tTabCTRC)->GXG_CDESP + CRLF
	Else
		(tTabCTRC)->GXG_CDESP := GETMV("MV_ESPDF1")
		(tTabCTRC)->GXG_TPIMP := "1"
		cArqTxt  += "SEGUNDO ELSE" + CRLF
		cArqTxt  += "TPIMP   : "  + (tTabCTRC)->GXG_TPIMP + CRLF
		cArqTxt  += "CDESP   : "  + (tTabCTRC)->GXG_CDESP + CRLF
	EndIf
	
	cArqTxt  := "Fim" + CRLF

Return tTabCTRC