Linkedin

Total de visualizações de página

terça-feira, 1 de agosto de 2017

StrZero

Ir para o final dos metadados
Ir para o início dos metadados


A partir de um numérico esta função retorna uma string formatada, inserindo zeros à esquerda e/ou o símbolo decimal (".") em suas casas, de acordo com as informações do parâmetro.
Sintaxe
StrZero( < nValor >, < nTamanho >, [ nDecimal ] )
Parâmetros
Nome
Tipo
Descrição
Obrigatório
Referência
nValor
numérico
Indica o valor numérico que será convertido para string.
X

nTamanho
numérico
Indica o tamanho da string será gerada.
X

nDecimal
numérico
Indica o número de casas após o símbolo decimal.


Retorno
Nome
Tipo
Descrição
cRet
caractere
Retorna uma string a partir do valor numérico e do tamanho informado no parâmetro.


Observações


Observe que <nTamanho> indica o número de caracteres que serão utilizados para representar o valor passado através de <nValor>.


Sempre que o número de caracteres passados em <nTamanho> não for suficiente para representar <nValor> juntamente de seu símbolo e casas decimais, a função retornará um conjunto de caracteres ("*") com o <nTamanho> definido.


Exemplos
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#DEFINE CRLF Chr(13)+Chr(10)
User Function Exemplo()
  Local cMensagem := ""
  //+----------------------------------------------------------------------------+
  //|Exemplifica o uso da função StrZero                                         |
  //+----------------------------------------------------------------------------+
  cMensagem += "StrZero(98765432.1, 1, 8) = "  + StrZero(98765432.1, 1, 8)  + CRLF
  cMensagem += "StrZero(9876543.21)       = "  + StrZero(9876543.21)        + CRLF
  cMensagem += "StrZero(987654.321, 3, 6) = "  + StrZero(987654.321, 3, 6)  + CRLF
  cMensagem += "StrZero(98765.4321) = "        + StrZero(98765.4321)        + CRLF
  cMensagem += "StrZero(9876.54321, 5, 4) = "  + StrZero(9876.54321, 5, 4)  + CRLF
  cMensagem += "StrZero(987.654321, 6 ,3) = "  + StrZero(987.654321, 6, 3)  + CRLF
  cMensagem += "StrZero(98.7654321, 7, 2) = "  + StrZero(98.7654321, 7, 2)  + CRLF
  cMensagem += "StrZero(9.87654321, 8, 1) = "  + StrZero(9.87654321, 8, 1)  + CRLF
  cMensagem += "StrZero(0) = "                 + StrZero(0)                 + CRLF
  cMensagem += "StrZero(-9.87654321, 5, 2) = " + StrZero(-9.87654321, 5, 2) + CRLF
  cMensagem += "StrZero(-98.7654321, 4, 1) = " + StrZero(-98.7654321, 4, 1) + CRLF
  cMensagem += "StrZero(-987.654321) = "       + StrZero(-987.654321)       + CRLF
  cMensagem += "StrZero(-9876.54321, 2, 6) = " + StrZero(-9876.54321, 2, 6) + CRLF
  cMensagem += "StrZero(-98765.4321, 1, 5) = " + StrZero(-98765.4321, 1, 5) + CRLF
  cMensagem += "StrZero(-987654.321, 0, 0) = " + StrZero(-987654.321, 0, 0) + CRLF
  cMensagem += "StrZero(-9876543.21, 5, 1) = " + StrZero(-9876543.21, 5, 1) + CRLF
  cMensagem += "StrZero(-98765432.1, 4, 2) = " + StrZero(-98765432.1, 4, 2) + CRLF
  //+----------------------------------------------------------------------------+
  //|Apresenta uma mensagem com os resultados obtidos                            |
  //+----------------------------------------------------------------------------+
Return MsgInfo(cMensagem, "Exemplo do StrZero")

Preview





Procedimento de Migração de Versão - para Protheus 11


- Prepare uma base teste, efetuando cópia fria (todos os serviços parados) e consistente (das pastas adequadas e banco de dados) da base de produção.
- Caso sua Base de Dados seja Relacional (utiliza DBACCESS) será necessário rodar o processo de verificação dos registros duplicados para todas as empresas. Assistente executado a partir da rotina CHECKDUPL via Configurador, que tem como pré-requisito a atualização do dicionário de dados padrão na pasta SYSTEMLOAD. Para fazer o download do dicionário, siga os procedimentos do seguinte link: Atualizar o Dicionário de Dados do Protheus 11

