Ir para conteúdo

POWERED BY:

Arquivado

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

rvscudeller

código

Recommended Posts

Olá! Este é meu primeiro tópico de ajuda aqui no iMasters caso tenho feito alguma coisa de errado me avisem.

Tomo conta de alguns servidores, inclusive windows e numa migração de server 2000 para 2003 uma página começou a dar problema, retornando o seguinte erro:

 

"Erro de tempo de execução do Microsoft VBScript erro '800a0005'Chamada de procedimento ou argumento inválido: 'Space'/store/importa_ped.asp, line 98"

Ao clicar em um link o site redireciona o admin para criar um arquivo com a lista de pedidos, pelo que entendi. e redireciona para esta página.

 

Segue abaixo o código:

 

<!--#include file="conexao.asp"--><!--#include file="formatdate.asp"--><%if request.Cookies("logado")="" then   Response.write "Área restrita, você não está logado!" & "<br>" Else %><% Const numreg = 100Dim pag, pagtotal, saida, iRequest.ServerVariables("QUERY_STRING")pag = Trim(Request.QueryString("pagatual"))If pag = "" then	pag = 1Else	pag = CInt(Request.QueryString("pagatual"))	Select Case Request.QueryString("Pesquisar")		Case "Anterior"			pag = pag -1		Case "Próxima"			pag = pag+1		End SelectEnd Ifobjreg.CursorLocation = 3objreg.CursorType = adOpenStaticobjreg.CacheSize = pagobjreg5.CursorLocation = 3objreg5.CursorType = adOpenStaticobjreg5.CacheSize = pagbusca = Trim(Request("busca"))'busca2 = buscabusca = Lcase(busca)busca = replace(busca,"a","[a,á,à,ã,â,ä]")busca = replace(busca,"e","[e,é,è,ê,ë]")busca = replace(busca,"i","[i,í,ì,î,ï]")busca = replace(busca,"o","[o,ó,ò,õ,ô,ö]")busca = replace(busca,"u","[u,ú,ù,û,ü]")busca = busca'buscaArray = split(busca," ")numeropedido = Request("numeropedido")	saida = "SELECT pedidos.numeropedido, pedidos.datapedido, pedidos.horapedido, pedidos.codcliente, pedidos.dataentrega, pedidos.codigovenda, pedidos.observacoes, pedidos.variacao, pedidos.ordemcompra, pedidos.comprador, pedidos.vendedor, itens_pedido.codigoproduto, itens_pedido.referencia, itens_pedido.quantidade, itens_pedido.valor_unit, itens_pedido.valor_total FROM pedidos, itens_pedido WHERE pedidos.numeropedido = itens_pedido.numeropedido AND pedidos.importado is null"objreg.Open saida, objconexao, , , adCmdTextobjreg.PageSize = numreg' *****************************************' Adiciona zeros à esquerda' *****************************************' *******************************************************************************************'GERA ARQUIVO DE PEDIDO' *******************************************************************************************  dia = day(date)  dia = Space(2 - Len(dia)) & dia  dia = Replace(dia, " ", "0")  mes = month(date)  mes = Space(2 - Len(mes)) & mes  mes = Replace(mes, " ", "0")    ano = year(date)  ano = Mid(ano, 3, 2)    contador = objreg.RecordCount + 1    nomearquivo = "P" & dia & mes & ano & contador    If objreg.Recordcount > 0 then  	Set FSO = Server.CreateObject("Scripting.FileSystemObject")	caminho = Server.MapPath("lotes\" + nomearquivo + ".txt") 'especifique aqui o caminho onde ficará/está o TXT'	caminho = "e:\home\dominio\Dados\" + nomearquivo + ".txt" ' padrão LOCAWEB		Set GRAVAR = FSO.CreateTextFile(caminho,true)	'Foi criado o objeto e logo após busca o txt em caminho para gravar, se não achar, vai cria-lo (por causa da marcação TRUE)	For i=1 to objreg.RecordCount	' variáveis	datapedido = RIGHT("0" & DAY(objreg("datapedido")),2) & RIGHT("0" & MONTH(objreg("datapedido")),2) & YEAR(objreg("datapedido"))	horapedido = Mid(objreg("horapedido"), 1, 2) & Mid(objreg("horapedido"), 4, 2) & Mid(objreg("horapedido"), 7, 2)	dataentrega = RIGHT("0" & DAY(objreg("dataentrega")),2) & RIGHT("0" & MONTH(objreg("dataentrega")),2) & YEAR(objreg("dataentrega"))	codigovenda = objreg("codigovenda") + Space(20 - Len(objreg("codigovenda")))	observacoes = objreg("observacoes") + Space(50 - Len(objreg("observacoes")))'	variacao = Space(2 - Len(objreg("variacao"))) + objreg("variacao")	'	variacao = Replace(variacao, "", "0")	variacao = objreg("variacao")	ordemcompra = Space(10 - Len(objreg("ordemcompra"))) + objreg("ordemcompra")	ordemcompra = Replace(ordemcompra, "", "0")	comprador = objreg("comprador") + Space(20 - Len(objreg("comprador")))	vendedor = objreg("vendedor") + Space(20 - Len(objreg("vendedor")))	referencia = objreg("referencia") + Space(50 - Len(objreg("referencia")))	quantidade = Space(5 - Len(objreg("quantidade"))) + objreg("quantidade")	quantidade = Replace(quantidade, "", "0")		valorunit = FormatNumber(objreg("valor_unit"))	valorunit = Replace(valorunit, ",", "")	valorunit = Replace(valorunit, ".", "")		valorunit = Space(10 - Len(valorunit)) + valorunit	valorunit = Replace(valorunit, "", "0")	valortotal = FormatNumber(objreg("valor_total"))		valortotal = Replace(valortotal, ",", "")	valortotal = Replace(valortotal, ".", "")		valortotal = Space(10 - Len(valortotal)) + valortotal	valortotal = Replace(valortotal, "", "0")					  gravar.writeline(objreg("numeropedido") + datapedido + horapedido + objreg("codcliente") + dataentrega + codigovenda + observacoes + variacao + ordemcompra + comprador + vendedor + objreg("codigoproduto") + referencia + quantidade + valorunit + valortotal)'	  gravar.writeline (campeonato)	objreg.MoveNext	if objreg.EOF then Exit For	Next 		gravar.close		flag = "*"	gravacao =  "Lote de Pedidos gerado com sucesso."		flag = "UPDATE pedidos SET importado = '"&flag&"' WHERE importado is null"	objreg2.Open flag, objconexao, , , adCmdText  Else  	gravacao =  "Não existem pedidos para gerar um lote."    End If   ' ***********************************************************************************' LISTA OS ARQUIVOS DISPONÍVEIS' ***********************************************************************************Set fso = CreateObject("Scripting.FileSystemObject") Set folder = fso.GetFolder(Server.Mappath("lotes")) Set files = folder.Files %><html><head><title>CALDENSE EMBALAGENS :: PEDIDO GRAVADO</title><link href="formatacao.css" rel="stylesheet" type="text/css"><style type="text/css">.style5 {font-size: 12px; font-weight: bold; font-family: Arial, Helvetica, sans-serif; }.style6 {	font-family: Arial, Helvetica, sans-serif;	font-size: 10px;}.style7 {	font-family: Arial, Helvetica, sans-serif;	font-size: 12px;}</style><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head><body>  <table width="760" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#EEEEEE">	<tr>	  <td scope="col"><table width="100%" border="0" cellspacing="0" cellpadding="0">		  <tr>			<td width="1%" background="img/gif/back.gif" scope="col"><img src="img/gif/back_transp.gif" width="2" height="100" /></td>			<td width="98%" background="img/gif/back.gif" scope="col"><img src="img/gif/logo2.gif" width="425" height="80" /></td>			<td width="1%" background="img/gif/back.gif" scope="col"> </td>		  </tr>		  <tr>			<td bgcolor="#F5F5F5"> </td>			<td bgcolor="#F5F5F5"><table width="100%" border="0" cellspacing="2" cellpadding="0">			  <tr>				<td bgcolor="#F5F5F5" scope="col"><table width="95%" border="0" cellspacing="0" cellpadding="0" align="center">					<tr>					  <% Response.Write gravacao & "<P>"%>					  <%If Cor = "#EAEAEA" thenCor = "#FFFFFF"ElseCor = "#EAEAEA"End If%>					  <%				  For Each file in Files%>					<tr height="15" bgcolor="<% =Cor %>"> <span class="style7">					  <% =Response.Write ("<a href=lotes\" & file.Name & ">" & file.Name & "</a>") %>					</span></tr>					<%Next %>				  </table>					<div align="center"></div></td>			  </tr>			  <tr>				<td colspan="2"><span class="style5"><a href="novo_pedido.asp"></a></span>					<div align="right"><a href="clientes.asp?busca=<%=busca%>" class="style5">Voltar</a></div></td>			  </tr>			  <tr>				<td colspan="2" background="img/gif/back_inf.gif"><img src="img/gif/back_transp2.gif" width="7" height="19" /></td>			  </tr>			</table>			  <span class="style6"> </span>			</table></body></html><%Set files = folder.Files Set file = NothingSet fso = Nothing%><% End if %>

 

