Pular para o conteúdo principal

SIN001 — Cadastro de Dispositivo Móvel (enriquecimento)

Menu: Sincronização de PDAs-Palms > Cadastro de Dispositivo Móvel

Objetivo​

A tela SIN001 cadastra os dispositivos móveis (coletores/PDAs, tablets) que sincronizam com o JunsoftERP, definindo empresa, usuário responsável e o tipo de uso do aparelho: Coleta Recap., Produção Recap., Pedido Faturamento (venda externa) ou Balanço/Contagem de Estoque. Também controla, para cada dispositivo, parâmetros de sincronização (GPS, estoque, imagens, preços), vendedores autorizados e as contas de saldo/formas de pagamento que ele pode movimentar.

Fluxo principal​

  1. Acessar Sincronização de PDAs-Palms > Cadastro de Dispositivo Móvel e incluir um novo registro; a aba Parâmetros é aberta e o foco vai para o código do dispositivo. (Parâmetros) — source/SIN001/UframeSIN001.pas:331-336 (TframeSIN001.FrameEnter)
  2. Informar a Empresa (F9 para buscar); o sistema valida e preenche o nome da empresa. (Parâmetros) — source/SIN001/UframeSIN001.pas:226-239 (TframeSIN001.editIdEmpresaKeyDown)
  3. Informar o Usuário (F9 para buscar); o sistema valida se o usuário existe e verifica se ele é recebedor de contas. (Parâmetros) — source/SIN001/UdmSIN001.pas:275-297 (TdmSIN001.qryCadastroCD_USUARIOValidate)
  4. Escolher o Tipo do Aparelho (Coleta Recap., Produção Recap., Pedido Faturamento ou Balanço/Contagem Estoque), que ajusta as abas disponíveis. (Parâmetros) — source/SIN001/UframeSIN001.pas:419-473 (TframeSIN001.cmbTPDISPOSITIVOChange)
  5. Se aplicável, configurar dias da semana, horário de expediente e tempo de sincronização na aba Sincronização GPS. (Sincronização GPS) — source/SIN001/UformSIN001.pas:213-227 (TformSIN001.ValidaCamposObrigatorios)
  6. Se a empresa usa múltiplos vendedores, incluir vendedores na aba Vendedores (F9 para buscar cada um). (Vendedores) — source/SIN001/UframeSIN001.pas:475-505 (TframeSIN001.btnIncluirVendedorClick)
  7. Se o dispositivo recebe contas, informar a Conta de Saldo (campo único ou grade da aba Recbto Contas) e a Forma de Pagamento. (Recbto Contas) — source/SIN001/UframeSIN001.pas:566-599 (TframeSIN001.chkSTRECEBECONTASClick)
  8. Clicar em OK (F6) para validar todas as regras obrigatórias e gravar o cadastro do dispositivo. (Parâmetros) — source/SIN001/UframeSIN001.pas:291-329 (TframeSIN001.actionOKExecute)

Campos obrigatórios​

