💬 Ainda tá complicado resolver seu problema? Entre nos grupos de whatsapp que tá cheio de analistas top pra compatilhar ideias!
Olá, segue um exemplo prático de uma função para inserir pedido de vendas via ExecAuto:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 |
Static Function fInsPVenda(aCbPV, aItPV) Local nStatus := 0 Local cItem Local cTes Local aCabPV := {} Local aItemPV := {} Local dDataEntrega Local aLinhaItem := {} Local aArea Local cCodCliS := "" Local cLojCliS := "" Local cNumPed := "" Local cTipoPR := "" //Adiciona os Itens no Cabeçalho do Pedido aCabPV := {} dDataEntrega = Daysum(Date(), 1) AAdd(aCabPV,{"C5_TIPO" , "N", Nil}) //Pego o cliente tomador do pedido cCodCliS := SUBSTR(aCbPV[1][2], 1, 6) cLojCliS := SUBSTR(aCbPV[1][2], 7, 2) AAdd(aCabPV,{"C5_CLIENTE", cCodCliS, Nil}) AAdd(aCabPV,{"C5_LOJACLI", cLojCliS, Nil}) AAdd(aCabPV,{"C5_CLIENT" , cCodCliS, Nil}) AAdd(aCabPV,{"C5_LOJAENT", cLojCliS, Nil}) AAdd(aCabPV,{"C5_TIPOCLI", Posicione("SA1", 1, xFilial("SA1") + cCodCliS + cLojCliS, "A1_TIPO"), Nil}) AAdd(aCabPV,{"C5_CONDPAG", aCbPV[1][5], Nil}) AAdd(aCabPV,{"C5_NATUREZ", "30103 ", Nil}) AAdd(aCabPV,{"C5_EMISSAO", dDataBase, Nil}) //AAdd(aCabPV,{"C5_DESC1", aCbPV[1][10], Nil}) AAdd(aCabPV,{"C5_INCISS" , "N", Nil}) AAdd(aCabPV,{"C5_TIPLIB" , "2", Nil}) AAdd(aCabPV,{"C5_MOEDA" , 1, Nil}) AAdd(aCabPV,{"C5_VEND1" , aCbPV[1][3], Nil}) AAdd(aCabPV,{"C5_TXMOEDA", 1, Nil}) AAdd(aCabPV,{"C5_TPCARGA", '1', Nil}) AAdd(aCabPV,{"C5_TABELA" , aCbPV[1][4], Nil}) //Montagem de item...] aItemPV:= {} cItem := 1 For nIt := 1 To Len(aItPV) //Conout("Gravando Itens PV = " + aItPV[nIt][1]) cTes := '558' aLinhaItem := {} // localiza informações do produto dbSelectArea("SB1") dbSetOrder(1) If dbSeek(xFilial("SB1") + aItPV[nIt][1]) // Regra enviada via Whatsapp /*If SB1->B1_TIPO == "ME" cTipoPR := "01" elseif SB1->B1_TIPO == "PA" .OR. SB1->B1_TIPO == "PI" cTipoPR := "11" endif*/ AAdd(aLinhaItem,{"C6_ITEM" ,StrZero(cItem,2) ,Nil}) AAdd(aLinhaItem,{"C6_PRODUTO",Alltrim(SB1->B1_COD) ,Nil}) AAdd(aLinhaItem,{"C6_DESCRI" ,Alltrim(SB1->B1_DESC) ,Nil}) AAdd(aLinhaItem,{"C6_UM" ,SB1->B1_UM ,Nil}) AAdd(aLinhaItem,{"C6_QTDVEN" ,aItPV[nIt][2] ,Nil}) AAdd(aLinhaItem,{"C6_PRCVEN" ,aItPV[nIt][3] ,Nil}) AAdd(aLinhaItem,{"C6_PRUNIT" ,0 ,Nil}) AAdd(aLinhaItem,{"C6_LOCAL" ,"01" ,Nil}) AAdd(aLinhaItem,{"C6_CLI" ,cCodCliS ,nil}) AAdd(aLinhaItem,{"C6_LOJA" ,cLojCliS ,Nil}) AAdd(aLinhaItem,{"C6_ENTREG" ,dDataEntrega ,Nil}) AAdd(aLinhaItem,{"C6_SUGENTR",dDataEntrega ,Nil}) AAdd(aLinhaItem,{"C6_PEDCLI" ,"" ,Nil}) //AAdd(aLinhaItem,{"C6_OPER" ,cTipoPR ,Nil}) AAdd(aLinhaItem,{"C6_TES" ,cTes ,Nil}) //If aCbPV[1][5] $ GetMV("MV_FBWEB20") AAdd(aLinhaItem,{"C6_QTDLIB" ,aItPV[nIt][2] ,Nil}) //EndIf Endif AAdd(aItemPV,AClone(aLinhaItem)) cItem := cItem + 1 Next nIt lMsErroAuto := .F. Begin Transaction If Len(aCabPv) > 0 .And. Len(aItemPV) > 0 conout("adiciona pedido de vendas") MSExecAuto({|x,y,z|Mata410(x,y,z)}, aCabPV, aItemPV, 3) //adiciona pedido de vendas Endif If lMsErroAuto conout("erro ao incluir pedido") mostraerro() nStatus := -1 else //conout("pedido incluido") //cNumPed, cFundo, cAgencia, cConta _cNumPed := SC5->C5_NUM fGrvZ15(SC5->C5_NUM, _cFundo, _cAgencia, _cConta, _dVencto) //Grava De/Para de Pedido com Fundo nStatus := 0 EndIf End Transaction cPedido := SC5->C5_NUM lRet := .T. If Select("SC5") > 0 SC5->(dbCloseArea()) EndIf If Select("SB1") > 0 SB1->(dbCloseArea()) EndIf Return nStatus |
Fernando Bueno
Consultor em FBSOLUTIONS
Sou consultor na área de implantação de sistemas ERP, com experiência na análise e implantação de projetos de sistemas, configurando a estrutura do software, capacitando usuários-chaves, ministrando treinamentos e workshops.
Atuando desde 2005 no mercado de tecnologia, desenvolvendo e implantando e sistemas gerenciais, sistemas e sites web e ecommerce.
Siga-me no Linked In
Atuando desde 2005 no mercado de tecnologia, desenvolvendo e implantando e sistemas gerenciais, sistemas e sites web e ecommerce.
Siga-me no Linked In


