guia técnico da transferência de disponível

introdução

Neste guia serão abordadas as funcionalidades relacionadas a Operação de Transferência de Disponíveis, voltadas aos desenvolvedores do Bematech ERP, dando a visão a quem irá implementar melhorias no sistema utilizando o objeto de gestão responsável pela movimentação de valores entre contas de disponíveis.

objetivo

O objetivo deste guia é orientar como utilizar as APIs disponibilizadas para manipular uma Operação de Transferência de Disponíveis onde iremos explanar sobre criação da transferência, abertura e edição.

Considerando-se a complexidade de um ERP, não serão descritos nesse guia termos introdutórios do sistema.

pré-requisitos

Para a perfeita compreensão do uso do objetos de gestão responsável por manipular Operação de Transferência de Disponíveis se faz necessário entender sua abrangência e estar familiarizado com a linguagem do sistema Bematech ERP. Devemos iniciar tendo uma visão de como desenvolver no sistema Bematech ERP, portanto realize a leitura do Guia de estudo da Plataforma Bematech ERP , além disso é necessário que o leitor tenha o conhecimento de uso e dos conceitos do Bematech ERP.

introdução ao objeto de transferência de disponíveis

O objeto responsável por manipular as operações de Transferência de Disponíveis é o OperacaoTransferenciaDisponivel. O OperacaoTransferenciaDisponivel é uma especialização do objeto OperacaoContabil e desta forma, tem como principais API's seus datasets. Lembrando que a característica que define uma movimentação de transferência e que a diferencia de uma uma movimentação de baixa de títulos é a não existência de um título baixado com a movimentação ou o não preenchimento do campo TITULOBXPARCIAL na movimentação, o objeto OperacaoTransferenciaDisponivel é utilizado para manipular apenas movimentações de disponíveis de transferência de disponível.

utilizando o objeto OperacaoTransferenciaDisponivel

Para uma melhor visão de como utilizar o OperacaoTransferenciaDisponivel abaixo serão listados os principais casos de uso e a explicação de quais as APIs devem ser utilizadas.

instanciando o OperacaoTransferenciaDisponivel

configurando instância

Ao realizar a instância do OperacaoTransferenciaDisponivel não será necessário passar parâmetros adicionais, à partir da instância o objeto estará pronto para realizar uma transferência entre disponíveis

Exemplo de idbc realizando a instância do OperacaoTransferenciaDisponivel

__includeOnce(-1898141835); // /products/INTEQengine/configuration/iDBCsql library.ijs

__includeOnce(-1897053223); // ../objects/operacaoTransferenciaDisponivel.js

var novaTransferencia = new OperacaoTransferenciaDisponivel();

aproveitando instância da transferência

Conforme explicado no guia técnico das operações para maior performance é possível aproveitar a instância do OperacaoTransferenciaDisponivel e realizar várias operações sem a necessidade de reinstanciar o OperacaoTransferenciaDisponivel. Ou seja, é possível instanciar somente uma vez o OperacaoTransferenciaDisponivel e criar, abrir, editar uma operação após a outra. Para isto faremos uso dos métodos "nova" e "fecha", conforme explicado o passo a passo abaixo:

Ao instanciar um OperacaoTransferenciaDisponivel para criação de uma nova transferência, conforme descrito em criar uma nova transferência com dados informados, utilizamos o método nova() em seguida populamos o dataset movDispo e gravamos utilizando o método grava.

Abaixo temos o código completo para criar uma nova transferência, com 1 movimentação de débito e 1 movimentação de crédito.

__includeOnce(-1898141835); // /products/INTEQengine/configuration/iDBCsql library.ijs

__includeOnce(-1897053223); // ../objects/operacaoTransferenciaDisponivel.js

var novaTransferencia = new OperacaoTransferenciaDisponivel();

novaTransferencia.nova();

novaTransferencia.fechaOperacaoNoTerminoDaGravacao = false;

