Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Estou precisando calcular o valor hora trabalhada da seguinte forma:
HORA | VALOR HORA | TOTAL A PAGAR
02:30 X 60,00 = 150,00
Veja abaixo uma tabela com os valores das horas e o calculo delas:
Estou usando essa fórmula atualmente:
=Coluna3 * VLRHORA, mas não está dando certo.
Onde a coluna 3 ficam as horas que excederam do contrato e que devo multiplicar pelo valor hora contratado.
Senhor felipedl, agradeço sua colaboração, você me deu uma grande ajuda para sanar minha dificuldade.
Com base na sua explanação eu consegui fazer dentro da expressão a seguinte forma:
=(floor(Column(4)) * 24 * CRM_CTR_VLRADIC) + (hour(Column(4)) * CRM_CTR_VLRADIC) + (Minute(Column(4))/60 * CRM_CTR_VLRADIC)
obedecendo as colunas da tabela abaixo:
Olá Guilherme,
A conta simples por si só não ira conseguir pegar o resultado que você quer, visto que o campo está com um valor de hora e sendo assim o seu valor de 31:15 hora é representado numericamente por 1.302, por isso sua conta dá bem baixo.
Fazendo o seguinte script:
let valorHora = 60;
load
*,
// Pega o número de dias
floor([Hora Extra])*24*$(valorHora)
+
// Pega o número de horas
hour([Hora Extra])*$(valorHora)
+
// Pega o valor de minutos
Minute([Hora Extra])/60*$(valorHora) as Calculo;
load * Inline
[
Hora Extra
31:15
35:00
];
Chega-se no abaixo, que acredito ser o que você precisa.
Veja que só tenho o campo Hora Extra na tela, um com a representação numérica e a outra de intervalo no formato hh:mm.
Executei teu código e ficou assim:
mas como estou iniciando, não consigo fazer o cálculo com esses dados.
Sei que cada cálculo foi tirado da coluna Hora Extra.
Dúvidas:
Você calcula [Hora Extra] multiplicando por 24 horas, onde 24 é o total de horas num dia?
Depois você separa a quantidade de horas e a quantidade de minutos, juntando num campo "as Calculo";
Esse campo cálculo já é o valor em horas que devo cobrar de meu cliente?
Oi Guilherme,
O que acontece é que a Hora extra = 31:15 é na verdade o número 1.302, ou seja o que passa de 1 é considerado um dia inteiro, e a fração do número seriam as horas restantes e minutos.
Quando dou o floor([Hora Extra]) está considerando os dias, e por isso faço por 24 para depois multiplicar pelo valor da hora.
Nâo tenho o sense instalado aqui, ai vou ficar devendo o QVF.
Mas o cálculo seria
floor([Hora Extra]) = 1
1 * 24 * [Hora Trabalhada] = 1440
Então até essa porção, o custo é de 1440 por questão de 1 dia de trabalho extra.
A funçaõ minute([Hora Extra]) irá retornar os 15 minutos da hora. Pra pegar o valor a ser cobrado, é necessário dividir por 60 (minutos/hora) e multiplicar pelo valor/hora * 60.
Nesse caso, irá anula e portanto para 15 minutos serão taxados os 60.
O mesmo vale para as 35h.
floor([Hora Extra]) = 1 * 24 * 60 = 1440
hour([Hora Extra]) = 11 * 60 = 660
Logo o valor total será 2100.
Espero ter conseguido exemplificar melhor.
Felipe.
Começou a ficar claro o raciocínio.
Fiz o cálculo dos valores horas e minutos em separado e ficou assim:
de onde você tirou: "660"?
Outra dúvida é todo cálculo de horas para achar o valor em reais(moeda), deve obedecer esse formato/fórmula?
Os 660 são para o segundo caso, das 35h.
Não necessariamente precisa ser esse cálculo em específico, mas deve dar uma boa diretriz pra pegar o número de horas trabalhadas sim.
Os cálculos na verdade só são feitos pra pegar as horas por cada número fracionário que é a representação numérica.
A implementação do valor pago pode ser considerando outras métricas (por exemplo horas extras e afins) que podem mudar o cálculo.
Então no gráfico abaixo:
na expressão eu coloquei assim:
=floor(Column(3)) * 24 * $(CRM_CTR_VLRHORA) + hour(Column(3)) * $(CRM_CTR_VLRHORA) + Minute(Column(3))/60 * $(CRM_CTR_VLRHORA)
mas não trouxe nenhum resultado.
Como devo colocar a fórmula de forma correta?
Na verdade não precisaria colocar na expressão se já está calculado no script.
O código já faria esse cálculo e como expressão seria só colocar =sum(Calculo) que já resolveria.
Felipe.
Entendi, porém, esse valor deve ser apresentado conforme seleção, pois temos vários clientes. Então não vejo como poderei fazer os valores atualizarem se aplicar direto script.
Oi Guilherme,
É só dispor os dois valores em uma tabela simples, está no print que mandei também (a tabela mais de cima).
O campo calculado pode ser utilizado como filtro para que possam ser selecionados os valores.
Felipe.