terça-feira, 19 de março de 2013

Instalando módulos e localização brasileira

Acessem o novo endereço do blog:
http://www.odooerpnews.com.br/2013/03/19/instalando-modulos-e-localizacao-brasileira/

No OpenERP 7 existe agora o conceito de aplicativos, esses aplicativos são os antigos módulos porém eles são mantidos e instalados a partir do site do 'OpenERP SA'. Para instala-los você será redirecionado para a página online do Openerp para efetuar login, o cadastro é gratuito e você não paga nada para baixar os módulos.

E existe ainda a forma manual de instalar os módulos, que é efetuando o download do módulo, colocando o na pasta addons, e Atualizar a lista de módulos no menu Configurações. É desta forma que vamos instalar a localização brasileira, já que está ainda não está disponível para baixar através dos aplicativos.

Como os módulos já foram baixados na pasta aqui, vamos apenas precisar Atualizar a lista caso esteja algum faltando. Bom vamos lá, para que seja possível instalar é necessário uma configuração antes.
Acesse: Configurações -> Usuarios -> Selecione o usuário Admin, clique em editar.
Na aba permissões de acesso marque a opção "procedimentos técnicos" e clique em salvar.
Recarregue a página para que mais opções no menu apareçam.
Após isso você pode Atualizar a lista de módulos, e para instalar novos módulos você deve ir no menu Módulos instalados, na canto direito superior na caixa de busca desmarque a opção instalados e pronto, aparecerá todos os módulos para você.
Agora é só clicar no módulo desejado e depois em instalar.

A lista completa de módulos da localização brasileira, no Openerp você pode ver uma descrição de cada módulo, ou abrindo através do eclipse o arquivo __openerp__.py de cada módulo.




Criando banco de dados

A url default do openerp é: localhost:8069, porém ele pode estar rodando em outra porta. Caso você rode a partir do eclipse, na saída do console, vai ter o log da porta que ele está executando.
Para mudar a porta caso já tenha algum outro programa rodando você pode definir no arquivo de configuração.
Então devemos acessar o browser e ir para o endereço. Na tela de login tem um link: Manage databases.
Clicando nele temos a seguinte tela:
Em master password o padrão é admin, porém é muito importante que você mude a senha quando colocar em produção, a senha de administrador é configurada no arquivo de configuração.
admin_passwd = admin
Você deve fornecer o nome do novo banco de dados, marcar se deseja que sejam carregados dados de demonstração, a lingua default do sistema. Após instalado é possível adicionar outras traduções.
E a senha de administrador do sistema, por padrão o usuário é admin, e a senha para você acessar é que você colocar aqui.
Vai demorar um pouco até que o banco de dados seja criado.
Nesta tela você pode criar quantos bancos de dados você quiser, o OpenErp já foi pensado para trabalhar com várias instancias rodando paralelamente, ou multi-tenant (termo mais conhecido).
Voltando ao login, se você criou mais que um banco de dados no canto superior direito vai aparecer uma caixa de seleção para você escolher que banco de dados você deseja conectar. Escolha o banco e efetue o login.


quinta-feira, 14 de março de 2013

Tarefas agendadas OpenERP

O OpenERP nos permite criar tarefas para executar periodicamente como: enviar emails, processar arquivos, buscar modificações.

Se você estiver desenvolvendo um módulo e precisar dessa funcionalidade, você vai precisar duas coisas

Primeira: Dentro do xml de seu módulo criar um record do modelo ir.cron, abaixo disponibilizei um exemplo. Você deve especificar o model, e a função que vai ser executada.
Com interval_number e interval_type você configura a frequência de execução da sua tarefa. O type pode ser: (minutes, hours, days, weeks, months, years)
Pode utilizar também o parâmetro args para passar parâmetros  ou seja pode criar vários registros que chamam o mesmo método mas passar parâmetros diferentes. Ex: <field name="args" eval="'(1,False,)'" />


<?xml version="1.0" encoding="UTF-8"?>

<openerp>
    <data>
        <record forcecreate='True' id='ir_cron_send_changes_to_message_queue' model='ir.cron'>
            <field name="name">Run Schedule to get changes in ERP and send to MQ</field>
            <field name="active" eval='True' />
            <field name="user_id" ref='base.user_root'/>
            <field name="interval_number">1</field>
            <field name="interval_type">minutes</field>
            <field name="numbercall">-1</field>
            <field name="doall" eval='False' />
            <field name="model" eval="'modulo.times'" />
            <field name="function" eval="'send_changes_to_rabbitmq'" />
            <field name="args" eval="'()'" />
        </record>
    </data>
</openerp>


O Segundo é definir dentro do seu objeto o evento com o mesmo nome que você definiu no xml. A assinatura dele deve ter no minimo 3 parâmetros (self, cr, uid), caso você passe no args do xml algum parâmetro  lembre-se de acrescentar o parâmetro ao método, pois como é um método que roda no servidor, você não terá indicação de que ocorreu erro, apenas olhando no log.
cr - cursor usado para conectar ao banco de dados
uid - Id do usuário atual - configurado no xml.

def send_changes_to_rabbitmq(self, cr, uid, ids=None):  
     pass


É isso, no lugar do pass você coloca seu código do que precisa ser feito.



sábado, 9 de março de 2013

Baixando a localização completa brasileira do OpenERP

Uma maneira mais fácil de baixar toda a versão brasileira, é executando um script que foi criado pelo pessoal da Akretion.
Abaixo vou colocar a documentação de como fazer isso: (foi copiado do grupo OpenERP Brasil)

"Olá Pessoal,

Com a finalidade de melhorar o processo de instalação do OpenERP com a localização brasileira, agora para instalar o código basta:

$bzr branch lp:~openerp-brazil-team/openerp/openerp-br

$cd openerp-br

$bzr_set.py

após executar esse comando ele vai baixar todas as branches do OpenERP:

addons - Pasta com os módulos core do OpenERP
addons-extra - Pasta com módulos extra 
addons-community - Pasta com módulo comunitários
server - Servidor OpenERP
client - Cliente GTK
web - Web Client
br - Localização Brasileira

Além de baixar todas as branches, também já cria os links simbólicos na pasta addons dos módulos da localização e dos módulos que fazem parte de dependência da l10n_br que estão do addons-extra.

Executando ./bzr_set.py -h você pode usar algumas opções como por exemplo -v para especificar a versão que você quer baixar do OpenERP (trunk, 4.2, 5.0, 6.0), hoje por padrão ele vai baixar a versão trunk

Os outros processos de configurar o postgres e baixar os pacotes do python continuam o mesmo, futuramente esse script pode também instalar os pacotes python e testar se todos os pacotes pyhton utilizados pelo OpenERP e localização estão instalado no ambiente.

Espero que isso ajude bastante a todos a instalar e testar o OpenERP, pois a cada dia o projeto se firma como melhor opção de sistema de gestão empresarial em software livre no Brasil e no mundo.


Um grande abraço para todo !


Renato Lima
Sócio Diretor"
Aproveite um café, por que esse processo vai demorar um tempo, a não ser que sua internet seja melhor que a minha. :)

Banco de dados OpenERP

O OpenERP usa o Postgres como seu banco de dados, é o único suportado.
No ubuntu você pode instalar o postgres automaticamente pela Central de programas, iconversationnstale também o PgAdmin que é a interface de administração dele.

Após abrir o Pgadmin você deve criar um novo Login Role para o openerp poder acessar e criar as bases de dados, não é possivel utilizar o usuário padrão do postgres para usar com o Openerp.


Botão direito em Login roles -> Create new Login Role. Lembre-se de na aba Privileges, marcar o novo usuário como SuperUser, após a instalação dos módulos e instalação você pode mudar a permissão.