//Debitando de Caixa Central

novaTransferencia.movDispo.append();

novaTransferencia.movDispo.classe = -2008888000; /* Movimentação de Disponíveis */

novaTransferencia.movDispo.disponivel = 11656439; /* Caixa Central */

novaTransferencia.movDispo.emissao = new Date();

novaTransferencia.movDispo.locescritu = 408425; /* Bematech LocEscritu */

novaTransferencia.movDispo.historico = "Transf. à débito de Cx Central";

novaTransferencia.movDispo.valor = -1000;

novaTransferencia.movDispo.post();

//Creditando em Banco do Brasil

novaTransferencia.movDispo.append();

novaTransferencia.movDispo.classe = -2008888000; /* Movimentação de Disponíveis */

novaTransferencia.movDispo.disponivel = 38365990; /* Banco do Brasil */

novaTransferencia.movDispo.emissao = new Date();

novaTransferencia.movDispo.locescritu = 408425; /* Bematech LocEscritu */

novaTransferencia.movDispo.historico = "Transf. à crédito em Banco do Brasil";

novaTransferencia.movDispo.valor = 1000;

novaTransferencia.movDispo.post();

novaTransferencia.grava();

Caso seja necessário criar uma nova transferência não se faz necessário instanciar outra vez o OperacaoTransferenciaDisponivel, pois podemos aproveitar a mesma instância criada anteriormente, bastando para isso utilizar o método fecha que irá deixar o objeto pronto para manipular uma nova operação.

Dessa forma podemos chamar o fecha após a gravação da primeira transferência.

novaTransferencia.fecha();

Após fechar caso queria criar uma segunda transferência basta chamar o método nova.

novaTransferencia.nova();

Em seguida deve ser populado as informações das movimentações de débito e crédito.

Para inserir as informações das movimentações, deve ser manipulada a api de dataset movDispo, executando o método append do dataset e preenchendo as informações de débito, em seguida executando o método post do dataset. Deve ser executado novamente o método append do dataset para possibilitar informar os dados de crédito, finalizando novamente com a execução do método post do dataset:

//Debitando de Caixa Central

novaTransferencia.movDispo.append();

novaTransferencia.movDispo.classe = -2008888000; /* Movimentação de Disponíveis */ //Chave da classe da transferência

novaTransferencia.movDispo.disponivel = 11656439; /* Caixa Central */ //Chave do disponível que está movimentando

novaTransferencia.movDispo.emissao = new Date();

novaTransferencia.movDispo.locescritu = 408425; /* Bematech LocEscritu */ //Chave do Local de Escrituração

novaTransferencia.movDispo.historico = "Transf. à débito de Cx Central";

novaTransferencia.movDispo.valor = -1000;

novaTransferencia.movDispo.post();

//Creditando em Banco do Brasil

novaTransferencia.movDispo.append();

novaTransferencia.movDispo.classe = -2008888000; /* Movimentação de Disponíveis */ //Chave da classe da transferência

novaTransferencia.movDispo.disponivel = 38365990; /* Banco do Brasil */ //Chave do disponível que está movimentando

novaTransferencia.movDispo.emissao = new Date();

novaTransferencia.movDispo.locescritu = 408425; /* Bematech LocEscritu */ //Chave do Local de Escrituração

novaTransferencia.movDispo.historico = "Transf. à crédito em Banco do Brasil";

novaTransferencia.movDispo.valor = 1000;

novaTransferencia.movDispo.post();

Em seguida deve ser chamado o grava:

novaTransferencia.grava();

Exemplo completo no idbc criando duas transferências de disponíveis com a mesma instância do OperacaoTransferenciaDisponivel. Há necessidade de trocar as chaves informadas por uma chave da base onde está sendo executado.

__includeOnce(-1898141835); // /products/INTEQengine/configuration/iDBCsql library.ijs

__includeOnce(-1897053223); // ../objects/operacaoTransferenciaDisponivel.js

