 |
ActiveDelphi .: O site do programador Delphi! :.
|
Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
antonio.command Novato

Registrado: Sexta-Feira, 8 de Junho de 2007 Mensagens: 68 Localização: Fortaleza
|
Enviada: Dom Jan 25, 2015 5:57 pm Assunto: Problema na conversão String para Integer!! |
|
|
Galera estou com problema na hora de abrir o relatório de vendas por vendedor. Ao clicar no botão visualizar está dando erro "IS NOT A VALID INTEGER VALUE". POR FAVOR ALGUÉM ME AJUDE!!
VEJA O COMANDO....
Código: | Function TFrmVendasPorVendedor.GerarRelatorio: Boolean;
var
Linha: String;
begin
try
Result := false;
Rewrite(DM.ArqRelatorio);
Writeln(dm.ArqRelatorio, DM.TParametrosEmpresa.AsString);
Writeln(dm.ArqRelatorio,'RELATÓRIO DE VENDAS POR PERÍODO DATA DA IMPRESSÃO: ' + DateToStr(Date));
Writeln(dm.ArqRelatorio,'===============================================================================================');
Writeln(dm.ArqRelatorio,'DATA INICIAL: ' + LeftStr(Edit_DataInicial.Text,10) + ' DATA FINAL: ' +
LeftStr(Edit_DataFinal.Text,10));
Writeln(dm.ArqRelatorio,'===============================================================================================');
Writeln(dm.ArqRelatorio,'DATA COMANDA CLIENTE QTDE ITENS DESC(%) VLR LIQUIDO PAGTO');
Writeln(dm.ArqRelatorio,'-----------------------------------------------------------------------------------------------');
QVendas.Close;
if QVendedores.IsEmpty OR not QVendedores.Active then
QVendas.SQL.Text:= 'select * from Vendas where' + SQLVendas
else
begin
QVendas.SQL.Text:= 'select * from Vendas where' + SQLVendas + ' and Vendedor=:Vend';
QVendas.Parameters.ParamByName('Vend').Value:= StrToInt(Edt_vendedor.Text);
end;
QVendas.Parameters.ParamByName('DATAINICIAL').Value:= StrToDate(Edit_DataInicial.Text);
QVendas.Parameters.ParamByName('DATAFINAL').Value:= StrToDate(Edit_DataFinal.Text);
QVendas.Open;
if not QVendas.IsEmpty then
while not QVendas.Eof do
begin
QAuxiliar.Close; QAuxiliar.SQL.Text:= 'select * from Clientes where Codigo=:Codigo';
QAuxiliar.Parameters[0].Value:= QVendasCliente.AsInteger;
QAuxiliar.Open;
Writeln(dm.ArqRelatorio, LeftStr(QVendasData.AsString + Dm.Space(10),10) + ' '+
FormatFloat('000000', QVendasComanda.AsInteger) + ' ' +
FormatFloat('0000',QVendasCliente.AsInteger) +'-'+
LeftStr(QAuxiliar.FieldByName('Nome').asString + Dm.Space(32),32) + ' '+
RightStr(DM.Space(9) + FormatFloat('#,##0.000',QVendasQtdeItens.AsFloat),9) +' '+
RightStr(DM.Space(7) + FormatFloat('##0.00',QVendasDescontoPorcetagem.AsFloat),7) + ' '+
RightStr(Dm.Space(11) + FormatFloat('#,##0.00',QVendasValorLiquido.AsFloat),11) +' '+
LeftStr(QVendasFormaPagto.AsString + Dm.Space(8),8)
);
QVendas.Next;
end; |
|
|
Voltar ao Topo |
|
 |
joemil Moderador

Registrado: Quinta-Feira, 25 de Março de 2004 Mensagens: 9100 Localização: Sinop-MT
|
Enviada: Seg Jan 26, 2015 8:53 am Assunto: |
|
|
coloca um ShowMessage pra saber qual o conteudo do campo:
exemplo:
Código: | ShowMessage(QVendasComanda.AsString); |
_________________ <b>SEMPRE COLOQUE [RESOLVIDO] NO SEU POST</b>
Enviar imagens: http://tinypic.com/ |
|
Voltar ao Topo |
|
 |
natanbh1 Colaborador

Registrado: Terça-Feira, 15 de Março de 2011 Mensagens: 3093 Localização: Belo Horizonte - MG
|
Enviada: Seg Jan 26, 2015 9:04 am Assunto: |
|
|
A melhor maneira de encontrar o erro é debugando linha a linha o código.
Altere estas linhas:
Código: | QVendas.Parameters.ParamByName('Vend').Value:= StrToInt(Edt_vendedor.Text); |
Código: | FormatFloat('000000', QVendasComanda.AsInteger) + ' ' + |
Código: | FormatFloat('0000',QVendasCliente.AsInteger) +'-'+ |
Por estas:
Código: | QVendas.Parameters.ParamByName('Vend').Value:= Edt_vendedor.Text; |
Código: | FormatFloat('000000', QVendasComanda.Value) + ' ' + |
Código: | FormatFloat('0000',QVendasCliente.Value) +'-'+ |
_________________ ''A persistência é o caminho para o êxito.''
Charlie Chaplin |
|
Voltar ao Topo |
|
 |
rodrigoprado Colaborador

Registrado: Terça-Feira, 24 de Mai de 2005 Mensagens: 1074 Localização: Curitiba/PR
|
Enviada: Seg Jan 26, 2015 9:18 am Assunto: |
|
|
Amigo joga um breakpoint no inicio desse código, e vai linha a linha, quando para vc nos fale qual linha que é.... ai fica mais facil _________________ - Compartilhe seus conhecimentos - |
|
Voltar ao Topo |
|
 |
antonio.command Novato

Registrado: Sexta-Feira, 8 de Junho de 2007 Mensagens: 68 Localização: Fortaleza
|
Enviada: Seg Jan 26, 2015 7:38 pm Assunto: Agradecimento. |
|
|
Olá amigos, acabei conseguindo. O problema era que tinha colocado para visualizar o edit errado tipo... No formulario tem o edt_CodVendedor e o Edt_Vendedor. Realmente o que tinha no edi_vendedor era strings por isso não estava dando certo. Mas agradeço pois foi atraves dessas suas ideias que percebi o meu GRANDE ERRO!! Valeu meus amigos vocês vão longe. |
|
Voltar ao Topo |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|