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