var novaTransferencia = new OperacaoTransferenciaDisponivel()

novaTransferencia.nova()

novaTransferencia.fechaOperacaoNoTerminoDaGravacao = false;

//Debitando de Caixa Central

novaTransferencia.movDispo.append();

novaTransferencia.movDispo.classe = -2008888000; /* Movimentação de Disponíveis */

novaTransferencia.movDispo.disponivel = 11656439; /* Caixa Central */

novaTransferencia.movDispo.emissao = new Date();

novaTransferencia.movDispo.locescritu = 408425; /* Bematech LocEscritu */

novaTransferencia.movDispo.historico = "Transf. à débito de Cx Central";

novaTransferencia.movDispo.valor = -1000;

novaTransferencia.movDispo.post();

//Creditando em Banco do Brasil

novaTransferencia.movDispo.append();

novaTransferencia.movDispo.classe = -2008888000; /* Movimentação de Disponíveis */

novaTransferencia.movDispo.disponivel = 38365990; /* Banco do Brasil */

novaTransferencia.movDispo.emissao = new Date();

novaTransferencia.movDispo.locescritu = 408425; /* Bematech LocEscritu */

novaTransferencia.movDispo.historico = "Transf. à crédito em Banco do Brasil";

novaTransferencia.movDispo.valor = 1000;

novaTransferencia.movDispo.post();

novaTransferencia.grava();

novaTransferencia.fecha()

novaTransferencia.nova()

//Debitando de Caixa Central

novaTransferencia.movDispo.append();

novaTransferencia.movDispo.classe = -2008888000; /* Movimentação de Disponíveis */

novaTransferencia.movDispo.disponivel = 11656439; /* Caixa Central */

novaTransferencia.movDispo.emissao = new Date();

novaTransferencia.movDispo.locescritu = 408425; /* Bematech LocEscritu */

novaTransferencia.movDispo.historico = "Transf. à débito de Cx Central";

novaTransferencia.movDispo.valor = -1000;

novaTransferencia.movDispo.post();

//Creditando em Banco do Brasil

novaTransferencia.movDispo.append();

novaTransferencia.movDispo.classe = -2008888000; /* Movimentação de Disponíveis */

novaTransferencia.movDispo.disponivel = 38365990; /* Banco do Brasil */

novaTransferencia.movDispo.emissao = new Date();

novaTransferencia.movDispo.locescritu = 408425; /* Bematech LocEscritu */

novaTransferencia.movDispo.historico = "Transf. à crédito em Banco do Brasil";

novaTransferencia.movDispo.valor = 1000;

novaTransferencia.movDispo.post();

novaTransferencia.grava();

criando transferências

criar uma nova transferência com dados informados

Para realizar a criação de uma Transferência de Disponíveis devemos iniciar instanciando o OperacaoTransferenciaDisponivel.

__includeOnce(-1898141835); // /products/INTEQengine/configuration/iDBCsql library.ijs

__includeOnce(-1897053223); // ../objects/operacaoTransferenciaDisponivel.js

var novaTransferencia = new OperacaoTransferenciaDisponivel()

Em seguida deve ser utilizado o método "nova" conforme api da Operacao.

novaTransferencia.nova();

Em seguida deve ser populado as informações das movimentações de débito e crédito.

Para inserir as informações das movimentações, deve ser manipulada a api de dataset movDispo, executando o método append do dataset e preenchendo as informações de débito, em seguida executando o método post do dataset. Deve ser executado novamente o método append do dataset para possibilitar informar os dados de crédito, finalizando novamente com a execução do método post do dataset:

//Debitando de Caixa Central

novaTransferencia.movDispo.append();

novaTransferencia.movDispo.classe = -2008888000; /* Movimentação de Disponíveis */ //Chave da classe da transferência

novaTransferencia.movDispo.disponivel = 11656439; /* Caixa Central */ //Chave do disponível que está movimentando

novaTransferencia.movDispo.emissao = new Date();

