[firebase-br] FB tá fazendo cálculo matemático com conteúdo de varchar
Maycon Ferraça
maycon em nucleosistemas.com.br
Seg Jul 16 16:55:06 -03 2007
Substitua a linha onde é atribuído o número da fatura por esta:
wnrfatura = '''' || :wnrnf || '/01''' ;
Maycon Ferraça
Andrei Luís wrote:
> 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