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;