novaTransferencia.movDispo.locescritu = 408425; /* Bematech LocEscritu */ //Chave do Local de Escrituração

novaTransferencia.movDispo.historico = "Transf. à débito de Cx Central";

novaTransferencia.movDispo.valor = -1000;

novaTransferencia.movDispo.post();

//Creditando em Banco do Brasil

novaTransferencia.movDispo.append();

novaTransferencia.movDispo.classe = -2008888000; /* Movimentação de Disponíveis */ //Chave da classe da transferência

novaTransferencia.movDispo.disponivel = 38365990; /* Banco do Brasil */ //Chave do disponível que está movimentando

novaTransferencia.movDispo.emissao = new Date();

novaTransferencia.movDispo.locescritu = 408425; /* Bematech LocEscritu */ //Chave do Local de Escrituração

novaTransferencia.movDispo.historico = "Transf. à crédito em Banco do Brasil";

novaTransferencia.movDispo.valor = 1000;

novaTransferencia.movDispo.post();

Observação: Os passos acima de popular a movimentação de crédito e de débito não é necessário ao desenvolver interfaces com o WebFramework, o tratamento de manipulação de dataset é realizado pelo próprio Framework, bastando a grade de movimentações de disponíveis terem como referência o dataset (movDispo) do objeto.

Em seguida deve ser chamado o grava:

novaTransferencia.grava();

Exemplo completo no idbc. Há necessidade de trocar as chaves informadas por uma chave da base onde está sendo executado.

__includeOnce(-1898141835); // /products/INTEQengine/configuration/iDBCsql library.ijs

__includeOnce(-1897053223); // ../objects/operacaoTransferenciaDisponivel.js */

var novaTransferencia = new OperacaoTransferenciaDisponivel()

novaTransferencia.nova()

novaTransferencia.fechaOperacaoNoTerminoDaGravacao = false;

//Debitando de Caixa Central

novaTransferencia.movDispo.append();

novaTransferencia.movDispo.classe = -2008888000; /* Movimentação de Disponíveis */

novaTransferencia.movDispo.disponivel = 11656439; /* Caixa Central */

novaTransferencia.movDispo.emissao = new Date();

novaTransferencia.movDispo.locescritu = 408425; /* Bematech LocEscritu */

novaTransferencia.movDispo.historico = "Transf. à débito de Cx Central";

novaTransferencia.movDispo.valor = -1000;

novaTransferencia.movDispo.post();

//Creditando em Banco do Brasil

novaTransferencia.movDispo.append();

novaTransferencia.movDispo.classe = -2008888000; /* Movimentação de Disponíveis */

novaTransferencia.movDispo.disponivel = 38365990; /* Banco do Brasil */

novaTransferencia.movDispo.emissao = new Date();

novaTransferencia.movDispo.locescritu = 408425; /* Bematech LocEscritu */

novaTransferencia.movDispo.historico = "Transf. à crédito em Banco do Brasil";

novaTransferencia.movDispo.valor = 1000;

novaTransferencia.movDispo.post();

novaTransferencia.grava();

criar uma nova transferência com mais de um débito e mais de um crédito

Para realizar a criação de uma Transferência de Disponíveis devemos iniciar instanciando o OperacaoTransferenciaDisponivel.

Em seguida deve ser utilizado o método "nova" conforme api da Operacao.

novaTransferencia.nova();

Em seguida deve ser populado as informações das movimentações de débito e crédito.

Para inserir as informações das movimentações, deve ser manipulada a api de dataset movDispo, executando o método append do dataset e preenchendo as informações de débito, em seguida executando o método post do dataset, este passo será executado tantas vezes quantas forem as movimentações de débito.

Ao inserir todos os dados de movimentações de débito, deve ser executado novamente o método append do dataset para possibilitar informar os dados de crédito, finalizando novamente com a execução do método post do dataset, novamente, estes passos serão executados tantas vezes quantas forem as movimentações de crédito.

