Jump to content


kythao's Content

There have been 1 items by kythao (Search limited from 29/03/2023)


Ordernar por                Order  

#877587 Erro Adodb.field Error '80020009

Posted by kythao on 23/10/2007, 21:42 in Dúvidas sobre Scripts Prontos de ASP

Tento fazer uma compra depois de ter realizado outra e recebo a seguinte mensagem.

ADODB.Field error '80020009'

Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.

/minhaloja/inicia_transacao.asp, line 128

por favor me ajudem

<%
'-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
' Loja Exemplo Locaweb
' Versão: 6.3
' Data: 12/09/06
' Arquivo: inicia_transacao.asp
' Versão do arquivo: 0.0
' Data da ultima atualização: 23/08/07
'
'-----------------------------------------------------------------------------
' Licença Código Livre: http://comercio.Locaweb.com.br/gpl/gpl.txt
'-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-

rodape = "no"
navegacaocompra = "fim"
page = "inicia_transacao"
passo=3
%>
<!--#INCLUDE FILE="funcoes/funcoes_grava_transacao.asp" -->
<!--#INCLUDE FILE="funcoes/funcoes_cartao.asp" -->
<!--#INCLUDE FILE="funcoes/funcoes_usuario.asp" -->
<!--#INCLUDE FILE="funcoes/funcoes_endereco.asp" -->
<!--#INCLUDE FILE="funcoes/funcoes_uteis.asp" -->
<!--#INCLUDE FILE="funcoes/funcoes_mail.asp" -->
<!--#INCLUDE FILE="funcoes/funcoes_md5.asp"-->
<table height="100%" width="100%" border="0" cellspacing="0" cellpadding="0">
	<tr>
		<td colspan="3" valign="top" height="30"><!--#INCLUDE FILE="cabecalho.asp" --></td>
	</tr>
	<tr>
		<%If navegacaocompra = "fim" Then%>
		<td valign="top" height="10%" width="10%" class="TBLlatesquerda"><!--#INCLUDE FILE="menu_poscarrinho.asp" --></td>
		<%Else%>
		<td valign="top" height="10%" width="10%" class="TBLlatesquerda"><!--#INCLUDE FILE="menu.asp" --></td>
		<%End if%>
		<td valign="top" height="95%">
			<%
			permissao="read"
			page = "iniciatransacao"
			readonly = "readonly"

			If Request.form("acao") = "" Then

				' Verifica se o pedido não está sendo refeito com outra forma de pagamento
				If Session("novoPedido") = "yes" Then

					' Resgata a forma de pagamento utilizada na última tentativa
					forma_pagto = Pega_DadoBanco("Pedidos","forma_pagamento","sessionID","'"&Session("id_transacao")&"'")

					' Verifica se a forma ded pagamento seleciona é diferente da última tentativa
					If Session("forma_pagamento") <> forma_pagto Then
						' Zera as sessões
						Session("novoPedido") = Empty
						Session("resgistroPedido") = Empty
						Session("resgistroPedidoItem") = Empty
						Session("registrado") = Empty
						Session("codigo_pedido") = Empty
					End If

				End If				

				' Verifica se o número de parcelas está puro
				If Instr(Request("dados_adicionais"),"|") = 0 And Len(Request("dados_adicionais")) <> 0 Then
					' Atualiza o número de parcelas no XML do pedido
					Call alteraValorAtrib(Application("DiretorioPedidos")&session("id_transacao")&".xml","dados_pedido","num_parcelas",Request("dados_adicionais"))
				End If
				'Resgata a forma de pagamento escolhida
				sForma_pagamento = pegaValorAtrib(Application("DiretorioPedidos")&session("id_transacao")&".xml","dados_pedido","forma_pagamento")
				' Verifica a forma de pagamento escolhida
				If sForma_pagamento = "Amex" Or sForma_pagamento = "Mastercard" Or sForma_pagamento = "Diners" Or sForma_pagamento = "Visa" Then
					' Verifica se o parcelado está disponível para essa forma de pagamento
					If pegaValorAtrib(Application("XMLMeiosPagamentos"),"configuracao/pagto[@nome_pagto='"&sForma_pagamento&"']","permite_parcelamento") = "sim" Then
						' Verifica o tipo de parcelado configurado para essa forma de pagamento
						If pegaValorAtrib(Application("XMLMeiosPagamentos"),"configuracao/pagto[@nome_pagto='"&sForma_pagamento&"']","juros") = "lojista" Then ' Juros do Lojista
						
							' Formata o número de parcelas(retira o zero à esquerda)
							If Left(Request("dados_adicionais"),1) = "0" Then
								nNumParcela = Right(Request("dados_adicionais"),1)
							Else
								nNumParcela = Request("dados_adicionais")
							End If

							' Resgata o tipo e valor da taxa da opção de parcelamento escolhida
							sTipotaxa = pegaValorAtrib(Application("XMLMeiosPagamentos"),"configuracao/pagto[@nome_pagto='"&sForma_pagamento&"']","parc"&nNumParcela)
							' Resgata o valor total do pedido
							currTotalPedido = pegaValorAtrib(Application("DiretorioPedidos")&session("id_transacao")&".xml","dados_pedido","valor_total")
							' Verifica o tipo de taxa utilizado no parcelamento escolhido
							If sTipotaxa = "Desconto" Then ' Desconto
								nValortaxa = pegaValorAtrib(Application("XMLMeiosPagamentos"),"configuracao/pagto[@nome_pagto='"&sForma_pagamento&"']","taxa_desconto")
								currValorCalc = calculaValorTaxa(currTotalPedido,nValortaxa,"Desconto")
							ElseIf sTipotaxa = "Com juros" Then ' Com Juros
								nValortaxa = pegaValorAtrib(Application("XMLMeiosPagamentos"),"configuracao/pagto[@nome_pagto='"&sForma_pagamento&"']","taxa_juros")
								currValorCalc = calculaValorTaxa(currTotalPedido,nValortaxa,"Acrescimo")
							Else ' Sem Juros
								nValortaxa = 0
							End If

							' Atualiza o valor total da transação no XML do pedido, caso necessário
							If currValorCalc <> "" Then
								Call alteraValorAtrib(Application("DiretorioPedidos")&session("id_transacao")&".xml","dados_pedido","valor_total",currValorCalc)
							End If
							' Atualiza no XML do pedido o tipo e taxa do parcelamento
							Call alteraValorAtrib(Application("DiretorioPedidos")&session("id_transacao")&".xml","dados_pedido","tipo_taxa_adicional",sTipotaxa)
							Call alteraValorAtrib(Application("DiretorioPedidos")&session("id_transacao")&".xml","dados_pedido","taxa_adicional",nValortaxa)

						Else ' Juros do Emissor

							' Atualiza no XML do pedido o tipo do parcelamento
							Call alteraValorAtrib(Application("DiretorioPedidos")&session("id_transacao")&".xml","dados_pedido","tipo_taxa_adicional","Juros do Emissor")

						End If
					End If
				End If

				'Grava os dados do pedido no banco de dados
				Call CarregaGrava_dados_pedido(session("id_transacao"), objXML, objRoot,VarAdicional)

			End If

			Set RS_pega_codigo = CreateObject("ADODB.Recordset")
			Set RS_pega_codigo.ActiveConnection = Conexao
			RS_pega_codigo.CursorLocation = 3
			RS_pega_codigo.CursorType = 0
			RS_pega_codigo.LockType =  1

			RS_pega_codigo.Open "SELECT TOP 1 codigo_pedido FROM Pedidos WHERE sessionID = '" & session("id_transacao") & "' ORDER BY codigo_pedido DESC", Conexao

			Session("codigo_pedido") = RS_pega_codigo("codigo_pedido")

			RS_pega_codigo.Close
			Set RS_pega_codigo = Nothing
			%>
			<table width="100%" border=0 align="center" cellpadding="0" cellspacing="10">
				<tr>
					<td align="center" height="18" valign="middle"><!--#INCLUDE FILE="barra_passoapasso.asp" --></td>
				</tr>
				<tr bgcolor="#FFFFFF">
					<td align="center"  valign="top">
						<table width="100%" border=0 align="center" cellpadding="4" cellspacing="1" bgcolor="#CCCCCC">
							<%
							'Abre conexao ao XML dos meios de pagto.
							Call abre_ArquivoXML(Application("XMLMeiosPagamentos"),FctobjXML,FctobjRoot) 
							Set configuracao = FctobjRoot.selectSingleNode("configuracao/pagto[@nome_pagto='"&Session("forma_pagamento")&"']")

							'Abre conexao ao XML do pedido.
							Call abre_xmlpedido(session("id_transacao"), objXML, objRoot) 
							Set raiz_dados_pedido = objRoot.selectSingleNode("dados_pedido[@id_transacao="&session("id_transacao")&"]")
							
							'Verifica a forma de pagamento escolhida
							If Session("forma_pagamento") = "Visa" Then
								'Verifica a solução definida para uso da transação (vb script: document.brasil.submit();"><img border=0 src="config/templates/<%=varLang%>/<%=varSkin%>/banner_bb.gif"></a></p>
											<p align="center">Caso a janela do banco não seja aberta automaticamente, clique na imagem acima para iniciar a transação!</p>
										</FORM>
										&lt;script LANGUAGE=javascript>
										<!--
											  vpos=window.open('','vpos','toolbar=yes,menubar=yes,resizable=yes,status=no,scrollbars=yes,width=690,height=500');
											  document.brasil.submit();
										//-->
										</SCRIPT>
