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 maisAutor: Fernando Bueno
ExecAuto 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
Implantação Estoque e Custos Protheus – Um Roteiro Básico
O módulo de estoque e custos no sistema ERP TOTVS Protheus serve para gerenciar todas as informações relacionadas aos estoques[…]
Saiba maisComo Cadastrar Amarração Produto x Fornecedor no Protheus
O cadastro de Amarração Produto x Fornecedor no Protheus armazena informações referentes a relação dos produtos com seus respectivos fornecedores.[…]
Saiba maisRegistro de Inventário Modelo P7 Protheus
O registro de inventário modelo P7 é uma funcionalidade do sistema ERP TOTVS Protheus que tem como objetivo registrar os[…]
Saiba maisRefaz Empenhos Protheus
A rotina Refaz Empenhos do ERP TOTVS Protheus é um processo que permite ao usuário recriar empenhos cancelados ou desfeitos[…]
Saiba maisComo Faturar Pedido de Vendas de Forma Parcial no Protheus
Faturamento parcial é uma opção que o Protheus disponibiliza, para irmos liberando os itens do pedido de vendas parcialmente, faturando[…]
Saiba maisImplantação OMS Protheus – Um Roteiro Básico
O módulo OMS (Order Management System) do ERP TOTVS Protheus é responsável por gerenciar todo o ciclo de vida dos[…]
Saiba maisComo integrar o ERP Protheus com o e-commerce Magento
É possível integrar o ERP Protheus com o ecommerce Magento. Existem algumas opções de integração disponíveis no mercado que permitem que[…]
Saiba maisConciliação Bancária no Protheus
A Conciliação Bancária é um processo importante para garantir a precisão das informações financeiras de uma empresa. Ela envolve a[…]
Saiba maisExemplos de Layout CNAB – Remessa e Retorno bancário
O que é um layout de arquivo CNAB? O layout de arquivo CNAB é um formato de arquivo padronizado para[…]
Saiba maisO que é PIS e COFINS?
PIS e COFINS são duas contribuições sociais que incidem sobre o faturamento de empresas no Brasil. O Programa de Integração[…]
Saiba mais