//Debitando de Caixa Central

novaTransferencia.movDispo.append();

novaTransferencia.movDispo.classe = -2008888000; /* Movimentação de Disponíveis */ //Chave da classe da transferência

novaTransferencia.movDispo.disponivel = 11656439; /* Caixa Central */ //Chave do disponível que está movimentando

novaTransferencia.movDispo.emissao = new Date();

novaTransferencia.movDispo.locescritu = 408425; /* Bematech LocEscritu */ //Chave do Local de Escrituração

novaTransferencia.movDispo.historico = "Transf. à débito de Cx Central";

novaTransferencia.movDispo.valor = -1000;

novaTransferencia.movDispo.post();

//Debitando de Caixa Iguatemi 1

novaTransferencia.movDispo.append();

novaTransferencia.movDispo.classe = -2008888000; /* Movimentação de Disponíveis */ //Chave da classe da transferência

novaTransferencia.movDispo.disponivel = 99831076; /* Caixa Iguatemi 1 */ //Chave do disponível que está movimentando

novaTransferencia.movDispo.emissao = new Date();

novaTransferencia.movDispo.locescritu = 408425; /* Bematech LocEscritu */ //Chave do Local de Escrituração

novaTransferencia.movDispo.historico = "Transf. à débito de Cx Iguatemi 1";

novaTransferencia.movDispo.valor = -800;

novaTransferencia.movDispo.post();

//Debitando de Caixa Iguatemi 2

novaTransferencia.movDispo.append();

novaTransferencia.movDispo.classe = -2008888000; /* Movimentação de Disponíveis */ //Chave da classe da transferência

novaTransferencia.movDispo.disponivel = 3002935; /* Caixa Iguatemi 2 */ //Chave do disponível que está movimentando

novaTransferencia.movDispo.emissao = new Date();

novaTransferencia.movDispo.locescritu = 408425; /* Bematech LocEscritu */ //Chave do Local de Escrituração

novaTransferencia.movDispo.historico = "Transf. à débito de Cx Iguatemi 2";

novaTransferencia.movDispo.valor = -500;

novaTransferencia.movDispo.post();

//Creditando em Banco do Brasil

novaTransferencia.movDispo.append();

novaTransferencia.movDispo.classe = -2008888000; /* Movimentação de Disponíveis */ //Chave da classe da transferência

novaTransferencia.movDispo.disponivel = 38365990; /* Banco do Brasil */ //Chave do disponível que está movimentando

novaTransferencia.movDispo.emissao = new Date();

novaTransferencia.movDispo.locescritu = 408425; /* Bematech LocEscritu */ //Chave do Local de Escrituração

novaTransferencia.movDispo.historico = "Transf. à crédito em Banco do Brasil";

novaTransferencia.movDispo.valor = 850;

novaTransferencia.movDispo.post();

//Creditando em Banco Itaú

novaTransferencia.movDispo.append();

novaTransferencia.movDispo.classe = -2008888000; /* Movimentação de Disponíveis */ //Chave da classe da transferência

novaTransferencia.movDispo.disponivel = 3722606; /* Banco Itaú */ //Chave do disponível que está movimentando

novaTransferencia.movDispo.emissao = new Date();

novaTransferencia.movDispo.locescritu = 408425; /* Bematech LocEscritu */ //Chave do Local de Escrituração

novaTransferencia.movDispo.historico = "Transf. à crédito em Banco Itaú";

novaTransferencia.movDispo.valor = 1450;

novaTransferencia.movDispo.post();

Observação: Os passos acima de popular a movimentação de crédito e de débito não é necessário ao desenvolver interfaces com o WebFramework, o tratamento de manipulação de dataset é realizado pelo próprio Framework, bastando a grade de movimentações de disponíveis terem como referência o dataset (movDispo) do objeto.

Em seguida deve ser chamado o grava:

novaTransferencia.grava();

