Include "PROTHEUS.CH" User Function MYMATA101N()
Local aCab := {} Local aLinha := {} Local aItens := {} Local cSucursal := "01" Local cCondPago := "001" Local cCfo := "111" Local cProve := "00001 " Local cTienda := "01" Local cNumDoc := "AUTO000017" Local cTes := "001" Local cSerie := "NF " // Local cSerieU := "A " Local cCodPro := "000001 "
Local aAuxEz := {} Local aAuxEv := {} Local aRatEvEz := {} Local aRatEz := {} Private lMsErroAuto := .F.
// cNumDoc := Obtnumdoc(cSerieU)
AAdd( aCab, { "F1_FILIAL" ,cSucursal ,Nil }) AAdd( aCab, { "F1_FORNECE" ,cProve ,Nil }) AAdd( aCab, { "F1_LOJA" ,cTienda ,Nil }) AAdd( aCab, { "F1_SERIE" ,cSerie ,Nil }) AAdd( aCab, { "F1_DOC" ,cNumDoc ,Nil }) AAdd( aCab, { "F1_CODMUN" ,"AL001" ,Nil }) AAdd( aCab, { "F1_EST" ,"AL" ,Nil }) AAdd( aCab, { "F1_PROVENT" ,"AL001" ,Nil }) AAdd( aCab, { "F1_ZONGEO" ,"AL" ,Nil }) AAdd( aCab, { "F1_EMISSAO" ,dDataBase ,Nil }) AAdd( aCab, { "F1_ESPECIE" ,"NF" ,Nil })
// AAdd( aCab, { "F1_REFMOED" ,1 ,Nil }) AAdd( aCab, { "F1_MOEDA" ,1 ,Nil }) AAdd( aCab, { "F1_TXMOEDA" ,1 ,Nil }) AAdd( aCab, { "F1_TIPODOC" ,"10" ,Nil }) AAdd( aCab, { "F1_COND" ,cCondPago ,Nil }) AAdd( aCab, { "F1_PREFIXO" ,cSerie ,Nil })
AAdd( aCab, { "F1_TIPO" ,"N" ,Nil }) AAdd( aCab, { "F1_FORMUL" ,"N" ,Nil })
aLinha := {} AAdd( aLinha, { "D1_FILIAL" ,cSucursal ,Nil }) AAdd( aLinha, { "D1_ITEM" ,"01" ,Nil }) AAdd( aLinha, { "D1_COD" ,cCodPro ,Nil }) AAdd( aLinha, { "D1_QUANT" ,1.00 ,Nil }) AAdd( aLinha, { "D1_VUNIT" ,1200.00 ,Nil }) AAdd( aLinha, { "D1_TOTAL" ,1200.00 ,Nil }) AAdd( aLinha, { "D1_TES" ,cTes ,Nil }) AAdd( aLinha, { "D1_CF" ,cCfo ,Nil }) AAdd( aLinha, { "D1_DOC" ,cNumDoc ,Nil }) // AAdd( aLinha, { "D1_EST" ,"13" ,Nil }) AAdd( aItens, aLinha)
//rateio multinaturezs = sim //Adicionando o vetor da natureza aAdd(aAuxEv, {"EV_NATUREZ" , "INSS " , nil } )//natureza a ser rateada aAdd(aAuxEv, {"EV_VALOR" , 1200.00 , nil } )//valor do rateio na natureza aAdd(aAuxEv, {"EV_PERC" , 100 , nil } )//percentual do rateio na natureza aAdd(aAuxEv, {"EV_RATEICC" , "2" , nil } )//indicando que há rateio por centro de custo aAdd(aAuxEv, {"EV_PORCENT" , 0 , nil } )//indicando Porcent. Distribuido modalida aAdd(aAuxEv, {"EV_IDDOC" , " " , nil } )//indicando ID Movto Originador
aAdd(aRatEvEz,aAuxEv)//adicionando a natureza ao rateio de multiplas naturezas |
//rateio multinaturezs = sim //Adicionando o vetor da natureza aAdd(aAuxEv, {"EV_NATUREZ" , "INSS " , nil } )//natureza a ser rateada aAdd(aAuxEv, {"EV_VALOR" , 1200.00 , nil } )//valor do rateio na natureza aAdd(aAuxEv, {"EV_PERC" , 100 , nil } )//percentual do rateio na natureza aAdd(aAuxEv, {"EV_RATEICC" , "1" , nil } )//indicando que há rateio por centro de custo aAdd(aAuxEv, {"EV_PORCENT" , 0 , nil } )//indicando Porcent. Distribuido modalida aAdd(aAuxEv, {"EV_IDDOC" , " " , nil } )//indicando ID Movto Originador
//Adicionando multiplos centros de custo //primeiro centro de custo aAuxEz:={} aAdd( aAuxEz ,{"EZ_CCUSTO" , '00001 ' , nil })//centro de custo da natureza aAdd( aAuxEz ,{"EZ_ITEMCTA" , ' ' , nil })//item conta da natureza aAdd( aAuxEz ,{"EZ_VALOR" , 400.00 , nil })//valor do rateio neste centro de custo aAdd( aAuxEz ,{"EZ_CLVL" , " " , nil }) aAdd(aRatEz,aAuxEz)
//segundo centro de custo aAuxEz:={} aAdd( aAuxEz , {"EZ_CCUSTO" , '00002 ' , nil } )//centro de custo da natureza aAdd( aAuxEz , {"EZ_ITEMCTA" , ' ' , nil } )//item conta da natureza aAdd( aAuxEz , {"EZ_VALOR" , 800.00 , nil } )//valor do rateio neste centro de custo aAdd( aAuxEz , {"EZ_CLVL" , " " , nil } ) aAdd(aRatEz,aAuxEz) aAdd(aAuxEv, {"AUTRATEICC" , aRatEz , nil } )//recebendo dentro do array da natureza os multiplos centros de custo aAdd(aRatEvEz,aAuxEv)//adicionando a natureza ao rateio de multiplas naturezas |
//rateio multinaturezs = sim //Adicionando o vetor da natureza aAdd(aAuxEv, {"EV_NATUREZ" , "INSS " , nil } )//natureza a ser rateada aAdd(aAuxEv, {"EV_VALOR" , 300.00 , nil } )//valor do rateio na natureza aAdd(aAuxEv, {"EV_PERC" , 25 , nil } )//percentual do rateio na natureza aAdd(aAuxEv, {"EV_RATEICC" , "1" , nil } )//indicando que há rateio por centro de custo aAdd(aAuxEv, {"EV_PORCENT" , 0 , nil } )//indicando Porcent. Distribuido modalida aAdd(aAuxEv, {"EV_IDDOC" , " " , nil } )//indicando ID Movto Originador //Adicionando multiplos centros de custo //primeiro centro de custo aAuxEz:={} aAdd( aAuxEz ,{"EZ_CCUSTO" , '00001 ' , nil })//centro de custo da natureza aAdd( aAuxEz ,{"EZ_ITEMCTA" , ' ' , nil })//item conta da natureza aAdd( aAuxEz ,{"EZ_VALOR" , 100.00 , nil })//valor do rateio neste centro de custo aAdd( aAuxEz ,{"EZ_CLVL" , " " , nil }) aAdd(aRatEz,aAuxEz)
//segundo centro de custo aAuxEz:={} aAdd( aAuxEz , {"EZ_CCUSTO" , '00002 ' , nil } )//centro de custo da natureza aAdd( aAuxEz , {"EZ_ITEMCTA" , ' ' , nil } )//item conta da natureza aAdd( aAuxEz , {"EZ_VALOR" , 200.00 , nil } )//valor do rateio neste centro de custo aAdd( aAuxEz , {"EZ_CLVL" , " " , nil } ) aAdd(aRatEz,aAuxEz)
aAdd(aAuxEv, {"AUTRATEICC" , aRatEz , nil } )//recebendo dentro do array da natureza os multiplos centros de custo aAdd(aRatEvEz,aAuxEv)//adicionando a natureza ao rateio de multiplas naturezas
aRatEz:= {} aAuxEv :={} //rateio multinaturezs = sim //Adicionando o vetor da natureza aAdd(aAuxEv, {"EV_NATUREZ" , "ISS " , nil } )//natureza a ser rateada aAdd(aAuxEv, {"EV_VALOR" , 900.00 , nil } )//valor do rateio na natureza aAdd(aAuxEv, {"EV_PERC" , 75 , nil } )//percentual do rateio na natureza aAdd(aAuxEv, {"EV_RATEICC" , "1" , nil } )//indicando que há rateio por centro de custo aAdd(aAuxEv, {"EV_PORCENT" , 0 , nil } )//indicando Porcent. Distribuido modalida aAdd(aAuxEv, {"EV_IDDOC" , " " , nil } )//indicando ID Movto Originador
//Adicionando multiplos centros de custo //primeiro centro de custo aAuxEz:={} aAdd( aAuxEz ,{"EZ_CCUSTO" , '00001 ' , nil })//centro de custo da natureza aAdd( aAuxEz ,{"EZ_ITEMCTA" , ' ' , nil })//item conta da natureza aAdd( aAuxEz ,{"EZ_VALOR" , 150.00 , nil })//valor do rateio neste centro de custo aAdd( aAuxEz ,{"EZ_CLVL" , " " , nil })
aAdd(aRatEz,aAuxEz)
//segundo centro de custo aAuxEz:={} aAdd( aAuxEz , {"EZ_CCUSTO" , '00002 ' , nil } )//centro de custo da natureza aAdd( aAuxEz , {"EZ_ITEMCTA" , ' ' , nil } )//item conta da natureza aAdd( aAuxEz , {"EZ_VALOR" , 750.00 , nil } )//valor do rateio neste centro de custo aAdd( aAuxEz , {"EZ_CLVL" , " " , nil } )
aAdd(aRatEz,aAuxEz)
aAdd(aAuxEv, {"AUTRATEICC" , aRatEz , nil } )//recebendo dentro do array da natureza os multiplos centros de custo aAdd(aRatEvEz,aAuxEv)//adicionando a natureza ao rateio de multiplas naturezas
|
//rateio multinaturezs = sim //Adicionando o vetor da natureza aAdd(aAuxEv, {"EV_NATUREZ" , "INSS " , nil } )//natureza a ser rateada aAdd(aAuxEv, {"EV_VALOR" , 450.00 , nil } )//valor do rateio na natureza aAdd(aAuxEv, {"EV_PERC" , 37.5 , nil } )//percentual do rateio na natureza aAdd(aAuxEv, {"EV_RATEICC" , "1" , nil } )//indicando que há rateio por centro de custo aAdd(aAuxEv, {"EV_PORCENT" , 0 , nil } )//indicando Porcent. Distribuido modalida aAdd(aAuxEv, {"EV_IDDOC" , " " , nil } )//indicando ID Movto Originador //Adicionando multiplos centros de custo //primeiro centro de custo aAuxEz:={} aAdd( aAuxEz ,{"EZ_CCUSTO" , '00001 ' , nil })//centro de custo da natureza aAdd( aAuxEz ,{"EZ_ITEMCTA" , ' ' , nil })//item conta da natureza aAdd( aAuxEz ,{"EZ_VALOR" , 175.00 , nil })//valor do rateio neste centro de custo aAdd( aAuxEz ,{"EZ_CLVL" , " " , nil }) aAdd(aRatEz,aAuxEz)
//segundo centro de custo aAuxEz:={} aAdd( aAuxEz , {"EZ_CCUSTO" , '00002 ' , nil } )//centro de custo da natureza aAdd( aAuxEz , {"EZ_ITEMCTA" , ' ' , nil } )//item conta da natureza aAdd( aAuxEz , {"EZ_VALOR" , 275.00 , nil } )//valor do rateio neste centro de custo aAdd( aAuxEz , {"EZ_CLVL" , " " , nil } ) aAdd(aRatEz,aAuxEz)
aAdd(aAuxEv, {"AUTRATEICC" , aRatEz , nil } )//recebendo dentro do array da natureza os multiplos centros de custo aAdd(aRatEvEz,aAuxEv)//adicionando a natureza ao rateio de multiplas naturezas
aAuxEv :={} //rateio multinaturezs = sim //Adicionando o vetor da natureza aAdd(aAuxEv, {"EV_NATUREZ" , "ISS " , nil } )//natureza a ser rateada aAdd(aAuxEv, {"EV_VALOR" , 750.00 , nil } )//valor do rateio na natureza aAdd(aAuxEv, {"EV_PERC" , 62.5 , nil } )//percentual do rateio na natureza aAdd(aAuxEv, {"EV_RATEICC" , "2" , nil } )//indicando que há rateio por centro de custo aAdd(aAuxEv, {"EV_PORCENT" , 0 , nil } )//indicando Porcent. Distribuido modalida aAdd(aAuxEv, {"EV_IDDOC" , " " , nil } )//indicando ID Movto Originador
aAdd(aRatEvEz,aAuxEv)//adicionando a natureza ao rateio de multiplas naturezas
|
MSExecAuto( { |x,y,z,a| Mata101n(x,y,z,,,,a) }, aCab, aItens, 3 ,aRatEvEz)
If lMsErroAuto MsgStop("Erro de grabación.") MostraErro() Else MsgAlert('Incluido con éxito.') EndIf
Return |