Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Nando Leads

Calculo com valors de multiplos checkbox...

Recommended Posts

Bom dia!!!!

 

Estou trabalhando em uma rotima, mas não consigo fazer um calculo que é necessario, vou tentar esplicar da melhor maneira, se vcs puderem me ajudar, agradeço des de já...

 

Tenho um form que lista tudo que a empresa esta devendo para o funcionario com checkbox, esses dados provem de uma tabela no banco de dados.

ficaria +- assim ( [] = checkbox )

 

[] Linha extra 1

[] Linha extra 2

[] Linha extra 3

 

...sendo que cada valor do checkbox é = a 10 reais, que é o valor que ele recebe por serviço extra, e esse valor tbm esta no BD.

 

...no mesmo form logo abaixo existe oq o funcionario esta devendo para a empresa, ex:

 

[] Multa, valor 350,00

[]Avaria, valor 500,00

 

 

essas multa tbm estao cadastradas no BD...

 

..agora como usar..

...o cliente faz a pesquisa com o nome do motorista e vai para essa tela...

 

nela ele marca no checkbox Linha extra 1 e Linha extra 2, que correspondem a 20 reais somando os dois...

 

depois ele escolhe a multa pro exemplo e ao inves de pagar a comissao ao funcionario ele desconta esse valor da multa.....

 

 

 

até ai a minha rotina funciona normalmente...

...ela pega os dois valores e subtrai da multa, e atualiza o BD com o valor atualizado da multa, e o da linha extra como pago...

 

 

 

Agora vem a duvida...

 

Preciso do seguinte...

 

o cliente ve e seleciona duas linhas extra no checkbox... que é oq o patrao esta devendo ao funcionario!!!

ae ele quer descontar de dua multas..ae ele marca o checkbox Avaria e multa... q é oq o funcionario esta devendo ao patrao...

e clica no botao descontar...

 

dai vai ser +- asim ele vai descontar 20,00 das duas multas, só que 10,00 de cada, e ae por diante,

 

e é isso que eu ñ estou consiguindo....

 

ae esta o codigo do formulario:

<%		Dim Conn		Set Conn = Server.CreateObject("ADODB.Connection") 		Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("bd.mdb") 		varPesquisa = request("txtPesquisa")		varPagar	= request("txtPagar")			'************************FUNÇÃO DATA ERRADA***************************'		varData1 = request("txtDataInicial")		varData1 = cdate(varData1)		varData3 = request("txtDataInicial") 		dia=day(varData1) 		mes=month(varData1) 		ano=year(varData1)  		varData1 = mes & "/" & dia & "/" & ano		varData2 = request("txtDataFinal")		varData2 = cdate(varData2)		varData4 = request("txtDataFinal")  		dia=day(varData2) 		mes=month(varData2) 		ano=year(varData2) 			 		varData2 = mes & "/" & dia & "/" & ano		'********************************************************************'		varValor = ""				set rsquery2 = conn.execute("select * from Comissao where Motorista = '" & varPesquisa & "' and Status = '" & varPagar & "' and Data Between #" & varData1 & "# AND #" & varData2 & "# order by Data")		%><style type="text/css"><!--.style1 {color: #FF0000}.style3 {	color: #000000;	font-weight: bold;}.style5 {color: #333333; }.style6 {	color: #666666;	font-weight: bold;}--></style><script language="JavaScript" type="text/JavaScript">ok=false;function CheckAll() {	if(!ok){	  for (var i=0;i<document.form1.elements.length;i++) {		var x = document.form1.elements[i];		if (x.name == 'checkbox') {						x.checked = true;				ok=true;			}		}	}	else{	for (var i=0;i<document.form1.elements.length;i++) {		var x = document.form1.elements[i];		if (x.name == 'checkbox') {						x.checked = false;				ok=false;			}		}		}}</script>		<%		varMotorista = Request("txtPesquisa")		%><!-- '#include file = "drop_sistema.html" --><title>Extras</title><form name="form1" method="post" action="Relatorio_Desconto.asp?VarMotorista=<% = varMotorista %>">		<h2 align="center">Extras(<span class="style1">Comissões</span>)</h2><table width="531" height="418" border="2" align="center">  <tr>	<td width="145"><div align="right"><strong>Nome:</strong></div></td>	<td width="99" height="23"><% = rsquery2("Motorista")%></td>	<td width="56"><div align="right"><strong>Periodo:</strong></div></td>	<td width="201"><% response.write(varData3 & " - Até - " & varData4)%></td>  </tr>  <tr>	<td><div align="right"><strong>Status:</strong></div></td>	<td height="23" colspan="3"><% = rsquery2("Status")%></td>  </tr> 		<%		set rsquery3 = conn.execute("SELECT SUM (Comissao) as valor_mes from Comissao where Motorista = '" & varPesquisa & "' and Status = '" & varPagar & "' and Data Between #" & varData1 & "# AND #" & varData2 & "#")		%>	   <tr>		  <td height="23" colspan="4"> </td>		</tr>		<tr>		  <td height="23" colspan="4"><div align="center" class="style3">Referente á: </div></td>		</tr>		<tr>		  <td height="23" colspan="4"><div align="center" class="style3">			<div align="left" class="style5">Serviços Extras: </div>		  </div></td>		</tr>		<tr>		  <td height="23" colspan="4"><input type="checkbox" name="checkbox1" onClick="CheckAll();" >						<span class="style6">Marcar Todos </span></td>		</tr>			<%			set rsquery4 = conn.execute("select * from Comissao where Motorista = '" & varPesquisa & "' and Status = '" & varPagar & "' and Data Between #" & varData1 & "# AND #" & varData2 & "# order by Data, Ponto_Inicio")					while not rsquery4.eof			%> <tr>	<td height="22" colspan="4"><div align="left"> 		<input type="checkbox" name="checkbox" value="<% = rsquery4("Código")%>">	   		<%			response.write(rsquery4("Data") & " - " & rsquery4("Empresa") & " - " & rsquery4("Ponto_Inicio") )			%>	</div></td>  </tr>			<%			rsquery4.movenext			wend			%>	<tr>	  <td height="22" colspan="4"> </td>	</tr>	<tr>	  <td><div align="right"><strong>Total:</strong></div></td>			<%			varStatusDesc = "Pendente"			set rsquery5 = conn.execute("select * from Descontos where Motorista = '" & varPesquisa & "' and Status = '" & varStatusDesc & "'")			%>				 <td height="23" colspan="3">			<%			valor =  rsquery3.fields("valor_mes")				Response.Write(valor)			%>			</td>	</tr>	<tr>	  <td height="23" colspan="4"> </td>	</tr>	<tr> 	  <td height="23" colspan="4"><div align="left" class="style5"><strong>Descontos:</strong></div></td>			<%			varStatusDesc = "Pendente"			set rsquery5 = conn.execute("select * from Descontos where Motorista = '" & varPesquisa & "' and Status = '" & varStatusDesc & "'")			%>	  </tr>	<tr>			  <%			while not rsquery5.eof			%>	  <td><input name="checkbox2" type= "checkbox"   value="<% = rsquery5("Código")%>">			  <%			Response.Write( "Tipo : " &  rsquery5("Tipo_Desconto"))			%></td>	  <td height="25">			  <%			  valor =  rsquery5("Data")			  Response.Write(valor)			  %>	  </td>	  <td><div align="right">Valor:</div></td>	  <td> 			  <%			  valor =  rsquery5("Valor_Total")			  Response.Write(valor )			  %>	  </td>	</tr>			  <%			  rsquery5.movenext			  wend			%> 			<%			varStatusDesc = "Pendente"			set rsquery5 = conn.execute("select * from Descontos where Motorista = '" & varPesquisa & "' and Status = '" & varStatusDesc & "'")			%>	<tr>	  <td height="23" colspan="4"> </td>	</tr>	<tr>	  <td><div align="right"><strong>Total:</strong></div></td>	  <td height="23" colspan="3">			  <%			set rsquery6 = conn.execute("SELECT SUM (Valor_Total) as Soma_Total from Descontos where Motorista = '" & varPesquisa & "' and Status = '" & varStatusDesc & "'")			while not rsquery6.EOF			  valor =  rsquery6.fields("Soma_Total")				Response.Write(valor)			rsquery6.movenext			wend			%>	  		</td>	</tr>	<tr>	<td height="23" colspan="4"> </td>	</tr>  <tr>	<td height="22" colspan="4"><input type="submit" name="Submit" value="Descontar" />	  <label>	  </label></td>  </tr></table></form>			<%			Conn.Close			%>

 

e o codigo do form que faz a conta e atualiza:

 

<%		Dim Conn		Set Conn = Server.CreateObject("ADODB.Connection")		Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("bd.mdb")		'""""""""""""""""""""""""""""CHECKBOX""""""""""""""""Seleciona os valores da tabela e soma os mesmos"""""""""""""""""""""""""""""""""""""""""""""""""""'		varMotorista = Request.QueryString("varMotorista")				letra= split(request("checkbox"),",",-1,1)				varComissao = 0		varStatus = "Pago"					for each codigo in letra				StrSel = "SELECT  SUM (Comissao) as valor_mes from Comissao where Código = " & codigo & ""				set rsSelect = conn.execute(StrSel)				varComissao = varComissao + CLng(rsSelect.fields("valor_mes"))									StrSel3 = "SELECT * from Comissao where Código = " & codigo & "" 					set rsSelect3 = conn.execute(StrSel3)										varCod = rsSelect3("Código")											StrUpd2 = "update Comissao set Status = '" & varStatus & "' where Código = " & varCod & ""						set rsUpdate = conn.execute(StrUpd2)						next			'"""""""""""""""""""""""""""""""""Seleciona o valor da tabela descontos"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""'									letra2= split(request("checkbox2"),",",-1,1)		  		  		for each codigo in letra2				  			StrSel2 = "Select * from Descontos where Motorista = '" & varMotorista & "' and Código = "& codigo &""			set rsSelect2 = conn.execute(StrSel2)								varVezes = rsSelect2("Vezes")				varM = rsSelect2("Valor_total")				varCodigo = rsSelect2("Código")		next		'""""""""""""""""""""""""""""""""""""""""""""""""""Subtrai o valor da comissao pelo valor do desconto""""""""""""""""""""""""""""""""""""""""""'				resultado = CSng(varM) - CSng(varComissao)			'Response.Write(resultado)'	'""""""""""""""""""""""""""""""""""""""""""""""""""""""""divisao do valor atual do desconto pelo valor da multa"""""""""""""""""""""""""""""""'			varVezes = varVezes			resultado2 = CSng(varVezes) / CSng(resultado)'"""""""""""""""""""""""""Update tbl descontos""""""""atualiza o valor do desconto e o  o valor da parcela""""""""""""""""""""""""""""""""""""'											varResultado  = resultado			varResultado2 = resultado2 									if varCodigo = "" then							Response.Redirect("Relatorio_MotoristaExtras.asp")						else							StrUpd = "update Descontos set Valor_Total = '" & varResultado & "', Parcela = '" & varResultado2 & "' where Código = " & varCodigo & ""											set rsquery = conn.execute(StrUpd)					set rsquery = nothing					set conn = nothing			end if'"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""'						%>

se tiverem qualquer duvida é só postar ae....

Compartilhar este post


Link para o post
Compartilhar em outros sites

para constar vou deixar aquiminha lógica, acho que ela esta certa mas ñ sei como aplicala, como perceberam sou novo no ramo da programação...EX;ele soma os valores do checkbox "comissoes" marcados, ficaria +- assim,[] Linha extra 1[] Linha extra 2[] Linha extra 3se cada um vale 10,00 entao ficaria 30,00e depois divide pelo nº de checkbox marcados na opção descontos...[] Multa, valor 350,00[]Avaria, valor 500,00entao ficaria 30,00 dividido por 2 = 15,00, que é o valor descontado de cada multa e etc...e ai ele subtrai 15,00 de cada valor...acho q estou certo....

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.