A manutenção CIAP (Controle de Crédito do ICMS do Ativo Permanente) no Protheus é uma funcionalidade importante para empresas que[…]
Saiba maisMAIS CONEXÃO E TECNOLOGIA
Últimos artigos
Exemplo FWMSPrinter ADVPL
O FWMSPrinter é um componente da linguagem ADVPL utilizada no ERP Protheus da TOTVS. Ele é responsável por gerar relatórios[…]
Saiba maisRelação de baixa por natureza Protheus
A relação de baixa por natureza é um conceito importante no sistema ERP Protheus da TOTVS. Basicamente, essa relação indica[…]
Saiba maisIntegração ERP Protheus com Woocommerce
O WooCommerce é uma plataforma de comércio eletrônico que permite a criação de lojas online para vender produtos e serviços.[…]
Saiba maisComo Configurar Wizard de NFe no Protheus
O Wizard de configuração de NFe (Nota Fiscal Eletrônica) é uma ferramenta disponível no ERP Protheus que tem como objetivo[…]
Saiba maisConciliador Contábil Protheus
A Conciliação de dados é uma técnica que realiza o cruzamento (match) de dados na origem e destino, realizando comparações[…]
Saiba maisMovimento Bancário Protheus
O Protheus controla, através de suas rotinas e processos, as entradas e saídas das contas bancárias. Desta forma, permite a[…]
Saiba maisComo configurar Schedule no Protheus
O que é Schedule Protheus? O Schedule Protheus permite que rotinas do sistema sejam agendadas para que possam ser executadas[…]
Saiba maisComo incluir Nota de Conhecimento de Frete no Protheus
O que é Nota de Conhecimento de Frete? A nota de conhecimento de frete é emitida quando o transporte é[…]
Saiba maisComo usar e transmitir Guia GNRE WS no Protheus
Introdução O GNRE (Guia Nacional de Recolhimento de Tributos Estaduais) é um documento obrigatório para empresas que precisam recolher impostos[…]
Saiba maisPacote de Includes Protheus – Download
Os includes são arquivos necessários na compilação dos programas em ADVPL. Segue a lista dos arquivos que estão contidos no[…]
Saiba maisExecAuto de Pedido de Vendas MATA410
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 |
Saiba mais