[delphi-br] IMPRIMIR O DANFE??????????

2009-03-26 Por tôpico pena_rs
Bom dia pessoal, estou com um grande problema, como havia visto no forum
que a maioria estava tendo dificuldades em desenvolver o danfe em delphi
resolvi desenvolver em C#, meu conhecimento é limitado, mas
desenvolvi toda a parte do xml, conexão, autenticação com o servidor, todo 
aquele rolo pra fazer funcionar a NFE, esta tudo funcionando perfeitamente, meu 
problema foi quando fui preparar
o danfe para imprimir, me deparei com um grande problema, nao consigo
colocar imagem dinamicamente no crystal report, ou seja, preciso imprimir
o codigo de barras, mas nem uma imagem qualquer nao imprime, alguem aqui
teve o mesmo problema? alguem tem uma sugestao?
preciso urgente de ajuda. Um abraço



[delphi-br] como bloquear registro firebird?

2008-10-05 Por tôpico pena_rs
seguinte pessoal como bloquear registro em firebird?
vi alguma coisa sobre SELECT CODIGO,PRODUTO FROM PRODUTOS WHERE
CODIGO=:VCODIGO ORDER BY CODIGO FOR UPDATE WITH LOCK 
so que o seguinte quando vou acessar o registro que ja bloquiei
simplesmente o programa trava, como prever e avisar o usuario?



[delphi-br] ninguém tem uma opniao????

2008-10-02 Por tôpico pena_rs
ERRO:
multiple rows in singleton select at procedure MOV_PRODUTOS

PROCEDURE MOVIMENTA
procedure TFrmProdutos.Movimenta(VTipo:String; VCodigo:Integer;
VNome:String;Vordem:Integer);
begin
D_M.MOV_produtos.ParamByName('VTIPO').AsString:=VTipo;
D_M.MOV_produtos.ParamByName('VCODIGO').AsInteger:=VCodigo;
D_M.MOV_produtos.ParamByName('VNOME').AsString:=VNome;
D_M.MOV_produtos.ParamByName('VORDEM').AsInteger:=Vordem;
D_M.MOV_produtos.ExecProc;
end;

seguinte, eu teste se o produto ja existe com este nome
VPri:=D_M.Qprodutosproduto.AsString;
if ((VPri='') or (VPri=' ')) and not Bcancela.Focused
then Begin
MessageBeep(32);
MessageDlg('Produto Inválido',mtError,[mbOk],0);
DBNome.SetFocus;
exit;
end;
Movimenta('NOME',0,D_M.Qprodutosproduto.AsString,ORDEM);
VCRetorno:=D_M.MOV_produtos.ParamByName('RCODIGO').AsInteger;
VNRetorno:=D_M.MOV_produtos.ParamByName('RNOME').AsString;
if ((VCRetorno0) and (inclusao=1)) or ((inclusao=0) and (VCRetorno0)
and (VCRetornoD_M.QprodutosCodigo.AsInteger)) and not
Bcancela.Focused then begin
MessageBeep(32);
MessageDlg('Produto com este Nome já Existente'+#10#13+#10#13+
'Código - '+IntToStr(VCRetorno)+#10#13+
'Nome - '+VNRetorno,mtError,[mbOk],0);
if messagedlg('Confirme!',mtconfirmation,[mbyes,mbno],0)=mrNO
then begin
DBNome.SetFocus;
exit;
end;
end;

QUANDO VOU TESTAR OUTRO CAMPO É QUE DA O ERRO, MAS O INTERESSANTE QUE
DA O ERRO, SE EU CONFIRMO QUE JA EXISTE
VPri:=D_M.QprodutosReffab.AsString;
if ((VPri'') and (VPriand0) and (inclusao=1)) or ((inclusao=0) and
(VCRetorno0) and (VCRetornoD_M.QprodutosCodigo.AsInteger)) and not
Bcancela.Focused then begin
MessageBeep(32);
MessageDlg('Referência de Fábrica com este Código já
Existente'+#10#13+#10#13+
'Código - '+IntToStr(VCRetorno)+#10#13+
'Nome - '+VNRetorno,mtError,[mbOk],0);
if messagedlg('Confirme!',mtconfirmation,[mbyes,mbno],0)=mrNO
then begin
DBNome.SetFocus;
exit;
end;
end;

*PROCEDURE *

ELSE IF (:VTIPO='NOME') THEN
BEGIN
SELECT CODIGO,PRODUTO FROM PRODUTOS WHERE PRODUTO=:VNOME ORDER
BY PRODUTO INTO :RCODIGO,:RNOME;
SUSPEND;
END
ELSE IF (:VTIPO='REFFAB') THEN
BEGIN
SELECT CODIGO,PRODUTO FROM PRODUTOS WHERE REFFAB=:VNOME ORDER
BY REFFAB INTO :RCODIGO,:RNOME;
SUSPEND;
END




[delphi-br] erro sql help????????

