terça-feira, 8 de novembro de 2016

TDS erro Failed to create the Java Virtual Machine

Em breve montarei um tutorial completo de como instalar e configurar o TDS, mas desde já vou adiantar um erro que sempre ocorre quando preciso instalar um novo TDS e geralmente para os iniciantes ele dá um certo trabalho para resolver, então vamos lá...


Para corrigir esse erro, basta ir no arquivo de configuração do TDS geralmente com este nome e edita-lo.
Altere os parâmetros:
-Xms40m
-XX:MaxPermSize=256M

Para:
-Xms100m
-XX:MaxPermSize


Agora é só abrir o TDS e ele não apresentará o erro do Java.


Espero ter ajudado com esse post, em breve um tutorial completo da instalação e configuração do Totvs Developer Studio.


sexta-feira, 16 de setembro de 2016

Rotina de devolução através da nota fiscal de entrada MATA103

Em um post parado como rascunho desde 2016, eu me deparei com um erro simples mas que me custou um tempo para encontrar a solução, o erro era esse abaixo:

HELP: A410UNIDIF
Por se  tratar  de  uma  Nota  Fiscal
deDevolução, o  valor  unitário  deve
serigual ao da Nota Fiscal de Origem.

Tabela SF1 15/09/2016 17:31:55
Numero               - F1_DOC       :=          
Serie                - F1_SERIE     :=    
Tipo da Nota         - F1_TIPO      := D
Fornecedor           - F1_FORNECE   := 009535
Loja                 - F1_LOJA      := 01
DT Emissao           - F1_EMISSAO   := 15/09/2016
Form. Prop.          - F1_FORMUL    := S
Espec.Docum.         - F1_ESPECIE   := NF   
Vlr.Frete            - F1_FRETE     := 0
Vlr.Seguro           - F1_SEGURO    := 0
Vlr.Despesas         - F1_DESPESA   := 0
--------------------------------------------------------------------------------
Tabela SD1 15/09/2016 17:31:55
Erro no Item   1
--------------------------------------------------------------------------------
Item NF              - D1_ITEM      := 0001
Produto              - D1_COD       := XXXXXXXXX      
Quantidade           - D1_QUANT     := 500
Vlr.Unitario         - D1_VUNIT     := 1.69689
Vlr.Total            - D1_TOTAL     := 848.45
Desconto             - D1_VALDESC   := 0
Vlr. Frete           - D1_VALFRE    := 0
Vlr. Seguro          - D1_SEGURO    := 0
Vlr. Despesa         - D1_DESPESA   := 0
Aliq. IPI            - D1_IPI       := 15
Armazem              - D1_LOCAL     := XX
Tipo Entrada         - D1_TES       := 999
Cod. Fiscal          - D1_CF        := 9999 
Unidade              - D1_UM        := MT
Lote                 - D1_LOTECTL   := 999999999999
Sub-Lote             - D1_NUMLOTE   :=       
Valid. Lote          - D1_DTVALID   := 09/06/2016
Potencia Lot         - D1_POTENCI   := 0
Data Fabric.         - D1_DFABRIC   := 09/06/2016
Docto. Orig.         - D1_NFORI     := 999999999
Serie Orig.          - D1_SERIORI   := 0  
It.Doc Orig.         - D1_ITEMORI   := 01
ICMS Solid.          - D1_ICMSRET   := 258.03
                     - D1RECNO      := 99999
Erro -->  Inconsistencia na Linha de Itens
--------------------------------------------------------------------------------
Ocorria que quando uma nota de devolução era emitida com base em uma nota de saída, gerava um erro no gatilho de arredondamento, pois no SD2 o valor unitário tem 5 casas decimais enquanto na SD1 era esperado 8 casas decimais e ai ocorria a critica de valor diferente da nota de origem.
A solução encontrada foi remover do gatilho da D1_VUNIT sequência 001, por uma função customizada, e na função testar se era proveniente da rotina de devolução e se for não executar a função ROUND do ADVPL.
Veja como ficou a solução na imagem abaixo:

Se você já teve esse problema e resolveu com outra solução, comente abaixo, quanto mais conhecimento melhor, etc
Até o próximo post...