Árvore de páginas

Boletim Técnico: Geração de Pedido de Vendas na Venda Assistida
Ocorrência
Melhoria
Resumo
Implementada melhoria na rotina “Venda Assistida” (LOJA701) que permite a geração de Pedidos de Venda, para itens em que o campo “Entrega” é selecionado como Entrega.
ID do Chamado
SCP236
Produtos
  • Microsiga 11
  • Módulos
    • SIGALOJA
    Portais
    • nenhum
    Países
    • todos
    Traduções
    • Português (Brasil)
    Sistema Operacional
  • todos
  • Bancos de Dados
    • todos
    Nome + Fonte
    LOJA701C
    Número da FNC
    0000000107552010
    Ajustes no Compatibilizador
    Sim
    Integridade Referencial
    Sim
    Aplicação de Patch
    Não
    Compatibilizador 1
    - U_UPDLOJ11
    Compatibilizador 2
    - U_UPDLOJ13
    Procedimentos para Implementação

     

        Importante:
    Antes de executar os compatibilizadores U_UPDLOJ11 e U_UPDLOJ13 é imprescindível:
    a)    Realizar o backup da base de dados do produto que será executado o compatibilizador (diretório “\PROTHEUS_DATA\DATA”) e dos dicionários de dados "SXs" (diretório “\PROTHEUS_DATA\ SYSTEM”).
    b)    Os diretórios acima mencionados correspondem à instalação padrão do Protheus, portanto, devem ser alterados conforme o produto instalado na empresa.
    c)    Essa rotina deve ser executada em modo exclusivo, ou seja, nenhum usuário deve estar utilizando o sistema.
    d)    Se os dicionários de dados possuírem índices personalizados (criados pelo usuário), antes de executar o compatibilizador, certifique-se de que estão identificados pelo nickname. Caso o compatibilizador necessite criar índices, irá adicioná-los a partir da ordem original instalada pelo Protheus, o que poderá sobrescrever índices personalizados, caso não estejam identificados pelo nickname.
    e)    O compatibilizador deve ser executado com a Integridade Referencial desativada*.


     

          ATENÇÃO: O procedimento a seguir deve ser realizado por um profissional qualificado como Administrador de Banco de Dados (DBA) ou equivalente!
    *         A ativação indevida da Integridade Referencial pode alterar drasticamente o relacionamento entre tabelas no banco de dados. Portanto, antes de utilizá-la, observe atentamente os procedimentos a seguir:
                  i.        No Configurador (SIGACFG), veja se a empresa utiliza Integridade Referencial, selecionando a opção Integridade/Verificação (APCFG60A).
                 ii.        Se não há Integridade Referencial ativa, são relacionadas em uma nova janela todas as empresas e filiais cadastradas para o sistema e nenhuma delas estará selecionada. Neste caso, E SOMENTE NESTE, não é necessário qualquer outro procedimento de ativação ou desativação de integridade, basta finalizar a verificação e aplicar normalmente o compatibilizador, conforme instruções.
                iii.        Se Integridade Referencial ativa em todas as empresas e filiais, é exibida uma mensagem na janela Verificação de relacionamento entre tabelas. Confirme a mensagem para que a verificação seja concluída, ou;
               iv.        Se Integridade Referencial ativa em uma ou mais empresas, que não na sua totalidade, são relacionadas em uma nova janela todas as empresas e filiais cadastradas para o sistema e, somente, a(s) que possui(em) integridade está(arão) selecionada(s). Anote qual(is) empresa(s) e/ou filial(is) possui(em) a integridade ativada e reserve esta anotação para posterior consulta na reativação (ou ainda, contate nosso Help Desk Framework para informações quanto a um arquivo que contém essa informação).
                v.        Nestes casos descritos nos itens “iii” ou “iv”, E SOMENTE NESTES CASOS, é necessário desativar tal integridade, selecionando a opção Integridade/ Desativar (APCFG60D).
               vi.        Quando desativada a Integridade Referencial, execute o compatibilizador, conforme instruções.
              vii.        Aplicado o compatibilizador, a Integridade Referencial deve ser reativada, SE E SOMENTE SE tiver sido desativada, através da opção Integridade/Ativar (APCFG60). Para isso, tenha em mãos as informações da(s) empresa(s) e/ou filial(is) que possuía(m) ativação da integridade, selecione-a(s) novamente e confirme a ativação.
    Contate o Help Desk Framework EM CASO DE DÚVIDAS!

     
    Aplicação do compatibilizador U_UPDLOJ11
    1.    Em Microsiga Protheus TOTVS Smart Client, digite U_UPDLOJ11 no campo Programa Inicial.
    2.    Clique em OK para continuar.
    3.    Após a confirmação será iniciado o processamento.
    4.    Em seguida, é exibida a janela Atualização concluída com o histórico (log) de todas as atualizações processadas. Nesse log de atualização, são apresentados somente os campos atualizados pelo programa. O compatibilizador cria os campos que ainda não existem no dicionário de dados.
    5.    Clique em Gravar/Salvar para salvar o histórico (log) apresentado.
    6.    Clique em OK para encerrar o processamento.
    Aplicação do compatibilizador U_UPDLOJ13
    1.    Em Microsiga Protheus TOTVS Smart Client, digite U_UPDLOJ13 no campo Programa Inicial.
    2.    Clique em OK para continuar.
    3.    Após a confirmação será iniciado o processamento.
    4.    Em seguida, é exibida a janela Atualização concluída com o histórico (log) de todas as atualizações processadas. Nesse log de atualização, são apresentados somente os campos atualizados pelo programa. O compatibilizador cria os campos que ainda não existem no dicionário de dados.
    5.    Clique em Gravar/Salvar para salvar o histórico (log) apresentado.

    Clique em OK para encerrar o processamento.

    Descrição de Ajustes

     

    1.    Criação ou Alteração no arquivo SX3 – Campos:
    ·       Tabela SL1 – Cabeçalho do Orçamento

    Campo
    L1_PEDRES
    Tipo
    Caracter
    Tamanho
    6
    Decimal
    0
    Título
    Num. Pedido
    Descrição
    Número do Pedido de Venda
    Help
    Armazena o Número do Pedido de Venda gerado utilizando a rotina Venda Assistida, para possibilitar a rastreabilidade nas rotinas de exclusão das Vendas.

     
    ·       Tabela SLQ – Cabeçalho do Orçamento

    Campo
    LQ_PEDRES
    Tipo
    Caracter
    Tamanho
    6
    Decimal
    0
    Título
    Num. Pedido
    Descrição
    Número do Pedido de Venda
    Help
    Armazena o Número do Pedido de Venda gerado utilizando a rotina Venda Assistida, para possibilitar a rastreabilidade nas rotinas de exclusão das Vendas.

     
    ·       Tabela SL2 – Itens do Orçamento

    Campo
    L2_PEDRES
    Tipo
    Caracter
    Tamanho
    6
    Decimal
    0
    Título
    Num. Pedido
    Descrição
    Número do Pedido de Venda
    Help
    Armazena o Número do Pedido de Venda gerado através da rotina de Venda Assistida, para possibilitar a rastreabilidade nas rotinas de exclusão das Vendas.

     

    Campo
    L2_FDTENTR
    Tipo
    Data
    Tamanho
    8
    Decimal
    0
    Título
    Data de Entrega do Pedido de Venda
    Descrição
    Data de Entrega do Pedido de Venda
    Help
    Data de Entrega para o Pedido de Venda que será gerado no módulo de Faturamento, quando o conteúdo do campo Entrega for igual a 3 – Entrega.

     

    Campo
    L2_CODCONT
    Tipo
    Caractere
    Tamanho
    6
    Decimal
    0
    Título
    Código do Contato do Cliente
    Descrição
    Código do Contato do Cliente
    Help
    Guarda o código do Contato do Cliente com as informações para Entrega das Mercadorias.

     


    ·       Tabela SLR – Itens do Orçamento

    Campo
    LR_ENTREGA
    Tipo
    Caracter
    Tamanho
    1
    Decimal
    0
    Combo
    1=Retira Posterior; 2=Retira; 3=Entrega
    Título
    Entrega?
    Descrição
    Item para Entrega
    Help
    Define como será feita a entrega do item:
    1 – Retira Posterior: Gera um novo orçamento na loja atual, ou em outra loja para que o cliente retire posteriormente;
    2 – Retira: Opção Padrão faz a emissão do Cupom Fiscal na filial atual;
    3 – Entrega: Gera um Pedido de Vendas na Filial atual ou em outra Filial para emissão de Nota Fiscal de Saída e entrega posterior.

     

    Campo
    LR_PEDRES
    Tipo
    Caracter
    Tamanho
    6
    Decimal
    0
    Título
    Num. Pedido
    Descrição
    Número do Pedido de Venda
    Help
    Armazena o Número do Pedido de Venda gerado através da rotina de Venda Assistida, para possibilitar a rastreabilidade nas rotinas de exclusão das Vendas.

     

    Campo
    LR_FDTENTR
    Tipo
    Data
    Tamanho
    8
    Decimal
    0
    Título
    Data de Entrega do Pedido de Venda
    Descrição
    Data de Entrega do Pedido de Venda
    Help
    Data de Entrega para o Pedido de Venda que será gerado no módulo de Faturamento, quando o conteúdo do campo Entrega for igual a 3 – Entrega.

     

    Campo
    LR_CODCONT
    Tipo
    Caractere
    Tamanho
    6
    Decimal
    0
    Título
    Código do Contato do Cliente
    Descrição
    Código do Contato do Cliente
    Help
    Guarda o código do Contato do Cliente com as informações para Entrega das Mercadorias.

     
    ·       Tabela SC5 – Cabeçalho do Pedido de Venda

    Campo
    C5_ORCRES
    Tipo
    Caracter
    Tamanho
    6
    Decimal
    0
    Título
    Num. Orçam.
    Descrição
    Número do Orçamento
    Help
    Armazena o Número do Orçamento gerado utilizando a rotina Venda Assistida, para possibilitar a rastreabilidade nas rotinas de exclusão das Vendas.

    Procedimentos para Configuração

     

    1.   No Configurador (SIGACFG) acesse Ambientes / Cadastros / Parâmetros (CFGX017). Crie/configure o(s) parâmetro(s) a seguir:

    Nome
    MV_LJPEDVE
    Tipo
    Lógico
    Cont. Por.
    .T.
    Descrição
    Define se realiza a geração Pedidos de Venda utilizando a rotina de Venda Assistida.

     


     

    Nome
    MV_LJTESPE
    Tipo
    Caractere
    Cont. Por.
    Exemplo: 501
    Descrição
    Para definir qual o TES será utilizado para a geração do Pedido de Venda utilizando a rotina de Venda Assistida, o sistema considera as regras do Cadastro de TES Inteligente para eleger um TES automaticamente.
    Caso não seja eleito um TES automaticamente, seja pela ausência do TES Inteligente ou pela não adequação as regras do mesmo, o TES informado neste parâmetro será utilizado na geração do Pedido de Venda.
    Este TES não deve gerar movimento financeiro (Campo Gera Dupl. = Não).

     

    Nome
    MV_LJCONDP
    Tipo
    Caractere
    Cont. Por.
    Exemplo: 001
    Descrição
    Determina a Condição de Pagamento que será utilizada para a geração do Pedido de Venda utilizando a rotina Venda Assistida. Esta condição de pagamento é meramente informativa pois o TES utilizado não pode gerar movimento financeiro.

     

    Nome
    MV_LJTPPED
    Tipo
    Caractere
    Cont. Por.
    “1”
    Descrição
    Define quais serão os campos utilizados para a quebra na geração dos Orçamentos Filho e Pedidos de Venda. Conforme relacionado abaixo:
    1 – Loja Reserva + Tipo de Entrega
    2 – Loja Reserva + Tipo de Entrega + Código do Contato
    3 – Loja Reserva + Tipo de Entrega + Data Entrega
    4 – Loja Reserva + Tipo de Entrega + Código do Contato + Data de Entrega

     

    Nome
    MV_LJALTEN
    Tipo
    Lógico
    Cont. Por.
    .F.
    Descrição
    Determina se o Tipo de Entrega pode ser alterado após a Reserva dos Produtos.

     
    Procedimentos para Utilização

     

    1.   Na rotina Venda Assistida, após escolher um cliente diferente do cliente padrão, inclua um produto na grade de itens e selecione a forma de entrega no campo “Entrega?”.
    2.   Quando escolhido:
    a.     Retira Posterior - É gerado um orçamento na Filial atual ou em outra Filial do sistema, para que o Cliente efetue a retirada posterior deste produto. Esta opção só terá efeito se for efetuada a reserva do produto através da opção F11 – Efetuar Reserva.
    b.    Retira – É impresso o Cupom Fiscal referente a este item, para que o Cliente retire a mercadoria após o término da venda. Se tiver feito a reserva deste produto em outra filial, o sistema incluirá um Orçamento filho nesta filial para que o Cupom Fiscal seja emitido e a mercadoria entregue na filial de destino.
    c.     Entrega – É gerado um pedido de venda na Filial atual ou em outra Filial do sistema, para que a nota fiscal de saída referente a esta mercadoria seja emitida utilizando o módulo de Faturamento do Protheus, e esta mercadoria seja entregue posteriormente ao Cliente. Esta opção só tem efeito se for efetuada a reserva do produto utilizando a opção F11 – Efetuar Reserva.
    3.   O campo “Data de Entrega”, possibilita determinar a data de entrega do Pedido de Vendas que será gerado no módulo de Faturamento, quando o conteúdo do campo Entrega for igual a 3= Entrega.
    4.   Com o campo “Contato” será possível determinar a geração de um novo Pedido de Vendas para cada contato selecionado, através da configuração do parâmetro MV_LJTPPED, quando o conteúdo do campo “Entrega” for igual a 3=Entrega. Quaisquer informações adicionais devem ser tratadas através de rotina customizada, na emissão, ou impressão da nota fiscal no Módulo de Faturamento.
    5.   Será inclusa no Browse da Venda Assistida uma legenda na cor Laranja que indica os Orçamentos Filhos que possuem um Pedido de Vendas Associados a eles.
    6.   Os Pedidos de Venda gerados por meio da rotina Venda Assistida não poderão ser alterados / excluídos utilizando o módulo Faturamento, pois a Nota Fiscal de Saída gerada através destes Pedidos deve respeitar os valores recebidos através da rotina de Venda Assistida.
    7.   A rotina de Exclusão de NF / Orçamento / Pedido foi alterada para efetuar a exclusão do Pedido de Venda gerado no módulo de Faturamento, se a nota fiscal de saída referente a este pedido não tiver sido emitida.
     Observação
    1.    Se o parâmetro MV_LJPEDVE estiver configurado como .F., o tratamento realizado será o mesmo realizado anteriormente, ou seja, apenas estarão disponíveis as opções 1-Retira Posterior e 2-Retira. Neste caso a geração de Pedidos de Vendas no módulo de Faturamento não estará disponível, e a opção default será 2-Retira.
    2.    Na rotina de gravação dos Pedidos de Venda, foi incluído o Ponto de Entrada LJ7046, que pode ser utilizado para informar os campos de usuário que deverão ser gravados no Pedido de Venda, conforme detalhado abaixo:
    Sintaxe
    Lj7046 ( ) --> Array
    Retorno

    Tipo
    Descrição
    Array
    Array multidimensional com as informações dos campos de usuário que deverão ser gravados no Pedido de Venda:

    [nI][1] – Cabeçalho do Pedido de Venda – SC5
    [nI][x][1] – Nome do Campo
    [nI][x][2] – Conteúdo do Campo
    [nI][x][3] – Validação de Usuário
    [nI][2] – Itens do Pedido de Venda – SC6
    [nI][2][nItem][1] – Nome do Campo
    [nI][2][nItem][2] – Conteúdo do Campo
    [nI][2][nItem][3] – Validação de Usuário
     

    Exemplo de Utilização do Ponto de Entrada LJ7046:
    #INCLUDE "PROTHEUS.CH"
     
    User Function LJ7046()
    Local aRet := {{},{}}
     
    Aadd(aRet[1], {"C5_CAMPO", "TESTE", NIL })
    Aadd(aRet[2], {{"C6_CAMPO", "TESTE", NIL }})
     
    Return aRet


    1. Na rotina que define quantos Orçamentos Filhos / Pedidos de Venda serão gerados, foi incluído o Ponto de Entrada LJ7049, que pode ser utilizado para redefinir quantos Orçamentos Filhos / Pedidos de Venda serão gerados, conforme detalhado abaixo:

     

    Sintaxe
    Lj7049 ( ) --> Array
    Retorno

    Tipo
    Descrição
    Array
    Array multidimensional com as informações das lojas para reserva e itens que serão gerados para cada loja.

                [nX][01] - Filial do orçamento original
                [nX][02] - Numero do orçamento original
                [nX][03] - Código da loja da reserva (SLJ)
                [nX][04] - Código da filial da reserva
                [nX][05] - Array com os itens de cada quebra.
                [nX][06] - Tipo de Entrega
                [nX][07] - Data Entrega
                [nX][08] - Código do Contato
     

     
     
     
     
     
     
     
     
     
     
     
     
     
    Exemplo de Utilização do Ponto de Entrada LJ7049:
    #INCLUDE "PROTHEUS.CH"
     
    User Function LJ7049(aRet
               
          // Tratamentos realizados pela função de usuário
     
    Return aRet


    1. Foi incluído o Ponto de Entrada LJ7048, durante a troca para a Tela de Pagamentos (tecla F7), para permitir a seleção do tipo de Entrega como 1=Retira Posterior ou 3=Entrega, sem efetuar a reserva dos Produtos da Venda, conforme detalhado abaixo:

     

    Sintaxe
    Lj7048 ( ) --> Array com o item da Venda
    Retorno

    Tipo
    Descrição
    Lógico
    Determina se permite que este produto não tenha uma reserva associada.

    Exemplos de Utilização
    Exemplo de Utilização do Ponto de Entrada LJ7048:#INCLUDE "PROTHEUS.CH"User Function LJ7048()	Local lRet		:= .T.	Local aParam	:= aClone(ParamIxb)	// Tratamentos realizados pela função de usuário	Return lRet
    Informações Técnicas

    Tabelas Utilizadas
    SL1 / SLQ – Cabeçalho dos Orçamentos
    SL2 / SLR – Itens dos Orçamentos
    SC5 – Cabeçalho dos Pedidos de Venda
    SC6 – Itens dos Pedidos de Venda

    • Sem rótulos