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);