Rotina automática – MATA241
Dias atrás um amigo perguntou se era possível fazer importação de um arquivo texto no qual se era possível importar diversas linhas para a rotina movimentação interna modelo 2 (Movimentação Múltipla).
Dias atrás um amigo perguntou se era possível fazer importação de um arquivo texto no qual se era possível importar diversas linhas para a rotina movimentação interna modelo 2 (Movimentação Múltipla).
O exemplo a seguir, é uma demonstração do uso do componente FWMBrowse com alias temporário usando a tabela SX5.
O campo X2_ROTINA permite a execução de rotinas antes da abertura da tabela. Ou seja Você precisa saber quais orçamentos estão em aberto, você pode emitir um alerta ou até mesmo uma telinha exibindo os pedidos em aberto antes da rotina de orçamentos (MATA415) ser exibida. Neste caso, não precisará utilizar pontos de…
Leia mais
Muitos amigos tem me perguntado em como montar uma tela usando MarkBrowse com tabela temporária. E pra ser honesto no começo é meio chato, mas depois que você pega o jeito, fica muito fácil trabalhar com a classe FWMarkBrowse, principalmente se você estiver trabalhando com tabelas existente, mas trabalhar com tabela temporária não é difícil, só…
Leia mais
Importar arquivo texto é uma tarefa bem simples no Protheus, e a orientação é: use sempre em conjunto com o MSExecAuto para importar. Antes de criar uma rotina de importação verifique se a rotina padrão de cadastro a possui, como exemplo a rotina MATA030 – Cadastro padrão de clientes do sistema.
Algumas pessoas estavam me perguntando como atualizar o campo memo no Protheus já que este trabalha com a tabela SYP (Descrição dos campos memos)? Tabelas como a do cadastro de produto é uma das tabelas que usam campos mesmo, no caso tem os campos “Descrição LI”, “Descrição em inglês” e “Descrição em português”. O processo…
Leia mais
A função ProcName() retorna o nome da rotina ou função, definida pelo usuário, corrente ou anterior. Esta função pode muito ser útil quando queremos condicionar nosso fonte a executar algo se ele passar por alguma função dentro de uma rotina padrão ou customizada.
Segue mais um exemplo do uso de MVC, aos poucos iremos postar exemplos desde os mais simples ao mais complexo em MVC. Baseando-se no primeiro exemplo postado em Meu primeiro fonte MVC , iremos mostrar como montar uma tela onde iremos separar os campos por grupos e incluiremos um novo botão em “Ações relacionadas”. Montaremos uma tabela…
Leia mais
Dias atrás me perguntaram se é possível visualizar um pedido de vendas por uma customização usando função padrão da Totvs.
Segue um pequeno exemplo de como abrir seu pedido de vendas em modo de edição através de sua customização.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
Static Function AlteraPV(nRecno) Local aArea := GetArea() Private Inclui := .F. Private Altera := .T. Private nOpca := 1 Private cCadastro := "Pedido de Vendas" Private aRotina := {} DbSelectArea("SC5") dbSetOrder(1) SC5->(DbGoTo(nRecno)) MatA410(Nil, Nil, Nil, Nil, "A410Altera") SC5->(DbCloseArea()) RestArea(aArea) Return |
Exemplo:
1 |
AlteraPV(56599) //Informe o numero do Recno ou você pode informar SC5->(Recno()) |
Olá, vai aí mais uma dica. Você fez uma customização com os pedido de compra e quer abrir o pedido para alteração a partir de sua tela. Para isso usaremos a função MATA120. O processo é bem simples, passa-se o recno e a opção desejada. Exemplo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
Static Function AlteraPC(nRecno,nOpc) Local aArea := GetArea() Local aAreaSC7 := SC7->(GetArea()) dbSelectArea("SC7") MsGoto(nRecno) //Mata120(ExpN1,ExpA1,ExpA2,ExpN2,ExpA1) /* ExpN1 = 1-Pedido de compras ou 2-Autorizacao de entrega ExpA1 = Array Cabecalho para Rotina Automatica ExpA2 = Array Itens para Rotina Automatica ExpN2 = Opcao do aRotina para Rotina Automatica ExpA1 = Apresenta a Dialog da Rotina em Rotina Automatica (.T. ou .F.) */ Mata120(1,/*aCabec*/,/*aItens*/,nOpc,.T.) RestArea(aAreaSC7) RestArea(aArea) Return .T. |
Exemplos:
1 2 3 |
AlteraPC(67081,2) //Visualizar AlteraPC(67081,4) //Alterar AlteraPC(67081,5) //Excluir |