CampoCondiçãoMensagemFonte
Empresa (IDEMPRESA)Sempre, ao gravar o dispositivosource/SIN001/UframeSIN001.pas:291-297 (TframeSIN001.actionOKExecute)
Usuário (CD_USUARIO)Sempre, ao gravar o dispositivosource/SIN001/UframeSIN001.pas:291-297 (TframeSIN001.actionOKExecute)
Conta de Saldo (campo único)Dispositivo diferente de Balanço/Contagem (E) e sem usar a grade de múltiplas contassource/SIN001/UframeSIN001.pas:313-317 (TframeSIN001.actionOKExecute)
Conta de Saldo (grade Recbto Contas)Recebimento de Contas = Sim e aba Recbto Contas visívelsource/SIN001/UframeSIN001.pas:318-325 (TframeSIN001.actionOKExecute)
Vendedor (linha da grade Vendedores)Ao incluir/gravar uma linha na grade Vendedoressource/SIN001/UdmSIN001.pas:534-540 (TdmSIN001.qryVendedoresBeforePost)
Conta (CD_CONTA, linha da grade Contas de Saldo)Ao gravar uma linha da grade Contas de Saldosource/SIN001/UdmSIN001.pas:833-841 (TdmSIN001.qryContaSaldoBeforePost)
Forma de Pagamento (linha da grade Forma Pagto)Ao gravar uma linha da grade Forma Pagtosource/SIN001/UdmSIN001.pas:914-920 (TdmSIN001.qryFormaPagtoBeforePost)
Tolerância (Dias) - NRTOLERANCIADIASincronização Automática = Simsource/SIN001/UformSIN001.pas:207-211 (TformSIN001.ValidaCamposObrigatorios)
Dias da semana, Horário Início/Fim Expediente e Tempo Sincronização GPSDispositivo tipo Coleta ou Pedido com 'Obriga uso do GPS no pedido' ou 'Sincroniza GPS em Tempo Real' = Simsource/SIN001/UformSIN001.pas:213-227 (TformSIN001.ValidaCamposObrigatorios)

Mensagens: causa e ação​

A Conta saldo já cadastrada para o dispositivo. Verifique!​

Causa: Na grade Contas de Saldo (aba Recbto Contas) foi informada uma conta que já está vinculada a este mesmo dispositivo.

Ação: Informar outra conta ou remover a linha duplicada da grade.

Fonte: source/SIN001/UdmSIN001.pas:843-879 (TdmSIN001.qryContaSaldoCD_CONTAValidate)

A Conta saldo não está cadastrada, ou está indisponível para o usuário informado. Verifique[FNC002]!​

Causa: A conta informada não existe para a empresa em PARMSALDO/Cartão de Crédito, ou não está liberada para o usuário vinculado ao dispositivo (VIEW_PARMSALDO).

Ação: Liberar a conta para o usuário no cadastro financeiro (Contas de Saldo) ou informar outra conta.

Fonte: source/SIN001/UdmSIN001.pas:622-654 (TdmSIN001.qryCadastroIDCONTASALDOCARTAOValidate)

A Movimentação Não Está Ativa! [TCB001]​

Causa: A Movimentação de Itens informada está com ST_ATIVO = N.

Ação: Reativar a movimentação em Cadastro de Movimentação ou escolher outra ativa.

Fonte: source/SIN001/UdmSIN001.pas:227-249 (TdmSIN001.qryCadastroIDMOVITEMValidate)

A Movimentação Não Está Parametrizada para Dispositivos Móveis! [TCB001]​

Causa: A movimentação informada não tem o parâmetro de sincronização com dispositivos móveis (ST_SINCRONIZACAO) habilitado.

Ação: Habilitar a sincronização na movimentação em Cadastro de Movimentação ou escolher outra.

Fonte: source/SIN001/UdmSIN001.pas:227-249 (TdmSIN001.qryCadastroIDMOVITEMValidate)

A Movimentação Não Está Cadastrada! [TCB001]​

Causa: O código de movimentação informado não existe.

Ação: Informar um código válido usando F9 para buscar.

Fonte: source/SIN001/UdmSIN001.pas:227-249 (TdmSIN001.qryCadastroIDMOVITEMValidate)

A quantidade de dias deve maior que zero. Verfique!​

Causa: Foi informado valor zero ou negativo no campo Qtde dias p/ buscar Lista de Preços por Faturamento.

Ação: Informar um valor maior que zero ou deixar o campo em branco.

Fonte: source/SIN001/UdmSIN001.pas:522-526 (TdmSIN001.qryCadastroQTDIASSINCPRECOFATURValidate)

A Quantidade de Dias Informada Deve Ser Maior que Zero. Verfique!​

Causa: Foi informado valor zero ou negativo no campo Qtd Dias Rota.

Ação: Informar um valor maior que zero ou deixar o campo em branco.

Fonte: source/SIN001/UdmSIN001.pas:515-520 (TdmSIN001.qryCadastroQTDIASROTAValidate)

