terça-feira, 11 de março de 2014

Ponto de entrada F4 do Pedido de compras

MT120ISC
Este ponto de entrada serve para preencher o aCols do pedido de compras após a seleção e confirmação do atalho F4, que vincula as solicitações de compras ao fornecedor digitado no cabeçalho do pedido de compras.

Detalhe: Caso seja preenchido o código da tabela de preço, para se certificar de que o preço unitário do PC seja gatilhado conforme o preço da tabela de preços, o ponto de entrada CM010PCL auxilia, pois se o preço não vier gatilhado, os campos de totais e impostos não serão calculados corretamente.

segunda-feira, 7 de fevereiro de 2011

Work area not in use

Já se deparou com o seguinte erro?

"Work area not in use on FWTABLEDDL:OPENTABLE(FWTABLEDDL.PRX"

Pois é, além da explicação do TDN, existe a seguinte possibilidade:
- Espaço indisponível em disco;
- Erro nos arquivos .cdx do system.
Solução:
Apagar todos os arquivos e pastas da pasta system, com exceção dos arquivos de extensão .xnu e .spf
O sistema irá recriar as tabelas e índices.


Solução encontrada no Help Fácil ( já precisei fazer este processo e funcionou)

- Faça a busca no Windows por .sx delete todos os arquivos; 
- Acesse o portal e baixe a ultima versão do sxsbra.rar, são dois arquivos sx2.unq e sxsbra.txt salve na pasta C:\TOTVS 11\Microsiga\Protheus_Data\systemload 
- Acesse o Protheus novamente parametrize pais e aguarde a criação dos índices novamente. 
- Se ocorrer error log com a tabela xx1.dbf por estar corrompida, verifique tentando abrir no excel 
- Delete a tabela e reinicie o appserver acesse novamente o Protheus 

Observações: Em alguns casos, após a atualização do dicionario de dados, ao entrar em algum modulo aparecia erro de top indicando que algum campo nao existia, entao tive que dropar a tabela e deixar o sistema recria-la novamente para criar com todos os campos.

quarta-feira, 20 de outubro de 2010

Macroexecução

Código macroexecutado: Se muito bem pensado, economiza linhas de código, reutiliza blocos de código, mas muito difícil de dar manutenção.. hehehe

clFunction := "u_FuncaoTeste()"

//Executando código macroexecutado

&clFuntion

Equivalente à: u_FuncaoTeste()

A idéia é utilizar variáveis do tipo string cujo seu conteúdo é uma expressão AdvPl, assim, com muita criatividade e lógica pode-se criar algoritmos fascinantes....

Outro exemplo:
clCondicao := "!Eof()"

While &clCondicao

// codigo

quinta-feira, 16 de setembro de 2010

Conceitos de variáveis - "Variáveis, o que seria um algoritmo sem elas..."

No AdvPl o conceito de variáveis é bem simples.

Declarações:
Local - Vísivel apenas na Function onde foi declarada;
Private - Visível em todo o .prw e os fontes que forem chamados dentro deste .prw;
Public - Vista por qualquer .prw;
Global - "Sinceramente, nunca usei e evito pensar em usar. O conceito fica aí para alguém comentar : )"

Tipos:
C = caracter;
N = numérico;
A = array;
B = bloco de código;
L = valor lógico - .T. ou .F.;
U = indefinido.

Dica para declarações de variáveis:
Uso uma metodologia muito legal que, na minha visão, facilita para o programador.
começa-se pelo tipo, em seguida a declaração

Escopo de variáveis. Exemplo:

Declaração de uma variável LOCAL do tipo C = clNomeDaVariavel
Declaração de uma variável PRIVATE do tipo C = cpNomeDaVariavel
Declaração de uma variável PRIVATE do tipo B = bpNomeDaVariavel
Declaração de uma variável PUBLIC do tipo N = npbNomeDaVariavel
Declaração de uma variável GLOBAL do tipo L = lgNomeDaVariavel

Obs.: Toda variável declarada e não iniciada no momento da declaração tem o tipo U, portanto é recomendado a inicialização de uma variável em sua criação, evitando assim erros do tipo Type Mismatch.

História: Evolução...

A partir do estágio, iniciado em 01/08/2009, fui pegando gosto pela coisa. Quando menos esperava, já estavam me colocando em projetos.
Meu primeiro projeto foi um relatório de Livros Fiscal, para uma empresa Peruana.
Como todo iniciante, fiquei angustiado e entusiasmado.
Em 6 meses comecei à entender melhor a estrutura de programação AdvPl, já conhecia muito bem a maioria das ferramentas do IDE. Sempre me preocupo com a qualidade do código, encho a paciência de muita gente atrás de novas idéias ou lógicas melhores que a minha para poder me aperfeiçoar, e isso tem me ajudado muito.
Uma dica muito importante para quem está iniciando em qualquer àrea de seu interesse é "Faça muitas amizades sólidas com os profissionais da àrea, o Network trará somente benefícios!"

Bom, chega de blá, blá, blá...
Vamos começar a postar tratamentos de códigos, processos e tudo que for pertinente para enriquecer este Banco de Conhecimento - AdvPl.

1º Post: Uma breve descrição

Blog com o intuito de gerar um Banco de conhecimento em desenvolvimento AdvPl. A idéia aqui é gerar posts, comentários, discussões, tudo para enriquecer este Banco, portanto mais uma fonte de pesquisa criada através de uma iniciativa e conhecimento da comunidade.