Crie dentro da pasta Protheus_Data, a pasta MIGRACAO e nela descompacte o dicionário de dados Completo da versão 11. Na verificação de duplicidade será solicitado o SX2.UNQ, utilize o da versão 11 como referência para a checagem.
- Vide Instruções para verificação de duplicidades no link: Rotina CheckDupl – Verifica a Integridade de Registros Duplicados
- Desinstale as Stored Procedures através do Configurador pela versão atual. Lembrando que tal procedimento deve ser realizado juntamente com o DBA responsável pelo banco de dados, pois pode haver customizações nas Stored Procedures, e se for o caso o DBA pode realizar o backup para reaplicar tais customizações após a migração para a versão 12. Caso tenha dúvida sobre a desinstalação/instalação de Stored Procedures, favor abrir novo chamado com a equipe de Framework.

2. INSTALAÇÃO DO PROTHEUS 11
Link para o Guia de Instalação do Protheus 11:
Guia de Instalação Protheus -- 118396
- Faça a instalação do Protheus 11
- Configure os arquivos appserver.ini (Server) e smartclient.ini (Client);
- Atualize o binário do sistema (APPSERVER, SMARTCLIENT e SMARTCLIENTACTIVEX);
- Descompacte o conteúdo da pasta ace_8.00 (apenas o ACE_8.00) na pasta bin\appserver de sua base;

3. ATUALIZANDO O SISTEMA
É necessário atualizar Binário, RPO e LIB do Protheus 11
Procedimento de atualização no link:
Atualização básica do Protheus 11

4. ATUALIZANDO A BASE DE DADOS
Caso a versão em produção seja anterior a versão 10:
- Altere o conteúdo do parâmetro “STARTPATH” de cada ambiente do arquivo Appserver.ini caso os diretórios do dicionário de dados e da base de dados sejam diferentes do padrão da versão Protheus 8.11 (SYSTEM e DATA respectivamente). Conforme a configuração do parâmetro “STARTPATH” do arquivo Mp8srv.ini (Server) do sistema Protheus 8.11.
- Altere os nomes dos diretório SYSTEM e DATA do sistema Protheus 11 conforme configuração do item anterior
- Copie o conteúdo das pastas SYSTEM, DATA e PROFILE do sistema Protheus (Versão atual) para suas respectivas pastas do sistema Protheus 11;
- Verifique se o espaço disponível no servidor que hospeda a base de dados do sistema Protheus 11 é pelo menos 3x superior o tamanho da base de dados do sistema Protheus (Versão atual).

5. ATUALIZANDO O DICIONÁRIO DE DADOS
É necessário atualizar os arquivos de Dicionário de Dados (sxsbra.txt) e Help de Campos na pasta Systemload
Procedimento de atualização no link:
Dicionário de dados:
Atualizar o Dicionário de Dados do Protheus 11
Help de Campos:
Atualizar Help de Campos

