Esta versão do sistema foi descontinuada e não recebe atualizações e novas implementações. Acesse a documentação da versão 5.10.3 aqui
Integrações com outros sistemas > Ações SID > Mercado > Pedidos de Vendas > SID.Ped.GravarPedidoContrato (RVPE) - Gravar Pedido Via Contrato De Licitação

SID.Ped.GravarPedidoContrato (RVPE) - Gravar Pedido Via Contrato De Licitação

Aplicação:

Mercado – Pedido De Vendas.

Parâmetros obrigatórios:

Nome Descrição
XML Texto em formato SID XML, cuja definição da estrutura está a seguir.
<pedidos>
<pedido>
<codcli></codcli>
<pedcli></pedcli>
<ctrcli></ctrcli>
<numemp></numemp>
<datent></datent>
<seqent></seqent>
<itens> <item>
<procli></procli>
<codpro></codpro>
<datent></datent>
<qtdped></qtdped>
<univen></univen>
<qtdven></qtdven>
<preven></preven>
</item> .
. (demais itens)
.
</itens>
</pedido>
.
. (demais pedidos)
.
</pedidos>

A descrição de cada delimitador e sua funcionalidade ou obrigatoriedade está a seguir:

Retorno:

O retorno da ação é um texto também em formato XML, dentro dos delimitadores <retorno></retonro>. Dentro desses delimitadores é indicado o erro ou o sucesso na importação para cada pedido dentro da Sequência de pedidos, ordenados numericamente pela Sequência de entrada e iniciando em 1 (um) e envolvidos nos delimitadores <pedido ></pedido>. O número de ordenação exibido no retorno não é o número de pedido no Sapiens.

O formato geral do retorno para um pedido é:

<retorno>
<pedido pedido= 'Sequência_do_pedido' [item='Sequência_do_item'] resultado='erro ou sucesso'>texto do erro ou número do pedido</pedido>
.
.
.
(demais pedidos)
</retorno>

O formato do retorno para um determinado pedido com erro durante a importação é:

<pedido pedido= 'Sequência_do_pedido' [item='Sequência_do_item'] resultado='erro'>texto_do_erro</pedido>
onde
'Sequência_do_pedido' é o número de Sequência em que foi processado o pedido delimitado pelos delimitadores <pedido></pedido>
'Sequência_do_item' é o número de Sequência do item que está sendo processado dentro do pedido, caso o erro tenha ocorrido em um item delimitado pelos delimitadores <itens></itens>. A Sequência do item é reiniciada para cada pedido. Se o erro for gerado pelos dados gerais ou outra consistência no fechamento do pedido e validação dos valores contra o contrato, esse texto não é exibido.
'texto_do_erro' é a informação textual do erro ocorrido pela consistência ou pela verificação da estrutura do comando XML para um pedido.

O formato do retorno para um determinado pedido processado com sucesso é:

<pedido pedido= 'Sequência_do_pedido' resultado='sucesso'>numero pedido gerado = 'número_pedido_sapiens'</pedido>
onde
'Sequência_do_pedido' também é o número de Sequência em que foi processado o pedido delimitado pelos delimitadores <pedido></pedido>
'número_pedido_sapiens' é o número do pedido gerado pelo Sapiens

O texto de retorno é plano e sem quebras de linha.

Informações adicionais:

Dentro dos delimitadores <pedidos></pedidos> poderão ser informados vários pedidos e dentro de cada delimitador <itens></itens> devem ser informados os vários itens do pedido. A ação pode ser chamada individualmente para um pedido apenas, porém recomenda-se a utilização de vários pedidos dentro de uma única ação, que confere um desempenho melhor à importação.

A função irá processar pedido a pedido que estiver dentro dos delimitadores <pedidos></pedidos>. Caso ocorra um erro em um pedido, este pedido todo é descartado e a função segue processando o próximo pedido na Sequência. Ao final, será gerado o retorno da função indicando, para cada pedido com sucesso gerado, o seu número e para cada pedido não processado, o erro correspondente, na mesma Sequência que foi informada no documento XML.

A rotina possui o mesmo funcionamento da rotina da tela do Comercial\Vendas\Pedidos\Via Contrato de Licitação, gerando pedidos com procedência do tipo 8 e abatendo dos saldos de valor e quantidade dos itens do contrato padrão ou do informado, bem como do empenho em relação a valores ou quantidades, conforme os parâmetros do contrato. Os pedidos são gerados já fechados, ou seja, não necessitam de conferência. A filial e empresa em que são gerados os pedidos são o da filial ativa no Sapiens Server e não é permitido indicar filial ou empresa na ação.

Em relação ao documento XML a ser enviado à ação, este deve ser plano, ou seja, sem quebras de linha e sem espaços entre os delimitadores. Os valores dentro dos delimitadores podem ter espaços entre os mesmos, desde que o valor não seja numérico.

Exemplo de pedido e dois itens:

<pedidos>
<pedido>
<codcli>18</codcli>
<pedcli></pedcli>
<numemp>2222222222222222222</numemp>
<datent>07/12/2004</datent>
<ctrcli>16</ctrcli>
<itens>
<item>
<procli>GENE1</procli>
<codpro></codpro>
<datent></datent>
<qtdped>1</qtdped>
</item>
<item>
<procli>GENE2</procli>
<codpro></codpro>
<datent></datent>
<qtdped>2</qtdped>
</item>
<item>
<procli>GENE3</procli>
<codpro></codpro>
<datent></datent>
<qtdped>1</qtdped>
</item>
</itens>
</pedido>
</pedidos>

Exemplo de um retorno com erro e um com sucesso:

Este artigo ajudou você?