Exemplo completo no idbc. Há necessidade de trocar as chaves informadas por uma chave da base onde está sendo executado.

__includeOnce(-1898141835); // /products/INTEQengine/configuration/iDBCsql library.ijs

__includeOnce(-1897053223); // ../objects/operacaoTransferenciaDisponivel.js */

var novaTransferencia = new OperacaoTransferenciaDisponivel()

novaTransferencia.nova()

novaTransferencia.fechaOperacaoNoTerminoDaGravacao = false;

//Debitando de Caixa Central

novaTransferencia.movDispo.append();

novaTransferencia.movDispo.classe = -2008888000; /* Movimentação de Disponíveis */ //Chave da classe da transferência

novaTransferencia.movDispo.disponivel = 11656439; /* Caixa Central */ //Chave do disponível que está movimentando

novaTransferencia.movDispo.emissao = new Date();

novaTransferencia.movDispo.locescritu = 408425; /* Bematech LocEscritu */ //Chave do Local de Escrituração

novaTransferencia.movDispo.historico = "Transf. à débito de Cx Central";

novaTransferencia.movDispo.valor = -1000;

novaTransferencia.movDispo.post();

//Debitando de Caixa Iguatemi 1

novaTransferencia.movDispo.append();

novaTransferencia.movDispo.classe = -2008888000; /* Movimentação de Disponíveis */ //Chave da classe da transferência

novaTransferencia.movDispo.disponivel = 99831076; /* Caixa Iguatemi 1 */ //Chave do disponível que está movimentando

novaTransferencia.movDispo.emissao = new Date();

novaTransferencia.movDispo.locescritu = 408425; /* Bematech LocEscritu */ //Chave do Local de Escrituração

novaTransferencia.movDispo.historico = "Transf. à débito de Cx Iguatemi 1";

novaTransferencia.movDispo.valor = -800;

novaTransferencia.movDispo.post();

//Debitando de Caixa Iguatemi 2

novaTransferencia.movDispo.append();

novaTransferencia.movDispo.classe = -2008888000; /* Movimentação de Disponíveis */ //Chave da classe da transferência

novaTransferencia.movDispo.disponivel = 3002935; /* Caixa Iguatemi 2 */ //Chave do disponível que está movimentando

novaTransferencia.movDispo.emissao = new Date();

novaTransferencia.movDispo.locescritu = 408425; /* Bematech LocEscritu */ //Chave do Local de Escrituração

novaTransferencia.movDispo.historico = "Transf. à débito de Cx Iguatemi 2";

novaTransferencia.movDispo.valor = -500;

novaTransferencia.movDispo.post();

//Creditando em Banco do Brasil

novaTransferencia.movDispo.append();

novaTransferencia.movDispo.classe = -2008888000; /* Movimentação de Disponíveis */ //Chave da classe da transferência

novaTransferencia.movDispo.disponivel = 38365990; /* Banco do Brasil */ //Chave do disponível que está movimentando

novaTransferencia.movDispo.emissao = new Date();

novaTransferencia.movDispo.locescritu = 408425; /* Bematech LocEscritu */ //Chave do Local de Escrituração

novaTransferencia.movDispo.historico = "Transf. à crédito em Banco do Brasil";

novaTransferencia.movDispo.valor = 850;

novaTransferencia.movDispo.post();

//Creditando em Banco Itaú

novaTransferencia.movDispo.append();

novaTransferencia.movDispo.classe = -2008888000; /* Movimentação de Disponíveis */ //Chave da classe da transferência

novaTransferencia.movDispo.disponivel = 3722606; /* Banco Itaú */ //Chave do disponível que está movimentando

novaTransferencia.movDispo.emissao = new Date();

novaTransferencia.movDispo.locescritu = 408425; /* Bematech LocEscritu */ //Chave do Local de Escrituração

novaTransferencia.movDispo.historico = "Transf. à crédito em Banco Itaú";

novaTransferencia.movDispo.valor = 1450;