Antes de Informar a conta é necessário informar a Empresa. Verifique!​

Causa: Foi digitada a Conta de Saldo antes de preencher a Empresa do dispositivo.

Ação: Preencher primeiro o campo Empresa.

Fonte: source/SIN001/UdmSIN001.pas:622-634 (TdmSIN001.qryCadastroIDCONTASALDOCARTAOValidate)

Antes de Informar a conta é necessário informar o Usuário. Verifique!​

Causa: Foi digitada a Conta de Saldo antes de preencher o Usuário do dispositivo.

Ação: Preencher primeiro o campo Usuário.

Fonte: source/SIN001/UdmSIN001.pas:622-634 (TdmSIN001.qryCadastroIDCONTASALDOCARTAOValidate)

Deseja realmente limpar a chave? Esta ação vai liberar este cadastro para ser usado por qualquer dispositivo...​

Causa: O usuário clicou no botão Limpar Chave para reutilizar o cadastro em outro aparelho.

Ação: Confirmar apenas se for reaproveitar o cadastro em outro dispositivo; a base local do aparelho antigo precisa ser apagada.

Fonte: source/SIN001/UframeSIN001.pas:382-401 (TframeSIN001.btnLimparChaveClick)

Existem Contas de Saldo cadastradas para a empresa %s. Delete essas contas antes de alterar a empresa​

Causa: Tentativa de trocar a Empresa do dispositivo enquanto ainda há Contas de Saldo cadastradas vinculadas à empresa anterior.

Ação: Excluir as contas de saldo do dispositivo na aba Recbto Contas antes de trocar a empresa.

Fonte: source/SIN001/UdmSIN001.pas:186-201 (TdmSIN001.qryCadastroBeforePost)

Forma de Pagamento não cadastrada. Verifique! [TFC001]​

Causa: O código de forma de pagamento informado não existe.

Ação: Usar F9 para buscar uma forma de pagamento válida.

Fonte: source/SIN001/UdmSIN001.pas:887-912 (TdmSIN001.qryFormaPagtoCD_FORMAPAGTOValidate)

Forma de Pagamento já cadastrada para o dispositivo. Verifique!​

Causa: A forma de pagamento informada já está vinculada a este dispositivo.

Ação: Escolher outra forma de pagamento ou remover a linha duplicada.

Fonte: source/SIN001/UdmSIN001.pas:887-912 (TdmSIN001.qryFormaPagtoCD_FORMAPAGTOValidate)

Informe o Vendedor!​

Causa: Tentou gravar uma linha da grade Vendedores sem selecionar o vendedor.

Ação: Informar o vendedor (F9) antes de sair da linha.

Fonte: source/SIN001/UdmSIN001.pas:534-540 (TdmSIN001.qryVendedoresBeforePost)

Local de Estoque informado não está cadastrado. Verfique [TEQ003]!​

Causa: O código de Local de Estoque informado não existe.

Ação: Usar F9 para buscar um local de estoque cadastrado.

Fonte: source/SIN001/UdmSIN001.pas:782-811 (TdmSIN001.qryCadastroIDLOCALESTOQUEValidate)

Movimentação Informada não está cadastrada. Verifique [TCB001]!​

Causa: O código de Movimentação de Compra informado não existe.

Ação: Informar um código válido usando F9.

Fonte: source/SIN001/UdmSIN001.pas:722-756 (TdmSIN001.qryCadastroIDMOVIMENTACAOCOMPRAValidate)

O número de dispositivos cadastrados do tipo Coleta Recap./Pedido Mobile excede o número de dispositivos permitidos para a licença!​

Causa: A soma de dispositivos tipo Coleta e Pedido Mobile cadastrados ultrapassa o limite NRLICENCACOLETA da licença contratada.

Ação: Excluir dispositivos não usados ou solicitar ampliação da licença ao comercial.

Fonte: source/SIN001/UformSIN001.pas:132-196 (TformSIN001.verificaLicencaDispositivos)