2008-09-30 Por tôpico pena_rs
boa tarde pessoal, estou com um problema e ja fugiu do meu
conhecimento, é o seguinte, eu testo campos no meu cadastro de
produtos,pra ver se o mesmo ja nao existe, vou passar meu codigo:

ERRO:
multiple rows in singleton select at procedure MOV_PRODUTOS

PROCEDURE MOVIMENTA
procedure TFrmProdutos.Movimenta(VTipo:String; VCodigo:Integer;
VNome:String;Vordem:Integer);
begin
D_M.MOV_produtos.ParamByName('VTIPO').AsString:=VTipo;
D_M.MOV_produtos.ParamByName('VCODIGO').AsInteger:=VCodigo;
D_M.MOV_produtos.ParamByName('VNOME').AsString:=VNome;
D_M.MOV_produtos.ParamByName('VORDEM').AsInteger:=Vordem;
D_M.MOV_produtos.ExecProc;
end;


seguinte, eu teste se o produto ja existe com este nome
VPri:=D_M.Qprodutosproduto.AsString;
if ((VPri='') or (VPri=' ')) and not Bcancela.Focused
then Begin
MessageBeep(32);
MessageDlg('Produto Inválido',mtError,[mbOk],0);
DBNome.SetFocus;
exit;
end;
Movimenta('NOME',0,D_M.Qprodutosproduto.AsString,ORDEM);
VCRetorno:=D_M.MOV_produtos.ParamByName('RCODIGO').AsInteger;
VNRetorno:=D_M.MOV_produtos.ParamByName('RNOME').AsString;
if ((VCRetorno0) and (inclusao=1)) or ((inclusao=0) and (VCRetorno0)
and (VCRetornoD_M.QprodutosCodigo.AsInteger)) and not
Bcancela.Focused then begin
MessageBeep(32);
MessageDlg('Produto com este Nome já Existente'+#10#13+#10#13+
'Código - '+IntToStr(VCRetorno)+#10#13+
'Nome - '+VNRetorno,mtError,[mbOk],0);
if messagedlg('Confirme!',mtconfirmation,[mbyes,mbno],0)=mrNO
then begin
DBNome.SetFocus;
exit;
end;
end;

QUANDO VOU TESTAR OUTRO CAMPO É QUE DA O ERRO, MAS O INTERESSANTE QUE
DA O ERRO, SE EU CONFIRMO QUE JA EXISTE
VPri:=D_M.QprodutosReffab.AsString;
if ((VPri'') and (VPriand0) and (inclusao=1)) or ((inclusao=0) and
(VCRetorno0) and (VCRetornoD_M.QprodutosCodigo.AsInteger)) and not
Bcancela.Focused then begin
MessageBeep(32);
MessageDlg('Referência de Fábrica com este Código já
Existente'+#10#13+#10#13+
'Código - '+IntToStr(VCRetorno)+#10#13+
'Nome - '+VNRetorno,mtError,[mbOk],0);
if messagedlg('Confirme!',mtconfirmation,[mbyes,mbno],0)=mrNO
then begin
DBNome.SetFocus;
exit;
end;
end;


*PROCEDURE *

ELSE IF (:VTIPO='NOME') THEN
BEGIN
SELECT CODIGO,PRODUTO FROM PRODUTOS WHERE PRODUTO=:VNOME ORDER
BY PRODUTO INTO :RCODIGO,:RNOME;
SUSPEND;
END
ELSE IF (:VTIPO='REFFAB') THEN
BEGIN
SELECT CODIGO,PRODUTO FROM PRODUTOS WHERE REFFAB=:VNOME ORDER
BY REFFAB INTO :RCODIGO,:RNOME;
SUSPEND;
END



[delphi-br] erro sql help????????

2008-09-30 Por tôpico pena_rs
boa noite pessoal, estou com um problema e ja fugiu do meu
conhecimento, é o seguinte, eu testo campos no meu cadastro de
produtos,pra ver se o mesmo ja nao existe, vou passar meu codigo:

ERRO:
multiple rows in singleton select at procedure MOV_PRODUTOS

PROCEDURE MOVIMENTA
procedure TFrmProdutos.Movimenta(VTipo:String; VCodigo:Integer;
VNome:String;Vordem:Integer);
begin
D_M.MOV_produtos.ParamByName('VTIPO').AsString:=VTipo;
D_M.MOV_produtos.ParamByName('VCODIGO').AsInteger:=VCodigo;
D_M.MOV_produtos.ParamByName('VNOME').AsString:=VNome;
D_M.MOV_produtos.ParamByName('VORDEM').AsInteger:=Vordem;
D_M.MOV_produtos.ExecProc;
end;


