Tempo aproximado para leitura: 00:02:00 min
Dúvida
Qual exemplo de ExecAuto dos tipos 1, 2, 5 e 8 da nota de débito (tpNFDebito = 06)?
Ambiente
Cross Segmentos - Backoffice Protheus - SIGAFAT - Todas versões
Solução
User Function MyMata600()
Local jFld600 := JsonObject():new()
Local aDocumentos := {}
Local oDoc1 := JsonObject():New()
Local oDoc2 := JsonObject():New()
Private oModelNCND := Nil
Private jDocRef := JsonObject():new()
RpcSetEnv('T1','D MG 01', 'ADMIN','1234')
jFld600["F2_TPCOMPL"] := "1"
jFld600["F2_SERIE"] := "001"
jFld600["A1_COD"] := "FAT001"
jFld600["A1_LOJA"] := "01"
//INICIA AS VARIAVEIS PARA REALIZAR A EXECAUTO DO MATA600
A600IniObj(jFld600)
oModelNCND := FwLoadModel('MATA600')
//SETA A OPERACAO PARA INCLUSAO DA NF
oModelNCND:SetOperation(3)
oModelNCND:Activate()
If oModelNCND:IsActive()
//CABEÇALHO
oModelNCND:SetValue( "CABMASTER" , "F2_TPCOMPL" ,jFld600["F2_TPCOMPL"])
oModelNCND:LoadValue( "CABMASTER" , "F2_CLIENTE" ,jFld600["A1_COD"]) //**IMPORTANTE ESSE CAMPO DEVE SER UTILIZADO SOMENTE LOADVALUE PARA PREENCHIMENTO
oModelNCND:SetValue( "CABMASTER" , "F2_LOJA" ,jFld600["A1_LOJA"])
oModelNCND:SetValue( "CABMASTER" , "F2_COND" ,"000")
oModelNCND:SetValue( "CABMASTER" , "F2_CODA1U" ,"000001")
//ITENS
oModelNCND:SetValue( "ITENSDETAIL" , "D2_ITEM" ,"01")
oModelNCND:SetValue( "ITENSDETAIL" , "D2_COD" ,"FAT001 ")
oModelNCND:SetValue( "ITENSDETAIL" , "D2_PRCVEN" , 50)
oModelNCND:SetValue( "ITENSDETAIL" , "D2_TES" ,"999")
oModelNCND:GetModel('ITENSDETAIL'):AddLine()
oModelNCND:SetValue( "ITENSDETAIL" , "D2_ITEM" ,"02")
oModelNCND:SetValue( "ITENSDETAIL" , "D2_COD" ,"FAT002 ")
oModelNCND:SetValue( "ITENSDETAIL" , "D2_PRCVEN" , 100)
oModelNCND:SetValue( "ITENSDETAIL" , "D2_TES" ,"999")
//DOCUMENTOS DE REFERENCIA
// Documento 1
oDoc1["documento"] := "PGVR02 " //Número da nota referenciada
oDoc1["serie"] := "1 " //Série da nota referenciada
oDoc1["chave"] := " " //Chave NFe da nota referenciada
oDoc1["cliente"] := "PGVR01" //Código do Cliente da nota referenciada
oDoc1["loja"] := "01" //Código da Loja do Cliente da nota referenciada
AAdd(aDocumentos, oDoc1)
// Documento 2
oDoc2["documento"] := "PGVR03 " //Número da nota referenciada
oDoc2["serie"] := "1 " //Chave NFe da nota referenciada
oDoc2["chave"] := " " //Série da nota referenciada
oDoc2["cliente"] := "PGVR01" //Código do Cliente da nota referenciada
oDoc2["loja"] := "01" //Código da Loja do Cliente da nota referenciada
AAdd(aDocumentos, oDoc2)
// Atribui array ao JSON principal
jDocRef["documentos"] := aDocumentos
If oModelNCND:VldData()
oModelNCND:CommitData()
ConOut('Registros Incluidos com Sucesso !')
Else
MostraErro()
EndIf
EndIf
oModelNCND:Destroy()
FwFreeObj(oModelNCND)
Return
Exclusão:
User Function MyMata600() Local jParam := JsonObject():new()
Local jFld600 := JsonObject():new()
Local cDoc := "FIN216 " //Número da nota de débito
Local cSerie := "001" //Série da nota débito
Local cCli := "FAT001" //Código do Cliente
Local cLoja := "01" //Loja do Cliente
Private oModelNCND := Nil
Private jDocRef := Nil
RpcSetEnv('T1','D MG 01', 'ADMIN','1234')
DbSelectArea("SF2")
SF2->(DbSetOrder(1))
If SF2->(DbSeek(FwxFilial("SF2") + cDoc + cSerie + cCli + cLoja))
jFld600["F2_DOC"] := SF2->F2_DOC
jFld600["F2_SERIE"] := SF2->F2_SERIE
jFld600["F2_CLIENTE"] := SF2->F2_CLIENTE
jFld600["F2_LOJA"] := SF2->F2_LOJA
//INICIA AS VARIAVEIS PARA REALIZAR A EXECAUTO DO MATA600
A600IniObj(jFld600)
jParam['billBranch'] := SF2->F2_FILIAL
jParam['participantCode'] := SF2->F2_CLIENTE
jParam['participantUnit'] := SF2->F2_LOJA
jParam['documentBranch'] := SF2->F2_FILIAL
jParam['documentNumber'] := SF2->F2_DOC
jParam['documentSeries'] := SF2->F2_SERIE
jParam['mainSourceTable'] := "SF2"
jParam['totalTitulos'] := SF2->F2_VALBRUT
jParam['identification'] := {}
AADD(jParam['identification'],"978cd922637740008E3671881293da36" ) // FK7_IDDOC - Identificadores (chave) dos títulos (RA/PA)
//SETA O DOCUMENTOS DE REFERENCIA
SetJVAdt(jParam)
oModelNCND := FwLoadModel('MATA600')
//SETA A OPERACAO PARA EXCLUSAO DA NF
oModelNCND:SetOperation(5)
oModelNCND:Activate()
If oModelNCND:IsActive()
If oModelNCND:VldData()
oModelNCND:CommitData()
ConOut('Registros Deletados com Sucesso !')
Else
MostraErro()
EndIf
EndIf
oModelNCND:Destroy()
FwFreeObj(oModelNCND)
EndIf
Return
Saiba mais:
0 Comentários