O usuário e senha criados devem ir no arquivo de configuração do OpenERP.

Configurações e parametros da linha de comando

No post anterior foi criado um arquivo de configuração para rodar o openerp, porém temos muito mais configurações que podemos modificar.
Vou mostrar uma forma fácil de criar um arquivo default de configuração com todas as configurações possíveis.

Primeiro passo:  No menu do eclipse clique em Run -> Run configurations.
Selecione o seu Python Run, e clique no botão Duplicate no topo, ao lado do botão X.   Modifique o nome e nos argumentos apenas coloque --save como mostra a figura abaixo. E após clique em Run. A saida do eclipse vai acusar vários erros, porém nosso arquivo de configuração já foi criado.


Na pasta Home do ubuntu foi criado o arquivo .openerp_serverrc, basta abrir ele e você verá todas as configurações.

Aqui está o meu arquivo de configuração gerado:

[options]
addons_path = /home/danimar/Projetos/openerp/server/openerp/addons
admin_passwd = admin
csv_internal_sep = ,
db_host = False
db_maxconn = 64
db_name = False
db_password = False
db_port = False
db_template = template1
db_user = danimar
dbfilter = .*
debug_mode = False
demo = {}
email_from = False
import_partial =
limit_memory_hard = 805306368
limit_memory_soft = 671088640
limit_request = 8192
limit_time_cpu = 60
limit_time_real = 120
list_db = True
log_handler = [':INFO']
log_level = info
logfile = None
login_message = False
logrotate = True
max_cron_threads = 2
netrpc = False
netrpc_interface =
netrpc_port = 8070
osv_memory_age_limit = 1.0
osv_memory_count_limit = False
pg_path = None
pidfile = None
proxy_mode = False
reportgz = False
secure_cert_file = server.cert
secure_pkey_file = server.pkey
server_wide_modules = None
smtp_password = False
smtp_port = 25
smtp_server = localhost
smtp_ssl = False
smtp_user = False
static_http_document_root = None
static_http_enable = False
static_http_url_prefix = None
syslog = False
test_commit = False
test_enable = False
test_file = False
test_report_directory = False
timezone = False
translate_modules = ['all']
unaccent = False
without_demo = False
workers = 0
xmlrpc = True
xmlrpc_interface =
xmlrpc_port = 8069
xmlrpcs = True
xmlrpcs_interface =
xmlrpcs_port = 8071

Você pode verificar como ele carrega as configurações, ou alguma configuração adicional diretamente no código fonte.
O arquivo que cuida das configurações fica no projeto server -> openerp-> tools -> config.py


Até mais.

sexta-feira, 8 de março de 2013

Rodando o projeto OpenERP no eclipse

Após o primeiro passo que foi baixar, instalar as ferramentas e dependencias vamos iniciar o projeto openerp. Link aqui

O arquivo de inicio do openerp é o arquivo openerp-server.py.





Vai ser este arquivo que vamos executar pela primeira vez. Botão direito -> Run as -> Python run.

A primeira vez vai dar um erro, porém executamos apenas para criar uma configuração de execução para o arquivo, agora novamente porém em vez de Python run, escolhemos Run Configurations.

Na tela a seguir você deve configurar os parametros como mostra a figura:


Repare que o arquivo config.txt não existe no seu projeto, então crie ele na mesma pasta que você colocou e coloque as seguintes configurações.
Lembre-se de atualizar os caminhos para que o OpenERP encontre os seu módulos, cada caminho é separado por virgula.


[options]
addons_path = /home/danimar/Projetos/openerp/server/openerp/addons,/home/danimar/Projetos/openerp/web/addons,/home/danimar/Projetos/openerp/addons,/home/danimar/Projetos/openerp/br,/home/danimar/Projetos/openerp/fiscal-rules,/home/danimar/Projetos/openerp/account-payment
admin_passwd = admin
db_host = localhost
db_maxconn = 64
db_name = False
db_password = openerp
db_port = 5432
db_template = template1
db_user = openerp