seguinte, eu teste se o produto ja existe com este nome
VPri:=D_M.Qprodutosproduto.AsString;
if ((VPri='') or (VPri=' ')) and not Bcancela.Focused
then Begin
MessageBeep(32);
MessageDlg('Produto Inválido',mtError,[mbOk],0);
DBNome.SetFocus;
exit;
end;
Movimenta('NOME',0,D_M.Qprodutosproduto.AsString,ORDEM);
VCRetorno:=D_M.MOV_produtos.ParamByName('RCODIGO').AsInteger;
VNRetorno:=D_M.MOV_produtos.ParamByName('RNOME').AsString;
if ((VCRetorno0) and (inclusao=1)) or ((inclusao=0) and (VCRetorno0)
and (VCRetornoD_M.QprodutosCodigo.AsInteger)) and not
Bcancela.Focused then begin
MessageBeep(32);
MessageDlg('Produto com este Nome já Existente'+#10#13+#10#13+
'Código - '+IntToStr(VCRetorno)+#10#13+
'Nome - '+VNRetorno,mtError,[mbOk],0);
if messagedlg('Confirme!',mtconfirmation,[mbyes,mbno],0)=mrNO
then begin
DBNome.SetFocus;
exit;
end;
end;

QUANDO VOU TESTAR OUTRO CAMPO É QUE DA O ERRO, MAS O INTERESSANTE QUE
DA O ERRO, SE EU CONFIRMO QUE JA EXISTE
VPri:=D_M.QprodutosReffab.AsString;
if ((VPri'') and (VPriand0) and (inclusao=1)) or ((inclusao=0) and
(VCRetorno0) and (VCRetornoD_M.QprodutosCodigo.AsInteger)) and not
Bcancela.Focused then begin
MessageBeep(32);
MessageDlg('Referência de Fábrica com este Código já
Existente'+#10#13+#10#13+
'Código - '+IntToStr(VCRetorno)+#10#13+
'Nome - '+VNRetorno,mtError,[mbOk],0);
if messagedlg('Confirme!',mtconfirmation,[mbyes,mbno],0)=mrNO
then begin
DBNome.SetFocus;
exit;
end;
end;

ELSE IF (:VTIPO='NOME') THEN
BEGIN
SELECT CODIGO,PRODUTO FROM PRODUTOS WHERE PRODUTO=:VNOME ORDER
BY PRODUTO INTO :RCODIGO,:RNOME;
SUSPEND;
END
ELSE IF (:VTIPO='REFFAB') THEN
BEGIN
SELECT CODIGO,PRODUTO FROM PRODUTOS WHERE REFFAB=:VNOME ORDER
BY REFFAB INTO :RCODIGO,:RNOME;
SUSPEND;
END



[delphi-br] COBOL X DELPHI - FIREBIRD

2008-09-16 Por tôpico pena_rs
Boa noite pessoal, tenho uma duvida aqui pra colocar em foco de como
seria uma parametrização em delphi.
Trabalho em softhouse bem conceituada aqui na região centro do RS,
mas... a empresa por incrivel que pareça trabalha com cobol
microfocus, até ae tudo bem, pq temos mais de 1.000 clientes nos mais
diversos tipos de sistemas, mas vamos ao que interessa.
Hj temos como padronizar que na empresa A da automação, compartilha
o cadastro de clientes com a Empresa B, e que a empresa A da
automação compartilha seu cadastro de produtos com a empresa C, como
seria feito isso em DELPHI X FIREBIRD?



[delphi-br] Ajuda plsql

2008-09-15 Por tôpico pena_rs
boa tarde pessoal, sou novato em delphi, estou precisando de uma
maozinha, seguinte:

begin 
IF (:VTIPO='RETORNA') THEN
BEGIN
FOR SELECT CODIGO,GRUPO FROM GRUPOS WHERE GRUPO:VNOME
DO BEGIN
SUSPEND;
EXIT;
END
END
ELSE IF (:VTIPO='AVANCA') THEN
BEGIN
FOR SELECT CODIGO,GRUPO FROM GRUPOS WHERE GRUPO:VNOME ORDER BY GRUPO
INTO :RCODIGO,:RNOME
DO BEGIN
SUSPEND;
EXIT;
END

AQUI ESTA A PARTE DO CODIGO QUE ESTA FUNCIONANDO, SO QUE QUERIA FAZER
UM OUTRO TESTE MAS NAO CONSIGO FAZER, DA ERRO, E COMO DISSE SOU NOVATO
E NAO CONSIGO DESCOBRIR ONDE ESTOU ERRANDO
begin 
IF (:VTIPO='RETORNA') THEN
BEGIN
if (:VORDEM = 1) then
FOR SELECT CODIGO,GRUPO FROM GRUPOS WHERE GRUPO:VNOME
ORDER BY GRUPO DESC INTO :RCODIGO,:RNOME
else
FOR SELECT CODIGO,GRUPO FROM GRUPOS WHERE GRUPO:VNOME
ORDER BY CODIGO DESC INTO :RCODIGO,:RNOME
end if
DO BEGIN
SUSPEND;
EXIT;
END
END

como viram quero apenas colocar um if, para testar se a ordem é por
codigo ou alfabetica