- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Copiar titulos do contas à receber para o à pagar.
×
Linguagem de Programação ADVPL
Perguntas Copiar titulos do contas à receber para o à pagar.
- RENAN
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 4
- Obrigados Recebidos: 0
10 anos 3 meses atrás #24496
por RENAN
Copiar titulos do contas à receber para o à pagar. foi criado por RENAN
Boa tarde, Galera.
Sou novo no advpl. Estou precisando de ajuda.
Eu estou criando uma função para que o usuário na hora que incluir um titulo no contas a receber. Tenha a opção de incluir o mesmo no apagar tbm. Pois aqui na empresa a caso de ter q incluir o mesmo titulo mas especifico tipo CH no a pagar tbm. Com isso fui solicitado para agilizar o processo. Criei um pergunta para definir a inclusão ou não. Caso sim, uma tela para escolher o fornecedor com um F3. Blz agora chegou na hora de pegar o cadastro do a receber e replicar no a pagar. Estou na duvida de como proceder. Se alguem de um ajuda ae agradeço.. se vou partir pra tratar em array ou alguma outra função especifica. Segue o codigo ate o momento...
Quem poder ajudar agradeço..
#Include ‘Protheus.ch‘
User Function Incluir()
Local oDlg
Local cTexto := "Deseja incluir este titulo no contas à pagar?"
Local cTitulo := "Atenção!"
Local cTitle := "Busca por fornecedor"
Local cTexto2 := "Informe o codigo"
Local cCodforn := Space(6)
Local cTabforn := "SA2"
Local lRet := .T.
If MsgYesNo (cTexto,cTitulo)
DEFINE MSDIALOG oDlg Title cTitle From 000,000 To 080,300 Pixel
@ 001,001 To 040,150 of oDlg Pixel
@ 010,005 Say cTexto2 SIZE 25,07 of oDlg Pixel
@ 020,050 MSGET cCodforn SIZE 55,6 of oDlg Pixel PICTURE "@!" F3"SA2";
DEFINE SBUTTON FROM 010,120 TYPE 1 ACTION (nOpca := 1, oDlg:End()) ENABLE OF oDlg
DEFINE SBUTTON FROM 020,120 TYPE 2 ACTION (nOpca := 2, oDlg:End()) ENABLE OF oDlg
ACTIVATE MSDIALOG oDlg CENTERED
Endif
Return (lRet)
Sou novo no advpl. Estou precisando de ajuda.
Eu estou criando uma função para que o usuário na hora que incluir um titulo no contas a receber. Tenha a opção de incluir o mesmo no apagar tbm. Pois aqui na empresa a caso de ter q incluir o mesmo titulo mas especifico tipo CH no a pagar tbm. Com isso fui solicitado para agilizar o processo. Criei um pergunta para definir a inclusão ou não. Caso sim, uma tela para escolher o fornecedor com um F3. Blz agora chegou na hora de pegar o cadastro do a receber e replicar no a pagar. Estou na duvida de como proceder. Se alguem de um ajuda ae agradeço.. se vou partir pra tratar em array ou alguma outra função especifica. Segue o codigo ate o momento...
Quem poder ajudar agradeço..
#Include ‘Protheus.ch‘
User Function Incluir()
Local oDlg
Local cTexto := "Deseja incluir este titulo no contas à pagar?"
Local cTitulo := "Atenção!"
Local cTitle := "Busca por fornecedor"
Local cTexto2 := "Informe o codigo"
Local cCodforn := Space(6)
Local cTabforn := "SA2"
Local lRet := .T.
If MsgYesNo (cTexto,cTitulo)
DEFINE MSDIALOG oDlg Title cTitle From 000,000 To 080,300 Pixel
@ 001,001 To 040,150 of oDlg Pixel
@ 010,005 Say cTexto2 SIZE 25,07 of oDlg Pixel
@ 020,050 MSGET cCodforn SIZE 55,6 of oDlg Pixel PICTURE "@!" F3"SA2";
DEFINE SBUTTON FROM 010,120 TYPE 1 ACTION (nOpca := 1, oDlg:End()) ENABLE OF oDlg
DEFINE SBUTTON FROM 020,120 TYPE 2 ACTION (nOpca := 2, oDlg:End()) ENABLE OF oDlg
ACTIVATE MSDIALOG oDlg CENTERED
Endif
Return (lRet)
Por favor Acessar ou Registrar para participar da conversa.
- kanaamlrr
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 1576
- Obrigados Recebidos: 4
10 anos 3 meses atrás #24503
por kanaamlrr
Respondido por kanaamlrr no tópico Copiar titulos do contas à receber para o à pagar.
Fábio, você pode simplesmente pegar as informações e jogar dentro de um array e executar o execauto da rotina do contas a pagar conforme exemplo abaixo.
Abraço!!
Abraço!!
USER FUNCTION FIN050INC()
LOCAL aArray := {}
PRIVATE lMsErroAuto := .F.
aArray := { { "E2_PREFIXO" , "PAG" , NIL },;
{ "E2_NUM" , "0001" , NIL },;
{ "E2_TIPO" , "NF" , NIL },;
{ "E2_NATUREZ" , "001" , NIL },;
{ "E2_FORNECE" , "0001" , NIL },;
{ "E2_EMISSAO" , CtoD("17/02/2012"), NIL },;
{ "E2_VENCTO" , CtoD("17/02/2012"), NIL },;
{ "E2_VENCREA" , CtoD("17/02/2012"), NIL },;
{ "E2_VALOR" , 5000 , NIL } }
MsExecAuto( { |x,y,z| FINA050(x,y,z)}, aArray,, 3) // 3 - Inclusao, 4 - Alteração, 5 - Exclusão
If lMsErroAuto
MostraErro()
Else
Alert("Título incluído com sucesso!")
Endif
Return
Por favor Acessar ou Registrar para participar da conversa.
- RENAN
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 4
- Obrigados Recebidos: 0
10 anos 3 meses atrás #24509
por RENAN
Respondido por RENAN no tópico Copiar titulos do contas à receber para o à pagar.
Muito obrigado Kanaãm Luz.
Realmente tinha esquecido do execauto. Ja consegui o resultado que eu queria agora e so fazer alguns ajustes e colocar pra rodar.
Mas uma vez obg.
Realmente tinha esquecido do execauto. Ja consegui o resultado que eu queria agora e so fazer alguns ajustes e colocar pra rodar.
Mas uma vez obg.
Por favor Acessar ou Registrar para participar da conversa.
- RENAN
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 4
- Obrigados Recebidos: 0
10 anos 3 meses atrás - 10 anos 3 meses atrás #24580
por RENAN
Respondido por RENAN no tópico Copiar titulos do contas à receber para o à pagar.
Bom dia.
Agora estou quebrando a cabeça neste erro.. Ele aparece quando saio da rotina do contas a receber. O estranho q o ponto de entrada funciona normalmente. so quando vou trocar de rotina apresenta. Agora o que observei e que se eu tira o F3"SA2" da msget ele funciona normal. não apresenta erro hora nenhum. Segue o fonte e o erro em anexo..
Por favor me ajudem. So falta isso pra finalizar.
Agora estou quebrando a cabeça neste erro.. Ele aparece quando saio da rotina do contas a receber. O estranho q o ponto de entrada funciona normalmente. so quando vou trocar de rotina apresenta. Agora o que observei e que se eu tira o F3"SA2" da msget ele funciona normal. não apresenta erro hora nenhum. Segue o fonte e o erro em anexo..
Por favor me ajudem. So falta isso pra finalizar.
#Include 'Protheus.ch'
User Function FA040INC()
Private oDlg
Private cTexto := "Deseja incluir este título no contas à pagar?"
Private cTitulo := "Atenção!"
Private cTitle := "Busca por fornecedor"
Private cTexto2 := "Informe o codigo"
Private cCodforn := Space(6)
Private lRet := .T.
Private aArray := {}
Private lMsErroAuto := .F.
Private nOpca
dbselectarea("SA2")
dbSetorder(1)
If MsgYesNo (cTexto,cTitulo)
DEFINE MSDIALOG oDlg Title cTitle From 000,000 To 080,300 Pixel
@ 001,001 To 040,150 of oDlg Pixel
@ 010,005 Say cTexto2 SIZE 50,07 of oDlg Pixel
@ 020,050 MSGET cCodforn SIZE 55,6 of oDlg Pixel PICTURE "@R 999999" f3"SA2";
VALID ExistCpo("SA2",cCodforn)
DEFINE SBUTTON FROM 010,120 TYPE 1 ACTION (nOpca := 1, oDlg:End()) ENABLE OF oDlg
DEFINE SBUTTON FROM 020,120 TYPE 2 ACTION (nOpca := 2, oDlg:End()) ENABLE OF oDlg
ACTIVATE MSDIALOG oDlg CENTERED
If nOpca == 1
aArray := { { "E2_PREFIXO" , M->E1_PREFIXO , NIL },;
{ "E2_TIPO" , M->E1_TIPO , NIL },;
{ "E2_NATUREZ" , M->E1_NATUREZ , NIL },;
{ "E2_FORNECE" , cCodforn , NIL },;
{ "E2_EMISSAO" , M->E1_EMISSAO , NIL },;
{ "E2_VENCTO" , M->E1_VENCTO , NIL },;
{ "E2_VENCREA" , M->E1_VENCREA , NIL },;
{ "E2_VALOR" , M->E1_VALOR , NIL } }
MsExecAuto( { |x,y,z| FINA050(x,y,z)}, aArray,, 3) // 3 - Inclusao, 4 - Alteração, 5 - Exclusão
If lMsErroAuto
MostraErro()
Else
MsgAlert("Título incluído com sucesso!",cTitulo)
Return (lRet)
Endif
Endif
Endif
Return (lRet)
Ultima edição: 10 anos 3 meses atrás por RENAN.
Por favor Acessar ou Registrar para participar da conversa.
- Eduardo TI
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 84
- Obrigados Recebidos: 0
10 anos 3 meses atrás #24584
por Eduardo TI
Respondido por Eduardo TI no tópico Copiar titulos do contas à receber para o à pagar.
MSGET cTm F3 "SF5" Picture PesqPict("SD3","D3_TM") Valid CheckSX3("D3_TM") .And. VldUser('D3_TM')
Veja a posição onde se coloca o F3 no exemplo acima se da certo.
Veja a posição onde se coloca o F3 no exemplo acima se da certo.
Por favor Acessar ou Registrar para participar da conversa.
- admin
- Desconectado
- Administrador
Menos
Mais
- Postagens: 216
- Obrigados Recebidos: 0
10 anos 3 meses atrás #24586
por admin
Respondido por admin no tópico Copiar titulos do contas à receber para o à pagar.
Declare suas Variaveis Como Locais e Guarde a Area.
#Include 'Protheus.ch'
User Function FA040INC()
Local aArea := GetArea()
Local oDlg
Local cTexto := "Deseja incluir este título no contas à pagar?"
Local cTitulo := "Atenção!"
Local cTitle := "Busca por fornecedor"
Local cTexto2 := "Informe o codigo"
Local cCodforn := Space(6)
Local lRet := .T.
Local aArray := {}
Private lMsErroAuto := .F.
Private nOpca
dbselectarea("SA2")
dbSetorder(1)
If MsgYesNo (cTexto,cTitulo)
DEFINE MSDIALOG oDlg Title cTitle From 000,000 To 080,300 Pixel
@ 001,001 To 040,150 of oDlg Pixel
@ 010,005 Say cTexto2 SIZE 50,07 of oDlg Pixel
@ 020,050 MSGET cCodforn SIZE 55,6 of oDlg Pixel PICTURE "@R 999999" f3 "SA2";
VALID ExistCpo("SA2",cCodforn)
DEFINE SBUTTON FROM 010,120 TYPE 1 ACTION (nOpca := 1, oDlg:End()) ENABLE OF oDlg
DEFINE SBUTTON FROM 020,120 TYPE 2 ACTION (nOpca := 2, oDlg:End()) ENABLE OF oDlg
ACTIVATE MSDIALOG oDlg CENTERED
If nOpca == 1
aArray := { { "E2_PREFIXO" , M->E1_PREFIXO , NIL },;
{ "E2_TIPO" , M->E1_TIPO , NIL },;
{ "E2_NATUREZ" , M->E1_NATUREZ , NIL },;
{ "E2_FORNECE" , cCodforn , NIL },;
{ "E2_EMISSAO" , M->E1_EMISSAO , NIL },;
{ "E2_VENCTO" , M->E1_VENCTO , NIL },;
{ "E2_VENCREA" , M->E1_VENCREA , NIL },;
{ "E2_VALOR" , M->E1_VALOR , NIL } }
MsExecAuto( { |x,y,z| FINA050(x,y,z)}, aArray,, 3) // 3 - Inclusao, 4 - Alteração, 5 - Exclusão
If lMsErroAuto
MostraErro()
Else
MsgAlert("Título incluído com sucesso!",cTitulo)
RestArea(aArea)
Return (lRet)
Endif
Endif
Endif
RestArea(aArea)
Return (lRet)
#Include 'Protheus.ch'
User Function FA040INC()
Local aArea := GetArea()
Local oDlg
Local cTexto := "Deseja incluir este título no contas à pagar?"
Local cTitulo := "Atenção!"
Local cTitle := "Busca por fornecedor"
Local cTexto2 := "Informe o codigo"
Local cCodforn := Space(6)
Local lRet := .T.
Local aArray := {}
Private lMsErroAuto := .F.
Private nOpca
dbselectarea("SA2")
dbSetorder(1)
If MsgYesNo (cTexto,cTitulo)
DEFINE MSDIALOG oDlg Title cTitle From 000,000 To 080,300 Pixel
@ 001,001 To 040,150 of oDlg Pixel
@ 010,005 Say cTexto2 SIZE 50,07 of oDlg Pixel
@ 020,050 MSGET cCodforn SIZE 55,6 of oDlg Pixel PICTURE "@R 999999" f3 "SA2";
VALID ExistCpo("SA2",cCodforn)
DEFINE SBUTTON FROM 010,120 TYPE 1 ACTION (nOpca := 1, oDlg:End()) ENABLE OF oDlg
DEFINE SBUTTON FROM 020,120 TYPE 2 ACTION (nOpca := 2, oDlg:End()) ENABLE OF oDlg
ACTIVATE MSDIALOG oDlg CENTERED
If nOpca == 1
aArray := { { "E2_PREFIXO" , M->E1_PREFIXO , NIL },;
{ "E2_TIPO" , M->E1_TIPO , NIL },;
{ "E2_NATUREZ" , M->E1_NATUREZ , NIL },;
{ "E2_FORNECE" , cCodforn , NIL },;
{ "E2_EMISSAO" , M->E1_EMISSAO , NIL },;
{ "E2_VENCTO" , M->E1_VENCTO , NIL },;
{ "E2_VENCREA" , M->E1_VENCREA , NIL },;
{ "E2_VALOR" , M->E1_VALOR , NIL } }
MsExecAuto( { |x,y,z| FINA050(x,y,z)}, aArray,, 3) // 3 - Inclusao, 4 - Alteração, 5 - Exclusão
If lMsErroAuto
MostraErro()
Else
MsgAlert("Título incluído com sucesso!",cTitulo)
RestArea(aArea)
Return (lRet)
Endif
Endif
Endif
RestArea(aArea)
Return (lRet)
Por favor Acessar ou Registrar para participar da conversa.
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Copiar titulos do contas à receber para o à pagar.
Tempo para a criação da página:0.100 segundos