novaTransferencia.movDispo.post();

novaTransferencia.grava();

abrindo e alterando

abrindo transferência e alterando dados

Para realizar a edição de dados de uma nova Transferência de Disponíveis já gravada anteriormente, deve ser instanciado o OperacaoTransferenciaDisponivel e deve ser utilizado o método abre() do objeto Operacao passando a chave de criação da operação ou a chave de qualquer uma das movimentações de disponíveis criadas.

__includeOnce(-1898141835); // /products/INTEQengine/configuration/iDBCsql library.ijs

__includeOnce(-1897053223); // ../objects/operacaoTransferenciaDisponivel.js */

//Neste caso temos uma transferência de chave de criação 385656809 que possui

//as movimentações de chave 385656810 e 385656809

//Para abertura poderia ser utilizada qualquer uma das chaves das movimentações (385656810 e 385656809)

var novaTransferencia = new OperacaoTransferenciaDisponivel()

novaTransferencia.abre(385656810)

Em seguida os dados das movimentações podem ser acessados e editados pelo dataset movDispo, no exemplo citado é utilizado o método first da api dataset para posicionar na primeira movimentação, em seguida é alterada a data de emissao e realizado o método post e o método next da api dataset posicionando na segunda movimentação, onde finalmente, é feita a alteração na data de emissão e no disponível, sendo utilizado o método post da api dataset para confirmar as alteração

novaTransferencia.movDispo.first();

novaTransferencia.movDispo.disponivel = 3002935; /* Caixa Iguatemi 2 */

novaTransferencia.movDispo.post();

novaTransferencia.movDispo.next();

novaTransferencia.movDispo.disponivel = 3722606; /* Banco Itaú */

novaTransferencia.movDispo.post()

Caso precise alterar mais de uma movimentação o dataset movDispo pode ser percorrido para edição.

for (novaTransferencia.movDispo.first(); !novaTransferencia.movDispo.eof; novaTransferencia.movDispo.next() ){

novaTransferencia.movDispo.emissao = new Date();

novaTransferencia.movDispo.locescritu = 408425; /* Bematech LocEscritu */

novaTransferencia.movDispo.post();

}

Exemplo completo no idbc. Há necessidade de trocar as chaves informadas por uma chave da base onde está sendo executado.

__includeOnce(-1898141835); // /products/INTEQengine/configuration/iDBCsql library.ijs

__includeOnce(-1897053223); // ../objects/operacaoTransferenciaDisponivel.js */

var novaTransferencia = new OperacaoTransferenciaDisponivel()

novaTransferencia.abre(385656810)

novaTransferencia.movDispo.first();

novaTransferencia.movDispo.disponivel = 3002935; /* Caixa Iguatemi 2 */

novaTransferencia.movDispo.post();

novaTransferencia.movDispo.next();

novaTransferencia.movDispo.disponivel = 3722606; /* Banco Itaú */

novaTransferencia.movDispo.post()

for (novaTransferencia.movDispo.first(); !novaTransferencia.movDispo.eof; novaTransferencia.movDispo.next() ){

novaTransferencia.movDispo.emissao = new Date();

novaTransferencia.movDispo.locescritu = 408425; /* Bematech LocEscritu */

novaTransferencia.movDispo.post();

}

novaTransferencia.grava()

exclusão de transferência

excluindo uma transferência de disponíveis

Para excluir uma Trasnferência já gravada anteriormente, deve ser instanciado o OperacaoTransferenciaDisponivel e deve ser utilizado o método abre() do objeto Operacao passando a chave de criação da operação ou a chave de uma das movimentações e em seguida realizar a exclusão de todos os registros de movimentações do dataset movDispo.

__includeOnce(-1898141835); // /products/INTEQengine/configuration/iDBCsql library.ijs

__includeOnce(-1897053223); // ../objects/operacaoTransferenciaDisponivel.js */

var novaTransferencia = new OperacaoTransferenciaDisponivel();

