O objetivo deste DataServer é possibilitar a busca, inclusão e alteração da frequência diária do aluno através de um Webservice. Tudo que for realizado, poderá ser visualizado na tela de frequência diária no TOTVS Gestão Educacional.

Através do DataServer EduFrequenciaDiariaWSData e por meio dos métodos ReadRecord, ReadView e SaveRecord, é possível realizar a busca, inclusão e manutenção das frequências no TOTVS Gestão Educacional.

Se necessário clique aqui para obter ajuda na configuração do Host.

Método ReadRecord

Este método realiza a consulta das frequências dos alunos já lançadas, realizando o filtro por campos específicos já pré-definidos pelo RM. 

Para realizar a chamada ao método ReadRecord, deve ser passado um XML contendo tags com a seguinte estrutura:

DatasServerName: EduFrequenciaDiariaWSData

PrimaryKey: Os seguintes campos fazem parte da chave primária da consulta executada pelo método ReadRecord:

Contexto: Informar qual é o contexto utilizado durante a execução do WebService, contendo os seguintes campos, separados por ponto e vírgula.

Segue um exemplo do XML utilizado para a chamada a função ReadRecord:

	<tot:ReadRecord>
         <!--Optional:-->
         <tot:DataServerName>EduFrequenciaDiariaWSData</tot:DataServerName>
         <!--Optional:-->
         <tot:PrimaryKey>1;295;1;01-01-2024;31-01-2024;125</tot:PrimaryKey>
         <!--Optional:-->
         <tot:Contexto>CODCOLIGADA=1;CODFILIAL=1;CODTIPOCURSO=1;CODSISTEMA=S</tot:Contexto>
    </tot:ReadRecord>

Ao executar o método ReadRecord filtrando pelos valores da chave primaria informada, caso não retorne registro, será retornado um XML vazio contendo o nome do DataSet, conforme exemplo abaixo: 

<ReadRecordResult>&lt;EduFrequenciaDiaria /></ReadRecordResult>

Caso contrário, será retornado os dados conforme abaixo:

<ReadRecordResult>	
<![CDATA[<EduFrequenciaDiaria >
  <SFREQUENCIA>
    <CODCOLIGADA>1</CODCOLIGADA>
    <IDHORARIOTURMA>295</IDHORARIOTURMA>
    <IDTURMADISC>1217</IDTURMADISC>
    <RA>ES-00180</RA>
    <DATA>2018-07-17T00:00:00</DATA>
    <PRESENCA>A</PRESENCA>
    <JUSTIFICADA>0</JUSTIFICADA>
    <IDJUSTIFICATIVAFALTA>2</IDJUSTIFICATIVAFALTA>
  </SFREQUENCIA>
</EduFrequenciaDiaria>]]>
</ReadRecordResult>

Método ReadView

Complementar ao método ReadRecord, o ReadView utilizará um filtro para realizar a consulta das frequências diárias.

Para realizar a chamada do ReadView, o XML irá conter uma tag chamada Filtro, onde deverá ser informado os seguintes parâmetros:

Segue um exemplo de filtro que pode ser especificado na tag Filtro do XML do método ReadView:

CODCOLIGADA = 1 AND IDTURMADISC = 1055 AND CODETAPA = 1 AND SPLANOAULA.DATA = 30-09-2018 AND SPLANOAULA.DATA = 20-10-2018

Um exemplo utilizando o filtro opcional por subturma:

CODCOLIGADA = 1 AND IDTURMADISC = 1055 AND CODETAPA = 1 AND SPLANOAULA.DATA = 30-09-2018 AND SPLANOAULA.DATA = 20-10-2018 AND CODSUBTURMA = SUB TURMA A


Importante:

Os campos de datas precisam ser informados com o nome da tabela e do campo para que o sistema identifique o filtro corretamente.