A linha 76 é esta:

ordemcompra = Space(10 - Len(objreg("ordemcompra"))) + objreg("ordemcompra")

Alguém teria alguma idéia do que está acontecendo??

Tenho poucas noções de ASP e o cliente diz que o problema é no meu servidor, e afinal ele só reclamou depois da migração. Eu tenho que habilitar alguma "coisa" para esta página?? Ou o código do cliente está errado??

 

Agradeço por qq ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

camarada...ele deve estar perdido com a função space pois você faz um cálculo dentro dele e o valor deve estar retornando negativosó uma coisa, você estaca a linha 76, porém a mensagem de erro acusa a linha 98

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpa fui eu que me confundi na hora de escrever a linha, é 98 mesmo e a linha que destaquei é a 98.Funcionava no Windows 2000 e só foi migrar que o cliente reclamo que isso não tava mais funcionando. Pra te falar a verdade como não sou desenvolvedor deste código "não coloco minha mão no fogo por ele não".e como eu faria pra me certificar que é esse erro mesmo que a variável fica negativa??+ Alguma idéia??

Compartilhar este post


Link para o post
Compartilhar em outros sites

antes dessa linha do erro coloque

response.write("valor do recordset = "&Len(objreg("ordemcompra")))response.end()
se o valor for menor que 10 então pode ser esse o erro, ai o problema se resolve com uma verificação de condicional(IF ELSE END IF)

 

só uma coisa, eu faria um pouco diferente em todas as variaveis que você quer zeros a esquerda

de:

ordemcompra = Space(10 - Len(objreg("ordemcompra"))) + objreg("ordemcompra")	ordemcompra = Replace(ordemcompra, "", "0")
faria:

	ordemcompra = right("000000000"&objreg("ordemcompra"),10)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado, voltou a funcionar.

Foi só mudar a forma de gerar zeros a esquerda como você indico.

 

antes dessa linha do erro coloque

response.write("valor do recordset = "&Len(objreg("ordemcompra")))response.end()
se o valor for menor que 10 então pode ser esse o erro, ai o problema se resolve com uma verificação de condicional(IF ELSE END IF)

 

só uma coisa, eu faria um pouco diferente em todas as variaveis que você quer zeros a esquerda

de:

ordemcompra = Space(10 - Len(objreg("ordemcompra"))) + objreg("ordemcompra")	ordemcompra = Replace(ordemcompra, "", "0")
faria:

	ordemcompra = right("000000000"&objreg("ordemcompra"),10)

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.