Após isso é só clicar em Run.

**O OpenERP necessita que se tenha um usuário no postgres especialmente para ele, se você tentar o usuário padrão que é postgres, o openerp não vai iniciar.

Como instalar OpenERP 7 - Ubuntu 12.10

Blog em novo endereço:
http://www.odooerpnews.com.br/2013/03/09/como-instalar-openerp-7-ubuntu-12-10/

Como instalar o OpenERP 7 e as ferramentas necessárias para desenvolvimento para a localização brasileira.

Uma das primeiras ferramentas que iremos utilizar é o Bazaar,  ele é um software de controle de versão, assim como git e svn.

No link abaixo instruções de como adicionar as dependências para o Bazaar, após é só instalar ele através da Central de programas do Ubuntu.


Após a instalação do bazaar, ainda nos programas, você pode baixar o eclipse.

Após a instalação do eclipse, iremos instalar o aptana que oferece o desenvolvimento para python.

http://www.aptana.com/products/studio3/download

Escolha a opção Plugin, e siga as instruções da página para instalar.

Após isso iremos começar a baixar o projeto do Openerp para a maquina. São necessários 5 downloads para a localização brasileira, e apenas 3 para a versão normal do ERP.

 Abra o client do Bazaar e clique em Checkout, na url vocẽ vai colocar a url do projeto do OpenERP que são:

  • lp:~openerp/openobject-server/7.0/  - server
  • lp:~openerp/openerp-web/7.0/  - web
  • lp:~account-core-editors/openerp-fiscal-rules/7.0/  - regras fiscais
  • lp:~account-payment-team/account-payment/7.0/  - contas
  • lp:~openerp/openobject-addons/7.0/ - addons
  • lp:~openerp-brazil-core-team/openerp.pt-br-localiz/openerp.pt-br-localiz-v7.0/ - Localização brasileira


Você deve fazer o checkout para os 5 projetos, eles devem ficar com a seguinte estrutura.

 


Após isso vamos criar o projeto no eclipse e adicionar as 5 pastas, ficando desta forma.


Após a criação do projeto devemos adicionar as dependências. Abra o Terminal do ubuntu e digite os seguintes comandos.

sudo apt-get install python-pydot

sudo apt-get install python-mako

Instalar pip para poder baixar as dependencias python.

sudo apt-get install python-pip

Opcionalmente pode ser instalado o virtualenv para permitir que várias versões sejam instaladas lado a lado, cada uma com suas libs.

sudo apt-get install python-virtualenv

Instalando as dependências do openerp.

sudo apt-get install libpq-dev python-dev

sudo pip install psycopg2

sudo pip install babel

sudo pip install pytz

sudo pip install pyyaml

sudo apt-get install python-pychart

sudo pip install werkzeug

sudo pip install unittest2

sudo pip install mock

sudo pip install docutils

sudo pip install python-openid

sudo pip install jinja2

sudo apt-get install libxml2-dev
 
sudo apt-get install libxslt1-dev  

sudo pip install lxml

sudo pip install PIL

sudo pip install reportlab

sudo pip install python-dateutil

sudo apt-get install python-libxml2


Instalar gdata do local
http://code.google.com/p/gdata-python-client/downloads/list


Eu coloquei os comandos na ordem que executei eles em minha máquina, talvez na sua maquina alguns já estejam instalados, ou estejam faltando outros.
Para descobrir se está faltando algum na hora de executar o projeto, você ganhar um erro como: 'Import module error - no module named mock' , isso significa que você esqueceu de instalar algum modulo. Você pode tentar usar o pip para instalar usando: 'sudo pip install nome_modulo' ou 'sudo apt-get install nome_modulo', e em ultimos casos 'google it'.

No próximo post falarei como executar o projeto via eclipse, parametros e como depurar o projeto.