4Each • Exibir tópico - UPC FT0909D

UPC FT0909D

Forum para duvidas sobre a linguagem Progress

UPC FT0909D

Mensagempor mbarreto em 15 Jul 2010, 10:56

Prezados,

Estou customizando o programa FT0909D, para que o usuario nao tenha que digitar os valores para a "Chave de Acesso" e o "Protocolo" da NF-e autorizada pela SEFAZ, vamos aos problemas:

1 - Ja coloquei o botao que chama a rotina para abrir um determinado XML, botao <Importa DANFE>. ( Arquivo em anexo "FT0909D-1" )

2 - A rotina do botao <Importa DANFE> esta funcionando 100%. ( Arquivo em anexo "FT0909D-Dialogo Abrir" )

3 - Ao escolher o XML da SEFAZ, recupero as informacoes desejadas. ( Arquivo em anexo "FT0909D-Valores do XML" )

4 - Porem, ao tentar substituir os valores dos repectivos campos, estou recebendo as messagens de erros. ( Arquivos em anexo "FT0909D-Primeiro Erro" e "FT0909D-Segundo Erro" )

A grande questao e que, de alguma forma, o handle dos campos nao estao disponiveis no evento INITIALIZE do programa FT0909D, somente no evento BEFORE-DESTROY-INTERFACE e que eu consigo o handle dos campos. O que nao me interessa, pois necessito que o usuario valide a informacao.

Se alguem puder ajudar, agradeco enormemente.

Grato,
Marcelo Barreto
Você não está autorizado a ver ou baixar esse anexo.
mbarreto
Usuário Junior
Usuário Junior
 
Mensagens: 6
Registro: 15 Jul 2010, 10:07

Re: UPC FT0909D

Mensagempor Rogerio em 15 Jul 2010, 11:29

Marcelo como voce esta definindo suas variaves handle????

Tem como voces postar o codigo para podermos te ajudar?
ROGERIO
Analista de Sistemas
Avatar do usuário
Rogerio
Usuário Analista
Usuário Analista
 
Mensagens: 150
Registro: 28 Jan 2009, 06:02
Localização: Jundiai - SP

Re: UPC FT0909D

Mensagempor mbarreto em 15 Jul 2010, 11:48

Vamos la:

Ja tentei assim = def new global shared var h-chave-acesso as HANDLE NO-UNDO.
Assim tambem nao = def new global shared var h-chave-acesso as WIDGET-HANDLE NO-UNDO.

A grande questao e que no evento "AFTER-INITIALIZE" eu nao consigo o handle do FILL-IN c-chave-acesso, somente nos eventos "BEFORE-DESTROY-INTERFACE" ou "AFTER-DESTROY-INTERFACE" e que eu consigo acesso e alterar o conteudo do FILL-IN c-chave-acesso.

Grato
mbarreto
Usuário Junior
Usuário Junior
 
Mensagens: 6
Registro: 15 Jul 2010, 10:07

Re: UPC FT0909D

Mensagempor Rogerio em 15 Jul 2010, 12:06

Voce deve estar usando uma função para pegar os handles de cada campo não é??? em qual evento você está chamando essa função?
ROGERIO
Analista de Sistemas
Avatar do usuário
Rogerio
Usuário Analista
Usuário Analista
 
Mensagens: 150
Registro: 28 Jan 2009, 06:02
Localização: Jundiai - SP

Re: UPC FT0909D

Mensagempor mbarreto em 15 Jul 2010, 12:10

Quando a SYSTEM-DIALOG GET-FILE retorna as informacoes do XML, eu busco as informacoes necessarias e guardo em uma variavel, vamos tratar somente o campo "Chave de acesso" para facilitar.

De posse desse valor, eu tento ASSIGN h-chave-acesso:SCREEN-VALUE = string(c-chave-acesso, "99.9999.99.999.999/9999-99-99-999-999.999.999-999.999.999-9").

Nesse momento, recebo as mensagens de erros que coloquei em anexo.
mbarreto
Usuário Junior
Usuário Junior
 
Mensagens: 6
Registro: 15 Jul 2010, 10:07

Re: UPC FT0909D

Mensagempor Rogerio em 15 Jul 2010, 12:26

Cara se voce puder postar o codigo fica mais facil de te ajudar
ROGERIO
Analista de Sistemas
Avatar do usuário
Rogerio
Usuário Analista
Usuário Analista
 
Mensagens: 150
Registro: 28 Jan 2009, 06:02
Localização: Jundiai - SP

Re: UPC FT0909D

Mensagempor mbarreto em 15 Jul 2010, 12:44

Abaixo e o codigo da UPC:
def new global shared var h-chave-acesso as WIDGET-HANDLE NO-UNDO.
def new global shared var h-protocolo AS WIDGET-HANDLE NO-UNDO.

def var wh-button as widget-handle no-undo.


