Bom dia!
Gostaria de realizar a sincronização de um Dataset Customizado toda vez que uma determinada solicitação fosse iniciada, de forma que a sincronização não ficasse dependente de um admin acessar o painel de controles, ir até o menu Dataset e clicar em "Sincronizar agora" e, também, não ficasse dependente da sincronização automatica através do intervalo de tempo definido nas configurações.
Existe alguma função para isso?
Agradeço a atenção!
Os datasets customizado, se não configurada a parte de sincronização, por padrão já realizam a consulta no momento que são chamados.
Dessa forma basta criar o dataset utilizando apenas o método createDataset
Kanaãm, no meu caso eu preciso da sincronização. Esse dataset é jornalizado e ele precisa sincronizar com as informações de um dataset interno. Obrigada pela atenção!
@Kanaãm Luz, boa tarde.
No meu caso, todos os datasets são implementados dessa forma que voce citou, ou seja, apenas com o método createDataset. Agora quando tendo habilitar sincronização o FLUIG nao permite, mesmo que altere o dataset com os demais métodos (sem conteudo), sabe o motivo ?
Msg fluig: “Este dataset não está completamente preparado para sincronização, sendo necessário implementar a estrutura padrão para utilizá-lo em cache ou offline mobile.”
Alex, para conseguir realizar a sincronização, você precisa implementar os metodos defineStructure() e onSync(lastSyncDate). Para implementar esses métodos, tem algumas regrinhas. Dá uma olhada nessa documentação na seção “Desenvolvendo um dataset com sincronização jornalizada”:
http://tdn.totvs.com/pages/releaseview.action?pageId=212899013
Boa tarde Alex,
Existem regras para a sincronização conforme informado pela Carolina.
Utilize o link que ela passou como referência que deve resolver seu problema.
Bom dia pessoal e obrigado.
Sim, eu ja li o documento e a forma como interpretei foi que a sincronização comum seria mais simples, até porque em seguida ja salta para a jornalizada que é muito mais detalhada no documento enquanto que para a comum apenas diz que qualquer dataset implementado e só cita o createDataset. No meu ponto de vista faltou uma seção “Desenvolvendo um dataset com sincronização comum” e foi isso que causou essa interpretação.
Grato pelas respostas.
Oi Carolina!
Existem alguns serviços (API pública) que permitem iniciar a sincronização.
Porém, no exemplo que você deu isso pode ser arriscado. Nessa abordagem, você não terá controle sobre a sincronização. Quando novas solicitações forem iniciadas simultaneamente, serão realizadas várias sincronizações do mesmo dataset em um período curto de tempo. Você pode comprometer o desempenho do fluig e até do banco de dados, dependendo o dataset.
Creio que o ideal é utilizar o agendamento da sincronização utilizando um período menor (1h, por exemplo). Assim, você vai ter controle da sincronização e não vai ter problemas de desempenho no seu ambiente.
IMHO, creio que se for necessário configurar a sincronização com um tempo muito pequeno é melhor reavaliar se este dataset pode ser sincronizado. Se a periodicidade de atualização dos dados que este dataset busca é alta, é arriscado sincroniza-lo e correr o risco de acabar utilizando dados que não estão atualizados.
Abs,
Marcos
Oi, Marcos! No meu caso, essa solicitação só pode ser iniciada por um grupo bem restrito de usuários e a frequencia de solicitações não será alta. De qualquer forma, vou utilizar o agendamento e configurá-lo com um intervalo de tempo menor, como você sugeriu. Agradeço toda atenção!
Disponha, Carolina! Qualquer dúvida não deixe de publicar no fórum. Obrigado pelo retorno. Abs!