novaTransferencia.abre(385656810);

novaTransferencia.movDispo.first();

while (!novaTransferencia.movDispo.eof) {

novaTransferencia.movDispo.del();

}

Uma transferência de disponíveis não pode ser cancelada, sendo necessário sempre realizar a exclusão.

O método cancela() e o método apaga() do objeto Operacao não estão implementados na OperacaoTransferenciaDisponivel.

Em seguida deve ser chamado o grava:

novaTransferencia.grava()

Exemplo completo no idbc.

__includeOnce(-1898141835); // /products/INTEQengine/configuration/iDBCsql library.ijs

__includeOnce(-1897053223); // ../objects/operacaoTransferenciaDisponivel.js */

var novaTransferencia = new OperacaoTransferenciaDisponivel()

novaTransferencia.abre(385656810)

novaTransferencia.movDispo.first()

while (!novaTransferencia.movDispo.eof) {

novaTransferencia.movDispo.del();

}

novaTransferencia.grava()

consultando operações de transferência de disponíveis

Para realizar a consulta de transferências de disponíveis, deve-se utilizar o datasource de MovDispo.

O prefixo a ser utilizado tanto nos filtros quanto nas colunas será o "MOV", representando as movimentações, todos os campos visíveis da tabela Movimentação de Disponíveis estão disponíveis para filtragem e para exibição como colunas.

O filtro "MOV_OPERACAOORIGEM" irá auxiliar na consulta e é obrigatório quando se deseja filtrar apenas movimentações originadas de transferência.

Exemplo de uso do DataSource de MovDispo para trazer todas as operações de transferências realizadas em um período

__includeOnce(-1898141835); // /products/INTEQengine/configuration/iDBCsql library.ijs

__includeOnce(-1898142156); // /products/INTEQengine/library/dataSource/DataSource.ijs

var dts = new DataSource(-1894542624); // ../Movimentacoes/Movimentacoes de Disponiveis.ids

var filters = dts.createFilters([

{name: "MOV_EMISSAO_START", operator: ">=", value: new Date()},

{name: "MOV_EMISSAO_END", operator: "<=", value: new Date()},

{name: "MOV_OPERACAOORIGEM", operator: "=", value: -1897050898 /* Transferência */}

]);

var columns = dts.createColumns([

{name: "MOV_CHAVE"},

{name: "MOV_CLASSE"},

{name: "MOV_CHCRIACAO"},

{name: "MOV_EMISSAO"},

{name: "MOV_DISPONIVEL.CODIGO"},

{name: "MOV_PESSOA.CODIGO"},

{name: "MOV_LOCESCRITU.CODIGO"},

{name: "MOV_ESTABELECI.CODIGO"},

{name: "MOV_VALOR"}

]);

dts.getDataSet(filters, columns);

Exemplo de uso do DataSource de MovDispo para trazer uma operação específica de transferência de disponíveis à partir da Chave de Criação:

__includeOnce(-1898141835); // /products/INTEQengine/configuration/iDBCsql library.ijs

__includeOnce(-1898142156); // /products/INTEQengine/library/dataSource/DataSource.ijs

var dts = new DataSource(-1894542624); // ../Movimentacoes/Movimentacoes de Disponiveis.ids

var filters = dts.createFilters([

{name: "MOV_CHCRIACAO", operator: "=", value: 385656810}

]);

var columns = dts.createColumns([

{name: "MOV_CHAVE"},

{name: "MOV_CLASSE"},

{name: "MOV_CHCRIACAO"},

{name: "MOV_EMISSAO"},

{name: "MOV_DISPONIVEL.CODIGO"},

{name: "MOV_PESSOA.CODIGO"},

{name: "MOV_LOCESCRITU.CODIGO"},

{name: "MOV_ESTABELECI.CODIGO"},

{name: "MOV_VALOR"}

]);

dts.getDataSet(filters, columns);

Tópicos avançados