Para isso é necessário que a data seja informada utilizando "SPLANOAULA.DATA".

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tot="http://www.totvs.com/">
   <soapenv:Header/>
   <soapenv:Body>
      <tot:ReadView>
         <!--Optional:-->
         <tot:DataServerName>EduFrequenciaDiariaWSData</tot:DataServerName>
         <!--Optional:-->
         <tot:Filtro>CODCOLIGADA = 1 AND IDTURMADISC = 1055 AND CODETAPA = 1 AND SPLANOAULA.DATA = 30-09-2018 AND SPLANOAULA.DATA = 20-10-2018</tot:Filtro>
         <!--Optional:-->         
         <tot:Contexto>CODCOLIGADA=1;CODFILIAL=1;CODTIPOCURSO=1</tot:Contexto>
      </tot:ReadView>
   </soapenv:Body>
</soapenv:Envelope>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body>
      <ReadViewResponse xmlns="http://www.totvs.com/">
         <ReadViewResult><![CDATA[<NewDataSet>
  <SFREQUENCIAWS>
    <CODCOLIGADA>1</CODCOLIGADA>
    <IDTURMADISC>1055</IDTURMADISC>
    <IDHORARIOTURMA>295</IDHORARIOTURMA>
    <RA>0000107</RA>
    <DATA>2018-10-01T00:00:00</DATA>
    <PRESENCA>A</PRESENCA>
    <IDHORARIOTURMAGER>295</IDHORARIOTURMAGER>
  </SFREQUENCIAWS>
  <SFREQUENCIAWS>
    <CODCOLIGADA>1</CODCOLIGADA>
    <IDTURMADISC>1055</IDTURMADISC>
    <IDHORARIOTURMA>295</IDHORARIOTURMA>
    <RA>0000107</RA>
    <DATA>2018-10-08T00:00:00</DATA>
    <PRESENCA>A</PRESENCA>
    <IDHORARIOTURMAGER>295</IDHORARIOTURMAGER>
  </SFREQUENCIAWS>
  <SFREQUENCIAWS>
    <CODCOLIGADA>1</CODCOLIGADA>
    <IDTURMADISC>1055</IDTURMADISC>
    <IDHORARIOTURMA>295</IDHORARIOTURMA>
    <RA>0000107</RA>
    <DATA>2018-10-15T00:00:00</DATA>
    <PRESENCA>A</PRESENCA>
    <IDHORARIOTURMAGER>295</IDHORARIOTURMAGER>
  </SFREQUENCIAWS>
  <SFREQUENCIAWS>
    <CODCOLIGADA>1</CODCOLIGADA>
    <IDTURMADISC>1055</IDTURMADISC>
    <IDHORARIOTURMA>295</IDHORARIOTURMA>
    <RA>0000112</RA>
    <DATA>2018-10-01T00:00:00</DATA>
    <PRESENCA>A</PRESENCA>
    <IDHORARIOTURMAGER>295</IDHORARIOTURMAGER>
  </SFREQUENCIAWS>
</NewDataSet>]]></ReadViewResult>
      </ReadViewResponse>
   </s:Body>
</s:Envelope>

Método SaveRecord

Este método realiza a inclusão ou alteração de uma frequência de aluno. O sistema realiza apenas a inclusão de marcações de ausências.

Caso seja definida uma marcação de presença, o sistema não irá incluir nenhum registro e o retorno será vazio.

Caso exista uma marcação de ausência, ela será excluída e o retorno, também, será vazio.


Inclusão de uma marcação de frequência

Para realizar inclusão de uma marcação de frequência, deve ser utilizada a operação SaveRecord que irá manipular os registros da tabela SFREQUENCIA.

Para que os dados sejam salvos corretamente, devem ser seguidos algumas premissas.

O XML, obrigatoriamente, deverá conter uma tag chamada PARAMS que será responsável por passar os seguintes campos pré-requisitos para a inclusão/alteração da marcação de frequência:


Quando o SaveRecord for chamado através de uma Fórmula Visual na atividade de Salvar registro, deve-se passar os campos concatenados, separados por vírgula (,) e sem espaços através item Dados do Usuário na atividade de Salvar Registro, para o sistema utilizar na montagem dos parâmetros (PARAMS) necessários para as validações da frequência. 