<%
									' Opção de pagamento Itau Shopline
									Elseif Session("forma_pagamento") = "Itau" Then

										total = Replace(Replace(raiz_dados_pedido.getAttribute("valor_total"),",",""),".","")
										data_inicio = CorrigeData(raiz_dados_pedido.getAttribute("inicio_transacao"))
										vencimento = Formatdatetime(DateAdd("d", configuracao.getAttribute("ItauDiasdeVencimento"), data_inicio), 2)

										Set objSrvHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP")
										
										'Monta o endereço do sacado
										varEnd = Session("logradouro_cobranca") & "," & Session("numero_cobranca")

										'Monta os dados postados à operadora
										valores = "meio_pagamento_seguro=ITAU"
										valores = valores & "&loja=" & configuracao.getAttribute("UsuarioLocaweb")
										valores = valores & "&pedido=" & Session("codigo_pedido")
										valores = valores & "&valor=" & total
										If Trim(Session("razaosocial_cobranca")) <> "" Then
										valores = valores & "&nome=" & Server.URLEncode(Session("razaosocial_cobranca"))
										valores = valores & "&cpfcgc=" & Session("cnpj_cobranca")
										Else
										valores = valores & "&nome=" & Server.URLEncode(Session("nome_cobranca"))
										valores = valores & "&cpfcgc=" & Session("cpf_cobranca")
										End If
										valores = valores & "&obs=" & Server.URLEncode(configuracao.getAttribute("OBSItau"))
										valores = valores & "&endereco=" & Server.URLEncode(varEnd)
										valores = valores & "&bairro=" & Server.URLEncode(Session("bairro_cobranca"))
										valores = valores & "&cep=" & Session("cep_cobranca")
										valores = valores & "&cidade=" & Server.URLEncode(Session("cidade_cobranca"))
										valores = valores & "&estado=" & Session("estado_cobranca")
										valores = valores & "&vencimento=" & vencimento
										valores = valores & "&URLRETORNO="&Replace(Application("URLRecibo"),Application("SSLloja"),"")
										valores = valores & "&acao=" & configuracao.getAttribute("ItauShopLine")

										objSrvHTTP.open "POST", Application("URLItauShopline"), False

										objSrvHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
										objSrvHTTP.send valores

										If objSrvHTTP.Status = 200 Then
										response.write objSrvHTTP.responseText
										Else
										Response.write "Error: (" & objSrvHTTP.Status & ") " & objSrvHTTP.statusText
										End If

										Set objSrvHTTP = Nothing

									' Opção de pagamento Amex
									Elseif Session("forma_pagamento") = "Amex" Then

										' Formata o numero de parcelas
										If Request("dados_adicionais") = "01" Or Request("dados_adicionais") = "" Then
											parcelas = "00"
										Else
											parcelas = Request("dados_adicionais")
										End If

										' Verifica a cobraça de juros
										If configuracao.getAttribute("juros") = "emissor" Then ' Juros do Emissor
											sTipoJuros = "PlanAmex"
										Else ' Juros do lojista
											sTipoJuros = "PlanN"
										End If

										total = Replace(Replace(raiz_dados_pedido.getAttribute("valor_total"),",",""),".","")

										'Grava os dados iniciais da transação no banco de dados
										Call GravaTransacaoInicialAmex(Session("codigo_pedido"),Request("dados_adicionais"),configuracao.getAttribute("AmexTipodeplano"))

									%>
									<pre>
									<form name="amex" method="POST" action="<%= Application("URLAmex") %>">
										<input type="hidden" name="meio_pagamento_seguro" value="AMEX">
										<input type="hidden" name="loja" value="<%= configuracao.getAttribute("UsuarioLocaweb") %>">
										<input type="hidden" name="MerchTxnRef" value="<%= Session("codigo_pedido") %>">
										<input type="hidden" name="valor" value="<%= total %>">
										<input type="hidden" name="OrderInfo" value="<%= Session("codigo_pedido") %>">
										<input type="hidden" name="Locale" value="<%= configuracao.getAttribute("AmexLocale") %>">
										<% If parcelas <> "00" Then %>
										<input type="hidden" name="parcelas" value="<%= parcelas%>">
										<input type="hidden" name="PaymentPlan" value="<%= configuracao.getAttribute("AmexTipodeplano") %>">
										<% End If %>
										<input type="hidden" name="ReturnURL" value="<%= Application("URLRecibo") %>">
										&lt;script LANGUAGE=javascript>
										<!--
											  document.amex.submit();
										//-->
										</SCRIPT>
									</form>
									</pre>
									<%
									' Opção de pagamento Bradesco
									Elseif Session("forma_pagamento") = "Bradesco" Then

										'Grava os dados iniciais da transação no banco de dados
										Call GravaTransacaoInicialBradesco(Session("codigo_pedido"))

										' Muda para a página de pagamento enviando dados da compra
										' Os dados enviados são obrigatórios
										VarMetodoPag = Request("metodo_pag")

										' Redireciona a Scopus conforme a opção de pagamento selecionada
										If VarMetodoPag = "TRANSFER" Then
											If configuracao.getAttribute("BradescoAmbiente") = "TESTE" Then
												varURLBradescoTransfer = Application("URLTESTEBradescoTransfer")
											Else
												varURLBradescoTransfer = Application("URLPRODBradescoTransfer")
											End If

											' transferencia entre contas
											Response.Redirect varURLBradescoTransfer & configuracao.getAttribute("BradescoLoja") & "/prepara_pagto.asp?merchantid=" & configuracao.getAttribute("BradescoLoja") & "&orderid=" & Session("codigo_pedido")
										ElseIf VarMetodoPag = "CC" Then
											If configuracao.getAttribute("BradescoAmbiente") = "TESTE" Then
												varURLBradescoPagFacil = Application("URLTESTEBradescoPagFacil")
											Else
												varURLBradescoPagFacil = Application("URLPRODBradescoPagFacil")
											End If

											' pagamento facil
											Response.Redirect varURLBradescoPagFacil & configuracao.getAttribute("BradescoLoja") & "/prepara_pagto.asp?merchantid=" & configuracao.getAttribute("BradescoLoja") & "&orderid=" & Session("codigo_pedido")
										ElseIf VarMetodoPag = "FINANCIAMENTO" Then
											If configuracao.getAttribute("BradescoAmbiente") = "TESTE" Then
												varURLBradescoFinanciamento = Application("URLTESTEBradescoFinanciamento")
											Else
												varURLBradescoFinanciamento = Application("URLPRODBradescoFinanciamento")
											End If

											' financiamento
											Response.Redirect varURLBradescoFinanciamento & configuracao.getAttribute("BradescoLoja") & "/prepara_pagto.asp?merchantid=" & configuracao.getAttribute("BradescoLoja") & "&orderid=" & Session("codigo_pedido")
										End If

									' Opção de pagamento ABNCDC
									Elseif Session("forma_pagamento") = "ABNCDC" Then

									'Resgata os valores adicionais e associa as respectivas variáveis
									VARdados_adicionais = split(Request("dados_adicionais"),"|")
									VARabn_formapgto = VARdados_adicionais(0)
									VARabn_garantia  = VARdados_adicionais(1)
									VARabn_entrada   = VARdados_adicionais(2)
									VARabn_vencto	= VARdados_adicionais(3)

									%>
									<form method="POST" name="frmABNCDC" action="<%= Application("URLABNCDC")%>">
										<input name="VAR01" type="hidden" value="<%= configuracao.getAttribute("VAR01")%>">
										<input name="VAR02" type="hidden" value="<%= configuracao.getAttribute("VAR02")%>">
										<input name="VAR03" type="hidden" value="<%= Application("URLRecibo") & "?codigo_pedido=" & Session("codigo_pedido") %>">
										<input name="VAR04" type="hidden" value="<%= Session("codigo_pedido")%>">
										<input name="VAR05" type="hidden" value="<%= VARabn_formapgto%>">
										<% If Session("razaosocial_cobranca") <> "" And Session("cnpj_cobranca") <> "" Then %>
											<input name="VAR06" type="hidden" value="J">
											<input name="VAR07" type="hidden" value="<%= Session("razaosocial_cobranca")%>">
											<input name="VAR09" type="hidden" value="<%= Session("cnpj_cobranca")%>">
										<% Else %>
											<input name="VAR06" type="hidden" value="F">
											<input name="VAR07" type="hidden" value="<%= Session("nome_cobranca")%>">
											<input name="VAR09" type="hidden" value="<%= Session("cpf_cobranca")%>">
										<% End If %>
										<input name="VAR08" type="hidden" value="<%= Session("user_id")%>">
										<input name="VAR21" type="hidden" value="<%= configuracao.getAttribute("VAR21")%>">
										<% If VARabn_vencto <> "" Then %>
											<input name="VAR23" type="hidden" value="<%= VARabn_vencto%>">
										<% End If %>
										<input name="VAR22" type="hidden" value="<%= raiz_dados_pedido.getAttribute("valor_total")%>">
										<input name="VAR26" type="hidden" value="<%= VARabn_garantia%>">
										<input name="VAR27" type="hidden" value="Simulação de financiamento de compra">
										<% If VARabn_entrada <> "" Then %>
											<input name="VAR28" type="hidden" value="<%= VARabn_entrada%>">
										<% End If %>
									</form>
									&lt;script LANGUAGE=javascript>
									<!--
										document.frmABNCDC.submit();
									//-->
									</SCRIPT>
									<%
									End if
									%>
								</td>
							</tr>
							<%
							Set raiz_dados_pedido = Nothing
							'Fecha conexao ao XML do pedido.
							Call fecha_xmlpedido(session("id_transacao"))

							'Fecha conexao ao XML dos meios de pagto.
							Call fecha_ArquivoXML(Application("XMLMeiosPagamentos"),FctobjXML,FctobjRoot) 
							%>
						</table>
					</td>
				</tr>
				<tr bgcolor="#FFFFFF">
					<% IF Session("cep_entrega") <> "" THEN %>
					<td  height="25" align="center" bgcolor="#EAEAEA" disabled><B><%=Application("InitTxtTitDadosCobranca")%></B></td>
					<% ELSE %>
					<td  height="25" align="center" bgcolor="#EAEAEA" disabled><B><%=Application("InitTxtTitDadosCobrancaEntrega")%></B></td>
					<% END IF %>
				</tr>
				<tr bgcolor="#FFFFFF">
					<td align="center"  valign="top">
						<table width="100%" border=0 align="center" cellpadding="4" cellspacing="1" bgcolor="#CCCCCC">
							<tr bgcolor="#EFEFEF">		
								<td align="center"><%Call Mostra_Endereco("cobranca")%></td>
							</tr>
						</table>
					</td>
				</tr>
				&lt;script>
				checkTipCad('cobranca');
				</script>
				<% IF Session("cep_entrega") <> "" THEN %>
				<tr bgcolor="#FFFFFF">
					<td  height="25" align="center"  bgcolor="#EAEAEA" disabled><B><%=Application("InitTxtTitDadosEntrega")%></B></td>
				</tr>
				<tr bgcolor="#FFFFFF">
					<td align="center"  valign="top">
						<table width="100%" border=0 align="center" cellpadding="4" cellspacing="1" bgcolor="#CCCCCC">
							<tr bgcolor="#EFEFEF">		
								<td align="center"><%Call Mostra_Endereco("entrega")%></td>
							</tr>
						</table>
					</td>
				</tr>
				&lt;script>
				checkTipCad('entrega');
				</script>
				<% END IF %>
			</table>
			</form>
		</td>
		<td valign="top" height="10%" width="10%" class="TBLlatdireita"><!--#INCLUDE FILE="lateral_servicos.asp" --></td>
	</tr>
	<tr>
		<td colspan="3" valign="top"><!--#INCLUDE FILE="rodape.htm" --></td>
	</tr>
</table>




IPB Skin By Virteq