Skip to content

Softshop > SMobile: Lentidão ao importar Pedido do SMobile

Software: SOFTSHOP | Grupo: SMOBILE | Prioridade: ALTA

Solução

Causa:
Os índices e processos das consultas envolvidas estão mal elaborados, o que impacta negativamente o desempenho do SMobile na retaguarda.

**Solução:
** Revisar e ajustar os objetos e critérios conforme orientações abaixo para melhorar a performance geral.

1. Alterar a Consulta:

**SMobile_Sync_Update_Flag_Pedido**

1.1. Acessar 1 Consultas depois 2 SMobile_Sync_Update_Flag_Pedido e abrir com 3 Modo Design ;

1.2. Adicionar o critério **Int([Cadastro de Vendas].[SMobile_Importado]) = 0** no campo **SMobile_Importado**;

2. Alterar a Consulta:

**Smobile_TotalPedidos**

2.1. Acessar 1 Consultas depois 2 Smobile_TotalPedidos e abrir com 3 Modo Design ;

2.2. Adicionar o campo 1 Cancelado da tabela Cadastro de Vendas (Clicar 2x em cima do campo para adicionar) ;

2.3. Incluir o 2 critério **0** no campo **Cancelado**;

3. Alterar a Consulta:

**SMobile_Insert_Vendas_Filtro**

3.1. Acessar 1 Consultas depois 2 SMobile_Insert_Vendas_Filtro e abrir com 3 Modo Design ;

3.2. Adicionar o campo 1 DataImportado da tabela SMobile_Sync_Venda_Importadas (Clicar 2x em cima do campo para adicionar) ;

3.3. Incluir o 2 critério **is null** no campo **DataImportado**;

4. Alterar a Consulta:

**SMobile_Insert_Filter**

4.1. Acessar 1 Consultas depois 2 SMobile_Insert_Filter e abrir com 3 Modo Design ;

4.2. Adicionar o critério **Int([Importar]) <> 0** no campo **Importar**;

5. Alterar a Consulta:

**SMobile_Insert_Receber**

5.1. Acessar 1 Consultas depois 2 SMobile_Insert_Receber e abrir com 3 Modo Design ;

5.2. Alterar a tabela no campo SMobile_Chave para bloquetes ;
A tabela está como Cadastro de Vendas , será necessário fazer a alteração para tabelabloquetes.

6. Alterar a Função:

**SMobile_Sync**

6.1. Acessar 1 Módulos depois 2 SMobile_Sync e abrir com 3 Modo Design ;

6.2. Pressione CTRL + L e pesquise por Public Function SetPedidoImportado() modo pesquisar por Projeto atual e depois Localizar próxima ;

6.3. Alterar a Função para:

Public Function SetPedidoImportado()  
    On Error GoTo TratarErro  
    Dim RETORNO As String  
    Dim tbl As RecordSet  
    Dim rsVenda As RecordSet  
    Dim Chave As String  
    Set tbl = CurrentDb.OpenRecordset("SMobile_Sync_Update_Flag_Pedido")  
    Chave = ""  
    Do While Not tbl.EOF  
        Chave = tbl.Fields("SMobile_Chave")  
        RETORNO = GetWS().wsm_setPedidoImportado(Chave, GetAuth())  
        If RETORNO = "ok" Then  
            Set rsVenda = CurrentDb.OpenRecordset( _  
                "SELECT SMobile_Importado FROM [Cadastro de Vendas] " & _  
                "WHERE [SMobile_Importado] = 0 AND [SMobile_Chave] = '" & Chave & "'")  
            If Not rsVenda.EOF Then  
                rsVenda.Edit  
                rsVenda.Fields("SMobile_Importado") = True  
                rsVenda.Update  
            End If  
            rsVenda.Close  
            Set rsVenda = Nothing  
        End If  
        tbl.MoveNext  
    Loop  
    tbl.Close  
    Set tbl = Nothing  
    MsgBox "Atualizado com sucesso!", vbInformation, "Aviso"  
    Exit Function  
    TratarErro:  
    MsgBox "Erro no método SetPedidoImportado: Chave = " & Chave & " - " & Err.Description, vbCritical, "Aviso"  
End Function


**
Como Solicitar a Revisão ou Criação de FAQs?
** Acesse o fluxo de aprovação FAQ 6729 - Softcom>FAQ: Como se dará o fluxo (Diagrama) de renovação da base de conhecimento? (Clique aqui)


Tags: smobile, retaguarda, desempenho, consultasaccess, otimização, forçadevendas, tablet, android, importacaopedidos, smobileimportado

Documentação de Testes