Mudar conteúdo de um campo

Estou desenvolvendo um código em que o usuário deveria colocar o numero do pedido e o numero do item, e se caso o campo C6_BLQ estivesse com R, tiraria esse R e deixaria vazio, mas nao estou conseguindo fazer.

Segue o código:

#include "rwmake.ch"
#include "topconn.ch"
#include "Protheus.ch"
#INCLUDE "TBICONN.CH"

/*/{Protheus.doc} User Function RetRes
@type  Function
@Cauan Sousa
@since 10/01/2024
/*/

User Function RetRes()

local aSC6 := SC6->(GetArea())
local cResiduo := ""

private oDlg 
private cTitulo := "** Busca pedido **" //titulo da janela
private cTexto := "Informe o pedido"   //label
PRIVATE cPed := "Informa o Item"
private cRes   := CriaVar("C6_NUM",.f.) // cria a variavel com o tamanho do campo que consta em sx3
private cRet   := CriaVar("C6_ITEM",.f.)

DbSelectArea("SC6")
SC6->(DbSetOrder(1))
If SC6->(DbSeek(xFilial("SC6")))   

   if SC6 -> C6_BLQ := "R"
      cResiduo:= ""
   endif 
//posicionamento dos objetos
 DEFINE MSDIALOG oDlg TITLE cTitulo FROM 000,000 TO 200,400 PIXEL   //monta janela
     @005,005 TO 045,145 OF oDlg PIXEL                          //borda interna
     @015,020 SAY cTexto SIZE 060,007 OF oDlg PIXEL  
     @025,020 SAY cPed SIZE 070,009 OF oDlg PIXEL            //label
     @012,075 MSGET cRes SIZE 055,011 OF oDlg PIXEL VALID EXISTCPO("SC6") PICTURE"@X" 
     @027,075 MSGET cRet SIZE 065,013 OF oDlg PIXEL VALID EXISTCPO("SC6") PICTURE "@!"; //caixa de texto



     DEFINE SBUTTON FROM 050,030 TYPE 1;
     ACTION ProcuraFor() ENABLE OF oDlg             
     DEFINE SBUTTON FROM 050,120 TYPE 2;
     ACTION (oDlg:End()) ENABLE OF oDlg               //recebe opcao 0 e fecha, porem continua a execuçao

ACTIVATE MSDIALOG oDlg CENTERED
 else 
   alert("Esse Pedido  não tem residuos" )
endif 

RestArea(aSC6)
RETURN 


Static function ProcuraFor()


 If RecLock("SC6",.F.) 
        SC6->C6_BLQ := cResiduo
        SC6->(MsUnLock())
    endif 


RETURN 















  /*
   DbSelectArea("SC6")
   dbGoTop()

   dbSeek(xFilial("SC6"))
   while SC6->(!EOF())
      iF SC6->C6_BLQ == ''
         RecLock("SC6",.F.)
         SC6->C6_BLQ := 'R'
         SC6-> (MsUnLock())

      endif 

   ENDDO 
   */
compartilhar
  • Dá algum erro quando você usa essa sua função? Chegou até onde usando ela?

    Victor Freidinger   1 month ago
  • ela nao retorna a alteração do campo

    Cauan Sousa   1 month ago
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do TOTVS DevForum!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags advpl reclock campo ou faça a sua própria pergunta.