{INCLUDE/VER-UPC.I &ATIVA-GERACAO=NO
&TELA-DISCO='T'
&NOME-ARQUIVO='C:\TEMP\FT0909D.LST'
&LISTA-TABELAS=''
&LISTA-TIPOS-OBJS=''
&LISTA-NOMES-OBJS=''}




{INCLUDE/VER-HDL.I &ATIVA-GERACAO-LISTA=NO
&TELA-DISCO='D'
&NOME-ARQUIVO='C:\TEMP\FT0909D.LST'
&LISTA-FRAMES='fpage0'
&LISTA-TIPOS-OBJS=''}



/*
{INCLUDE/VER-HDLS.I &ATIVA-GERACAO-LISTA=NO
&TELA-DISCO='D'
&NOME-ARQUIVO='C:\TEMP\FT0909D.LST'
&LISTA-FRAMES=''
&LISTA-TIPOS-OBJS=''}
*/


/*
if index(p-ind-event,"INITIALIZE") > 0 and /*--- Para mostrar os handles somente 1 vez ---*/
p-ind-object = "CONTAINER" then
do:
{INCLUDE/VER-PRG.I &ATIVA-GERACAO-LISTA=NO
&TELA-DISCO='T'
&NOME-ARQUIVO='C:\TEMP\FT0909D.LST'
&LISTA-PROGRAMAS=''}
end.
*/



/*
message "EVENTO " p-ind-event skip
"OBJETO " p-ind-object skip
"NOME OBJ " c-objeto skip
"FRAME " p-wgh-frame SKIP
"TABELA " p-cod-table skip
"ROWID " string(p-row-table) view-as alert-box.

*/


if p-ind-event = "AFTER-INITIALIZE"
and p-ind-object = "CONTAINER" then do:

create button wh-button
assign
frame = p-wgh-frame
width = 15
height = 1
row = 5.29
label = "Importa DANFE"
col = 22.5
SENSITIVE = YES
visible = YES

triggers:
ON CHOOSE PERSISTENT RUN esp\epc\ftp\busca-arquivo.p.
end triggers.
end.

IF p-ind-event = "BEFORE-DESTROY-INTERFACE" THEN DO:

/* ASSIGN h-chave-acesso = fc-all-hdl("fpage0", "c-chave-acesso" , 000). */
/* ASSIGN h-chave-acesso:SCREEN-VALUE = c-chave-acesso. */
/* */
/* */
/* */
/* MESSAGE /*h-chave-acesso:SCREEN-VALUE */
/* h-chave-acesso:SCREEN-VALUE*/ */
/* */
/* string(c-chave-acesso, "99.9999.99.999.999/9999-99-99-999-999.999.999-999.999.999-9") SKIP */
/* c-protocolo */
/* VIEW-AS ALERT-BOX. */


END.


Esse e o programa que chama as rotinas de leitura do arquivo XML e salva o conteudo das informacoes que eu quero nas variaveis e passar o conteudo das variaveis para os campos no programa ft0909d.
mbarreto
Usuário Junior
Usuário Junior
 
Mensagens: 6
Registro: 15 Jul 2010, 10:07

Re: UPC FT0909D

Mensagempor Cobra.cne em 22 Jul 2010, 13:38

Marcelo, nas próximas vezes que postar um código no fórum posta entre as de code, pois facilita muito e entendimento. Algumas pessoas nem olham para informações assim.

Final do ano passado tentei fazer algo semelhante, porém também não consegui de nenhuma forma obter as informações destes campos. a UPC só existe devido ao padrão, porém não achei nada tratando estes recursos na época.

mas tenta fazer verificação sem analisar os eventos.

T+
Cleilton
Analista Programador
Avatar do usuário
Cobra.cne
Moderador Geral
Moderador Geral
 
Mensagens: 221
Registro: 04 Ago 2009, 08:10
Localização: Maringá - Pr

Re: UPC FT0909D

Mensagempor mbarreto em 26 Jul 2010, 12:00

Prezados,

Agradeco a todos os que tentaram ajudar.
Eu ja consegui resolver a questao.
Grato
mbarreto
Usuário Junior
Usuário Junior
 
Mensagens: 6
Registro: 15 Jul 2010, 10:07

Re: UPC FT0909D

Mensagempor Cobra.cne em 28 Jul 2010, 00:11

Se não puder postar o código, pelo menos passa a lógica utilizada para resolver o problema, pode ajudar outras pessoas.

Valeu.
Cleilton
Analista Programador
Avatar do usuário
Cobra.cne
Moderador Geral
Moderador Geral
 
Mensagens: 221
Registro: 04 Ago 2009, 08:10
Localização: Maringá - Pr


Voltar para Progress 4GL

Quem está online

Usuários navegando neste fórum: CommonCrawl [Bot] e 2 visitantes