Pular para o conteúdo principal

Postagens

Procurando campos nas enormes tabelas do Protheus...

Quando estamos programando, de vez em quando precisamos localizar um campo para saber seu tipo e tamanho e declararmos corretamente variáveis e outros que receberão seus valores. Com a quantidade de campos cada vez maior nas tabelas do Protheus, é necessário usar artifícios para se ter agilidade nesta busca. Segue então, um script que ajuda a localização de um, neste "mar" de campos. Por exemplo, para localizar rapidamente o campo E2_NUM e ver suas propriedades: SELECT TABELAS.NAME, COLUNAS.NAME AS COLUNA, TIPOS.NAME AS TIPO, COLUNAS.LENGTH AS TAMANHO, COLUNAS.ISNULLABLE AS EH_NULO FROM sysobjects AS TABELAS, syscolumns AS COLUNAS, systypes AS TIPOS WHERE -- JOINS TABELAS.ID = COLUNAS.ID AND COLUNAS.USERTYPE = TIPOS.USERTYPE AND TABELAS.NAME = 'SE2010' AND COLUNAS.NAME = 'E2_NUM' Obs.: Post complementar à outro feito neste blog: SQL para Listar os campos das tabelas
Postagens recentes

Mais uma de NFe - Consultando inutilização

Verifique se realmente suas notas fiscais foram inutilizadas consultando-as no link: Consultando inutilização

Portal da NFe. Verificando disponibilidade de serviços

Consultando a disponibilidade de serviços. Durante sua finalização de vendas, caso precise ver a disponibilidade dos serviços de Nota Fiscal eletrônica, consulte pelo link: http://www.nfe.fazenda.gov.br/portal/disponibilidade.aspx

Path Relativo X Absoluto !

Documentando, para quando ainda houver dúvida: Em diversas funções do Protheus, como FCREATE(), temos que mencionar o path alvo. No caso de FCREATE(), o alvo será onde o arquivo será criado. Este path pode ser absoluto ou relativo. Mas qual a diferença? Quando informado um path relativo, sem a unidade de disco (exemplo: "\temp\teste"), o diretório alvo, será o servidor, abaixo do RootPath*. Para apontar para um diretório na máquina cliente (onde o SmartClient está sendo executado), é necessário informar um path absoluto, com unidade de disco (exemplo: "c:\trabalho\teste"). * RoothPath = tag no arquivo appserver.ini, que identifica o diretório raiz do Sistema (ERP), a partir do qual todos os diretórios utilizados pelo Sistema serão criados.

Barras de título ocupando espaço?

Precisando ganhar alguns centímetros de tela? Usando as propriedades WS_VISIBLE e WS_POPUP, neste caso, é possível remover a barra de títulos em janelas. Veja os exemplos: define msdialog oDialog title "Sem barra de titulo" from 0,0 to 800,100 pixel style nOR( WS_VISIBLE, WS_POPUP ) oDialog:lMaximized := .t.   // maximiza janela. * No construtor construtor MsDialog:New, use deste modo: oDialog := msdialog ():new(0,0,800, 1000, "Sem barra de titulo" ,,,,nOr(WS_VISIBLE,WS_POPUP),CLR_BLACK,CLR_WHITE,,,.t.,,,,.t.) oDialog:lMaximized := .t.   // maximiza janela. * No construtor TDialog:New, use deste modo: oDialog := tdialog():New(0,0,800,1000, "Sem barra de titulo" ,,,,nOr(WS_VISIBLE,WS_POPUP),CLR_BLACK,CLR_WHITE,,,.t.,,,,,,.f.) oDialog:lMaximized := .t.   // maximiza janela.

Zeros à esquerda automaticamente

Uma dica simples para que no momento de digitar um código (ex.:000034), você e seus usuários não fiquem contando os zeros à esquerda deste. Configurador Com o pequeno código abaixo (no campo Regra ) num gatilho*, você não terá mais este trabalho. O teste foi feito com o campo RA_REGISTR : Os campos obrigatórios (em azul) devem ser preenchidos. Confirme, saia do Configurador e teste o campo que você configurou o gatilho. Após preencher o campo e clicar TAB (ou ENTER), os zeros à esquerda completam o tamanho do campo : * Se você não sabe onde e como criar gatilhos, acesse o link:   Criando gatilhos no Protheus

Status das tabelas: SPED050 e SPED052

STATUS DA TABELA SPED050: Status NFe (campo STATUS) :  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/inutilização (campo STATUSCANC) :  1  =  NFe Recebida.  2  =  NFe Cancelada.  3  =  NFe com falha de cancelamento/inutilização. Status Mail (campo STATUSMAIL) :  1  =  A transmitir.  2  =  Transmitido.  3  =  Bloqueio de transmissão – cancelamento/inutilização. STATUS DO SPED052:  1  =  Lote transmitido.  2  =  Lote recebido com sucesso.  3  =  Lote com erro.