Histórico da Página
...
Produto: | Protheus | |||||||||||||||||||||||||||||||||||||||||||||||||||
Versões: | Todas | |||||||||||||||||||||||||||||||||||||||||||||||||||
Ocorrência: | Rotina Automática - MATA103 (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: | .
| |||||||||||||||||||||||||||||||||||||||||||||||||||
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->( //| Posiciona a cotação em que o novo participante será incluído. |// dbSeek(xFilial(" SF1SC8")+ cNum))ConfirmSX8() cNum := GetSxeNum("SF1","F1_DOC") EndDo "000055") aadd(aCabec //Cabeçalhoaadd(aCab ,{" F1C8_ TIPOFORNECE" ," N2 " ,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" ,NIL0}) 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})"ZZ-002" ,Nil},; {" D1C8_ CODITEM" , PadR("0001", TamSx3("D1_COD")[1]) ,NIL})Nil},; {" D1C8_UM" ," UNCX " , NILNil} ),; {" D1C8_ LOCALQUANT" , "01"1000 , NILNil} ),; {" D1C8_ QUANTPRECO" ,1 ,NIL} ),; aadd(aItem, {" D1C8_TOTAL" , 7508.331000 ,NIL}}) MSExecAuto({|v,x,y| MATA150(v,x,y)},aCabec,aItens,3) If !lMsErroAuto if(nOpc == 4)//Se for classificação deve informar a variável LINPOS aAdd(aItem, {"LINPOS" , "D1_ITEM", StrZero(nX,4)}) //ou SD1->D1_ITEM se estiver posicionado. 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, 2 = Não ConOut(" Incluido NF: " + cNum) ConOut("Fim: " + Time()) RESET ENVIRONMENT Return //ALTERAÇÃO DE UMA COTAÇÃO JÁ EXISTENTE User Function AltMata150() PREPARE ENVIRONMENT EMPRESA "99" FILIAL "01" MODULO "COM" aCabec:={} dbSelectArea("SC8") aadd(aCabec,{"C8_FORNECE" ,"1 "}) aadd(aItens,{{"C8_NUMPRO" ,"01" ,Nil},;
If !lMsErroAuto //3-Inclusão / 4-Classificação / 5-Exclusão ConOut(" Incluido NF: " + cNum) ConOut("Fim: " + Time()) RESET ENVIRONMENT Return // DOCUMENTO TIPO COMPLEMENTOINCLUSÃO DE UMA PROPOSTA EM UMA COTAÇÃO JÁ EXISTENTE User Function AltMata150 #Include "Protheus.ch" () Local aItem aCabec := {} 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 := {} {} dbSelectArea(" SF1","F1_DOC"SC8") dbSetOrder(1 )) dbSeek(xFilial(" SF1SC8")+ cNum))ConfirmSX8() cNum := GetSxeNum("SF1","F1_DOC") EndDo//Cabeçalho "000055") aadd( aCabaCabec,{" F1C8_ TIPOFORNECE" ," C1 " ,NIL}) 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" ,NIL0}) 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 //ALTERAÇÃO DE UMA COTAÇÃO JÁ EXISTENTE User Function AltMata150() PREPARE ENVIRONMENT EMPRESA "99" FILIAL "01" MODULO "COM" aCabec :={} aAdd(aCabec,{"C8_NUM" ,"000055"}) aAdd(aItens,{{"C8_NUMPRO" ,"01" ,Nil},; {" NF_VALIPIC8_PRODUTO","1" , 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,,,"0001") If !lMsErroAuto ConOut("Fim: " + Time()) RESET ENVIRONMENT Return | |||||||||||||||||||||||||||||||||||||||||||||||||||
title | Importante||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Informações | ||||||||||||||||||||||||||||||||||||||||||||||||||||
Não deve-se utilizar o campo D1_ITEM no comando "For". O uso desse campo no array que trás as informações dos itens do documento de entrada, impede a execução correta do Excecauto. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
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 |