- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Gravação de campo criado pelo ponto de entrada MT110TEL
×
Linguagem de Programação ADVPL
Perguntas Gravação de campo criado pelo ponto de entrada MT110TEL
- gustavo
- Autor do Tópico
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 70
- Obrigados Recebidos: 0
9 anos 3 meses atrás #28887
por gustavo
Respondido por gustavo no tópico Gravação de campo criado pelo ponto de entrada MT110TEL
Cara não da mais o erro mas também não grava! é correto passar uma váriável por parâmetro por um P.E?
User Function MTA110OK(cTpComp)
Local cNumSc := PARAMIXB[1],;
cUser := PARAMIXB[2],;
dDtaSol:= PARAMIXB[3]
Local lRet := .T.
Local aAreaSC1:= GetArea()
DbSelectArea('SC1')
DbSetOrder(1)
If DbSeek(xFilial('SC1')+cNumSc)
While SC1->(!EOF()) .And. SC1->C1_FILIAL == xFilial('SC1') .And. SC1->C1_NUM == cNumSc
RecLock('SC1',.F.)
SC1->C1_XTPCOMP := cTpComp
SC1->(MsUnlock())
EndDo
EndIf
RestArea(aAreaSC1)
Return lRet
User Function MTA110OK(cTpComp)
Local cNumSc := PARAMIXB[1],;
cUser := PARAMIXB[2],;
dDtaSol:= PARAMIXB[3]
Local lRet := .T.
Local aAreaSC1:= GetArea()
DbSelectArea('SC1')
DbSetOrder(1)
If DbSeek(xFilial('SC1')+cNumSc)
While SC1->(!EOF()) .And. SC1->C1_FILIAL == xFilial('SC1') .And. SC1->C1_NUM == cNumSc
RecLock('SC1',.F.)
SC1->C1_XTPCOMP := cTpComp
SC1->(MsUnlock())
EndDo
EndIf
RestArea(aAreaSC1)
Return lRet
Por favor Acessar ou Registrar para participar da conversa.
- will3698
- Desconectado
- Membro Dourado
Menos
Mais
- Postagens: 310
- Obrigados Recebidos: 1
- gustavo
- Autor do Tópico
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 70
- Obrigados Recebidos: 0
9 anos 3 meses atrás #28930
por gustavo
Respondido por gustavo no tópico Gravação de campo criado pelo ponto de entrada MT110TEL
Willian, obrigado cara!!!
Percebi que em P.E não se passa variáveis por parâmetros. Segue o fonte compilado e funcionando.
//////////////////////////////////////////////////////////////////////////////////////////////
//+
+//
//| PROGRAMA | MT110TEL | AUTOR | GUSTAVO.RODRIGUES | DATA | 13/08/2015 |//
//+
+//
//| DESCRICAO | Ponto de entrada que permite incluir formas visuais na tela de S.C. |//
//| | Foram inclusos dois novos: "Tipo de Compra"(define se o tipo de compra será|//
//| | DIRETA ou feita pelo PROCESSO DE COMPRA normal) e "Comprador" para que |//
//| | fique registrado o nome do comprador responsável pela S.C. |//
//|+
+//
//| MANUTENCAO DESDE SUA CRIACAO |//
//+
+//
//| DATA | AUTOR | DESCRICAO |//
//+
+//
//| | | |//
//| | |//
//+
+//
//| DATA | AUTOR | DESCRICAO |//
//+
+//
//| | | |//
//+
+//
//////////////////////////////////////////////////////////////////////////////////////////////
#Include "Protheus.Ch"
#Include "RWMake.Ch"
User function MT110TEL()
Local oNewDialog := PARAMIXB[1],;
aPosGet := PARAMIXB[2],;
nOpcx := PARAMIXB[3],;
nReg := PARAMIXB[4]
If nOpcx == 3
Public cTpComp := CriaVar('C1_XTPCOMP'),;
cNomeComp := Space(30)
Else
Public cTpComp := SC1->C1_XTPCOMP,;
cNomeComp := SC1->C1_XCOMPRA
Endif
If nOpcx == 2
AADD(aPosGet[1],0)
AADD(aPosGet[1],0)
@ 32,22 Say 'Tipo de compra' Pixel Size 45,11 Of oNewDialog
@ 32,78 MSCOMBOBOX cTpComp ITEMS{'','P=Processo de compras','D=Direta'} SIZE 075,010 Of oNewDialog Pixel Valid !Vazio() When .F.
@ 32,260 Say 'Comprador' Pixel Size 50,11 Of oNewDialog
@ 32,305 MsGet cNomeComp Size 080,9 Picture '@!' Of oNewDialog Pixel When .F.
Else
AADD(aPosGet[1],0)
AADD(aPosGet[1],0)
@ 32,22 SAY 'Tipo de compra' PIXEL SIZE 45,11 Of oNewDialog
@ 32,78 MSCOMBOBOX cTpComp ITEMS{'','P=Processo de compras','D=Direta'} SIZE 075, 010 Of oNewDialog Pixel Valid !Vazio()
@ 32,260 Say 'Comprador' Pixel Size 70,11 Of oNewDialog
@ 32,305 MsGet cNomeComp Size 080,09 Picture '@!' Of oNewDialog Pixel When .F.
EndIf
Return
//////////////////////////////////////////////////////////////////////////////////////////////
//+
+//
//| PROGRAMA | MT110GET | AUTOR | GUSTAVO.RODRIGUES | DATA | 13/08/2015 |//
//+
+//
//| DESCRICAO | Ponto de entrada que ajusta as dimensões da grid da tela. |//
//+
+//
//////////////////////////////////////////////////////////////////////////////////////////////
User Function MT110GET()
Local aRet:= PARAMIXB[1]
aRet[2,1] := 47 // Abaixando o começo da linha da getdados
aRet[1,3] := 46 // Abaixando a linha de contorno dos campos do cabeçalho
Return(aRet)
//////////////////////////////////////////////////////////////////////////////////////////////
//+
+//
//| PROGRAMA | MT110GRV | AUTOR | GUSTAVO.RODRIGUES | DATA | 13/08/2015 |//
//+
+//
//| DESCRICAO | Ponto de entrada que grava as informações passadas na S.C |//
//+
+//
//////////////////////////////////////////////////////////////////////////////////////////////
User Function MT110GRV()
Local cCopia := PARAMIXB[1]
Local cSc := ''
cSc:= SC1->C1_NUM
DbSelectArea('SC1')
DbSetOrder(1)
SC1->(DbGoTop())
If SC1->(DbSeek(xFilial("SC1")+cSc))
While !SC1->(Eof()) .and. SC1->C1_FILIAL == xFilial("SC1") .and. SC1->C1_NUM == cSc
RecLock('SC1',.F.)
DbSelectArea('SC1')
DbSetOrder(1)
RecLock('SC1',.F.)
SC1->C1_XTPCOMP := cTpComp
MsUnlock()
SC1->(DbSkip())
EndDo
EndIf
Return
Percebi que em P.E não se passa variáveis por parâmetros. Segue o fonte compilado e funcionando.
//////////////////////////////////////////////////////////////////////////////////////////////
//+
+//
//| PROGRAMA | MT110TEL | AUTOR | GUSTAVO.RODRIGUES | DATA | 13/08/2015 |//
//+
+//
//| DESCRICAO | Ponto de entrada que permite incluir formas visuais na tela de S.C. |//
//| | Foram inclusos dois novos: "Tipo de Compra"(define se o tipo de compra será|//
//| | DIRETA ou feita pelo PROCESSO DE COMPRA normal) e "Comprador" para que |//
//| | fique registrado o nome do comprador responsável pela S.C. |//
//|+
+//
//| MANUTENCAO DESDE SUA CRIACAO |//
//+
+//
//| DATA | AUTOR | DESCRICAO |//
//+
+//
//| | | |//
//| | |//
//+
+//
//| DATA | AUTOR | DESCRICAO |//
//+
+//
//| | | |//
//+
+//
//////////////////////////////////////////////////////////////////////////////////////////////
#Include "Protheus.Ch"
#Include "RWMake.Ch"
User function MT110TEL()
Local oNewDialog := PARAMIXB[1],;
aPosGet := PARAMIXB[2],;
nOpcx := PARAMIXB[3],;
nReg := PARAMIXB[4]
If nOpcx == 3
Public cTpComp := CriaVar('C1_XTPCOMP'),;
cNomeComp := Space(30)
Else
Public cTpComp := SC1->C1_XTPCOMP,;
cNomeComp := SC1->C1_XCOMPRA
Endif
If nOpcx == 2
AADD(aPosGet[1],0)
AADD(aPosGet[1],0)
@ 32,22 Say 'Tipo de compra' Pixel Size 45,11 Of oNewDialog
@ 32,78 MSCOMBOBOX cTpComp ITEMS{'','P=Processo de compras','D=Direta'} SIZE 075,010 Of oNewDialog Pixel Valid !Vazio() When .F.
@ 32,260 Say 'Comprador' Pixel Size 50,11 Of oNewDialog
@ 32,305 MsGet cNomeComp Size 080,9 Picture '@!' Of oNewDialog Pixel When .F.
Else
AADD(aPosGet[1],0)
AADD(aPosGet[1],0)
@ 32,22 SAY 'Tipo de compra' PIXEL SIZE 45,11 Of oNewDialog
@ 32,78 MSCOMBOBOX cTpComp ITEMS{'','P=Processo de compras','D=Direta'} SIZE 075, 010 Of oNewDialog Pixel Valid !Vazio()
@ 32,260 Say 'Comprador' Pixel Size 70,11 Of oNewDialog
@ 32,305 MsGet cNomeComp Size 080,09 Picture '@!' Of oNewDialog Pixel When .F.
EndIf
Return
//////////////////////////////////////////////////////////////////////////////////////////////
//+
+//
//| PROGRAMA | MT110GET | AUTOR | GUSTAVO.RODRIGUES | DATA | 13/08/2015 |//
//+
+//
//| DESCRICAO | Ponto de entrada que ajusta as dimensões da grid da tela. |//
//+
+//
//////////////////////////////////////////////////////////////////////////////////////////////
User Function MT110GET()
Local aRet:= PARAMIXB[1]
aRet[2,1] := 47 // Abaixando o começo da linha da getdados
aRet[1,3] := 46 // Abaixando a linha de contorno dos campos do cabeçalho
Return(aRet)
//////////////////////////////////////////////////////////////////////////////////////////////
//+
+//
//| PROGRAMA | MT110GRV | AUTOR | GUSTAVO.RODRIGUES | DATA | 13/08/2015 |//
//+
+//
//| DESCRICAO | Ponto de entrada que grava as informações passadas na S.C |//
//+
+//
//////////////////////////////////////////////////////////////////////////////////////////////
User Function MT110GRV()
Local cCopia := PARAMIXB[1]
Local cSc := ''
cSc:= SC1->C1_NUM
DbSelectArea('SC1')
DbSetOrder(1)
SC1->(DbGoTop())
If SC1->(DbSeek(xFilial("SC1")+cSc))
While !SC1->(Eof()) .and. SC1->C1_FILIAL == xFilial("SC1") .and. SC1->C1_NUM == cSc
RecLock('SC1',.F.)
DbSelectArea('SC1')
DbSetOrder(1)
RecLock('SC1',.F.)
SC1->C1_XTPCOMP := cTpComp
MsUnlock()
SC1->(DbSkip())
EndDo
EndIf
Return
Por favor Acessar ou Registrar para participar da conversa.
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Gravação de campo criado pelo ponto de entrada MT110TEL
Tempo para a criação da página:0.145 segundos