Dit is een handige tip voor iedereen die aan open erp modules werkt. Als je volgende error krijgt.
AttributeError: 'NoneType' object has no attribute '_columns'
Wil dit zeggen dat er iets niet juist zit met je dependencies! Hoogstwaarschijnlijk heb je een module vergeten toevoegen in de __terp__.py file. Bijvoorbeeld
'depends': ["hr","hr_holidays","hr_contract","fleet_manager",],
Ik hoop iedereen hiermee wat tijd te besparen.
maandag 16 augustus 2010
vrijdag 7 mei 2010
Conditionele paraStyle of hoe je de stijl van een tag kan laten afhangen van bepaalde parameters
Ik wist dat er een manier was om de stijl van een element in een rapport te laten afhangen van een bepaalde parameter. Dus ik op zoek in de "RML User Guide", spijtig genoeg las ik niets dat ik kon gebruiken. Dus na een beetje verder denken en zoeken op de OpenErp forums kwam ik volgend stukje code tegen.
<para style="P6">[[ setTag('para','image',{'width':'100.0','height':'80.0','name':str(o.id)}) ]][[ o.image or setTag('image','para') ]]</para>
Meer bepaald [[ o.image or setTag('image','para') ]], is de oplossing voor onze conditionele stijl formattering.
<para style="P6">[[ setTag('para','image',{'width':'100.0','height':'80.0','name':str(o.id)}) ]][[ o.image or setTag('image','para') ]]</para>
Meer bepaald [[ o.image or setTag('image','para') ]], is de oplossing voor onze conditionele stijl formattering.
Labels:
openerp,
rapport,
report lab,
rml
maandag 12 april 2010
Pagina nummering op rapporten
Om de paginanummering van een rapport goed te krijgen kan je gebruik maken van volgende tags, geplaatst binnen een pageTemplate tag.
<pageTemplate id="next">
<frame id="first" />
<pageGraphics>
<setFont name="Helvetica" size="9"/>
<drawRightString x="18cm" y="3.5cm"> <pageNumber/> / <pageCount/> </drawRightString>
</pageGraphics>
</pageTemplate>
Zoals je kan zien hebben we <pageNumber/> en <pageCount/> binnen een drawString tag. Met behulp van die drawString kan je juist bepalen waar je de nummering zet op het rapport. Niet vergeten het referentie punt is de linker beneden hoek.
<pageTemplate id="next">
<frame id="first" />
<pageGraphics>
<setFont name="Helvetica" size="9"/>
<drawRightString x="18cm" y="3.5cm"> <pageNumber/> / <pageCount/> </drawRightString>
</pageGraphics>
</pageTemplate>
Zoals je kan zien hebben we <pageNumber/> en <pageCount/> binnen een drawString tag. Met behulp van die drawString kan je juist bepalen waar je de nummering zet op het rapport. Niet vergeten het referentie punt is de linker beneden hoek.
Labels:
openerp,
rapport,
report,
report lab
donderdag 8 april 2010
Verschil in layout tussen de eerste pagina en de volgende pagina's van je rapport
Bij het maken van een rapport in openerp (report labs,RML) heb ik een lange tijd liggen zoeken naar de mogelijkheid om de layout van de eerste pagina te laten verschillen ten opzichte van de pagina's die er op volgen. Op de eerste pagina begint mijn story tekst langs rechts naast het logo, op de volgende pagina moet die onder het logo beginnen. Wat er dus gebeurd is dat de tekst op de volgende pagina op dezelfde hoogte begint als die van de eerste pagina en omdat die tekst dus links uitgelijnd is loopt deze door het logo. Het is natuurlijk niet de bedoeling de tekst ook rechts te gaan uitlijnen.
De oplossing bestaat er in om 2 pageTemplates aan te maken en de ene te verwisselen van zodra dit nodig is.
Eenmaal 2 templates aangemaakt moeten we nog wel duidelijk maken welke moet gebruikt worden voor de eerste pagina. Dit doen we door aan de story tag een extra atribuut mee te geven.
Als dat gebeurd is geven we aan welke template er moet worden gebruikt vanaf de tweede pagina. We voegen onder de story tag de NextTemplate tag toe.
En dat is het, van zodra je dus op pagina twee komt word er gebruik gemaakt van de tweede pageTemplate (next)
De oplossing bestaat er in om 2 pageTemplates aan te maken en de ene te verwisselen van zodra dit nodig is.
<template pageSize="(595.0,842.0)" title="Test" author="Martin" allowSplitting="20">
<pageTemplate id="first">
<frame id="first" x1="10mm" y1="40mm" width="189mm" height="239mm" />
</pageTemplate>
<pageTemplate id="next">
<frame id="first" x1="10mm" y1="40mm" width="189mm" height="209mm"/>
</pageTemplate>
</template>
Eenmaal 2 templates aangemaakt moeten we nog wel duidelijk maken welke moet gebruikt worden voor de eerste pagina. Dit doen we door aan de story tag een extra atribuut mee te geven.
<story firstPageTemplate="first">
Als dat gebeurd is geven we aan welke template er moet worden gebruikt vanaf de tweede pagina. We voegen onder de story tag de NextTemplate tag toe.
<story firstPageTemplate="first">
<setNextTemplate name="next"/>
En dat is het, van zodra je dus op pagina twee komt word er gebruik gemaakt van de tweede pageTemplate (next)
Labels:
openerp,
report,
report lab
vrijdag 2 april 2010
(MAR) Belgische rekeningenstelsel voor openerp (nederlands)
Download : l10n_be
Na een tijdje met openerp te hebben gewerkt en zelf configuraties te hebben gedaan voor anderen, leek het me wel een idee om het reken-schema te vertalen naar het Nederlands. Ik ben vanuit het bestaande l10n_be uitgegaan en dit naast het MAR - Minimum Algemeen Rekeningenstelsel gelegd. Hierbij heb ik het nodige toegevoegd,weggehaald en vertaald.
Installatie procedure:
Tijdens de installatie kan volgende error voorkomen: "Constraint error" : "The code of the account must be unique per company"
Dit kan je oplossen door het aantal getallen na de komma te verminderen (bvb van 6 naar 2).
Moest je de module gebruiken dan had ik maar al te graag feedback gekregen op dit blog. Alvast bedankt en veel succes!
Na een tijdje met openerp te hebben gewerkt en zelf configuraties te hebben gedaan voor anderen, leek het me wel een idee om het reken-schema te vertalen naar het Nederlands. Ik ben vanuit het bestaande l10n_be uitgegaan en dit naast het MAR - Minimum Algemeen Rekeningenstelsel gelegd. Hierbij heb ik het nodige toegevoegd,weggehaald en vertaald.
Installatie procedure:
- Hernoem de bestaande module l10n_be naar iets anders (bvb l10n_be_fr, wilt U de module toch opnieuw gebruiken hernoem deze dan terug naar het origineel)
- Extract de nieuwe module naar de directory (module directory)
- Maak een nieuwe database aan en tijdens de configuratie fase selecteer je "Belgiƫ - MAR Minimaal Algemeen Rekeningenstelsel"
Tijdens de installatie kan volgende error voorkomen: "Constraint error" : "The code of the account must be unique per company"

Moest je de module gebruiken dan had ik maar al te graag feedback gekregen op dit blog. Alvast bedankt en veel succes!
Labels:
belgische,
mar,
openerp,
rekeningenstelsel