INTEQ KB
Advertisement

Operações com pedidos associados consistem em baixas vinculadas a pedidos pendentes. A criação destes pedidos pendentes acontece automáticamente no momento da criação e gravação da baixa de pedido.

Para realizar uma baixa com essa características, pode ser utilizado qualquer das operações responsáveis pela criação das baixas: OperacaoPedidoBaixaAutomatica e OperacaoPedidoBaixaPedido.

O preenchimento da propriedade "this.classePedidoAssociado", no x-class da classe indicará que as baixas de pedido desta classe deverão gerar pedidos associados utilizando a classe informada na propriedade. Esta propriedade identificará quais pedidos criarão automáticamente um pedido associado pendente.

Passos a serem adotados:

  * Definir que classes de pedido terá a baixa vinculada com pedidos pendentes:
      - Ex: 
          Classe escolhida: S Rem Transf Uso Consumo. 
          É criado um x-class na iVfs desta classe, setando a propriedade "this.classePedidoAssociado" com a chave da classe alvo: this.classePedidoAssociado = -1897054186 /* Ent Rem Transferência Consumo */
  * Instanciar a operação de baixa desejada, lembrando que somente haverá criação automática para pedidos aprovados:
      - var op = new OperacaoPedidoBaixaAutomatica()
        var classe = -1897054182 // S Rem Transf Uso Consumo
        objPedido.nova()
        // Cabecalho
        objPedido.pedidoCab.emissao    = hoje
        objPedido.pedidoCab.pessoa     = 409 /* Pessoa qualquer */
        objPedido.pedidoCab.programaca = hoje
        objPedido.pedidoCab.condpgto   = 469784 /* 30/60 dias */
        objPedido.pedidoCab.movimentac = hoje
        objPedido.pedidoCab.numero     = 'teste ' + objPedido.chcriacao
        // Item
        objPedido.pedido.append()
        objPedido.pedido.classe     = classe
        objPedido.pedido.recurso    = 38109 /* Recurso qualquer*/
        objPedido.pedido.movimentac = hoje
        objPedido.pedido.quantidade = 5
        objPedido.pedido.unitario   = 3.23
        objPedido.pedido.nucleo     = 541 /* Núcleo qualquer */
        objPedido.pedido.post()
        // Dados para o novo pedido
        objPedido.pessoa              = 541 /* Outra Pessoa Qualquer */
        objPedido.localDeEscrituracao = 456328 /* Local de Escrituração Qualquer */
        objPedido.nucleo              = 645 /* Outro Núcleo Qualquer*/
        //
        objPedido.aprova()
        objPedido.grava()
  * OBS: É importante que a variável classe seja a que escolhemos e configuramos como classe que criará automáticamente um pedido pendente associado.

Exemplo de uma aplicação: Consignação

Na consignação, pode existir o seguinte caso: a empresa recebe 50 unidades do produto de um fornecedor, sem compromisso, para revender. Essa mercadoria deve ter registro de entrada no estoque, mas não deve ser gerado títulos para pagamento. Essa entrada é um pedido com classe "Ent Rem Consignação" (quantidade 50) e nesta classe deve existir um x-class configurando que a baixa dessa classe deve criar pedido pendente classificado como: "S Ret Consignação" (também com quantidade 50). A baixa da saída será realizada no dia em que for feita uma conferência dos recursos vendidos (quantidade 25). Esta classe de saída, também, deverá ter um x-class para criação automática de um pedido pendente classificado como: "C p Comercializ Consig"(também quantidade 25). Este pedido criará todas as características fiscais e financeiras comuns à operação de compra. De modo que a empresa tenha uma obrigação de pagamento para o fornecedor de 25 das unidades que recebeu como consignação.

Advertisement