Pular para o conteúdo principal

Postagens

Mostrando postagens de julho, 2014

RetAsc - Manipulação de String X Numero X Contagem X Sequência

RETASC() A função Replicate() é utilizada para converter uma string numérica em uma informação composta por letras e números, devido a limitação no tamanho de campos ou variáveis de controle, como é o caso do campo de sistema X3_ORDEM. Sintaxe: RETASC(cString, nTamanho, lVolta) Parâmetros: cString String a ser convertida nTamanho Tamanho máximo da string de retorno lVolta Indica se será gerada uma string composta por letras e números a partir de uma string apenas numérica (.T.) ou se será gerada uma string numérica a partir de uma string composta por letras e números (.F.) Retorno: Caracter String convertida conforme o parâmetro lVolta. Exemplo1 – Conversão de numérico para alfanumérico cOrdem := “100” cX3Ordem := RETASC(cOrdem,2,.T.) <– Será retornado “A0” Exemplo2 – Conversão de alfanumérico para numérico cX3Ordem:= “A0” cOrdem:= RETASC(cX3Ordem,3,.F.) <– Será retornado “100” \ Fonte:http://advplbrasil.com.br/advpl/manipulacao-de-strings/

Criando módulos do menu Protheus

A Totvs disponibiliza até 3 possíbilidades de criar novos módulos e para tanto vc deve criar 3 funções conforme abaixo. User function EspNome() Return " Módulo Especifíco 1" User function Esp1Nome() Return " Módulo Especifíco 2" User function Esp2Nome() Return " Módulo Especifíco 3" O retorno será o nome do módulo que será gerado. FONTE:  http://efacildemais.blogspot.com.br/

Criar uma nova tabela no banco sem acessar a rotina

Quando desenvolvemos uma nova rotina, que tem uma nova tabela ao entrar na rotina pela primeira vez o protheus se encarrega de pegar os dados da estrutura nos SX 2, 3 etc, e cria a tabela na base de dados. Porém se não temos uma rotina como fazer? Uma forma rápida de criar a tabela é executar o comando CHKFILE("tabela")  em alguma rotina que possua fórmula. Como por exemplo o SIGACFG acesse a rotina Fórmula e execute o comando chkfile('SZ1') para criar a tabela SZ1. Lembre-se a estrutura do SZ1 deve estar nos SX's antes de executar o comando. FONTE:  http://efacildemais.blogspot.com.br

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. FONTE:  http://efacildemais.blogspot.com.br

Cadastro de funções ADVPL

FWDirRemove( cDir, nType, lComplete, lKillFiles ) Função para remover diretórios, com a vantagem de remover somente o ultimo nível ou todo o caminho. cDir                   Diretório a ser removido lComplete          Remove todo o caminho (.T.) ou apenas o ultimo nível (.F.) lKillFiles             Remove os arquivos antes de tentar remover o diretório FWMakeDir( cDir, lShowMsg ) Função para criar diretório com seus subdiretórios, com a vantagem de criar todo o caminho. cDir                    Diretório a ser criado lShowMsg          Exibe ou não mensagem caso não consiga criar o diretório FwNoAccent( cString ) Retira acentos de uma string cString                 String a ser retirado os acentos Exemplo: cString := 'O avião não pôde aterrissar de manhã' cString := FwNoAccent( cString ) // Retorna : 'O aviao nao pode aterrissar de manha' FWGetSX5( cTable, cKey ) Função de retorno dos campos de uma tabela no SX5 cTable                  Tabela para pesquisa no SX5. Par

type mismatch on compare on FWBRWTABLE:GOBOTTOM(FWBRWTABLE.PRW)

Tratavasse de uma rotina customizada, onde foi utilizado um arquivo de trabalho. No indice que estava sendo criado, utilizam um campo de data, dessa forma deveria ser convertido isso com a função DTOC(CAMPODATA)  Partes do código: Como era:  IndRegua("TRB", cArqTRB, "DTW_DATINI" )  Como fico: IndRegua("TRB", cArqTRB, "DTOC(DTW_DATINI)" )  Sempre tomar cuidado quando utilizar um índice no arquivo de trabalho    THREAD ERROR (raphaelb, SRV-WTS01)   16/07/2014 14:20:22 type mismatch on compare  on FWBRWTABLE:GOBOTTOM(FWBRWTABLE.PRW) 02/05/2014 11:40:15 line : 857 [TOTVS build: 7.00.121227P-20131106] Called from FWBRWTABLE:UPDATETOPBOT(FWBRWTABLE.PRW) 02/05/2014 11:40:15 line : 1848 Called from FWMBROWSE:UPDATETOPBOT(FWBROWSE.PRW) 08/05/2014 10:12:05 line : 10421 Called from FWMBROWSE:CREATEBROWSE(FWBROWSE.PRW) 08/05/2014 10:12:05 line : 3161 Called from FWMBROWSE:ACTIVATE(FWBROWSE.PRW) 08/05/2014 10:12:05 line : 1065 Called f