- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Dúvida Orçamento Vendas
×
Linguagem de Programação ADVPL
Perguntas Dúvida Orçamento Vendas
- JamesWesTRP
- Autor do Tópico
- Desconectado
- Membro Dourado
Menos
Mais
- Postagens: 248
- Obrigados Recebidos: 1
8 anos 4 semanas atrás #31266
por JamesWesTRP
Dúvida Orçamento Vendas foi criado por JamesWesTRP
Bom dia!
Preciso atualizar um campo na tabela SCJ (cabeçalho do orçamento de vendas - SIGAFAT)
porém, o campo só atualiza quando eu clico em cima dele... ou seja, os valores estão sendo jogados corretamente pra la da tabela "Tmp1" porém o campo só atualiza quando eu "clico" em cima dele...
Como posso atualizar o campo do cabeçalho??
(no caso, seria uma getdados) porém esta é local no fonte padrão...
Preciso atualizar um campo na tabela SCJ (cabeçalho do orçamento de vendas - SIGAFAT)
porém, o campo só atualiza quando eu clico em cima dele... ou seja, os valores estão sendo jogados corretamente pra la da tabela "Tmp1" porém o campo só atualiza quando eu "clico" em cima dele...
Como posso atualizar o campo do cabeçalho??
(no caso, seria uma getdados) porém esta é local no fonte padrão...
Por favor Acessar ou Registrar para participar da conversa.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
8 anos 4 semanas atrás #31281
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Respondido por lalberto no tópico Dúvida Orçamento Vendas
Gustavo boa noite, poderia detalhar melhor, esse campo contem o que ?
Não entendi muito bem.
Não entendi muito bem.
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Por favor Acessar ou Registrar para participar da conversa.
- JamesWesTRP
- Autor do Tópico
- Desconectado
- Membro Dourado
Menos
Mais
- Postagens: 248
- Obrigados Recebidos: 1
8 anos 4 semanas atrás #31283
por JamesWesTRP
Respondido por JamesWesTRP no tópico Dúvida Orçamento Vendas
O Luiz bom dia tudo bom ?
Então no orçamento temos duas tabelas:
SCJ - Cabecalho
SCK - Item do orçamento
Eu tenho um campo de valor, na SCK e, estou acumulando o mesmo em um campo do cabecalho (SCJ).
Porém queria atualizar o campo da SCJ (cabecalho) em tempo real. Porém, não consigo.. os valores estão corretos no campo do cabecalho mas só da refresh no campo, se eu clicar nele... Queria forçar um refresh nele..
Como poderia fazer ?
São variáveis do tipo "M->"
Obrigado!
Então no orçamento temos duas tabelas:
SCJ - Cabecalho
SCK - Item do orçamento
Eu tenho um campo de valor, na SCK e, estou acumulando o mesmo em um campo do cabecalho (SCJ).
Porém queria atualizar o campo da SCJ (cabecalho) em tempo real. Porém, não consigo.. os valores estão corretos no campo do cabecalho mas só da refresh no campo, se eu clicar nele... Queria forçar um refresh nele..
Como poderia fazer ?
São variáveis do tipo "M->"
Obrigado!
Por favor Acessar ou Registrar para participar da conversa.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
8 anos 4 semanas atrás #31284
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Respondido por lalberto no tópico Dúvida Orçamento Vendas
Você está usando uma função para atualizar este campo ?
Coloca ela ai.
Ou Usa este exemplo de ponto de entrada:
Coloca ela ai.
Ou Usa este exemplo de ponto de entrada:
#INCLUDE "TOTVS.CH"
User Function A415LIOK
Local _aAreaAtu := GetArea()
Local _aAreaTMP1:= TMP1->( GetArea() )
Local _aAreaSF4 := SF4->( GetArea() )
Local _lRet := .T.
Local _nLimVend := POSICIONE("SA3",1,xFilial("SA3") + M->CJ_XVEND,"A3_XVLIMAM")
Local _nTotOrc := 0
If SCJ->( FieldPos("CJ_XBRINDE") ) > 0 .AND. SCJ->( FieldPos("CJ_XVEND") ) > 0
//Obtem o CFO da linha a partir do TES
_cCFOrc := POSICIONE("SF4",1,xFilial("SF4") + TMP1->CK_TES,"F4_CF")
RestArea( _aAreaSF4 )
//Se a linha nao foi deletada e o produto foi preenchido
If !TMP1->CK_FLAG .AND. !Empty( TMP1->CK_PRODUTO ) .AND. ( INCLUI .OR. ALTERA ) .AND. ( !Empty( Alltrim( _cCFOrc ) ) .AND. Alltrim( _cCFOrc ) <> "000" )
Do Case
//Existe limite e o CFOP esta incorreto, vendedor preenchido e eh brinde
Case ( _nLimVend > 0 .AND. !Alltrim( _cCFOrc ) $ Alltrim( GetMv("DY_CFBRIND") ) .AND. !Empty( M->CJ_XVEND ) .AND. Alltrim( M->CJ_XBRINDE ) == "1" );
.OR. ( _nLimVend > 0 .AND. Alltrim( _cCFOrc ) $ Alltrim( GetMv("DY_CFBRIND") ) .AND. !Empty( M->CJ_XVEND ) .AND. ( Empty( M->CJ_XBRINDE ) .OR. Alltrim( M->CJ_XBRINDE ) == "2" ) );
.OR. ( _nLimVend == 0 .AND. Alltrim( _cCFOrc ) $ Alltrim( GetMv("DY_CFBRIND") ) .AND. Empty( M->CJ_XVEND ) .AND. ( Empty( M->CJ_XBRINDE ) .OR. Alltrim( M->CJ_XBRINDE ) == "2" ) )
MsgStop("TES inválido não informado ou Tipo inválido para esta Operacao "+IIf( Alltrim( M->CJ_XBRINDE ) <> "1"," - Comum"," - Amostras / Brindes")+" : " + Alltrim( TMP1->CK_TES ) + Chr(13) + Chr(10) + "Favor verificar!","ATENÇÃO")
_lRet := .F.
RecLock("TMP1",.F.)
TMP1->CK_TES := Replicate( "0",TamSx3("CK_TES")[1] )
MsUnLock()
//Existe limite e o CFOP esta correto, vendedor preenchido e eh brinde
Case _nLimVend > 0 .AND. Alltrim( _cCFOrc ) $ Alltrim( GetMv("DY_CFBRIND") ) .AND. !Empty( M->CJ_XVEND ) .AND. Alltrim( M->CJ_XBRINDE ) == "1"
//Estando OK, testa o limite do vendedor com o total do Orcamento
_nTotOrc := 0
dbSelectArea("TMP1")
TMP1->( DbGotop() )
Do While TMP1->( !Eof() )
//Obtem o CFO da linha a partir do TES
_cCFOrc := POSICIONE("SF4",1,xFilial("SF4") + TMP1->CK_TES,"F4_CF")
RestArea( _aAreaSF4 )
If !TMP1->CK_FLAG .AND. Alltrim( _cCFOrc ) $ Alltrim( GetMv("DY_CFBRIND") )
_nTotOrc += TMP1->CK_VALOR
EndIf
TMP1->( DbSkip() )
EndDo
//Depois de obter o total volta para a linha atual
RestArea( _aAreaTMP1 )
If _nTotOrc > _nLimVend
MsgStop("Seu limite máximo para a Operacao com Amostras / Brindes é de : " + Alltrim( TransForm(_nLimVend,"@E 999,999,999.99") ) + Chr(13) + Chr(10) + "Digitado no Orcamento: " + Alltrim( TransForm(_nTotOrc,"@e 999,999,999.99") ) + Chr(13) + Chr(10) + "Favor verificar!","ATENÇÃO")
Return( _lRet := .F. )
Else
_lRet := .T.
EndIf
//Nao Existe limite e o CFOP esta correto, vendedor preenchido e eh brinde
Case _nLimVend == 0 .AND. Alltrim( _cCFOrc ) $ Alltrim( GetMv("DY_CFBRIND") ) .AND. !Empty( M->CJ_XVEND ) .AND. Alltrim( M->CJ_XBRINDE ) == "1"
MsgStop("Valor limite inexistente para esta Operacao "+IIf( Alltrim( M->CJ_XBRINDE ) <> "1"," - Comum"," - Amostras / Brindes")+" : " + Alltrim( TransForm(_nLimVend,"@e 999,999,999.99") ) + Chr(13) + Chr(10) + "Favor verificar!","ATENÇÃO")
_lRet := .F.
//Nao Existe limite e o CFOP correto, vendedor preenchido mas nao eh brinde
Case _nLimVend == 0 .AND. Alltrim( _cCFOrc ) $ Alltrim( GetMv("DY_CFBRIND") ) .AND. !Empty( M->CJ_XVEND ) .AND. ( Empty( M->CJ_XBRINDE ) .OR. Alltrim( M->CJ_XBRINDE ) == "2" )
MsgStop("Valor limite / TES invalidos para esta Operacao "+IIf( Alltrim( M->CJ_XBRINDE ) <> "1"," - Comum"," - Amostras / Brindes")+" : " + Alltrim( TransForm(_nLimVend,"@e 999,999,999.99") ) + "/" + Alltrim( TMP1->CK_TES ) + Chr(13) + Chr(10) + "Favor verificar!","ATENÇÃO")
_lRet := .F.
//Nao Existe limite e o CFOP correto, vendedor nao preenchido e eh brinde
Case _nLimVend == 0 .AND. Alltrim( _cCFOrc ) $ Alltrim( GetMv("DY_CFBRIND") ) .AND. Empty( M->CJ_XVEND ) .AND. Alltrim( M->CJ_XBRINDE ) == "1"
MsgStop("Codigo de Vendedor nao informado para esta Operacao "+IIf( Alltrim( M->CJ_XBRINDE ) <> "1"," - Comum"," - Amostras / Brindes") + Chr(13) + Chr(10) + "Favor verificar!","ATENÇÃO")
_lRet := .F.
EndCase
ElseIf Empty( Alltrim( _cCFOrc ) ) .OR. TMP1->CK_FLAG
_lRet := .T.
EndIf
EndIf
RestArea( _aAreaAtu )
RestArea( _aAreaTMP1 )
[b][color=#ff0000]oGetDad:oBrowse:Refresh()[/color][/b]
Return .T.
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Por favor Acessar ou Registrar para participar da conversa.
- JamesWesTRP
- Autor do Tópico
- Desconectado
- Membro Dourado
Menos
Mais
- Postagens: 248
- Obrigados Recebidos: 1
8 anos 4 semanas atrás #31286
por JamesWesTRP
Respondido por JamesWesTRP no tópico Dúvida Orçamento Vendas
Então...
tentei por esse p.e. tbem....
problema é que sempre o ultimo valor não aparece somente se eu clicar no campo...
Os valores estão indo certinhos pro campo, problema é o refresh...
Não sei se na Enchoice teria como fazer isso, tipo pegar o objeto, no caso o msget q eu atualizo e dar um "refresh" nele..
tentei por esse p.e. tbem....
problema é que sempre o ultimo valor não aparece somente se eu clicar no campo...
Os valores estão indo certinhos pro campo, problema é o refresh...
Não sei se na Enchoice teria como fazer isso, tipo pegar o objeto, no caso o msget q eu atualizo e dar um "refresh" nele..
Por favor Acessar ou Registrar para participar da conversa.
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Dúvida Orçamento Vendas
Tempo para a criação da página:0.136 segundos