Solicitação de Compras
API para uso do objeto OperacaoSolicitacaoCompra
Como criar uma nova solicitação?
var operacaoSolicitacaoCompra = new OperacaoSolicitacaoCompra( this.classeDef );
operacaoSolicitacaoCompra.nova();
operacaoSolicitacaoCompra.solicitacaoCab.solicitante = Chave do solicitante ( Por default utiliza a entidade do usuário logado );
operacaoSolicitacaoCompra.solicitacaoCab.post();
operacaoSolicitacaoCompra.solicitacao.append();
operacaoSolicitacaoCompra.solicitacao.nucleo = Chave do núcleo;
operacaoSolicitacaoCompra.solicitacao.classe = Chave da classe;
operacaoSolicitacaoCompra.solicitacao.recurso = Chave do recurso;
operacaoSolicitacaoCompra.solicitacao.programaca = Data de programação;
operacaoSolicitacaoCompra.solicitacao.quantidade = Quantidade que será solicitada;
operacaoSolicitacaoCompra.solicitacao.comprador = Chave da pessoa responsável pela solicitação de compra;
operacaoSolicitacaoCompra.solicitacao.post();
OBS: Ao criar uma nova solicitação "operacaoSolicitacaoCompra.nova()" é gerado um valor para a os campos chcriacao e emissao do dataset que representa os campos de cabeçalho da solicitação. Nome do DataSet "solicitacaoCab".
Como abrir uma solicitação de compras?
var operacaoSolicitacaoCompra = new OperacaoSolicitacaoCompra( this.classeDef );
operacaoSolicitacaoCompra.abre( chcriacao );
Como editar uma solicitação de compras?
Abrir uma solicitação de compras e realizar as alterações nos campo de cabeçalho ou item necessários ( DataSet's solicitacao e solicitacaoCab ).
OBS: A solicitação somente poderá ser editada se não tiver sido aprovada.
Como aprovar uma solicitação e compra?
Abrir ou criar uma nova solicitação e executar a chamada ao método "aprova".
EX: var operacaoSolicitacaoCompra = new OperacaoSolicitacaoCompra( this.classeDef );
operacaoSolicitacaoCompra.abre( chcriacao );
operacaoSolicitacaoComCabecalho.aprova();
Como desaprovar uma solicitação e compra?
Abrir ou criar uma nova solicitação e executar a chamada ao método "desaprova".
OBS: Não é possível desaprovar a solicitação quando alguns itens estão cancelados ou quando possuir itens baixados. No caso da solicitação está cancelada desfaça o cancelamento dos itens para desaprovar a solicitação.
EX: var operacaoSolicitacaoCompra = new OperacaoSolicitacaoCompra( this.classeDef );
operacaoSolicitacaoCompra.abre( chcriacao );
operacaoSolicitacaoComCabecalho.desaprova();
Como cancelar uma solicitação e compra?
É possível realizar o cancelamento por item da solicitação. Para realizar o cancelamento a solicitação deve está aprovada e o item não pode ter sido baixado.
EX: var operacaoSolicitacaoCompra = new OperacaoSolicitacaoCompra( this.classeDef );
operacaoSolicitacaoCompra.abre( chcriacao );
operacaoSolicitacaoCompra.cancelaItem( chaveDoItem );
Como descancelar uma solicitação e compra?
EX: var operacaoSolicitacaoCompra = new OperacaoSolicitacaoCompra( this.classeDef );
operacaoSolicitacaoCompra.abre( chcriacao );
operacaoSolicitacaoCompra.descancelaItem( chaveDoItem );
Como baixar um item de uma solicitação?
Para realizar a baixa de um item da solicitação deve ser informado a chave do item e a quantidade a ser baixada. A solicitação deve está aprovada para realizar a baixa.
EX: var operacaoSolicitacaoCompra = new OperacaoSolicitacaoCompra( this.classeDef );
operacaoSolicitacaoCompra.abre( chcriacao );
operacaoSolicitacaoCompra.baixaItem( chaveDoItem, quantidade );
Configuração dos campos
Como configurar os campos?
Foi criada a propriedade "eCabecalho" para determinar se o campo da solicitação é de cabeçalho ou item. O objeto "OperacaoSolicitacaoComCabecalho" utiliza essa propriedade para guarda em um atributo private "_camposCabecalho" quais os campos são de cabeçalho. Essa informação é utilizada para realizar a exibição correta dos campos nas grades da solicitação.
Para Reallizar a configuração deve ser criado um x-class na classe "-1897052055 Raiz/Dados/Transacionais/Operações/Solicitações/Solicitações de Compra" e redefinir o atributo "eCabecalho".
EX: Definir campo como de cabeçalho.
var fld = this.field( NOMEDOCAMPO , TIPO );
fld.eCabecalho = true;
EX: Definir campo como de ITEM.
var fld = this.field( NOMEDOCAMPO , TIPO );
fld.eCabecalho = false;