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 há 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 há 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
- 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
- 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 |
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas