segunda-feira, 23 de julho de 2012

Logo no Relatorio P10 e P11

Protheus 10

Substitua o arquivo lgrl01 (lgrl02, lgrl03 ... lgrl99, depende do numero da empresa cadastrada)
Obs.: limite de arquivo de 100 kb

Protheus 11

O processo é o mesmo do protheus 10 porem o nome do arquivo é lgtotvs.bmp

Balanceamento de Carga Protheus

Para criar um balanceamento de carga no Protheus é simples, no exemplo abaixo eu utilizei 3 serviços, sendo 1 master que irá distribuir as conexões e 2 serviços slaves, que irão receber as conexões de usuário.

É possível tambem distribuir os serviços por servidores diferentes. Nesse caso mantive no mesmo servidor por um problema de estouro de memoria do appserver, quando o serviço chegava a 1,5 Gb de memoria o serviço simplesmente caia ou começava a não aceitar mais conexões

Descobri que isso ocorre mais frequentemente em servidores 32 bits e por isso resolvi adotar o balanceamento de carga...

Criei a seguinte estrutura de pastas
bin\appserver
bin\appserver_slave1
bin\appserver_slave2

No arquivo appserver.ini da pasta bin\appserver adicione as seguintes tags

[ServerNetWork]
Servers=SLAVE1,SLAVE2 (identificação dos servidores)
MasterConnection=0 (numero de conexões que o servidor master irá receber)

[SLAVE1]
TYPE=TCPIP
Server=localhost (ip ou nome do servidor onde o serviço slave 1 está levantado)
Port=2020
Connections=5 (numero de conexões que o servidor slave irá receber)

[SLAVE2]
TYPE=TCPIP
Server=localhost  (ip ou nome do servidor onde o serviço slave 1 está levantado)
Port=3030
Connections=5 (numero de conexões que o servidor slave irá receber)

Arquivo appserver.ini  da pasta bin\appserver_slave1
(Dica: nos serviços slaves é interessante desabilitar a tag [http] ou se achar melhor mantenha somente as tags [Ambiente], [DBAccess], [Drivers], [TCP], [General], [SERVICE])

[TCP]
TYPE=TCPIP
Port=2020

[SERVICE]
NAME=TotvsProtheus11_slave1
DISPLAYNAME=Totvs Protheus 11 Slave1
Arquivo appserver.ini  da pasta bin\appserver_slave2

[TCP]
TYPE=TCPIP
Port=3030

[SERVICE]
NAME=TotvsProtheus11_slave2
DISPLAYNAME=Totvs Protheus 11 Slave2

Habilitando o Timeout

Para habilitar o Timeout do Protheus é necessário realizar o seguinte procedimento

Na pasta \totvs\protheus\bin\appserver edite o arquivo appserver.ini e na Tag [General] adicione a linha InactiveTimeOut como demonstrado abaixo.
O tempo de inatividade é representado em segundos e pode ser configurado de acordo com a necessidade de cada empresa.


Exemplo:


[General]
InstallPath=C:\Protheus11\Protheus
InactiveTimeOut=900


Att
Rafael Lopes

terça-feira, 10 de julho de 2012

Tolerancia de Recebimento


Tolerancia de Recebimento

Essa opção permite cadastrar regras de tolerancia de recebimento de materiais

Com o objetivo de validar as entregas com preços e/ou quantidade por cima do pedido de compras. Nesse registro, é definida uma regra ou excessão identificada pelo fornecedor, produto ou grupo de materiais, para quantidade e valor superior ao informado no pedido de compras. Nas rotinas de recebimento de materiais e

Documentos de Entrada, o Sistema compara o preço e quantidade com as do pedido de compras. Se existir divergencia , será analizado se existe alguma regra de tolerancia para o produto, forncedor e/ou grupo de materiais. Se existir, o

Sistema verificará se a tolerancia esta sendo respeitada. Se exceder, a entrada será bloqueada, aguardando uma aprovação ou exclusão do documento dados no controle de alçada. A utilização da tolerancia de preço é opcional.

Para a utilização da rotina, debe-se configurar os seguintes parámetros?

- MV_NFAPROV

- MV_RESTCLAS

Os recebimentos de materiais e documentos de entrada que ultrapassam a telerância ficaram bloqueados até que um aprovador os libere, na rotina de Liberação de Documento.

sábado, 28 de abril de 2012

Tratando do ISS no item do pedido


Para informar a alíquota do ISS no item do pedido de venda (arquivo SC6) será necessário criar um campo nome qualquer, por exemplo, C6_ALIQISS, não existe uma obrigatoriedade para o nome do campo, foi cadastrado assim para manter o mesmo padrão do cadastro de produtos.
A rotina interna do Protheus vai verificar o conteúdo do Valid (SX3) ou no VALID USER (validação do usuário) informado, devendo ser, obrigatoriamente, preenchido = MaFisGet("IT_ALIQISS").

Campo criado:
C6_ALIQISS
Tipo: Numérico
Tamanho:  5,2
Picture: @E 99.99
Valid User (validação do usuário): MaFisGet("IT_ALIQISS")

Com esta criação, será necessário informar a alíquota de cada item no pedido de venda e a mesma será considerada na geração do documento de saída.

Rastro do Desdobramento

http://tdn.totvs.com/kbm#37176

Quando efetuamos um desdobramento de um titulo no contas a pagar ou a receber, o sistema não permite que o usuário exclua qualquer titulo do intervalo, para isso existe uma opção de desabilitar o Rastro, para que seja possível excluir qualquer parcela do desdobramento.

 Segue esclarecimento sobre o funcionamento do parâmetro MV_NRASDSD:

Conteúdo = .F. - FALSE :
Quando faz o desdobramento, mantém o título original baixado, não é possível excluir as parcelas e ao cancelar o desdobramento, exclui todos os títulos, originador e gerados.

Conteúdo = .T. - TRUE :
Quando faz o desdobramento, não mantém o título original baixado, é possível excluir qualquer parcela, mas não é possível cancelar o desdobramento.

Baixa de titulos com desconto de cobrança


1º Emissão da nota fiscal no faturamento
2º Geração dos boletos e geração dos arquivos de cobrança Itaú em cobrança simples
3º Após o registro dessas duplicatas no banco, em alguns casos necessitamos efetuar o desconto das duplicatas, entramos em contato com o gerente do banco e solicitamos o processo de desconto de duplicatas.
4º No Protheus, voltamos os títulos que estavam em situação 1-cobrança simples para situação 0-Carteira e depois geramos um novo bordero passando os títulos para a situação 2-cobrança descontada, isso manualmente, fazemos isso pois através do bordero de cobrança descontada conseguimos creditar o valor correto no banco.
5º No retorno do arquivo CNAB de cobrança, consegui fazer a baixa dos títulos que estavam em cobrança descontada automaticamente, porém o banco envia diversas taxas e tarifas no arquivo, esses valores eu não gostaria que fossem lançados na movimentação bancária SE5, gostaria apenas que fosse efetuado a baixa do título, porém mesmo tirando os valores de despesas e juros do layout, o sistema continua debitando os valores.
x

quinta-feira, 13 de outubro de 2011

Parâmetro que bloqueia a inclusão registro com mesmo CNPJ

Parâmetro que bloqueia a inclusão registro com mesmo CNPJ 

Parâmetro: MV_VALCNPJ:

DESCRIÇÃO: Define se a validacao do CNPJ: 1 - informara se o CNPJ ja esta sendo utilizado, permitindo inclusão ou 2 - nao inclui CNPJs duplicados.  

Conteúdo 1 libera e 2 não libera.

quinta-feira, 15 de setembro de 2011

Numeração Sequencial de Rastro, Lote e Sublote

Numeração Sequencial de Rastro, Lote e Sublote

1697 Na utilização de Rastreabilidade são atualizados 2 campos: Lote e SubLote.

Lote:
Os campos de Lote são alfanuméricos, com tamanho padrão de 10 caracteres, e pode ser informado pelo usuário - pode-se inclusive realizar mais de uma Entrada com o mesmo Lote. Quando nenhum Lote é informado nas rotinas de Entrada o sistema gera automaticamente um Lote, que utiliza a string "AUTO" + o conteúdo do parâmetro MV_PRXLOTE - Este padrão pode ser alterado através de uma fórmula (SIGACFG - Cadastro de Fórmulas). Pode-se atribuir uma fórmula especifica para cada produto (B1_FORMLOT) ou uma fórmula genérica para todos os produtos que utilizem Rastreabilidade (MV_FORMLOT) - Nestes campos deve-se informar o número da fórmula a ser utilizada. A função que gera Lotes automáticamente (NextLote(cProd,"L")) irá verificar primeiro o B1_FORMLOT, depois o MV_FORMLOT - caso ambos estejam em branco utilizará o Preenchimento Automático Padrão.