O número de dispositivos cadastrados do tipo Produção Recap. excede o número de dispositivos permitidos para a licença!​

Causa: A quantidade de dispositivos tipo Produção Recap. cadastrados ultrapassa o limite NRLICENCAPRODUCAO da licença contratada.

Ação: Excluir dispositivos não usados ou solicitar ampliação da licença ao comercial.

Fonte: source/SIN001/UformSIN001.pas:132-205 (TformSIN001.verificaLicencaDispositivos)

O Tipo de Operação da Movimentação "%s" não pode ser de Venda. Verifique [TCB001]!​

Causa: A movimentação de compra informada tem tipo de operação Venda.

Ação: Informar uma movimentação cujo tipo de operação não seja Venda.

Fonte: source/SIN001/UdmSIN001.pas:722-756 (TdmSIN001.qryCadastroIDMOVIMENTACAOCOMPRAValidate)

O Tipo Vendedor não está cadastrado. Verifique [TFA064]!​

Causa: O código de Tipo Vendedor informado não existe.

Ação: Usar F9 para buscar um tipo de vendedor válido.

Fonte: source/SIN001/UdmSIN001.pas:701-720 (TdmSIN001.qryCadastroIDTIPOVENDEDORPEDIDOValidate)

O Usuário não está Cadastrado [ADM001]!​

Causa: O código de usuário informado não existe na tabela USUARIO.

Ação: Informar um código de usuário válido (F9).

Fonte: source/SIN001/UdmSIN001.pas:275-297 (TdmSIN001.qryCadastroCD_USUARIOValidate)

O usuário não possui um "ID"​

Causa: O usuário localizado na busca está com o campo ID vazio no cadastro de usuários.

Ação: Acionar o suporte/TI para corrigir o cadastro do usuário em Cadastro de Usuário.

Fonte: source/SIN001/UframeSIN001.pas:241-266 (TframeSIN001.editIdUsuarioKeyDown)

O Vendedor não está Cadastrado ! [TFA007]!​

Causa: O vendedor informado não existe ou está com ST_ATIVO diferente de 'S'.

Ação: Informar um vendedor ativo, usando F9 para buscar.

Fonte: source/SIN001/UdmSIN001.pas:554-604 (TdmSIN001.qryVendedoresIDVENDEDORValidate)

Para Dispositivo de Coleta e "Obriga Uso do GPS no pedido" ou "Sincroniza GPS em Tempo Real" igual a "Sim"...​

Causa: Dispositivo tipo Coleta/Pedido com uma dessas opções marcadas, mas faltam dias da semana, horários de expediente ou tempo de sincronização GPS.

Ação: Preencher os dias da semana, horário de início/fim e tempo de sincronização na aba Sincronização GPS.

Fonte: source/SIN001/UformSIN001.pas:213-227 (TformSIN001.ValidaCamposObrigatorios)

Perfil Informado não está cadastrado. Verifique [TPO033]!​

Causa: O código de Perfil de Itens de Compra informado não existe.

Ação: Informar um perfil válido usando F9.

Fonte: source/SIN001/UdmSIN001.pas:758-780 (TdmSIN001.qryCadastroIDPERFILITENSCOMPRAValidate)

Vendedor já informado. Verifique!​

Causa: O vendedor selecionado já está vinculado a este dispositivo.

Ação: Escolher outro vendedor ou remover a linha duplicada da grade.

Fonte: source/SIN001/UdmSIN001.pas:554-604 (TdmSIN001.qryVendedoresIDVENDEDORValidate)

É obrigatório informar a Conta de Saldo. Verifique!​

Causa: Dispositivo configurado para receber contas, mas nenhuma conta de saldo foi informada (nem no campo único nem na grade).

Ação: Informar a conta de saldo no campo único ou incluir ao menos uma linha na grade Contas de Saldo.

Fonte: source/SIN001/UframeSIN001.pas:313-325 (TframeSIN001.actionOKExecute)

É obrigatório informar a forma de pagamento. Verifque!​

