[firebase-br] Calculo entre campos TIME e DECIMAL.

Nícolas Concianci ti em telassantoantonio.com.br
Qua Fev 19 17:28:57 -03 2020


Boa tarde José, tudo bem? Me desculpe pela demora do feedback.
Estava apanhando para aplicar seu código no fastreport aqui, mas consegui resolver de outra forma pelo sql mesmo.
Ficou assim.
select
IT.QTD,  EA.TEMPO_PROD, (IT.QTD*(cast(EA.TEMPO_PROD as time)- cast('00:00:00' as time))),

dateadd((item_pedv.QTD*(cast(EA.TEMPO_PROD as time)- cast('00:00:00' as time))) SECOND to time '00:00') as TEMPO

FROM
EST_ADICIONAIS EA
INNER JOIN ESTOQUE E ON EA.CODIGO = E.CODIGO
INNER JOIN ITEM_PEDV IT ON IT.CODIGO = E.CODIGO
Resultados - Qtd 61,8 - Tempo_Prod 00:02:16 - Tempo "02:20:05"
No mais agradeço pela ajuda e pela lógica passada anteriormente.
Atenciosamente,

Nícolas C.

Em Ter, Fev 18, 2020 às 18:58, José Mauricio barbisan Zottis  escreveu:
Eu faria assim:
Faria o calculo apenas para saber quantos segundos levaria para fazer o
trabalho
(Caso ache necessário, pode desenvolver uma procedure com a função que
passei)

