Re: [firebase-br] FB tá fazendo cálculo matemático com conteúdo de varchar
omar l m rosa
omar em conesul.inf.br
Seg Jul 16 16:49:38 -03 2007
tá faltando as aspas!!!!
o sql ficará assim: ''',''' || :wnrfatura || ''', '|| ' current_date
'||
antes era: ''',' || :wnrfatura || ', '|| ' current_date '||
capisco?
omar
----- Original Message -----
From: "Andrei Luís" <compuvale.software em gmail.com>
To: "Firebase" <lista em firebase.com.br>
Sent: Monday, July 16, 2007 3:47 PM
Subject: [firebase-br] FB tá fazendo cálculo matemático com conteúdo de
varchar
Seguinte, tenho uma SP que disparo quando uma nota fiscal é emitida
para fazer o lançamento no financeiro. Tá tudo perfeito, só um detalhe
tá me deixando de cabelo branco, lanço no financeiro o nr do
documento, que nesse cado é o nr da nota fiscal / nr da parcela, ex:
7800/01
7800/02
7800/03
Só que ao inves de gravar como aí acima, tá gravando o resultado do
"calculo".
Não tô entendendo pois tá tudo declarado como Varchar. O campo onde
está sendo inserido, a variável na SP tá declarada como varchar, o
campo de onde busco o nr da fatura tá como varchar...
Já fiz cast (wnrFatura as varchar(10)) mas dá sempre na mesma.
Alguém tem alguma dica? Abaixo trechos da SP:
declare variable nr_fatura1 varchar(10);
declare variable nr_fatura2 varchar(10);
declare variable nr_fatura3 varchar(10);
declare variable wnrfatura char(10);
Select fatura1, fatura2, fatura3,
dataven1, dataven2, dataven3,
nr_fatura1, nr_fatura2, nr_fatura3
from notasFiscais
where registro_id = :wnotafiscal_id
into wfatura1, wfatura2, wfatura3,
wdataven1, wdataven2, wdataven3,
nr_fatura1, nr_fatura2, nr_fatura3;
x = 1;
while (x < 11) do
begin
if (x = 1) then
begin
wDataven = wDataven1;
wfatura = wfatura1;
wnrfatura = :wnrnf || '/01' ;
end
if (x = 2) then
begin
wDataven = wdataven2;
wfatura = wfatura2;
wnrfatura = Cast(:wnrnf || '/02' as varchar(10)) ;
end
if (x = 3) then
begin
wDataven = wdataven3;
wfatura = wfatura3;
wnrfatura = nr_fatura3;
end
wSQL1 ='Insert into Financeiro (Registro_id, tipo, cadastrado,
cedente_id,'||
'cedente_nome, historico, documento,
dataemissao, '||
'datavencimento, valorProjetado,
datapagamento, '||
'valorRealizado, quitado, quitado_data, '||
'cancelado, cancelado_data, obs, '||
'notafiscal_id, parcela) '||
'Values(0, ' || '''RF''' || ', ' || '''T''' ||
', '|| :wcliente_id ||
',(Select nome from agenda where
agenda.registro_id = ' || :wcliente_id || ')'
|| ',' ||'''FATURA - PARCELA ' || :x || ' DE ' ||
:wparcelas || ' REF. NF NR ' || :wnrnf ||
''',' || :wnrfatura || ', '|| ' current_date '||
', ''' || Cast(:wdataven as Varchar(10))|| ''',' ||
:wfatura || ', null, 0, ' || '''F''' || ', null, ' || '''F''' ||
', null, null, '||:wnotafiscal_id ||', ' || :x || ')';
if (:wFatura > 0) then
begin
Execute Statement wSQL1;
end
x = x+1;
end
[]s
Andrei
Win XP Pro + D2006 Pro + FB 2.0.1 + IBO 4.7.16
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
Mais detalhes sobre a lista de discussão lista