Causa: Tentou gravar uma linha da grade Forma Pagto sem informar o código.

Ação: Informar a forma de pagamento (F9) antes de sair da linha.

Fonte: source/SIN001/UdmSIN001.pas:914-920 (TdmSIN001.qryFormaPagtoBeforePost)

Regras de negócio​

  • SIN001.R001 (ver regras/SIN001/SIN001.R001.md)
  • SIN001.R002 (ver regras/SIN001/SIN001.R002.md)
  • SIN001.R003 (ver regras/SIN001/SIN001.R003.md)
  • SIN001.R004 (ver regras/SIN001/SIN001.R004.md)
  • SIN001.R005 (ver regras/SIN001/SIN001.R005.md)
  • SIN001.R006 (ver regras/SIN001/SIN001.R006.md)
  • SIN001.R007 (ver regras/SIN001/SIN001.R007.md)
  • SIN001.R008 (ver regras/SIN001/SIN001.R008.md)
  • SIN001.R009 (ver regras/SIN001/SIN001.R009.md)
  • SIN001.R010 (ver regras/SIN001/SIN001.R010.md)
  • SIN001.R011 (ver regras/SIN001/SIN001.R011.md)
  • SIN001.R012 (ver regras/SIN001/SIN001.R012.md)
  • SIN001.R013 (ver regras/SIN001/SIN001.R013.md)
  • SIN001.R014 (ver regras/SIN001/SIN001.R014.md)
  • SIN001.R015 (ver regras/SIN001/SIN001.R015.md)
  • SIN001.R016 (ver regras/SIN001/SIN001.R016.md)
  • SIN001.R017 (ver regras/SIN001/SIN001.R017.md)
  • SIN001.R018 (ver regras/SIN001/SIN001.R018.md)
  • SIN001.R019 (ver regras/SIN001/SIN001.R019.md)
  • SIN001.R020 (ver regras/SIN001/SIN001.R020.md)
  • SIN001.R021 (ver regras/SIN001/SIN001.R021.md)
  • SIN001.R022 (ver regras/SIN001/SIN001.R022.md)

Perguntas frequentes​

P: Por que não consigo salvar o dispositivo e aparece 'É obrigatório informar a Conta de Saldo'? R: Dispositivos que não são do tipo Balanço/Contagem precisam de uma Conta de Saldo vinculada: no campo único (quando 'Recebimento de Contas' está desmarcado ou o tipo não é Coleta) ou em pelo menos uma linha da grade Contas de Saldo (aba Recbto Contas, quando Recebimento de Contas = Sim). Fonte: source/SIN001/UframeSIN001.pas:313-325 (TframeSIN001.actionOKExecute)

P: Recebi a mensagem de que o número de dispositivos excede a licença, o que fazer? R: A quantidade de dispositivos cadastrados dos tipos Coleta/Pedido Mobile (ou Produção) ultrapassou o limite contratado em PARMSISTEMA; é preciso excluir dispositivos não usados ou solicitar ampliação da licença. Fonte: source/SIN001/UformSIN001.pas:132-203 (TformSIN001.verificaLicencaDispositivos)

P: Por que a aba Vendedores não aparece no cadastro do dispositivo? R: Essa aba só é exibida quando o parâmetro PARMFATUR.ST_VARIOSVENDEDORES está configurado como 'S' (Sim) para a empresa. Fonte: source/SIN001/UformSIN001.pas:82-88 (iniciar)

P: Por que o campo Local Estoque não aparece na aba Pedido 2? R: Esse campo só é exibido quando o parâmetro PARMFATUR.ST_SOLICITALOCALPED está configurado como 'S' (Sim). Fonte: source/SIN001/UformSIN001.pas:90-95 (iniciar)

P: Deu a mensagem 'A Conta saldo não está cadastrada, ou está indisponível para o usuário informado'. R: A conta informada não existe para a empresa em PARMSALDO/Cartão de Crédito, ou não está liberada para o usuário vinculado ao dispositivo; libere a conta para o usuário no financeiro ou informe outra conta. Fonte: source/SIN001/UdmSIN001.pas:622-654 (TdmSIN001.qryCadastroIDCONTASALDOCARTAOValidate)