SELECT (IT.QTD * EA.TEMPO_PROD as TEMPO
FROM........

depois com essa função(Delphi) converto para Horas

Function MinutosParaHora(Minutos:integer): string;//Retorna no formato
"00:00"
var aux, hr   : integer;
aux_str, hr_str : string;
Begin

hr            :=   Trunc(minutos / 60);
aux           :=   minutos mod 60;

if (aux  >  60) Then // se soma de minutos for > 60...
Begin // somamos + 1 hora e subtraimos 60 do total de minutos
hr       :=   hr + 1;
aux      :=   aux - 60;
End;

if (aux  =  60) Then // se for = a 60...
Begin // somamos a hora e zeramos minutos
hr      :=   hr+1;
aux      :=   0;
End;

if (aux  >= 0) and (aux  =0) and (hr escreveu:

Boa tarde José, usando sua lógica fiz algo parecido, só estou com
dificuldades para converter de voltar à campo tempo, consegue dar mais uma
luz?
Até então o sql está assim.

SELECT (IT.QTD*(cast(EA.TEMPO_PROD as time)- cast('00:00' as time))) as
TEMPO
FROM

EST_ADICIONAIS EA
INNER JOIN ESTOQUE E ON EA.CODIGO = E.CODIGO
INNER JOIN ITEM_PEDV IT ON IT.CODIGO = E.CODIGO
WHERE

EA.LOTE  ''
---
IT.QTD = 61,8, EA.TEMPO_PROD = '00:01:35' mas no sql ele está sendo
entendido como 95
Resultado= 5871.
Atenciosamente,

Nícolas C.
Em Ter, Fev 18, 2020 às 13:46, José Mauricio barbisan Zottis  escreveu:
Eu faria o calculo todo ele em segundos, e armazenaria também o tempo que
leva para produzir em Segundos, ou seja o campo de tempo seria um integer
aí você apresenta o resultado convertendo os segundos em tempo.

Em ter., 18 de fev. de 2020 às 12:23, Nícolas Concianci <
ti em telassantoantonio.com.br (mailto:ti em telassantoantonio.com.br) (mailto:ti em telassantoantonio.com.br (mailto:ti em telassantoantonio.com.br))>
escreveu:

Não tinha postado pois estou tentando outros comandos para o cálculo,
então não tenho 1 select fixo como base mas a primeira coisa que tentei foi
isso.
SELECT (EA.TEMPO_PROD * IT.QTD)
FROM
EST_ADICIONAIS EA
INNER JOIN ESTOQUE E ON EA.CODIGO = E.CODIGO
INNER JOIN ITEM_PEDV IT ON IT.CODIGO = E.CODIGO
WHERE
EA.LOTE  ''
Atenciosamente,
Nícolas C.
Em Ter, Fev 18, 2020 às 12:15, José Mauricio barbisan Zottis  escreveu:
bom dia, para que possam te ajudar, sempre poste o calculo que esta
fazendo.

Em ter., 18 de fev. de 2020 às 11:58, Nícolas Concianci <
ti em telassantoantonio.com.br (mailto:ti em telassantoantonio.com.br) (mailto:ti em telassantoantonio.com.br (mailto:ti em telassantoantonio.com.br)) (mailto:
ti em telassantoantonio.com.br (mailto:ti em telassantoantonio.com.br) (mailto:ti em telassantoantonio.com.br (mailto:ti em telassantoantonio.com.br)))>
escreveu:

Boa tarde a todos, estou em um impasse aqui onde necessito fazer um
calculo de um campo TIME onde fica armazenado o tempo para produzir o item,
e o campo DECIMAL que armazena a quantidade solicitada pelo cliente.
Sempre ocorre o erro de Invalid data type for division in dialect 3.
Creio que seja algo simples que não estou enxergando, se puderem me dar
algum norte irei agradecer muito.
Atenciosamente,

Nícolas C.
______________________________________________
FireBase-BR (www.firebase.com.br (http://www.firebase.com.br) (http://www.firebase.com.br (http://www.firebase.com.br)) (
http://www.firebase.com.br (http://www.firebase.com.br) (http://www.firebase.com.br (http://www.firebase.com.br)))) -
Hospedado em www.locador.com.br (http://www.locador.com.br) (http://www.locador.com.br (http://www.locador.com.br)) (
http://www.locador.com.br (http://www.locador.com.br) (http://www.locador.com.br (http://www.locador.com.br)))
Para saber como gerenciar/excluir seu cadastro na lista, use:
http://www.firebase.com.br/fb/artigo.php?id=1107 (http://www.firebase.com.br/fb/artigo.php?id=1107) (
http://www.firebase.com.br/fb/artigo.php?id=1107 (http://www.firebase.com.br/fb/artigo.php?id=1107)) (
http://www.firebase.com.br/fb/artigo.php?id=1107 (http://www.firebase.com.br/fb/artigo.php?id=1107) (
http://www.firebase.com.br/fb/artigo.php?id=1107 (http://www.firebase.com.br/fb/artigo.php?id=1107)))
Para consultar mensagens antigas:
http://www.firebase.com.br/pesquisa_lista.html (http://www.firebase.com.br/pesquisa_lista.html) (
http://www.firebase.com.br/pesquisa_lista.html (http://www.firebase.com.br/pesquisa_lista.html)) (
http://www.firebase.com.br/pesquisa_lista.html (http://www.firebase.com.br/pesquisa_lista.html) (
http://www.firebase.com.br/pesquisa_lista.html (http://www.firebase.com.br/pesquisa_lista.html)))

--
______________________________________________
FireBase-BR (www.firebase.com.br (http://www.firebase.com.br) (http://www.firebase.com.br (http://www.firebase.com.br)) (
http://www.firebase.com.br (http://www.firebase.com.br) (http://www.firebase.com.br (http://www.firebase.com.br)))) -
Hospedado em www.locador.com.br (http://www.locador.com.br) (http://www.locador.com.br (http://www.locador.com.br)) (
http://www.locador.com.br (http://www.locador.com.br) (http://www.locador.com.br (http://www.locador.com.br)))
Para saber como gerenciar/excluir seu cadastro na lista, use:
http://www.firebase.com.br/fb/artigo.php?id=1107 (http://www.firebase.com.br/fb/artigo.php?id=1107) (
http://www.firebase.com.br/fb/artigo.php?id=1107 (http://www.firebase.com.br/fb/artigo.php?id=1107)) (
http://www.firebase.com.br/fb/artigo.php?id=1107 (http://www.firebase.com.br/fb/artigo.php?id=1107) (
http://www.firebase.com.br/fb/artigo.php?id=1107 (http://www.firebase.com.br/fb/artigo.php?id=1107)))
Para consultar mensagens antigas:
http://www.firebase.com.br/pesquisa_lista.html (http://www.firebase.com.br/pesquisa_lista.html) (
http://www.firebase.com.br/pesquisa_lista.html (http://www.firebase.com.br/pesquisa_lista.html)) (
http://www.firebase.com.br/pesquisa_lista.html (http://www.firebase.com.br/pesquisa_lista.html) (
http://www.firebase.com.br/pesquisa_lista.html (http://www.firebase.com.br/pesquisa_lista.html)))
______________________________________________
FireBase-BR (www.firebase.com.br (http://www.firebase.com.br) (http://www.firebase.com.br (http://www.firebase.com.br))) -
Hospedado em www.locador.com.br (http://www.locador.com.br) (http://www.locador.com.br (http://www.locador.com.br))
Para saber como gerenciar/excluir seu cadastro na lista, use:
http://www.firebase.com.br/fb/artigo.php?id=1107 (http://www.firebase.com.br/fb/artigo.php?id=1107) (
http://www.firebase.com.br/fb/artigo.php?id=1107 (http://www.firebase.com.br/fb/artigo.php?id=1107))
Para consultar mensagens antigas:
http://www.firebase.com.br/pesquisa_lista.html (http://www.firebase.com.br/pesquisa_lista.html) (
http://www.firebase.com.br/pesquisa_lista.html (http://www.firebase.com.br/pesquisa_lista.html))

--
______________________________________________
FireBase-BR (www.firebase.com.br (http://www.firebase.com.br) (http://www.firebase.com.br (http://www.firebase.com.br))) -
Hospedado em www.locador.com.br (http://www.locador.com.br) (http://www.locador.com.br (http://www.locador.com.br))
Para saber como gerenciar/excluir seu cadastro na lista, use:
http://www.firebase.com.br/fb/artigo.php?id=1107 (http://www.firebase.com.br/fb/artigo.php?id=1107) (
http://www.firebase.com.br/fb/artigo.php?id=1107 (http://www.firebase.com.br/fb/artigo.php?id=1107))
Para consultar mensagens antigas:
http://www.firebase.com.br/pesquisa_lista.html (http://www.firebase.com.br/pesquisa_lista.html) (
http://www.firebase.com.br/pesquisa_lista.html (http://www.firebase.com.br/pesquisa_lista.html))
______________________________________________
FireBase-BR (www.firebase.com.br (http://www.firebase.com.br)) - Hospedado em www.locador.com.br (http://www.locador.com.br)
Para saber como gerenciar/excluir seu cadastro na lista, use:
http://www.firebase.com.br/fb/artigo.php?id=1107 (http://www.firebase.com.br/fb/artigo.php?id=1107)
Para consultar mensagens antigas:
http://www.firebase.com.br/pesquisa_lista.html (http://www.firebase.com.br/pesquisa_lista.html)

--
______________________________________________
FireBase-BR (www.firebase.com.br (http://www.firebase.com.br)) - Hospedado em www.locador.com.br (http://www.locador.com.br)
Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107 (http://www.firebase.com.br/fb/artigo.php?id=1107)
Para consultar mensagens antigas: http://www.firebase.com.br/pesquisa_lista.html (http://www.firebase.com.br/pesquisa_lista.html)



Mais detalhes sobre a lista de discussão lista