A tag com o nome AlunosFreq, deverá ser incluída no XML, contendo os campos:

Por fim, a tag SFREQUENCIA conterá as informações da frequência que será lançada:

O campo PRESENCA espera dois valores. (P ou A)

P: Presença

A: Ausência.


O campo JUSTIFICADA espera dois valores. (1 ou 0)

1: Falta abonada

0: Falta não abonada.


Turma Gerencial:

Caso seja necessária a manipulação de registros de frequência para turmas gerenciais, deve ser informado o código IDTURMADISC da turma gerencial na tag PARAMS dos parâmetros passados para o SaveRecord. 

No lançamento da frequência, o IDTURMADISC deverá conter o código da turma/disciplina em que o aluno está matriculado.

O campo Data deverá ser informado no formato americano (YYYY-MM-DD).

Exemplo: 2018-07-11T00:00:00


Obs.: A parte horária é necessária, composta por "T00:00:00", para que o sistema entenda corretamente a data.

<tot:SaveRecord>
         <!--Optional:-->
         <tot:DataServerName>EduFrequenciaDiariaWSData</tot:DataServerName>
         <!--Optional:-->
         <tot:XML><![CDATA[
         <EduFrequenciaDiaria xmlns="http://tempuri.org/EduFrequenciaDiaria.xsd">                      
         <SFREQUENCIA>
                <CODCOLIGADA>1</CODCOLIGADA>
                <IDTURMADISC>1217</IDTURMADISC>                                               
                <IDHORARIOTURMA>295</IDHORARIOTURMA>
                <RA>ES-00180</RA>
                <PRESENCA>A</PRESENCA>
                <JUSTIFICADA>1</JUSTIFICADA>
                <IDJUSTIFICATIVAFALTA>6</IDJUSTIFICATIVAFALTA>
                <DATA>2018-07-17T00:00:00</DATA>
         </SFREQUENCIA>                                 
         <AlunosFreq>
                  <CODCOLIGADA>1</CODCOLIGADA>
                  <RA>ES-00180</RA>
                  <IDTURMADISC>1217</IDTURMADISC>
                  <IDTURMADISCORIGEM></IDTURMADISCORIGEM>        
         </AlunosFreq>
		 <PARAMS>
				<CODCOLIGADA>1</CODCOLIGADA>
				<IDTURMADISC>1217</IDTURMADISC>
				<CODETAPA>1</CODETAPA>
				<AULASDADAS>1</AULASDADAS>
				<CODSUBTURMA></CODSUBTURMA>
		 </PARAMS>                
         </EduFrequenciaDiaria>]]></tot:XML>
         <!--Optional:-->
         <tot:Contexto>CODCOLIGADA=1;CODFILIAL=1;CODTIPOCURSO=1;CODSISTEMA=S</tot:Contexto>
</tot:SaveRecord>
      <SaveRecordResponse xmlns="http://www.totvs.com/">
         <SaveRecordResult>1;295;1217;ES-00180;17/07/2018 00:00:00</SaveRecordResult>
      </SaveRecordResponse>

Para a inclusão de uma justificativa, será necessário informar o código da mesma, cadastrada anteriormente, através do menu de cadastros auxiliares.

Educacional | Currículo e Oferta | Auxiliares | Justificativas de falta

Exemplo:

2 - Visita ao médico

<JUSTIFICADA>1</JUSTIFICADA>

<IDJUSTIFICATIVAFALTA>2</IDJUSTIFICATIVAFALTA>

Importante:

Para fórmulas visuais usar a Atividade EduFrequenciaActivity. Para mais informações sobre Atividades acesse o a documentação: Atividades educacionais para fórmulas visuais.

Para mais informações segue o link da documentação padrão de uso de DataServers utilizando WebService:

 http://tdn.totvs.com/x/XYlpCw