01. DADOS GERAIS
Produto: | TOTVS Gestão Jurídica - Linha SISJURI |
---|---|
Linha de Produto: | Linha Protheus |
Segmento: | Jurídico |
Módulo: | TOTVS Gestão Jurídica - Linha SISJURI - Pré Faturamento de Serviços (SIGAPFS) |
Função: | Emissão de Faturas - JURA203 Operação de Faturas - JURA204 |
País: | Brasil |
02. DESCRIÇÃO
Localização | Atualizações >> Cadastro >> Movimentações >> Emissão de Faturas Atualizações >> Cadastro >> Movimentações >> Operação de Faturas | ||||||||||||||||||||
Parâmetro |
| ||||||||||||||||||||
Retorno | Não se aplica |
03. DEMAIS INFORMAÇÕES
#include "topconn.ch"
#include "protheus.ch"
#include "fwmvcdef.ch"
#include "parmtype.ch"
User Function J203CRT()
Local aAREATU := GetArea()
Local nCONTAR := 0
Local cQRYTMP := ""
Local cDEFPRD := ""
Local cMODCAR := ""
Local cParams := ""
Local cArquivo := Trim(ParamIXB[1,3])+"_c"
Local lSepPrd := .T.
cDEFPRD := ParamIXB[1, 2] + ';' //vpiCodUser
cDEFPRD += ParamIXB[1, 3] + ';' //vpiNumFatura
cDEFPRD += ParamIXB[1, 4] + ';' //vpiOrganizacao
cDEFPRD += ParamIXB[1, 5] + ';' //vpcNoSocioFatura
cDEFPRD += ParamIXB[1, 6] + ';' //vpiCliente
cDEFPRD += ParamIXB[1, 7] + ';' //vpcPreFaturaMinuta
cDEFPRD += ParamIXB[1, 8] + ';' //vpcExibirLogo
cDEFPRD += ParamIXB[1, 9] + ';' //vpcDadosDeposito
cDEFPRD += ParamIXB[1,10] + ';' //vpcContraApresentacao
cDEFPRD += Iif(FunName() == "JURA204","N",ParamIXB[1,11]) + ';' //vpcFaturaRateada
cDEFPRD += ParamIXB[1,17] + ';' //vpcAssinaturaEletron
cDEFPRD += ParamIXB[1,18] + ';' //vpcRedator
lSepPrd := ChkPrdRJ(ParamIXB[1, 4], ParamIXB[1, 3])
If lSepPrd
cQRYTMP := " select" + CRLF
cQRYTMP += " case" + CRLF
cQRYTMP += " when NUS.NUS_CESCR = 'RJ' then 'RJ'" + CRLF
cQRYTMP += " else 'SP'" + CRLF
cQRYTMP += " end as ESCRITORIO" + CRLF
cQRYTMP += " from" + CRLF
cQRYTMP += " " + RetSqlName("NW0") + " NW0" + CRLF
cQRYTMP += " inner join " + RetSqlName("NUE") + " NUE" + CRLF
cQRYTMP += " on(NUE.NUE_FILIAL = '" + xFilial("NUE") + "'" + CRLF
cQRYTMP += " and NUE.NUE_COD = NW0.NW0_CTS" + CRLF
cQRYTMP += " and NUE.NUE_TEMPOR > 0 " + CRLF
cQRYTMP += " and NUE.D_E_L_E_T_ = ' ')" + CRLF
cQRYTMP += " inner join " + RetSqlName("NUS") + " NUS" + CRLF
cQRYTMP += " on(NUS.NUS_FILIAL = '" + xFilial("NUS") + "'" + CRLF
cQRYTMP += " and NUS.NUS_CPART = NUE.NUE_CPART2" + CRLF
cQRYTMP += " and substring(NUE.NUE_DATATS, 1, 6) between NUS.NUS_AMINI and" + CRLF
cQRYTMP += " case" + CRLF
cQRYTMP += " when NUS.NUS_AMFIM = ' ' then '999999'" + CRLF
cQRYTMP += " else NUS.NUS_AMFIM" + CRLF
cQRYTMP += " end" + CRLF
cQRYTMP += " and NUS.D_E_L_E_T_ = ' ')" + CRLF
cQRYTMP += " where" + CRLF
cQRYTMP += " NW0.NW0_FILIAL = '" + xFilial("NW0") + "'" + CRLF
cQRYTMP += " and NW0.NW0_CFATUR = '" + ParamIXB[1,3] + "'" + CRLF
cQRYTMP += " and NW0.NW0_CANC = '2'" + CRLF
cQRYTMP += " and NW0.D_E_L_E_T_ = ' '" + CRLF
cQRYTMP += " group by" + CRLF
cQRYTMP += " case" + CRLF
cQRYTMP += " when NUS.NUS_CESCR = 'RJ' then 'RJ'" + CRLF
cQRYTMP += " else 'SP'" + CRLF
cQRYTMP += " end" + CRLF
cQRYTMP += " " + CRLF
cQRYTMP += " union" + CRLF
cQRYTMP += " " + CRLF
cQRYTMP += " select" + CRLF
cQRYTMP += " case" + CRLF
cQRYTMP += " when NUS.NUS_CESCR = 'RJ' then 'RJ'" + CRLF
cQRYTMP += " else 'SP'" + CRLF
cQRYTMP += " end as ESCRITORIO" + CRLF
cQRYTMP += " from" + CRLF
cQRYTMP += " " + RetSqlName("NW4") + " NW4" + CRLF
cQRYTMP += " inner join " + RetSqlName("NV4") + " NV4" + CRLF
cQRYTMP += " on(NV4.NV4_FILIAL = '" + xFilial("NV4") + "'" + CRLF
cQRYTMP += " and NV4.NV4_COD = NW4.NW4_CLTAB" + CRLF
cQRYTMP += " and NV4.D_E_L_E_T_ = ' ')" + CRLF
cQRYTMP += " inner join " + RetSqlName("NUS") + " NUS" + CRLF
cQRYTMP += " on(NUS.NUS_FILIAL = '" + xFilial("NUS") + "'" + CRLF
cQRYTMP += " and NUS.NUS_CPART = NV4.NV4_CPART" + CRLF
cQRYTMP += " and substring(NV4.NV4_DTLANC, 1, 6) between NUS.NUS_AMINI and" + CRLF
cQRYTMP += " case" + CRLF
cQRYTMP += " when NUS.NUS_AMFIM = ' ' then '999999'" + CRLF
cQRYTMP += " else NUS.NUS_AMFIM" + CRLF
cQRYTMP += " end" + CRLF
cQRYTMP += " and NUS.D_E_L_E_T_ = ' ')" + CRLF
cQRYTMP += " where" + CRLF
cQRYTMP += " NW4.NW4_FILIAL = '" + xFilial("NW4") + "'" + CRLF
cQRYTMP += " and NW4.NW4_CFATUR = '" + ParamIXB[1,3] + "'" + CRLF
cQRYTMP += " and NW4.NW4_CANC = '2'" + CRLF
cQRYTMP += " and NW4.D_E_L_E_T_ = ' '" + CRLF
cQRYTMP += " " + CRLF
cQRYTMP += " group by" + CRLF
cQRYTMP += " case" + CRLF
cQRYTMP += " when NUS.NUS_CESCR = 'RJ' then 'RJ'" + CRLF
cQRYTMP += " else 'SP'" + CRLF
cQRYTMP += " end" + CRLF
cQRYTMP += " order by" + CRLF
cQRYTMP += " ESCRITORIO desc" + CRLF
TCQuery ChangeQuery(cQRYTMP) New Alias "QRYTMP"
QRYTMP->(DbGoTop())
Do While QRYTMP->(!Eof())
nCONTAR ++
QRYTMP->(DbSkip())
EndDo
QRYTMP->(DbGoTop())
If nCONTAR > 1 //If !(nCONTAR == 1 .And. QRYTMP->ESCRITORIO == "SP")
cMODCAR := AllTrim(Posicione("NXA",1,xFilial("NXA") + ParamIXB[1, 4] + ParamIXB[1, 3] ,"NXA_CCARTA"))
cMODCAR := AllTrim(Posicione("NRG",1,xFilial("NRG") + cMODCAR, "NRG_ARQ"))
cMODCAR := Iif(Empty(cMODCAR),"JU203A",IIf(At(".",cMODCAR) > 0,SubStr(cMODCAR,1,At(".",cMODCAR) - 1),cMODCAR))
QRYTMP->(DbGoTop())
Do While QRYTMP->(!Eof())
cParams := cDEFPRD + StrTran(ParamIXB[1,20],";C;",";" + QRYTMP->ESCRITORIO + ";")
If ParamIXB[1,19] <> "4" .And. ParamIXB[1,19] <> "2"
CallCrys(cMODCAR,cParams,ParamIXB[1,1] + cArquivo + "-" + IIf(QRYTMP->ESCRITORIO == "SP", "1", "2"), .T., .F.)
EndIf
If (FunName() <> "JURA204") .Or. (FunName() == "JURA204" .And. ParamIXB[4])
If ParamIXB[1,19] == "3" //WORD
J203MvRela(cArquivo + "-" + IIf(QRYTMP->ESCRITORIO == "SP", "1", "2") + ".doc", ParamIXB[1, 4], ParamIXB[1, 3])
EndIf
ConOut("PE: J203CRT - CallCrys: " + cMODCAR + "-" + cArquivo + "-" + IIf(QRYTMP->ESCRITORIO == "SP", "1", "2"))
CallCrys(cMODCAR, cParams, "6;0;1;" + cArquivo + "-" + IIf(QRYTMP->ESCRITORIO == "SP", "1", "2"), .T. , .F.)
If J203MvRela(cArquivo + "-" + IIf(QRYTMP->ESCRITORIO == "SP", "1", "2") + ".pdf", ParamIXB[1, 4], ParamIXB[1, 3])
If ParamIXB[1,19] == "2" //TELA
J203OpenPDF(cArquivo + "-" + IIf(QRYTMP->ESCRITORIO == "SP", "1", "2") + ".pdf", ParamIXB[1, 4], ParamIXB[1, 3])
EndIf
EndIf
Else
CallCrys( cMODCAR, cParams, ParamIXB[1,1] + cArquivo + "-" + IIf(QRYTMP->ESCRITORIO == "SP", "1", "2"), .F., .F.)
EndIf
QRYTMP->(DbSkip())
EndDo
EndIf
QRYTMP->(DbCloseArea())
EndIf
RestArea(aAREATU)
Return Nil
//-------------------------------------------------------------------
/*/{Protheus.doc} ChkPrdRJ
Verifica se o cliente da fatura utiliza a configuracao de separar a
producao do RJ
@Param @cCodEscr - Codigo do Escritorio da Fatura
@cNumFatura - Numero da Fatura
@author Daniel Magalhaes
@since 11/09/2012
@version 1.0
/*/
//-------------------------------------------------------------------
Static Function ChkPrdRJ(cCodEscr, cNumFatura)
Local aArea := GetArea()
Local cChave := ""
Local lRet := .T.
cChave := xFilial("NXA")
cChave += PadR(cCodEscr ,TamSX3("NXA_CESCR")[1])
cChave += PadR(cNumFatura,TamSX3("NXA_COD" )[1])
NXA->(DbSetOrder(1)) //NXA_FILIAL + NXA_CESCR + NXA_COD
NUH->(DbSetOrder(1)) //NUH_FILIAL + NUH_COD + NUH_LOJA
SA1->(DbSetOrder(1)) //A1_FILIAL + A1_COD + A1_LOJA
If lRet := NXA->( DbSeek(cChave) )
cChave := NXA->NXA_CLIPG //deve considerar o cliente do título
cChave += NXA->NXA_LOJPG
If lRet := ( NUH->( DbSeek(xFilial("NUH")+cChave) ) .And. SA1->( DbSeek(xFilial("SA1")+cChave) ) )
lRet := (NUH->NUH__PRDRJ == "1") //"Sim"
EndIf
Else
ConOut("Fatura Não localizada: '"+ cChave + "'" )
EndIf
RestArea(aArea)
Return lRet
04. ASSUNTOS RELACIONADOS