- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Ponto de Entrada para atualizar SE2 a partir da SF1
×
Linguagem de Programação ADVPL
Perguntas Ponto de Entrada para atualizar SE2 a partir da SF1
- FredStetner
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 5
- Obrigados Recebidos: 0
11 anos 4 meses atrás #15502
por FredStetner
Ponto de Entrada para atualizar SE2 a partir da SF1 foi criado por FredStetner
Boa Tarde Pessoal,
Precisava de um Campo HISTÓRICO na SF1 e que esse campo quando digitado alimentasse o Campo HISTÓRICO (E2_HIST) da SE2. A Primeira parte conseguí fazer através do Ponto de Entrada SF1100I e criando o campo SF1->F1_ZZHIST, ou seja, já consigo digitar o Histórico na SF1 e gravá-lo na mesma SF1. Falta alimentar a SE2.
Fiz algumas tentavivas através do Ponto de Entrada MT103FIM mas não funcionou.
Alguém teria algum exemplo para me ajudar ?
Grato,
FRED
Precisava de um Campo HISTÓRICO na SF1 e que esse campo quando digitado alimentasse o Campo HISTÓRICO (E2_HIST) da SE2. A Primeira parte conseguí fazer através do Ponto de Entrada SF1100I e criando o campo SF1->F1_ZZHIST, ou seja, já consigo digitar o Histórico na SF1 e gravá-lo na mesma SF1. Falta alimentar a SE2.
Fiz algumas tentavivas através do Ponto de Entrada MT103FIM mas não funcionou.
Alguém teria algum exemplo para me ajudar ?
Grato,
FRED
Por favor Acessar ou Registrar para participar da conversa.
- FredStetner
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 5
- Obrigados Recebidos: 0
11 anos 4 meses atrás #15536
por FredStetner
Respondido por FredStetner no tópico Ponto de Entrada para atualizar SE2 a partir da SF1 - Solução
Pessoal,
Conseguí solucionar o problema. Segue abaixo o fonte para quem interessar:
#Include "Protheus.ch"
#include "rwmake.ch"
#include "TOPCONN.CH"
User Function MT103FIM()
Local _cHist := SF1->F1_ZZHIST
If Empty(_cHist)
ALERT("Histórico não preenchido ! Por Favor preencher !")
Else
_CFLAG:= .T.
EndIf
If _CFLAG
DbselectArea("SE2")
DbSetOrder(6)
Dbseek(E2_FILIAL+E2_FORNECE+E2_LOJA+E2_PREFIXO+E2_NUM)
While !SE2->(EOF()) .AND.;
SE2->E2_FILIAL+SE2->E2_FORNECE+SE2->E2_LOJA+SE2->E2_PREFIXO+SE2->E2_NUM==SF1->F1_FILIAL+SF1->F1_FORNECE+SF1->F1_LOJA+SF1->F1_SERIE+SF1->F1_DOC
If RecLock("SE2",.F.)
SE2->E2_HIST := _cHist //Grava historico do contas a pagar
MSUnlock()
EndIf
SE2->(DBSKIP())
EndDo
EndIf
Return()
FRED
Conseguí solucionar o problema. Segue abaixo o fonte para quem interessar:
#Include "Protheus.ch"
#include "rwmake.ch"
#include "TOPCONN.CH"
User Function MT103FIM()
Local _cHist := SF1->F1_ZZHIST
If Empty(_cHist)
ALERT("Histórico não preenchido ! Por Favor preencher !")
Else
_CFLAG:= .T.
EndIf
If _CFLAG
DbselectArea("SE2")
DbSetOrder(6)
Dbseek(E2_FILIAL+E2_FORNECE+E2_LOJA+E2_PREFIXO+E2_NUM)
While !SE2->(EOF()) .AND.;
SE2->E2_FILIAL+SE2->E2_FORNECE+SE2->E2_LOJA+SE2->E2_PREFIXO+SE2->E2_NUM==SF1->F1_FILIAL+SF1->F1_FORNECE+SF1->F1_LOJA+SF1->F1_SERIE+SF1->F1_DOC
If RecLock("SE2",.F.)
SE2->E2_HIST := _cHist //Grava historico do contas a pagar
MSUnlock()
EndIf
SE2->(DBSKIP())
EndDo
EndIf
Return()
FRED
Por favor Acessar ou Registrar para participar da conversa.
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Ponto de Entrada para atualizar SE2 a partir da SF1
Tempo para a criação da página:0.113 segundos