Histórico da Página
EXECAUTO
...
MATA150 - Documento de Entrada
Produto: | Protheus | |||||||||||||||||||||||||||||||||||||||||||||||||
Versões: | Todas | |||||||||||||||||||||||||||||||||||||||||||||||||
Ocorrência: | Rotina Automática - MATA103 MATA150 (Execauto) | |||||||||||||||||||||||||||||||||||||||||||||||||
Ambiente: | SIGACOM - Compras | |||||||||||||||||||||||||||||||||||||||||||||||||
Descrição: | Rotina automática que permite a atualização, exclusão de cotação / inclusão de itens / exclusão de cotação.um novo participante em uma cotação já existente | |||||||||||||||||||||||||||||||||||||||||||||||||
Parâmetros: | .
ExpA3 | ArrayExpA4 | Array | Parâmetro de uso interno TOTVS. | ExpA5 | Array | Array com os perguntes MTA103 que a rotina automática atualiza em tempo de execução. | ExpA6 | Array | Array contendo os dados do rateio por centro de custo | Array contendo os valores de Impostos que irão sobrepor valores calculados. (Opcional) |
Parâmetro de uso interno TOTVS. | ExpC1 | Caracter | Código de retorno SEFAZ que será gravado no campo F3_CODRSEF | ExpA7 | Array | Array contendo a informação se gera DIRF e os códigos de retenção por imposto |
| |||||||||||||||||||||||||||||||
Passo a passo: | #INCLUDE "RWMAKE.CH" //INCLUSÃO DE UM NOVO PARTICIPANTE User Function IncMata150 //DOCUMENTO TIPO NORMAL #Include "Protheus.ch" () aCabec := {} Local aItens := {} Local aItensRat := {} Local aCodRet := {} Local aParamAux := {} Local nOpc := 3 Local cNum := "" Local nI := 0 Local nX := 0 Local nReg := 1 Conout("Inicio: " + Time()) PrivatePRIVATE lMsErroAuto := .F. Private lMsHelpAuto := .T.PREPARE ENVIRONMENT EMPRESA " 3299" FILIAL " 659701" MODULO "COM" cNum := GetSxeNum("SF1","F1_DOC")SF1->(
dbSeek(xFilial(" SF1SC8")+ cNum))ConfirmSX8() cNum := GetSxeNum("SF1","F1_DOC") EndDo "000035") aadd(aCabec //Cabeçalhoaadd(aCab ,{" F1C8_ TIPOFORNECE" ," N000010" ,NIL}) aCabec,{" F1C8_ FORMULLOJA" ," N01" ,NIL}) aCabec,{" F1C8_ DOC" ,cNum ,NIL})aadd(aCab,{"F1_SERIE" ,"1 " ,NIL COND" ,"001"}) aCabec,{" F1C8_ EMISSAOCONTATO" , DDATABASE ,NIL})aadd(aCab,{"F1_DTDIGIT" ,DDATABASE ,NIL "AUTO"}) aCabec,{" F1C8_ FORNECEFILENT" ," 00101" ,NIL}) aCabec,{" F1C8_ LOJAMOEDA" , "01" ,NIL1}) aCabec,{" F1C8_ ESPECIEEMISSAO" , "CTE" ,NILdDataBase}) aCabec,{" F1C8_ CONDTOTFRE" , "001" ,NIL0}) aCabec,{" F1C8_ DESPESAVALDESC" , 10 ,NIL0}) aCabec,{" F1C8_ DESCONTDESPESA" ,0 ,Nil}) aCabec,{" F1C8_SEGURO" ,0 ,Nil}) aCabec,{" F1C8_ FRETEDESC1" ,0 ,Nil}) aCabec,{" F1C8_ MOEDADESC2" , 1 ,Nil0}) aCabec,{" F1C8_ TXMOEDADESC3" , 1 ,Nil0}) aadd( aCabaItens,{{" F1C8_ STATUSNUMPRO" ," A01" ,Nil} )//ItensFor nX := 1 To 1 ,; aadd(aItem, {" D1C8_ ITEMPRODUTO" , StrZero(nX,4) ,NIL})" COM00000000000000000000000011" ,Nil},; {" D1C8_ CODITEM" , PadR("0001", TamSx3("D1_COD")[1]) ,NIL})Nil},; {" D1C8_UM" ,"UN", NILNil} ),; aadd(aItem, {" D1C8_QUANT" , 110 , NILNil} ),; {" D1C8_ VUNITPRECO" , 7508.330 ,NIL} ),; {" D1C8_TOTAL" , 7508.330 ,NIL}}) aadd(aItem,{"D1_TES" ,"001" ,NIL})MSExecAuto({|v,x,y| MATA150(v,x,y)},aCabec,aItens,2) If !lMsErroAuto ConOut( aItem,{"D1_RATEIO" ,"1" ,NIL})" Novo participante incluído" ) MostraErro( nOpc == 4) //Se for classificação deve informar a variável LINPOS
endIf aAdd(aItens,aItem)Next nX //Rateio de Centro de Custo aAdd(aItem, {"DE_FILIAL" , xFilial("SDE") , Nil}) aAdd( aCodRet, {01, "0297", 1, "..."} ) aAdd( aCodRet, {02, "0297", 1, "IRR"} ) aAdd( aCodRet, {03, "5979", 1, "PIS"} ) aAdd( aCodRet, {04, "5960", 1, "COF"} ) aAdd( aCodRet, {05, "5987", 1, "CSL"} ) // Exemplo para manipular o pergunte MTA103 aAdd(aParamAux, {"MV_PAR01", 2}) //-- Mostra Lanc. Contabil? 1 = Sim, 2 = Não aAdd(aParamAux, {"MV_PAR06", 1}) //-- Contabilizacao Online? 1 = Sim, ConOut("Erro na inclusão!") ConOut("Fim: " + Time()) RESET ENVIRONMENT Return
User Function AltMata150() PREPARE ENVIRONMENT EMPRESA "99" FILIAL "01" MODULO "COM" aCabec:={} dbSelectArea("SC8") aadd(aCabec,{"C8_FORNECE" ,"000010"}) aadd(aItens,{{"C8_NUMPRO" ,"01" ,Nil},;
If !lMsErroAuto //3-Inclusão / 4-Classificação / 5-Exclusão ConOut(" Incluido NF: " + cNum) Else MostraErro() ConOut("Erro na inclusao !") ConOut("Fim: " + Time()) RESET ENVIRONMENT
// DOCUMENTO TIPO COMPLEMENTOINCLUIR PROPOSTA User Function incPMata150 #Include "Protheus.ch" () aCabec := {} Local aItens := {} Local cNum := "" Local nI := 0 Local nX := 0 Conout("Inicio: " + Time()) PrivatePRIVATE lMsErroAuto := .F .Private lMsHelpAuto := .T . PREPARE ENVIRONMENT EMPRESA " 3299" FILIAL " 659701" MODULO "COM" cNumaCabec := GetSxeNum("SF1","F1_DOC")SF1->(dbSetOrder(1)) While SF1->(dbSeek(xFilial("SF1")+cNum)) ConfirmSX8() cNum := GetSxeNum("SF1","F1_DOC") EndDo//Cabeçalho aadd(aCab,{"F1_TIPO" ,"C" ,NIL {} aadd(aCabec,{"C8_NUM" ,"000035"}) aCabec,{" F1C8_ TPCOMPLLOJA" ," 301" ,NIL}) aCabec,{" F1C8_ DOCCOND" , cNum ,NIL"001"}) aCabec,{" F1C8_ SERIECONTATO" ," 1AUTO" ,NIL}) aCabec,{" F1C8_ FORNECEFILENT" ," 00101" ,NIL}) aCabec,{" F1C8_ LOJAMOEDA" , "01" ,NIL1}) aCabec,{" F1C8_EMISSAO" , DDATABASE ,NILdDataBase}) aCabec,{" F1C8_ DTDIGITTOTFRE" , DDATABASE ,NIL0}) aCabec,{" F1C8_ FORMULVALDESC" , "N" ,NIL0}) aCabec,{" F1C8_ ESPECIEDESPESA" , "CTE" ,NIL0}) aCabec,{" F1C8_ CONDSEGURO" , "001" ,NIL0}) aCabec,{" F1C8_ MODALDESC1" , "01" ,NIL0}) aCabec,{" F1C8_ TPFRETEDESC2" , "C" ,NIL0}) aCabec,{" F1C8_ TPCTEDESC3" , "N" ,NIL0}) aadd( aCabaItens,{{" F1C8_ ESTNUMPRO" ," SP02" , NILNil} )aadd(aCab,{"F1_DESCONT" , 0 , Nil}) aadd(aCab,{"F1_SEGURO" , 0 , Nil}) aadd(aCab,{"F1_FRETE" , 0 , Nil}) aadd(aCab,{"F1_MOEDA" , 1 , Nil}) aadd(aCab,{"F1_TXMOEDA" , 1 , Nil}) aadd(aCab,{"F1_STATUS" , "A" , Nil}) //Itens //Impostos (Informar a referência do imposto, que consta no valid do campo) //Para impostos de cabeçalho informar: referência, valoraAutoImp := { {"NF_FRETE" , 10},; ,;
If !lMsErroAuto ConOut("Fim: " + Time()) RESET ENVIRONMENT Return //EXCLUIR COTAÇÃO User Function ExcMata150() PREPARE ENVIRONMENT EMPRESA "99" FILIAL "01" MODULO "COM" aCabec :={}
aAdd(aItens,{{"C8_NUMPRO" ,"01" ,Nil},;
{" NF_VALIPIC8_PRODUTO","COM00000000000000000000000011" , 15Nil},;
{" NFC8_ VALICMITEM" , 7}}//Para impostos de Itens informar: referência, valor, número da linha "0001" ,Nil}})
| MATA103MATA150(v,x,y ,z)}, aCabaCabec,aItens, nOpc5) If !lMsErroAuto ConOut(" Incluido NF: " + cNumProposta Excluída") MostraErro() ConOut("Erro na inclusaoExclusão!") ConOut("Fim: " + Time()) RESET ENVIRONMENT Return | |||||||||||||||||||||||||||||||||||||||||||||||||
Observações: O parâmetro aCodRet contendo o array com os códigos de retenção pode ser referenciado com um ou mais impostos ou com a referencia genérica "..." assim como aparece na aba de impostos da nota fiscal de entrada.
Informações | | |||||||||||||||||||||||||||||||||||||||||||||||||
|
Bloco de código | ||||
---|---|---|---|---|
| ||||
aAdd(aLinha, {"LINPOS" , "D1_ITEM", SD1->D1_ITEM}) |
title | Para opção Inclusão |
---|
Validar chave NFE, o usuário terá que passar no array do cabeçalho a nomenclatura VLDAMNFE indicando se deve ou não fazer a validação da chave
language | delphi |
---|---|
title | LINPOS |