- 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 #28857
por gustavo
Gravação de campo criado pelo ponto de entrada MT110TEL foi criado por gustavo
Galera desenvolvi um fonte MT110TEL para colocar um campo na tela. Até ai beleza o campo aparece porém não consigo grava-lo já utilizei o P.E MTA110OK ,porém não grava.
Segue o fonte.
#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')
Else
Public cTpComp := SC1->C1_XTPCOMP
Endif
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()
Return
User Function MT110GET()
Local aRet:= PARAMIXB[1]
aRet[2,1] := 49 //78Abaixando o começo da linha da getdados
aRet[1,3] := 50 // Abaixando a linha de contorno dos campos do cabeçalho
Return(aRet)
User Function MTA110OK(cTpComp)
Local cNumsc := PARAMIXB[1],;
cUser := PARAMIXB[2],;
dDtaSol:= PARAMIXB[3]
lRet := .F.
cTpComp:= SC1->C1_XTPCOMP
DbSelectArea('SC1')
DbSetOrder(1)
RecLock('SC1',.T.)
SC1->C1_XTPCOMP := cTpComp
SC1->(MsUnlock())
Return
Obrigado.
Segue o fonte.
#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')
Else
Public cTpComp := SC1->C1_XTPCOMP
Endif
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()
Return
User Function MT110GET()
Local aRet:= PARAMIXB[1]
aRet[2,1] := 49 //78Abaixando o começo da linha da getdados
aRet[1,3] := 50 // Abaixando a linha de contorno dos campos do cabeçalho
Return(aRet)
User Function MTA110OK(cTpComp)
Local cNumsc := PARAMIXB[1],;
cUser := PARAMIXB[2],;
dDtaSol:= PARAMIXB[3]
lRet := .F.
cTpComp:= SC1->C1_XTPCOMP
DbSelectArea('SC1')
DbSetOrder(1)
RecLock('SC1',.T.)
SC1->C1_XTPCOMP := cTpComp
SC1->(MsUnlock())
Return
Obrigado.
Por favor Acessar ou Registrar para participar da conversa.
- will3698
- Desconectado
- Membro Dourado
Menos
Mais
- Postagens: 310
- Obrigados Recebidos: 1
9 anos 3 meses atrás #28860
por will3698
Respondido por will3698 no tópico Gravação de campo criado pelo ponto de entrada MT110TEL
Ola boa noite.
Você precisa fazer um Seek ai nesse fonte... você ta abrindo a tabela SC1 e setando a ordem, mas não esta filtrando nada nela .
segue exemplo .
DbSeek(xFilial('SC1') + nNumSc)
att
Você precisa fazer um Seek ai nesse fonte... você ta abrindo a tabela SC1 e setando a ordem, mas não esta filtrando nada nela .
segue exemplo .
DbSeek(xFilial('SC1') + nNumSc)
att
Por favor Acessar ou Registrar para participar da conversa.
- gustavo
- Autor do Tópico
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 70
- Obrigados Recebidos: 0
9 anos 3 meses atrás #28863
por gustavo
Respondido por gustavo no tópico Gravação de campo criado pelo ponto de entrada MT110TEL
Willian, obrigado por me responder!!!
Coloquei o Seek porém na hora que o programa vai gravar da um erro de duplicate key.
THREAD ERROR (gustavo.rodrigues, MC-ETC-1005) 11/08/2015 09:05:26
DB error (Insert): -37 File: SC1010 - Error : 2601 (23000) - [Microsoft][SQL Server Native Client 10.0][SQL Server]Cannot insert duplicate key row in object 'dbo.SC1010' with unique index 'SC1010_UNQ'. The duplicate key value is ( , , , , 0).( SQL Statement : INSERT INTO dbo.SC1010(R_E_C_N_O_) VALUES ( 55162) ) ( From tISAMFile::Write )
Thread ID [51028] User [gustavo] IO [949] Tables [17] MaxTables [17] Comment [MATA110 - TCPIP] Status [] SP [ ] Traced [No] InTran [No] DBEnv [MSSQL/UJ0OXD_TESTE] DBThread [(SPID: 76) ] Started [11/08/2015 09:10:51] LastIO [] IP [192.168.5.129] RCV [231359] SND [1024483] TCBuild [20120327]
- Integrity failure. in file .\top.cpp at line 2317
on MSUNLOCK(APLIB060.PRW) 08/01/2015 11:30:42 line : 682
Se eu retirar o p.e MTA110OK ele grava.
Coloquei o Seek porém na hora que o programa vai gravar da um erro de duplicate key.
THREAD ERROR (gustavo.rodrigues, MC-ETC-1005) 11/08/2015 09:05:26
DB error (Insert): -37 File: SC1010 - Error : 2601 (23000) - [Microsoft][SQL Server Native Client 10.0][SQL Server]Cannot insert duplicate key row in object 'dbo.SC1010' with unique index 'SC1010_UNQ'. The duplicate key value is ( , , , , 0).( SQL Statement : INSERT INTO dbo.SC1010(R_E_C_N_O_) VALUES ( 55162) ) ( From tISAMFile::Write )
Thread ID [51028] User [gustavo] IO [949] Tables [17] MaxTables [17] Comment [MATA110 - TCPIP] Status [] SP [ ] Traced [No] InTran [No] DBEnv [MSSQL/UJ0OXD_TESTE] DBThread [(SPID: 76) ] Started [11/08/2015 09:10:51] LastIO [] IP [192.168.5.129] RCV [231359] SND [1024483] TCBuild [20120327]
- Integrity failure. in file .\top.cpp at line 2317
on MSUNLOCK(APLIB060.PRW) 08/01/2015 11:30:42 line : 682
Se eu retirar o p.e MTA110OK ele grava.
Por favor Acessar ou Registrar para participar da conversa.
- will3698
- Desconectado
- Membro Dourado
Menos
Mais
- Postagens: 310
- Obrigados Recebidos: 1
9 anos 3 meses atrás #28864
por will3698
Respondido por will3698 no tópico Gravação de campo criado pelo ponto de entrada MT110TEL
posta ai o codigo completo como esta agora dando esse rrro ai .
você esta tentando editar um campo de chave unica.
posta ai
você esta tentando editar um campo de chave unica.
posta ai
Por favor Acessar ou Registrar para participar da conversa.
- gustavo
- Autor do Tópico
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 70
- Obrigados Recebidos: 0
9 anos 3 meses atrás #28865
por gustavo
Respondido por gustavo no tópico Gravação de campo criado pelo ponto de entrada MT110TEL
#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')
Else
Public cTpComp := SC1->C1_XTPCOMP
Endif
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()
Return
User Function MT110GET()
Local aRet:= PARAMIXB[1]
aRet[2,1] := 47 //78Abaixando o começo da linha da getdados
aRet[1,3] := 50 // Abaixando a linha de contorno dos campos do cabeçalho
Return(aRet)
User Function MTA110OK()
Local cNumsc := PARAMIXB[1],;
cUser := PARAMIXB[2],;
dDtaSol:= PARAMIXB[3]
Local lRet := .T.,;
cTpComp:= SC1->C1_XTPCOMP,;
cSC := SC1->C1_NUM
Local aAreaSC1:= GetArea()
DbSelectArea('SC1')
DbSetOrder(1)
DbSeek(xFilial('SC1')+cSC)
RecLock('SC1',.T.)
SC1->C1_XTPCOMP := cTpComp
SC1->(MsUnlock())
RestArea(aAreaSC1)
Return lRet
#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')
Else
Public cTpComp := SC1->C1_XTPCOMP
Endif
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()
Return
User Function MT110GET()
Local aRet:= PARAMIXB[1]
aRet[2,1] := 47 //78Abaixando o começo da linha da getdados
aRet[1,3] := 50 // Abaixando a linha de contorno dos campos do cabeçalho
Return(aRet)
User Function MTA110OK()
Local cNumsc := PARAMIXB[1],;
cUser := PARAMIXB[2],;
dDtaSol:= PARAMIXB[3]
Local lRet := .T.,;
cTpComp:= SC1->C1_XTPCOMP,;
cSC := SC1->C1_NUM
Local aAreaSC1:= GetArea()
DbSelectArea('SC1')
DbSetOrder(1)
DbSeek(xFilial('SC1')+cSC)
RecLock('SC1',.T.)
SC1->C1_XTPCOMP := cTpComp
SC1->(MsUnlock())
RestArea(aAreaSC1)
Return lRet
Por favor Acessar ou Registrar para participar da conversa.
- will3698
- Desconectado
- Membro Dourado
Menos
Mais
- Postagens: 310
- Obrigados Recebidos: 1
- 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.084 segundos