Árvore de páginas

Versões comparadas

Chave

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

...

Bloco de código
languagejava
themeMidnight
firstline1
titleMTATIP70
linenumberstrue
collapsetrue
#Include 'Protheus.ch'

User Function MtaTip70
	Local aArray70   := PARAMIXB[1]
	Local cCfopPR    := GetNewPar('MV_CFOPPR','')
	Local cTranspCGC := ''
	Local cTranspIns := ''
	Local cTranspEst := ''
	Local cTranspOri := ''
	Local cTpFrete   := ''

	If AModNot(aArray70[1][7])<>'01' .Or.;
			(AModNot(aArray70[1][7])=='01' .And. Alltrim(aArray70[1][5])$cCfopPR)

		//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
		//³ Verifica o cliente/fornecedor                                          ³
		//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

		If (SubStr(aArray70[1][5],1,1)>='5' .And. aArray70[1][6]$'BD') .Or.;
			(SubStr(aArray70[1][5],1,1)<'5' .And. !aArray70[1][6]$'BD')   //Verificando CFOP # TIPO

			dbSelectArea('SA2')
			dbSetOrder(1)
			SA2->(MsSeek(xFilial('SA2')+aArray70[1][3]+aArray70[1][4]))     //F3_CLIEFOR
			cTranspCGC := AFISFILL (Num2Chr (Val (SA2->A2_CGC), 14, 0), 14) //F3_LOJA
			cTranspIns := ARETDIG(SA2->A2_INSCR,.T.,aArray70[1][22])        //F3_ESTADO
			cTranspEst := SA2->A2_EST
			cTranspOri := SA2->A2_CGC
		Else
			dbSelectArea('SA1')
			dbSetOrder(1)
			SA1->(MsSeek(xFilial('SA1')+aArray70[1][3]+aArray70[1][4]))     //F3_CLIEFOR
			cTranspCGC := AFISFILL (Num2Chr (Val (SA1->A1_CGC), 14, 0), 14) //F3_LOJA
			cTranspIns := ARETDIG(SA1->A1_INSCR,.T.,aArray70[1][22])        //F3_ESTADO
			cTranspEst := SA1->A1_EST
			cTranspOri := SA1->A1_CGC
		EndIf

		//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
		//³Checando se frete CIF ou FOB         ³
		//³- com valor de frete na NF = 1 - CIF ³
		//³- sem valor de frete na NF = 2 - FOB ³
		//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
		cTpFrete := '1'
		If substr(aArray70[1][5],1,1)<'5' //F3_CFO
			SF1->( dbSetOrder(1) )
			SF1->( MsSeek(xFilial('SF1')+aArray70[1][1]+aArray70[1][2]+aArray70[1][3]+aArray70[1][4]))
			If SF1->F1_FRETE = 0
				cTpFrete := '1'
			Endif
			If SF1->F1_FRETE = 0 .And. SF1->F1_ORIGLAN=='F ' .And. SF1->F1_TIPO=='C' //NF Conhecimento Frete
				cTpFrete := '2'
			Endif
		Else
			SF2->( dbSetOrder(1) )
			SF2->( MsSeek(xFilial('SF2')+aArray70[1][1]+aArray70[1][2]+aArray70[1][3]+aArray70[1][4]))
			If SF2->F2_FRETE = 0
				cTpFrete := '1'
			Endif
		Endif

		RecLock('R70',.T.)
		R70->A70_CNPJ   := cTranspCGC
		R70->A70_IE     := cTranspIns
		R70->A70_EMISS  := aArray70[1][10]
		R70->A70_UF     := cTranspEst
		R70->A70_MODELO := AModNot(aArray70[1][7])
		R70->A70_SERIE  := Substr(aArray70[1][2],1,1)
		R70->A70_SUBSER := Substr(aArray70[1][2],2,2)
		R70->A70_NFISC  := aArray70[1][1]
		R70->A70_CFOP   := aArray70[1][5]
		R70->A70_CIFFOB := cTpFrete
		R70->A70_SITUAC := Iif(('CANCELAD'$aArray70[1][20] .Or. !Empty(aArray70[1][13])),'S','N')
		R70->A70_CNORI  := cTranspOri
		R70->A70_CFOMOV := aArray70[1][5]
		R70->A70_VALTOT += aArray70[1][17]
		R70->A70_BSICM  += aArray70[1][19]
		R70->A70_VALICM += aArray70[1][16]
		R70->A70_ISENTA += aArray70[1][12]
		R70->A70_OUTRAS += aArray70[1][15]
		MsUnlock()
        
	Endif

Return

...