Exemplo Formula
dtos(dDatabase)+SuperGetMv( "MV_PRXLOTE", .F.)                                                                                

SubLote:
Os campos de SubLote são Alfanuméricos, com tamanho padrão de 6 caracteres. Nas rotinas de Entrada este campo é SEMPRE informado automáticamente pelo sistemna - isto garante a Integridade dos dados, já que conceitualmente não podem existir SubLotes repetidos. A função geradora de SubLotes (NextLote(cProd,"S")) utiliza o conteúdo do parâmetro MV_PRXLOTE na gravação do SubLote e depois incrementa 1 ao conteúdo deste - ou seja, parametro MV_PRXLOTE sempre conterá o string a ser gravado no próximo SubLote incluido no sistema - normalmente não é necessário alterar o valor deste parâmetro, e sempre que isto for feito deve-se ter MUITA cautela, pois toda numeração de sublotes a seguir será influenciada.

quinta-feira, 14 de julho de 2011

Validando Usuario

Ponto de entrada que Valida que apenas o administrador (ou qualquer outro usuario) edite o campo

User Function VALIDPRCVEN()

Local lRet := .T.
 
If cUserName != "Administrador" .and.
cUserName != "Rafael"
        MsgAlert("Alteração não Permitida !")
        lRet := .F.
Endif

Return lRet 


Att Rafael Lopes

segunda-feira, 20 de junho de 2011

STATUS DA TABELA SPED050 e SPED052

STATUS DA TABELA SPED050

Status NFe 
                                             
[1] NFe Recebida                                    
[2] NFe Assinada                                   
[3] NFe com falha no schema XML                    
[4] NFe transmitida                                 
[5] NFe com problemas                              
[6] NFe autorizada                                 
[7] Cancelamento                                   

Status Cancelamento/inutilizacao                        
[1] NFe Recebida                                    
[2] NFe Cancelada                                   
[3] NFe com falha de cancelamento/inutilizacao      

Status Mail                                              
[1] A transmitir                                    
[2] Transmitido                                      
[3] Bloqueio de transmissao - cancelamento/inutiliza 

Status do SPED052                                         
[1] Lote transmitido                                 
[2] Lote recebido com sucesso                      
[3] Lote com erro

sexta-feira, 17 de junho de 2011

Parcelas do Titulo (Financeiro)

Parâmetro: MV_1DUP

Conteudo: A ou 1

Define inicializacao da 1.parcela do titulo gerado
Ex.
A -> para sequencia alfa
1 -> para sequencia numerica.

Att Rafael Lopes

sábado, 11 de junho de 2011

Retirar Data de Saida da Danfe

Parâmetro: MV_DSAIENT

Conteúdo: T ou F

Define se a data de entrada e saída da NF-e não será gerada.

Att Rafael Lopes

quinta-feira, 9 de junho de 2011

Natureza no Doc de Entrada

Parâmetro: MV_NFENAT

Conteúdo: T ou F

Indica se a natureza terá preenchimento obrigatorio durante a inclusao de um documento de entrada.

Att Jonas Camatari

terça-feira, 7 de junho de 2011

Natureza no Pedido de Vendas

Para que seja possível efetuar o cálculo com alíquotas distintas definidas na natureza para um mesmo cliente, é necessário informar no pedido qual natureza será utilizada para o faturamento. Este procedimento será disponibilizado através do preenchimento do campo C5_NATUREZ.

Caso este campo não exista, será necessário criá-lo de acordo com as configurações abaixo descritas:

 

Nome: C5_NATUREZ

Tipo: Caracter

Tamanho: 10

Formato: @!

Contexto: Real

Propriedade: Alterar

Título: Nat. Pedido

Descrição: Natureza do Pedido

Cons.Padrão: SED=Natureza

Validação de Usuário: MaFisGet('NF_NATUREZA')

 

Além da criação do campo, O parâmetro MV_1DUPNAT deve estar preenchido com SC5->C5_NATUREZ (campo específico), indicando que a natureza a ser utilizada é a do pedido de vendas.

 

Att Rafael Lopes