P: Para que serve o botão 'Limpar Chave'? R: Ele libera o cadastro do dispositivo para ser reutilizado em outro aparelho, guardando a chave antiga como backup; a base de dados local do aparelho anterior precisa ser apagada para o novo vínculo funcionar. Fonte: source/SIN001/UframeSIN001.pas:382-401 (TframeSIN001.btnLimparChaveClick)

P: Apareceu 'O usuário não possui um ID' ao buscar o usuário. R: O usuário localizado na busca está com o campo ID vazio no cadastro; é um problema no cadastro do usuário que precisa ser corrigido em Cadastro de Usuário. Fonte: source/SIN001/UframeSIN001.pas:241-266 (TframeSIN001.editIdUsuarioKeyDown)

P: Não consigo trocar a Empresa do dispositivo, por quê? R: Se já existem Contas de Saldo cadastradas para o dispositivo vinculadas à empresa atual, é preciso excluir essas contas (aba Recbto Contas) antes de trocar a empresa. Fonte: source/SIN001/UdmSIN001.pas:186-201 (TdmSIN001.qryCadastroBeforePost)

P: Recebi a mensagem sobre GPS pedindo para preencher dias e horários. R: Isso ocorre em dispositivos tipo Coleta ou Pedido quando 'Obriga uso do GPS no pedido' ou 'Sincroniza GPS em Tempo Real' está marcado como Sim; é necessário preencher os dias da semana, horário de início/fim do expediente e o tempo de sincronização GPS na aba Sincronização GPS. Fonte: source/SIN001/UformSIN001.pas:207-227 (TformSIN001.ValidaCamposObrigatorios)

P: Deu erro 'Vendedor já informado' ao incluir um vendedor. R: O vendedor selecionado já está vinculado a este dispositivo; escolha outro vendedor ou remova a linha duplicada da grade. Fonte: source/SIN001/UdmSIN001.pas:554-604 (TdmSIN001.qryVendedoresIDVENDEDORValidate)

P: O que muda ao selecionar cada Tipo do Aparelho? R: O tipo (Coleta Recap., Produção Recap., Pedido Faturamento ou Balanço/Contagem Estoque) mostra/oculta as abas de parâmetros correspondentes (Coleta, Produção, Pedido, Estoque, Sincronização GPS, Canhotos). Fonte: source/SIN001/UframeSIN001.pas:419-473 (TframeSIN001.cmbTPDISPOSITIVOChange)

Dúvidas em aberto (o código não responde)​

  • A checagem de 'Vendedor já informado' consulta duas bases (transactionBanco e transaction) em sequência para o mesmo vendedor — é redundância ou há bases/servidores distintos sendo verificados? — UdmSIN001.pas:573-599 TdmSIN001.qryVendedoresIDVENDEDORValidate executa a mesma consulta duas vezes em transações diferentes.
  • Por que a validação de QTDIASSINCPRECOFATUR usa aviso (W-0000, não bloqueante) enquanto a validação equivalente de QTDIASROTA usa erro (E-0000, bloqueante)? — UdmSIN001.pas:515-526, duas rotinas quase idênticas com severidades diferentes.
  • A definição completa de Validaempresa (jValidate.pas) não foi lida nesta sessão — há alguma outra condição de bloqueio além de checar existência da empresa? — UdmSIN001.pas:207-225 TdmSIN001.qryCadastroIDEMPRESAValidate apenas chama o validador compartilhado.
  • O cálculo de licença soma dispositivos tipo Coleta (C) e Pedido Mobile (P) no mesmo limite NRLICENCACOLETA — isso é do conhecimento do usuário final ou pode gerar confusão ao interpretar a mensagem de excesso de licença? — UformSIN001.pas:187 'qtColeta := qtColeta + qtPedido' antes de comparar com qtLicencaColeta.