Quem nunca passou por esse aperto, ao precisar alterar o tamanho de casas decimais nas tabelas da Totvs, sempre se fica a impressão e isso é certo que mais dias menos dias vai surgir uma inconsitência em alguma tabela que foi esquecida, dempois de muitas pesquisas encontrei essas duas postagens da Totvs que me ajudou muito
FAT0068_Aumento_de_Casas_Decimais_no_ambiente_Faturamento_SIGAFAT
Facilitador criado pela Totvs
Download da ferramenta
Espero te auxliado em um sofrimento a menos.
Neste blog teremos dicas do universo Totvs relacionado mais especificamente ao Protheus e sua linguagem proprietária o ADVPL. Também abordarei ferramentas de apoio para o desenvolvedor para facilitar o seu dia a dia. Esse blog será voltado a apoiar quem esteja ingressando nesta carreira de desenvolvimento em ADVPL.
sexta-feira, 23 de junho de 2017
quarta-feira, 7 de junho de 2017
Alinhamento em janelas com a propriedade do ALIGN
Quem nunca sofreu com alinhamentos em janelas do Protheus, porém um simples comando vai fazer você mudar o seu conceito em relação a esse assunto, esse é a propriedade ALIGNque vai nos esquecer as complexos malabarismos de coordenadas do MsAdvSize ou FWGetDialogSize.
Então vamos lá com as opções:
Vale ressaltar que o exemplo foi reduzido apenas, para que fosse demostrado o uso dos ALIGN, e o uso deverá ser adaptado de acordo coma sua necessidade.
Um detalhe importante que nesse exemplo até utilizei coordenadas, porém se tivesse deixado o MSNewGetDados com os campos zerados o resultado seria o mesmo.
oMSNewGet := MsNewGetDados():New( 0,0,0,0, nOpc, "U_VLDLINHA()" , "AllwaysTrue", "",;
aAltFields,, nCont , "AllwaysTrue", "", "AllwaysTrue", oWin02, aHeaderEx, aColsEx)
oMSNewGet:oBrowse:Align := CONTROL_ALIGN_ALLCLIENT
Boa sorte na nova forma de alinhamentos sem uso de coordenadas.
Então vamos lá com as opções:
Alinhar preenchendo em todo o conteúdo da Janela ou Painel onde estiver
CONTROL_ALIGN_ALLCLIENT
Alinhar ao Topo
CONTROL_ALIGN_TOP
Alinhar ao Rodapé
CONTROL_ALIGN_BOTTOM
Alinhar à Esquerda
CONTROL_ALIGN_LEFT
Alinha à Direita
CONTROL_ALIGN_RIGHT
Não utiliza alinhamento
CONTROL_ALIGN_NONE
Vale ressaltar que o exemplo foi reduzido apenas, para que fosse demostrado o uso dos ALIGN, e o uso deverá ser adaptado de acordo coma sua necessidade.
Um detalhe importante que nesse exemplo até utilizei coordenadas, porém se tivesse deixado o MSNewGetDados com os campos zerados o resultado seria o mesmo.
oMSNewGet := MsNewGetDados():New( 0,0,0,0, nOpc, "U_VLDLINHA()" , "AllwaysTrue", "",;
aAltFields,, nCont , "AllwaysTrue", "", "AllwaysTrue", oWin02, aHeaderEx, aColsEx)
oMSNewGet:oBrowse:Align := CONTROL_ALIGN_ALLCLIENT
Boa sorte na nova forma de alinhamentos sem uso de coordenadas.
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:
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=256MPara:
-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:
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...
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...
Marcadores:
Dicas ADVPL,
Exemplos ADVPL,
HELP: A410UNIDIF,
MATA103,
Nota de Devolução
segunda-feira, 23 de abril de 2012
Acentuando no Protheus
No Protheus existe a possíbilidade de se trabalhar com palavras acentuada, apenas alterando um parametro, o MV_ACENTO de 'N' para 'S', desta forma as palavras que forem acentuadas serão aprentadas desta forma dentro de sistema.
Assinar:
Postagens (Atom)




