Erro: Orderform.value("user_id") de sites de varejo não for renovada em novo usuário GUID

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 296306
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Sintomas
Quando um usuário navega para o site de solução de varejo como um usuário convidado, adiciona um produto ao carrinho dele e assina com uma conta que o usuário criado anteriormente, a venda está registrado nas tabelas OrderGroup, OrderFormHeader e OrderFormLineItems no banco de dados transação após o usuário concluir a compra.

No entanto, as tabelas OrderGroup e OrderFormHeader contêm anomalias seguintes:
  • A tabela OrderGroup contém valores NULL para user_first_name e user_last_name , mesmo que o usuário inseriu esses valores no perfil de.
  • A tabela OrderFormHeader não contém o user_id do usuário registrado.
Causa
Esse problema ocorre porque o valor user_id não é atualizado corretamente no nível do OrderForm; ele contém identificador globalmente exclusivo do usuário convidado (GUID) em vez de GUID do usuário registrado.
Resolução
Para resolver esse problema, substitua Sub MoveBasketItem em retail/login/login.asp com o seguinte código:
Sub MoveBasketItems(ByVal sSourceBasketID, ByVal sDestinationBasketID)   Dim mscsOrderGrp, mscsOrderGrpMgr   Dim sNewUserID, sOrderFormName   ' The source basket must exist and contain at least one item.   Set mscsOrderGrp = LoadBasket(sSourceBasketID)   If mscsOrderGrp.Value(TOTAL_LINEITEMS) <> 0 Then      ' Add the items in the source basket to the items in the destination basket.      Set mscsOrderGrp = LoadBasket(sDestinationBasketID)      Call mscsOrderGrp.AddItemsFromTemplate(sSourceBasketID)      ' *      ' * BEGIN NEW CODE      ' *      sNewUserID = sDestinationBasketID      For Each sOrderFormName In mscsOrderGrp.Value(ORDERFORMS)         Call mscsOrderGrp.PutOrderFormValue("user_id", sNewUserID, sOrderFormName)      Next      ' *      ' * END NEW CODE      ' *      Call mscsOrderGrp.SaveAsBasket()      ' Remove the source basket.      Set mscsOrderGrpMgr = GetOrderGroupManager()      Call mscsOrderGrpMgr.DeleteOrderGroupFromDisk(sSourceBasketID)   End IfEnd Sub				
Situação
A Microsoft confirmou que este é um problema no Microsoft Commerce Server 2000.
Mais Informações

Etapas para reproduzir o problema

  1. Adicione o componente Scriptor DumpOrder.vbs ao pipeline Basket.pcf.
  2. Abra o site de varejo.
  3. Adicione itens ao carrinho como um usuário convidado.
  4. Entrar como o usuário que registrou.
  5. Consulte o carrinho e confirme que são adicionados os itens da etapa 2.
  6. Fazer check-out. Observe que os campos de tabela OrderGroup user_first_name e user_last_name são NULL .
  7. Abra o arquivo de log criados DumpOrder.vbs. Observe que [user_id] é o GUID do usuário convidado.
sites cs2k varejo supplierad supplieractivedirectory erros incorretos

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 296306 - Última Revisão: 12/06/2015 02:09:29 - Revisão: 2.2

Microsoft Commerce Server 2002 Standard Edition, Microsoft Commerce Server 2000 Standard Edition

  • kbnosurvey kbarchive kbmt kbbug kbpending KB296306 KbMtpt
Comentários