6. LIMPEZA DAS PASTAS
- Exclua os arquivos *.DBF/*.CDT da pasta SYSTEMLOAD
- Exclua os arquivos *.IDX da pasta SYSTEMLOAD
- Exclua os arquivos *.LOG e *.SPS da pasta SYSTEM
- Exclua os arquivos *.TSK da pasta APPSERVER

7. EXECUTANDO O COMPATIBILIZADOR DE MIGRAÇÃO
- No Smartclient da versão 11, execute no Programa Inicial: MP710TO110
- Em Diretório de Dados, selecione a pasta Data (\DATA\)
- Em Configuração de execução do Update, indicamos manter apenas as opções Log de Critical Error e Corrigir erros automaticamente habilitadas, lembrando que a opção de corrigir os erros automaticamente executará as alterações de base pelo próprio sistema
NÃO marque a opção Manter o arquivo de log existente
- Clique em Avançar / Avançar
- Aguarde o processo de compatibilização. Se durante o processo surgirem erros críticos que não puderam ser corrigidos automaticamente, estes devem ser corrigidos MANUALMENTE utilizando como base o link de Erros Críticos (mais abaixo), ou consultando o Suporte caso o erro não esteja listado

8. ATUALIZANDO O MENU DOS MÓDULOS
Para baixar os arquivos, acesse:
- Portal do Cliente: http://suporte.totvs.com
- Menu Downloads e Atualizações
- Linha Protheus
- Microsiga Protheus Versão 11
- Todos
- Categoria: Menu de módulo
- Baixe o arquivo MENUS - BRASIL
Obs.: se não estiverem aparecendo as versões, em "Filtros de pacotes" selecione "Todos pacotes disponíveis" e selecione a categoria novamente.
Para atualizar:
- Pare o servidor do Protheus (Appserver)
- Efetue backup dos arquivos *.xnu da pasta \Protheus_Data\system
- Remova todos os arquivos de menu da pasta system (*.xnu).
- Copie os arquivos .xnu baixados do portal para esta pasta.
- Reinicie o servidor do Protheus (Appserver)
Lembrando que menus personalizados precisam ser refeitos, pois há rotinas das versões anteriores que não existem no RPO da versão 11.

ERROS CRÍTICOSQuando ocorrer erro crítico, o cliente deverá efetuar as devidas correções e em seguida apagar o arquivo onde estão as diretivas de instalação (mpupd.tsk) localizado no diretório “...\bin\appserver” e executar a rotina MP710TO110 novamente. Não apagando este arquivo a migração continua do ponto onde parou anteriormente.
Link com as informações de correções dos erros críticos mais comuns:
Erros críticos mais comuns em migrações

Fonte TOTVS

quarta-feira, 5 de julho de 2017

Auto Completar Campos (Codigo)

Quando estamos preenchendo campos código (exemplo: E1_NUM) podemos utilizar um gatilho que complete os zeros a esquerda, facilitando o preenchimento do campo.
Gatilho
Campo .: E1_NUM
Seq.: 001
Cnt Dominio.: E1_NUM
Regra.: STRZERO(VAL(M->E1_NUM),9)
Onde: A função Strzero irá completar com zeros a esquerda o conteúdo do campo indicado, no caso o 9 significa o tamanho do campo


fonte
http://iv2.com.br/Blog/?p=338

Campo: E2_NUM
Sequencia: varia de empresa para empresa
Contra domínio: E2_NUM
Tipo: Primário
Regra: PADL(M->E2_NUM,9,"0")
Posiciona: Não
Alias: <Branco>
Ordem: 0
Chave: <Branco>
Condição: <Branco>


quinta-feira, 29 de junho de 2017

COMO CONFIGURAR A CONFERÊNCIA FINAL DE FECHAMENTO DE CAIXA (VAREJO)?

Produto:
SIGAFRT E SIGALOJA
Versões:
11.8 e Superior
Parâmetros:
  • MV_LJCONFF - [Logico - Verdadeiro ou falso (.T. ou .F.)] - Determina se a conferência de caixa será executada no fechamento de caixa. Seu uso restringe a abertura. de caixa caso o movimento anterior não tenha sido conferido.
  • MV_LJEXAPU- [Logico - Verdadeiro ou falso (.T. ou .F.)] - Determina se será conferencias as cegas, ou seja, determina se a coluna de valores apurados pelo sistema será exibida no momento dos lançamentos dos valores no fechamento do caixa.

  • MV_LJICMSA- [Logico - Verdadeiro ou falso (.T. ou .F.)] - Imprime relatório complemento da sangria no final apos a confirmação da conferencia.

  • MV_LJDESM- [Logico - Verdadeiro ou falso (.T. ou .F.)] - Imprime o relatório de complemento da sangria desmembrado por administradora financeira (necessário que o parâmetro MV_LJICMSA esteja habilitado).
  • MV_LJTRANS - [Logico - Verdadeiro ou falso (.T. ou .F.)] - Ativa a transferência de carteira e portador apos a conferencia final do superior responsável por conferir os valores do caixa.
  • MV_LJTRNAT - [Caracter] - Natureza para transferência de portador.
  • MV_LJTRMVD- [Logico - Verdadeiro ou falso (.T. ou .F.)] - Determina se o movimento detalhado por transferência de portador e situação será utilizado. 
      • Observação: Neste parâmetro define-se se no movimento bancário de transferência de caixa (SE5 – TR) serão geradas transferências com os totais por cada forma de pagamento ou aglutinado na moeda corrente (01).
  • MV_LJOBGCF - [Logico - Verdadeiro ou falso (.T. ou .F.)] - Indica se é obrigatório confirmar a conferência de caixa, para pode finalizar a rotina e voltar ao menus.
  • MV_LJOPCON - [Númerico] - 1-Conferencia em uma so forma (Recebimentos); 2-Conferencia por forma de pagamento;
    • Quando igual a "1": Conferencia em uma só forma, ou seja, caso seja utilizado totalizadores não-fiscais como recebimentos, sangrias, trocos entre outros, sejam exibidos estes totalizadores e não as formas de pagamento. Esta opção faz um "mix" entre formas (vendas/operações fiscais e totalizadores para operações/vendas não-fiscais como recebimento, correspondente bancário, sangria e troco).
    • Quando igual a "2": Conferencia por forma de pagamento, ou seja, será contabilizados os valores em suas respectivas formas, para este caso só entra forma de pagamento e não mais totalizadores.


Observações:
Caso o parâmetro MV_LJOPCON esteja preenchido com 1, deverá ser criado a forma Sangria e Suprimentos na tabela "24 - Formas de Pagamento" da SX5. As formas deverão ser criadas tanto na Retaguarda quanto nos Pdv's.
Ex:
Chave
Descrição
SGSANGRIA
SPSUPRIMENTO
ATENÇÃO:
A abertura e o fechamento devem ser feitos através da rotina Abrir/Fechar caixa (LOJA260), quando for Controle de lojas (SIGALOJA) e através das rotinas de Atendimento (FRTA271 e STIPosMain) quando for Frente de Loja (SIGAFRT ).

Exemplo Conferencia de fechamento de caixa utilizando o TOTVS PDV:

Efetua e abertura do caixa em "Abrir caixa".
Efetue algumas vendas, neste caso foram 3 vendas pagas em dinheiro (R$) totalizando R$ 450,00 e uma venda paga em cheque (CH) totalizando R$ 150,00. 
Apos o fechamento atarves do botão "Menu / Fechamento de caixa":


Note que o sistema apresenta as seguintes informações:
  • Forma de pagamento: Descrição da forma de pagamento;
  • Qtd: Quantidade de ocorrências da forma.
  • Valor Apurado: Valor apurado pelo sistema.
  • Valor Informado: Valor informado pelo usuário com o valor da forma presente no caixa no momento do fechamento.
Para informar o valor contabilizado pelo caixa, basta dar um duplo clique na seleção da forma de pagamento (ao lado esquerdo da tela) que será habilitado para edição do valor Em seguida clique no botão "Adicionar pagamento".

A forma é adicionada ao grid da conferencia (ao lado direito da tela). Neste momento basta clicar em "Confirmar" para finalizar a conferencia no caixa.

Caso o parametro de complemento de sangria esteja habilitado, será impresso o seguinte relatório no ECF (ou impressora não-fiscal).

19/02/2016 13:43:38 GNF:000028 COO:000053
GRG:000026 CER:0026
NÃO É DOCUMENTO FISCAL
RELATÓRIO GERENCIAL
Configuração
Caixa.....: C04
Estação...: 001
PDV.......: 001
Abertura..: 19/02/2016 - Hora: 13:32
Fechamento: 19/02/2016 - Hora: 13:36
Movimento.: 01
NÃO É DOCUMENTO FISCAL
Forma !Desc. Forma ! Valor
BL !BOLETO ! 0.00
BLT !BOLETO ! 0.00
BOL !BOLETO BANCARIO ! 0.00
CC !CARTAO CREDITO ! 0.00
CD !CARTAO DEBITO ! 0.00
CH !CHEQUE ! 150.00
CO !CONVENIO ! 0.00
NÃO É DOCUMENTO FISCAL
CR !CREDITO ! 0.00
DC !DEBITO EM CONTA CORREN ! 0.00
FI !FINANCIADO ! 0.00
FID !FIDELIDADE ! 0.00
R$ !DINHEIRO ! 450.00
TST !CORRESPONDENTE ! 0.00
VA !VALES ! 0.00
VP !VALE PRESENTE ! 0.00

NÃO É DOCUMENTO FISCAL
Total.....: 600,00
--------------------------------------------------------

Pronto! Neste momento o caixa já realizou sua conferencia do dia.