bzr revid: hmo@tinyerp.com-20101014055834-ontjhzn7nuiqoi14
This commit is contained in:
Harry (OpenERP)
2010-10-14 11:28:34 +05:30
101 changed files with 3098 additions and 1979 deletions
+1 -1
View File
@@ -154,7 +154,7 @@ class account_account_type(osv.osv):
('expense','Profit & Loss (Expense Accounts)'),
('asset','Balance Sheet (Assets Accounts)'),
('liability','Balance Sheet (Liability Accounts)')
],'Type Heads', select=True, readonly=False, help="According value related accounts will be display on respective reports (Balance Sheet Profit & Loss Account)", required=True),
],'P&L / BS Category', select=True, readonly=False, help="According value related accounts will be display on respective reports (Balance Sheet Profit & Loss Account)", required=True),
'note': fields.text('Description'),
}
_defaults = {
@@ -2,11 +2,6 @@
<openerp>
<data>
<record id="res_roles_invoice0" model="res.roles">
<field eval="&quot;&quot;&quot;Invoice&quot;&quot;&quot;" name="name"/>
<field name="description">Assign this role to the persons that should have the rights to confirm a draft invoice.</field>
</record>
<record id="wkf" model="workflow">
<field name="name">account.invoice.basic</field>
<field name="osv">account.invoice</field>
+1 -1
View File
@@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-10-12 04:51+0000\n"
"X-Launchpad-Export-Date: 2010-10-13 04:58+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account
+36 -28
View File
@@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2010-09-29 10:55+0000\n"
"Last-Translator: Goran Kliska (Aplikacija d.o.o.) <gkliska@gmail.com>\n"
"PO-Revision-Date: 2010-10-13 15:51+0000\n"
"Last-Translator: zmmaj <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-09-30 04:42+0000\n"
"X-Launchpad-Export-Date: 2010-10-14 04:45+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account
@@ -411,7 +411,7 @@ msgstr "Zatvaranje plaćanja"
#. module: account
#: model:account.journal,name:account.expenses_journal
msgid "Journal de frais"
msgstr ""
msgstr "Dnevnik Provizije"
#. module: account
#: model:ir.actions.act_window,name:account.act_acc_analytic_acc_5_report_hr_timesheet_invoice_journal
@@ -640,12 +640,12 @@ msgstr "Uvjeti plaćanja za partnera"
#. module: account
#: view:account.move.reconcile:0
msgid "Account Entry Reconcile"
msgstr "Zatvaranje stavke"
msgstr "Zatvaranje stavke konta"
#. module: account
#: wizard_button:account.move.bank.reconcile,init,open:0
msgid "Open for bank reconciliation"
msgstr "Otvor za zatvaranje banke"
msgstr "Otvoreno za zatvaranje banke"
#. module: account
#: field:account.invoice.line,discount:0
@@ -830,6 +830,8 @@ msgid ""
"These types are defined according to your country. The type contain more "
"information about the account and it's specificities."
msgstr ""
"Ovi tipovi su kreirani u odnosu na vasu zemlju. Tip sadrzi vise informacija "
"o kontu i njegovim specificnostima."
#. module: account
#: selection:account.automatic.reconcile,init,power:0
@@ -1040,7 +1042,7 @@ msgstr "Podređeni"
#. module: account
#: model:ir.model,name:account.model_account_fiscal_position_tax
msgid "Taxes Fiscal Mapping"
msgstr ""
msgstr "Fiskalno mapiranje poreza"
#. module: account
#: model:ir.actions.act_window,name:account.action_invoice_tree2_new
@@ -1063,7 +1065,7 @@ msgstr "Izlazni račun"
#. module: account
#: wizard_view:account.open_closed_fiscalyear,init:0
msgid "Choose Fiscal Year"
msgstr "Odaberite poreznu godinu"
msgstr "Izaberite fiskalnu godinu"
#. module: account
#: field:account.sequence.fiscalyear,sequence_main_id:0
@@ -1079,7 +1081,7 @@ msgstr "Ispiši analitičke dnevnike"
#. module: account
#: rml:account.tax.code.entries:0
msgid "Voucher Nb"
msgstr ""
msgstr "Nbr Vaucera"
#. module: account
#: help:account.payment.term.line,sequence:0
@@ -1129,7 +1131,7 @@ msgstr "Novi analitički konto"
#: model:ir.actions.act_window,name:account.action_account_fiscal_position_template_form
#: model:ir.ui.menu,name:account.menu_action_account_fiscal_position_form_template
msgid "Fiscal Mapping Templates"
msgstr ""
msgstr "Predlozci poreskih mapiranja"
#. module: account
#: rml:account.invoice:0
@@ -1145,17 +1147,17 @@ msgstr "Razdoblje od:"
#. module: account
#: model:ir.model,name:account.model_wizard_multi_charts_accounts
msgid "wizard.multi.charts.accounts"
msgstr ""
msgstr "carobnjak.vise.kontnih.naloga"
#. module: account
#: model:account.journal,name:account.sales_journal
msgid "Journal de vente"
msgstr ""
msgstr "Dnevnik Prodaje"
#. module: account
#: help:account.model.line,amount_currency:0
msgid "The amount expressed in an optional other currency."
msgstr "Iznos u drugoj valuti."
msgstr "Iznos je predstavljen opciono u drugoj valuti"
#. module: account
#: view:account.fiscal.position.template:0
@@ -2081,7 +2083,7 @@ msgstr "Proces izlacnog računa"
#. module: account
#: rml:account.invoice:0
msgid "Fiscal Mapping Remark :"
msgstr ""
msgstr "Napomena Fiskalnog mapiranja:"
#. module: account
#: wizard_field:account.fiscalyear.close,init,period_id:0
@@ -2144,7 +2146,7 @@ msgstr "Nova pretplata"
#. module: account
#: view:account.payment.term:0
msgid "Computation"
msgstr "Izračun"
msgstr "Proračun"
#. module: account
#: view:account.analytic.line:0
@@ -2504,13 +2506,13 @@ msgstr "Iznos u valuti dnevnika"
#. module: account
#: wizard_field:account.general.ledger.report,checktype,landscape:0
msgid "Landscape Mode"
msgstr "Položeni način"
msgstr "Prosireni način"
#. module: account
#: model:process.transition,note:account.process_transition_analyticinvoice0
#: model:process.transition,note:account.process_transition_supplieranalyticcost0
msgid "From analytic accounts, Create invoice."
msgstr "Iz konta analitike, stvori račun."
msgstr "Iz konta analitike, kreiraj račun."
#. module: account
#: wizard_button:account.account.balance.report,account_selection,end:0
@@ -2576,7 +2578,7 @@ msgstr "Naziv vrste konta"
#: help:account.tax.template,ref_tax_code_id:0
#: help:account.tax.template,tax_code_id:0
msgid "Use this code for the VAT declaration."
msgstr "Koristi u PDV obrazascu."
msgstr "Koristi ovo za dekleraciju u PDV-a."
#. module: account
#: field:account.move.line,blocked:0
@@ -2624,7 +2626,8 @@ msgstr "Nalog za plaćanje"
#: help:account.account.template,reconcile:0
msgid ""
"Check this option if you want the user to reconcile entries in this account."
msgstr "Omogućuje zatvaranje stavaka za ovaj konto."
msgstr ""
"Cekirajte ovde da omogućuite korisniku zatvaranje stavaka za ovaj konto."
#. module: account
#: rml:account.analytic.account.journal:0
@@ -2816,6 +2819,10 @@ msgid ""
"higher ones. The order is important if you have a tax that has several tax "
"children. In this case, the evaluation order is important."
msgstr ""
"Sekvenciono polje se koristi da bi se poredjali porezi od najmanjeg do "
"najveceg. Ovaj poredak je vazan, narocito ukoliko imate poreze koji, opet "
"imaju nekoliko podredjenih poreza. U tom slucaju, ovaj evaluacioni poredak "
"je vazan."
#. module: account
#: field:account.journal.column,view_id:0
@@ -2868,7 +2875,7 @@ msgstr "Nova izlazna faktura"
#: wizard_button:account.move.line.reconcile,addendum,reconcile:0
#: wizard_button:account.move.line.reconcile,init_full,reconcile:0
msgid "Reconcile"
msgstr "Zatvori"
msgstr "Sravnjanje"
#. module: account
#: rml:account.overdue:0
@@ -2904,7 +2911,7 @@ msgstr "Konto poreza"
#. module: account
#: model:process.transition,note:account.process_transition_statemententries0
msgid "From statement, create entries"
msgstr "Stvori stavki iz izvoda"
msgstr "Kreiraj stavku iz izvoda"
#. module: account
#: field:account.analytic.account,complete_name:0
@@ -3066,8 +3073,8 @@ msgid ""
"If this box is checked, the system will try to group the accounting lines "
"when generating them from invoices."
msgstr ""
"Označite za grupiranje stavki prilikom knjiženja računa. Istovrsne stavke se "
"knjiže zbrojno, kao jedna."
"Ako je cekirano, sistem ce probati da grupise konta prilikom generisanja iz "
"racuna."
#. module: account
#: wizard_field:account.move.line.reconcile,init_full,trans_nbr:0
@@ -3190,7 +3197,7 @@ msgstr "Konto"
#. module: account
#: model:account.journal,name:account.bank_journal
msgid "Journal de Banque CHF"
msgstr ""
msgstr "Dnevnik CHF Banke"
#. module: account
#: selection:account.account.balance.report,checktype,state:0
@@ -3557,7 +3564,7 @@ msgstr "3"
#. module: account
#: model:ir.actions.report.xml,name:account.account_vat_declaration
msgid "Taxes Report"
msgstr "PDV obrazac"
msgstr "Poreski Izvestaj"
#. module: account
#: selection:account.journal.period,state:0
@@ -5208,7 +5215,7 @@ msgstr "Primitak novca"
#: field:account.fiscal.position.tax,tax_dest_id:0
#: field:account.fiscal.position.tax.template,tax_dest_id:0
msgid "Replacement Tax"
msgstr "Zamjenski porez"
msgstr "Promenljiv porez"
#. module: account
#: model:process.transition,note:account.process_transition_invoicemanually0
@@ -5932,7 +5939,7 @@ msgstr "Uvjet plaćanja"
#: model:ir.actions.act_window,name:account.action_account_fiscal_position_form
#: model:ir.ui.menu,name:account.menu_action_account_fiscal_position_form
msgid "Fiscal Mappings"
msgstr ""
msgstr "Fiskalna mapiranja"
#. module: account
#: model:process.process,name:account.process_process_statementprocess0
@@ -5956,7 +5963,7 @@ msgstr "Označite ovu kućicu"
msgid ""
"Check this if the price you use on the product and invoices includes this "
"tax."
msgstr ""
msgstr "Označite ovu kućicu ako cena proizvoda i racuna sadrze ovaj porez"
#. module: account
#: field:account.journal.column,name:0
@@ -5981,6 +5988,7 @@ msgstr "Da"
msgid ""
"Check this if the user is allowed to reconcile entries in this account."
msgstr ""
"Označite ovu kućicu ako je dozvoljeno korisniku da ponisti stavke ovog racuna"
#. module: account
#: wizard_button:account.subscription.generate,init,generate:0
+2 -2
View File
@@ -8,13 +8,13 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2010-10-11 07:18+0000\n"
"PO-Revision-Date: 2010-10-12 07:43+0000\n"
"Last-Translator: OpenERP Administrators <Unknown>\n"
"Language-Team: Mongolian <mn@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-10-12 04:51+0000\n"
"X-Launchpad-Export-Date: 2010-10-13 04:58+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account
+1053 -933
View File
File diff suppressed because it is too large Load Diff
+16 -13
View File
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
<document filename="test.pdf">
<template pageSize="(595.0,842.0)" title="Invoice" author="OpenERP S.A. (sales@openerp.com)" allowSplitting="20">
<template pageSize="(595.0,842.0)" title="Invoices" author="OpenERP S.A. (sales@openerp.com)" allowSplitting="20">
<pageTemplate id="first">
<frame id="first" x1="34.0" y1="28.0" width="530" height="786"/>
</pageTemplate>
@@ -126,6 +126,7 @@
<paraStyle name="terp_default_Note" rightIndent="0.0" leftIndent="9.0" fontName="Helvetica-Oblique" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="Table" fontName="Helvetica" fontSize="10.0" leading="13" spaceBefore="6.0" spaceAfter="6.0"/>
<paraStyle name="User Index 10" rightIndent="0.0" leftIndent="127.0" fontName="Helvetica"/>
<paraStyle name="Preformatted Text" fontName="Helvetica" fontSize="10.0" leading="13" spaceBefore="0.0" spaceAfter="0.0"/>
<images/>
</stylesheet>
<story>
@@ -139,7 +140,7 @@
</para>
</td>
<td>
<para style="terp_default_8">[[ o.partner_id.title or '' ]] [[ o.partner_id.name ]]</para>
<para style="terp_default_8">[[ o.partner_id.title.name or '' ]] [[ o.partner_id.name ]]</para>
<para style="terp_default_8">[[ o.address_invoice_id.street ]]</para>
<para style="terp_default_8">[[ o.address_invoice_id.street2 or removeParentNode('para') ]]</para>
<para style="terp_default_8">[[ o.address_invoice_id.zip or '' ]] [[ o.address_invoice_id.city or '' ]]</para>
@@ -205,13 +206,13 @@
<para style="terp_tblheader_Details_Centre">Quantity</para>
</td>
<td>
<para style="terp_tblheader_Details_Right">Unit Price</para>
<para style="terp_tblheader_Details_Right">Unit Price </para>
</td>
<td>
<para style="terp_tblheader_Details_Right">Disc.(%)</para>
</td>
<td>
<para style="terp_tblheader_Details_Centre">Price</para>
<para style="terp_tblheader_Details_Right">Price</para>
</td>
</tr>
</blockTable>
@@ -229,7 +230,7 @@
<para style="terp_default_Right_9">[[ formatLang(l.quantity)]] [[ (l.uos_id and l.uos_id.name) or '' ]]</para>
</td>
<td>
<para style="terp_default_Right_9">[[ formatLang(l.price_unit) ]][[ o.currency_id.symbol ]]</para>
<para style="terp_default_Right_9">[[ formatLang(l.price_unit) ]]</para>
</td>
<td>
<para style="terp_default_Right_9">[[ formatLang(l.discount, digits=get_digits(dp='Account')) ]] </para>
@@ -281,7 +282,7 @@
<para style="terp_default_9">Net Total:</para>
</td>
<td>
<para style="terp_default_Right_9">[[ formatLang(o.amount_untaxed) ]] [[ o.currency_id.symbol ]]</para>
<para style="terp_default_Right_9">[[ formatLang(o.amount_untaxed, digits=get_digits(dp='Account')) ]] [[ o.currency_id.symbol ]]</para>
</td>
</tr>
<tr>
@@ -307,21 +308,23 @@
<para style="terp_tblheader_Details">Total:</para>
</td>
<td>
<para style="terp_default_Bold_Right_9">[[ formatLang(o.amount_total) ]] [[ o.currency_id.symbol ]]</para>
<para style="terp_default_Bold_Right_9">[[ formatLang(o.amount_total, digits=get_digits(dp='Account')) ]] [[ o.currency_id.symbol ]]</para>
</td>
</tr>
</blockTable>
<para style="Text body"/>
<para style="Text body">
<font color="white"> </font>
</para>
<blockTable colWidths="167.0,59.0,56.0,247.0" style="Table9">
<tr>
<td>
<para style="terp_tblheader_Details">Tax</para>
</td>
<td>
<para style="terp_tblheader_Details_Right">Base</para>
<para style="terp_tblheader_Details_Right">Base </para>
</td>
<td>
<para style="terp_tblheader_Details_Right">Amount</para>
<para style="terp_tblheader_Details_Right">Amount </para>
</td>
<td>
<para style="terp_default_8">
@@ -341,7 +344,7 @@
<para style="terp_default_Right_8">[[ formatLang(t.base, digits=get_digits(dp='Account')) ]] [[ o.currency_id.symbol ]]</para>
</td>
<td>
<para style="terp_default_Right_8">[[ (t.tax_code_id and t.tax_code_id.notprintable) and removeParentNode('blockTable') or '' ]] [[ formatLang(t.amount) ]] [[ o.currency_id.symbol ]]</para>
<para style="terp_default_Right_8">[[ (t.tax_code_id and t.tax_code_id.notprintable) and removeParentNode('blockTable') or '' ]] [[ formatLang(t.amount, digits=get_digits(dp='Account')) ]] [[ o.currency_id.symbol ]]</para>
</td>
<td>
<para style="terp_default_8">
@@ -362,7 +365,7 @@
<blockTable colWidths="120.0,410.0" style="Table1">
<tr>
<td>
<para style="terp_default_Bold_9">Fiscal Position: </para>
<para style="terp_default_Bold_9">Fiscal Position Remark : </para>
</td>
<td>
<para style="terp_default_9">[[ (o.fiscal_position.note and format(o.fiscal_position and o.fiscal_position.note)) or removeParentNode('blockTable') ]]</para>
@@ -373,4 +376,4 @@
<font color="white"> </font>
</para>
</story>
</document>
</document>
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
<document filename="test.pdf">
<template pageSize="(595.0,842.0)" title="Overdue Payment" author="OpenERP S.A. (sales@openerp.com)" allowSplitting="20">
<template pageSize="(595.0,842.0)" title="Overdue Payments" author="OpenERP S.A. (sales@openerp.com)" allowSplitting="20">
<pageTemplate id="first">
<frame id="first" x1="42.0" y1="28.0" width="511" height="786"/>
</pageTemplate>
@@ -97,7 +97,7 @@
<para style="terp_default_9">[[ repeatIn(adr_get(o, 'invoice'),'addr') ]]</para>
</td>
<td>
<para style="terp_default_9">[[ o.name ]]</para>
<para style="terp_default_9">[[ o.title.name or '' ]] [[ o.name ]]</para>
<para style="terp_default_9">[[ addr['street'] ]]</para>
<para style="terp_default_9">[[ addr['street2'] or removeParentNode('para') ]]</para>
<para style="terp_default_9">[[ addr['zip'] ]] [[ addr['city'] ]]</para>
@@ -138,7 +138,7 @@
<para style="terp_default_9">
<font color="white"> </font>
</para>
<blockTable colWidths="56.0,136.0,51.0,72.0,54.0,56.0,66.0,18.0" style="Table1">
<blockTable colWidths="57.0,136.0,51.0,72.0,54.0,56.0,66.0,18.0" style="Table1">
<tr>
<td>
<para style="terp_tblheader_Details">Date</para>
@@ -168,7 +168,7 @@
</blockTable>
<section>
<para style="terp_default_8">[[repeatIn(getLines(o), 'line') ]]</para>
<blockTable colWidths="56.0,136.0,52.0,71.0,55.0,56.0,66.0,17.0" style="Table3">
<blockTable colWidths="57.0,136.0,52.0,71.0,55.0,56.0,66.0,17.0" style="Table3">
<tr>
<td>
<para style="terp_default_9">[[ formatLang(line['date'],date=True) ]]</para>
@@ -197,7 +197,7 @@
</tr>
</blockTable>
</section>
<blockTable colWidths="244.0,71.0,56.0,56.0,66.0,17.0" style="Table2">
<blockTable colWidths="245.0,71.0,56.0,56.0,66.0,17.0" style="Table2">
<tr>
<td>
<para style="terp_default_8">
@@ -4,9 +4,6 @@
!record {model: account.tax.code, id: account_tax_code_0}:
name : Tax Code Test
sign : 1.00
-
-
In order to test the 'Validate Journal Entries' wizard in OpenERP, I created an account move
+352
View File
@@ -0,0 +1,352 @@
# Serbian translation for openobject-addons
# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2010-10-13 17:10+0000\n"
"Last-Translator: zmmaj <Unknown>\n"
"Language-Team: Serbian <sr@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-10-14 04:45+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account_analytic_analysis
#: help:account.analytic.account,hours_qtt_invoiced:0
msgid ""
"Number of hours that can be invoiced plus those that already have been "
"invoiced."
msgstr ""
"Broj sati koji mogu biti fakturirani zajedno s onima koji su već fakturisana."
#. module: account_analytic_analysis
#: model:ir.model,name:account_analytic_analysis.model_account_analytic_analysis_summary_user
msgid "Hours summary by user"
msgstr "Sati sumarno od strane korisnika"
#. module: account_analytic_analysis
#: field:account.analytic.account,last_invoice_date:0
msgid "Last Invoice Date"
msgstr "Zadnji Datum fakture"
#. module: account_analytic_analysis
#: help:account.analytic.account,remaining_ca:0
msgid "Computed using the formula: Max Invoice Price - Invoiced Amount."
msgstr "Izračunato pomoću formule: Max Cijena Iznos - Iznos dostavnice."
#. module: account_analytic_analysis
#: help:account.analytic.account,remaining_hours:0
msgid "Computed using the formula: Maximum Quantity - Hours Tot."
msgstr "Izračunato pomoću formule: Najveća količina - Ukupno vrijeme"
#. module: account_analytic_analysis
#: model:ir.ui.menu,name:account_analytic_analysis.menu_action_account_analytic_all
msgid "All Analytic Accounts"
msgstr "Svi analitički računi"
#. module: account_analytic_analysis
#: model:ir.actions.act_window,name:account_analytic_analysis.action_account_analytic_managed_open
#: model:ir.ui.menu,name:account_analytic_analysis.menu_analytic_account_to_valid_open
msgid "My Current Accounts"
msgstr "Moji tekući računi"
#. module: account_analytic_analysis
#: constraint:ir.ui.view:0
msgid "Invalid XML for View Architecture!"
msgstr "Nevažeći XML za pregled arhitekture"
#. module: account_analytic_analysis
#: help:account.analytic.account,last_invoice_date:0
msgid "Date of the last invoice created for this analytic account."
msgstr "Datum zadnje fakture kreirana za ovaj analitički račun."
#. module: account_analytic_analysis
#: field:account.analytic.account,ca_theorical:0
msgid "Theorical Revenue"
msgstr "Prihodi teoretski"
#. module: account_analytic_analysis
#: constraint:ir.actions.act_window:0
msgid "Invalid model name in the action definition."
msgstr "Pogrešno ime modela u definiciji akcije."
#. module: account_analytic_analysis
#: help:account.analytic.account,theorical_margin:0
msgid "Computed using the formula: Theorial Revenue - Total Costs"
msgstr "Izračunato pomoću formule: Prihodi Teorijski - Ukupni troškovi"
#. module: account_analytic_analysis
#: constraint:ir.model:0
msgid ""
"The Object name must start with x_ and not contain any special character !"
msgstr ""
"Ime objekta mora da počne sa x_ i ne sme da sadrži specijalne karaktere !"
#. module: account_analytic_analysis
#: model:ir.actions.act_window,name:account_analytic_analysis.action_account_analytic_new
#: model:ir.ui.menu,name:account_analytic_analysis.menu_action_account_analytic_new
msgid "New Analytic Account"
msgstr "Novi analitički račun"
#. module: account_analytic_analysis
#: field:account.analytic.account,theorical_margin:0
msgid "Theorical Margin"
msgstr "Teoretska margina"
#. module: account_analytic_analysis
#: field:account.analytic.account,real_margin_rate:0
msgid "Real Margin Rate (%)"
msgstr "Realna Stopa Margine (%)"
#. module: account_analytic_analysis
#: model:ir.actions.act_window,name:account_analytic_analysis.action_account_analytic_all_open
#: model:ir.ui.menu,name:account_analytic_analysis.menu_action_account_analytic_all_open
msgid "Current Analytic Accounts"
msgstr "Tekući analitički računi"
#. module: account_analytic_analysis
#: help:account.analytic.account,last_worked_date:0
msgid "Date of the latest work done on this account."
msgstr "Datum najnovijeg rada obavljenog na ovom računu."
#. module: account_analytic_analysis
#: help:account.analytic.account,last_worked_invoiced_date:0
msgid ""
"If invoice from the costs, this is the date of the latest work or cost that "
"have been invoiced."
msgstr ""
"Ako račun od troškova, to je datum najnoviji rad ili cijene koje su "
"fakturirane."
#. module: account_analytic_analysis
#: model:ir.ui.menu,name:account_analytic_analysis.menu_invoicing
msgid "Invoicing"
msgstr "Fakturiranje"
#. module: account_analytic_analysis
#: field:account.analytic.account,last_worked_date:0
msgid "Date of Last Cost/Work"
msgstr "Datum poslednjeg Cena / Posao"
#. module: account_analytic_analysis
#: field:account.analytic.account,total_cost:0
msgid "Total Costs"
msgstr "Ukupni troškovi"
#. module: account_analytic_analysis
#: help:account.analytic.account,hours_quantity:0
msgid ""
"Number of hours you spent on the analytic account (from timesheet). It "
"computes on all journal of type 'general'."
msgstr ""
"Broj sati provedenih na tom analitičkom račun (iz timesheet). Izračunava se "
"iz svih dnevnih knjiga za tip 'Generalno'."
#. module: account_analytic_analysis
#: field:account.analytic.account,remaining_hours:0
msgid "Remaining Hours"
msgstr "Preostali Sati"
#. module: account_analytic_analysis
#: help:account.analytic.account,ca_theorical:0
msgid ""
"Based on the costs you had on the project, what would have been the revenue "
"if all these costs have been invoiced at the normal sale price provided by "
"the pricelist."
msgstr ""
"Na temelju troškova koje ste imali na projektu, što bi bio prihod ako su svi "
"ovi troškovi su obračunati po normalnoj prodajnoj cijeni proistekli iz "
"cenovnika."
#. module: account_analytic_analysis
#: field:account.analytic.account,user_ids:0
#: field:account_analytic_analysis.summary.user,user:0
msgid "User"
msgstr "Korisnik"
#. module: account_analytic_analysis
#: model:ir.actions.act_window,name:account_analytic_analysis.action_account_analytic_managed_pending
#: model:ir.ui.menu,name:account_analytic_analysis.menu_analytic_account_to_valid_pending
msgid "My Pending Accounts"
msgstr "Moji računi na čekanju"
#. module: account_analytic_analysis
#: model:ir.actions.act_window,name:account_analytic_analysis.action_hr_tree_invoiced_my
#: model:ir.ui.menu,name:account_analytic_analysis.menu_action_hr_tree_invoiced_my
msgid "My Uninvoiced Entries"
msgstr "Moji nefakturirani Ulazi"
#. module: account_analytic_analysis
#: help:account.analytic.account,real_margin:0
msgid "Computed using the formula: Invoiced Amount - Total Costs."
msgstr "Izračunato korištenjem formule: Fakturirani iznos - Ukupni troškovi."
#. module: account_analytic_analysis
#: model:ir.actions.act_window,name:account_analytic_analysis.action_account_analytic_managed
#: model:ir.ui.menu,name:account_analytic_analysis.menu_analytic_account_managed
msgid "My Accounts"
msgstr "Moji računi"
#. module: account_analytic_analysis
#: model:ir.module.module,description:account_analytic_analysis.module_meta_information
msgid ""
"Modify account analytic view to show\n"
"important data for project manager of services companies.\n"
"Add menu to show relevant information for each manager."
msgstr ""
"Promeni prozor analitičkog prikaza računa da bi video\n"
"važne podatke za projekt menadžer od usluznih kompanija.\n"
"Dodaj meni da prikaze relevantne informacije za svakog menadžera."
#. module: account_analytic_analysis
#: field:account.analytic.account,hours_qtt_non_invoiced:0
msgid "Uninvoiced Hours"
msgstr "Nefakturirani sati"
#. module: account_analytic_analysis
#: field:account.analytic.account,hours_quantity:0
msgid "Hours Tot"
msgstr "Ukupno sati"
#. module: account_analytic_analysis
#: model:ir.ui.menu,name:account_analytic_analysis.menu_account
msgid "Analytic Accounts"
msgstr "Analitička konta"
#. module: account_analytic_analysis
#: model:ir.module.module,shortdesc:account_analytic_analysis.module_meta_information
msgid "report_account_analytic"
msgstr "izvestaj_analitickog_konta"
#. module: account_analytic_analysis
#: field:account.analytic.account,ca_invoiced:0
msgid "Invoiced Amount"
msgstr "Fakturirani iznos"
#. module: account_analytic_analysis
#: model:ir.ui.menu,name:account_analytic_analysis.next_id_71
msgid "Financial Project Management"
msgstr "Finansijski Projekt Menadzment"
#. module: account_analytic_analysis
#: field:account.analytic.account,last_worked_invoiced_date:0
msgid "Date of Last Invoiced Cost"
msgstr "Datum zadnje fakturiranog troška"
#. module: account_analytic_analysis
#: field:account.analytic.account,ca_to_invoice:0
msgid "Uninvoiced Amount"
msgstr "Nefakturirani iznos"
#. module: account_analytic_analysis
#: model:ir.actions.act_window,name:account_analytic_analysis.action_account_analytic_all_pending
#: model:ir.ui.menu,name:account_analytic_analysis.menu_action_account_analytic_all_pending
msgid "Pending Analytic Accounts"
msgstr "Analitički računi na čekanju"
#. module: account_analytic_analysis
#: field:account.analytic.account,hours_qtt_invoiced:0
msgid "Invoiced Hours"
msgstr "Fakturirani sati"
#. module: account_analytic_analysis
#: field:account.analytic.account,real_margin:0
msgid "Real Margin"
msgstr "Realna margina"
#. module: account_analytic_analysis
#: help:account.analytic.account,ca_invoiced:0
msgid "Total customer invoiced amount for this account."
msgstr "Ukupni iznos izlaznih faktura za ovaj račun."
#. module: account_analytic_analysis
#: model:ir.model,name:account_analytic_analysis.model_account_analytic_analysis_summary_month
msgid "Hours summary by month"
msgstr "Ukupno sati po mjesecu"
#. module: account_analytic_analysis
#: help:account.analytic.account,real_margin_rate:0
msgid "Computes using the formula: (Real Margin / Total Costs) * 100."
msgstr ""
"Računa se korištenjem formule: (Stvarna granica / Ukupni troškovi) * 100"
#. module: account_analytic_analysis
#: help:account.analytic.account,hours_qtt_non_invoiced:0
msgid ""
"Number of hours (from journal of type 'general') that can be invoiced if you "
"invoice based on analytic account."
msgstr ""
"Broj sati (iz dnevnika ' generalnog' tipa) koji mogu biti fakturirani ako "
"fakturirate na osnovu analitičkog računa."
#. module: account_analytic_analysis
#: view:account.analytic.account:0
msgid "Analytic accounts"
msgstr "Analitički računi"
#. module: account_analytic_analysis
#: field:account.analytic.account,remaining_ca:0
msgid "Remaining Revenue"
msgstr "Preostali prihod"
#. module: account_analytic_analysis
#: help:account.analytic.account,ca_to_invoice:0
msgid ""
"If invoice from analytic account, the remaining amount you can invoice to "
"the customer based on the total costs."
msgstr ""
"Ako fakturirate iz analitičkog računa, preostali iznos kojeg možete "
"fakturirati kupcu je zasnovan na ukupnim troškovima."
#. module: account_analytic_analysis
#: help:account.analytic.account,revenue_per_hour:0
msgid "Computed using the formula: Invoiced Amount / Hours Tot."
msgstr "Izračunato korištenjem formule: Fakturirani iznos / Ukupno sati"
#. module: account_analytic_analysis
#: field:account.analytic.account,revenue_per_hour:0
msgid "Revenue per Hours (real)"
msgstr ""
#. module: account_analytic_analysis
#: field:account_analytic_analysis.summary.month,unit_amount:0
#: field:account_analytic_analysis.summary.user,unit_amount:0
msgid "Total Time"
msgstr ""
#. module: account_analytic_analysis
#: field:account.analytic.account,month_ids:0
#: field:account_analytic_analysis.summary.month,month:0
msgid "Month"
msgstr ""
#. module: account_analytic_analysis
#: field:account_analytic_analysis.summary.month,account_id:0
#: field:account_analytic_analysis.summary.user,account_id:0
msgid "Analytic Account"
msgstr ""
#. module: account_analytic_analysis
#: model:ir.actions.act_window,name:account_analytic_analysis.action_account_analytic_managed_overpassed
#: model:ir.ui.menu,name:account_analytic_analysis.menu_action_account_analytic_managed_overpassed
msgid "Overpassed Accounts"
msgstr ""
#. module: account_analytic_analysis
#: model:ir.actions.act_window,name:account_analytic_analysis.action_hr_tree_invoiced_all
#: model:ir.ui.menu,name:account_analytic_analysis.menu_action_hr_tree_invoiced_all
msgid "All Uninvoiced Entries"
msgstr ""
#. module: account_analytic_analysis
#: help:account.analytic.account,total_cost:0
msgid ""
"Total of costs for this account. It includes real costs (from invoices) and "
"indirect costs, like time spent on timesheets."
msgstr ""
+114
View File
@@ -0,0 +1,114 @@
# Serbian translation for openobject-addons
# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2010-10-13 17:16+0000\n"
"Last-Translator: zmmaj <Unknown>\n"
"Language-Team: Serbian <sr@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-10-14 04:45+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account_analytic_default
#: view:account.analytic.default:0
#: model:ir.actions.act_window,name:account_analytic_default.action_analytic_default_form
#: model:ir.ui.menu,name:account_analytic_default.menu_analytic_defaul_form
msgid "Analytic Defaults"
msgstr "Uobičajene postavke analitike"
#. module: account_analytic_default
#: model:ir.module.module,shortdesc:account_analytic_default.module_meta_information
msgid "Account Analytic Default"
msgstr "Uobičajene postavke analize računa"
#. module: account_analytic_default
#: constraint:ir.ui.view:0
msgid "Invalid XML for View Architecture!"
msgstr "Nevažeći XML za pregled arhitekture"
#. module: account_analytic_default
#: constraint:ir.model:0
msgid ""
"The Object name must start with x_ and not contain any special character !"
msgstr ""
"Ime objekta mora da počne sa x_ i ne sme da sadrži specijalne karaktere !"
#. module: account_analytic_default
#: view:account.analytic.default:0
msgid "Seq"
msgstr "Red"
#. module: account_analytic_default
#: field:account.analytic.default,date_stop:0
msgid "End Date"
msgstr "Završni Datum"
#. module: account_analytic_default
#: field:account.analytic.default,company_id:0
msgid "Company"
msgstr "Preduzeće"
#. module: account_analytic_default
#: field:account.analytic.default,sequence:0
msgid "Sequence"
msgstr "Sekvenca"
#. module: account_analytic_default
#: field:account.analytic.default,product_id:0
msgid "Product"
msgstr "Proizvod"
#. module: account_analytic_default
#: field:account.analytic.default,analytic_id:0
msgid "Analytic Account"
msgstr "Analitički nalog"
#. module: account_analytic_default
#: model:ir.model,name:account_analytic_default.model_account_analytic_default
msgid "Analytic Distributions"
msgstr "Distribucije analitike"
#. module: account_analytic_default
#: field:account.analytic.default,user_id:0
msgid "User"
msgstr "Korisnik"
#. module: account_analytic_default
#: constraint:ir.actions.act_window:0
msgid "Invalid model name in the action definition."
msgstr "Pogrešno ime modela u definiciji akcije."
#. module: account_analytic_default
#: model:ir.actions.act_window,name:account_analytic_default.act_account_acount_move_line_open
msgid "Entries"
msgstr "Stavke"
#. module: account_analytic_default
#: field:account.analytic.default,partner_id:0
msgid "Partner"
msgstr "Partner"
#. module: account_analytic_default
#: field:account.analytic.default,date_start:0
msgid "Start Date"
msgstr "Početni datum"
#. module: account_analytic_default
#: view:account.analytic.default:0
msgid "Conditions"
msgstr "Uslovi"
#. module: account_analytic_default
#: model:ir.actions.act_window,name:account_analytic_default.analytic_rule_action_partner
#: model:ir.actions.act_window,name:account_analytic_default.analytic_rule_action_product
#: model:ir.actions.act_window,name:account_analytic_default.analytic_rule_action_user
msgid "Analytic Rules"
msgstr "Pravila analitike"
+404
View File
@@ -0,0 +1,404 @@
# Serbian translation for openobject-addons
# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2010-10-13 17:43+0000\n"
"Last-Translator: zmmaj <Unknown>\n"
"Language-Team: Serbian <sr@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-10-14 04:45+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,account4_ids:0
msgid "Account4 Id"
msgstr "Šifra računa4"
#. module: account_analytic_plans
#: constraint:ir.model:0
msgid ""
"The Object name must start with x_ and not contain any special character !"
msgstr ""
"Ime objekta mora da počne sa x_ i ne sme da sadrži specijalne karaktere !"
#. module: account_analytic_plans
#: model:ir.actions.report.xml,name:account_analytic_plans.account_analytic_account_crossovered_analytic
#: model:ir.actions.wizard,name:account_analytic_plans.account_analytic_account_inverted_balance_report
msgid "Crossovered Analytic"
msgstr "Unakrsna analitika"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,account5_ids:0
msgid "Account5 Id"
msgstr "Šifra računa5"
#. module: account_analytic_plans
#: wizard_field:wizard.crossovered.analytic,init,date2:0
msgid "End Date"
msgstr "Završni Datum"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance.line,rate:0
msgid "Rate (%)"
msgstr "Stopa (%)"
#. module: account_analytic_plans
#: view:account.analytic.plan:0
#: field:account.analytic.plan,name:0
#: field:account.analytic.plan.line,plan_id:0
#: model:ir.actions.act_window,name:account_analytic_plans.account_analytic_plan_form_action
#: model:ir.ui.menu,name:account_analytic_plans.menu_account_analytic_plan_action
msgid "Analytic Plan"
msgstr "Analiticki Plan"
#. module: account_analytic_plans
#: model:ir.model,name:account_analytic_plans.model_account_analytic_plan_instance_line
msgid "Analytic Instance Line"
msgstr ""
#. module: account_analytic_plans
#: view:account.analytic.plan.instance.line:0
msgid "Analytic Distribution Lines"
msgstr "Red analitičke instance"
#. module: account_analytic_plans
#: wizard_button:wizard.crossovered.analytic,init,print:0
msgid "Print"
msgstr "Štampaj"
#. module: account_analytic_plans
#: rml:account.analytic.account.crossovered.analytic:0
msgid "To Date"
msgstr "Do datuma"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance.line,plan_id:0
msgid "Plan Id"
msgstr "Šifra plana"
#. module: account_analytic_plans
#: model:ir.actions.act_window,name:account_analytic_plans.account_analytic_plan_instance_action
msgid "Analytic Distribution's Models"
msgstr "Modeli analitičke distribucije"
#. module: account_analytic_plans
#: rml:account.analytic.account.crossovered.analytic:0
msgid "Account Name"
msgstr "Naziv računa"
#. module: account_analytic_plans
#: view:account.analytic.plan.instance.line:0
msgid "Analytic Distribution Line"
msgstr "Red analitičke distribucije"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,code:0
msgid "Distribution Code"
msgstr "Šifra distribucije"
#. module: account_analytic_plans
#: constraint:ir.actions.act_window:0
msgid "Invalid model name in the action definition."
msgstr "Pogrešno ime modela u definiciji akcije."
#. module: account_analytic_plans
#: field:account.analytic.plan.line,name:0
msgid "Plan Name"
msgstr "Ime Plana"
#. module: account_analytic_plans
#: rml:account.analytic.account.crossovered.analytic:0
msgid "Printing date"
msgstr "Datum stampe"
#. module: account_analytic_plans
#: rml:account.analytic.account.crossovered.analytic:0
msgid "Percentage"
msgstr "Procenat"
#. module: account_analytic_plans
#: wizard_field:wizard.crossovered.analytic,init,empty_line:0
msgid "Dont show empty lines"
msgstr "Ne prikazuj prazme redove"
#. module: account_analytic_plans
#: wizard_view:wizard.crossovered.analytic,init:0
msgid "Select Information"
msgstr "Selektuj informaciju"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,account3_ids:0
msgid "Account3 Id"
msgstr "Šifra računa3"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,journal_id:0
#: wizard_field:wizard.crossovered.analytic,init,journal_ids:0
msgid "Analytic Journal"
msgstr "Analiticki Dnevnik"
#. module: account_analytic_plans
#: rml:account.analytic.account.crossovered.analytic:0
msgid "100.00%"
msgstr "100.00%"
#. module: account_analytic_plans
#: wizard_field:wizard.crossovered.analytic,init,ref:0
msgid "Analytic Account Ref."
msgstr "Veza analitičkog konta"
#. module: account_analytic_plans
#: rml:account.analytic.account.crossovered.analytic:0
msgid "Analytic Account :"
msgstr "Analiticki konto :"
#. module: account_analytic_plans
#: view:account.analytic.plan.line:0
msgid "Analytic Plan Line"
msgstr "Red Analitickog Plana"
#. module: account_analytic_plans
#: rml:account.analytic.account.crossovered.analytic:0
msgid "Analytic Account Reference:"
msgstr "Veza analitičkog konta:"
#. module: account_analytic_plans
#: model:ir.actions.wizard,name:account_analytic_plans.create_model
msgid "Create Model"
msgstr "Kreiraj Model"
#. module: account_analytic_plans
#: field:account.analytic.plan,default_instance_id:0
msgid "Default Entries"
msgstr "Uobičajene stavke"
#. module: account_analytic_plans
#: view:account.analytic.plan:0
#: field:account.analytic.plan,plan_ids:0
#: field:account.journal,plan_id:0
#: model:ir.model,name:account_analytic_plans.model_account_analytic_plan
msgid "Analytic Plans"
msgstr "Analitički planovi"
#. module: account_analytic_plans
#: field:account.analytic.plan.line,min_required:0
msgid "Minimum Allowed (%)"
msgstr "Minimalno dozvoljeno (%)"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,account1_ids:0
msgid "Account1 Id"
msgstr "Šifra računa1"
#. module: account_analytic_plans
#: field:account.analytic.plan.line,max_required:0
msgid "Maximum Allowed (%)"
msgstr "Maksimalno dozvoljeno (%)"
#. module: account_analytic_plans
#: wizard_view:create.model,info:0
msgid "Distribution Model Saved"
msgstr "Model distribucije je sacuvan"
#. module: account_analytic_plans
#: model:ir.model,name:account_analytic_plans.model_account_analytic_plan_instance
msgid "Analytic Plan Instance"
msgstr "Instanca analitičkog plana"
#. module: account_analytic_plans
#: constraint:ir.ui.view:0
msgid "Invalid XML for View Architecture!"
msgstr "Nevažeći XML za pregled arhitekture"
#. module: account_analytic_plans
#: model:ir.actions.act_window,name:account_analytic_plans.account_analytic_instance_model_open
msgid "Distribution Models"
msgstr "Dsitribucioni Modeli"
#. module: account_analytic_plans
#: model:ir.module.module,description:account_analytic_plans.module_meta_information
msgid ""
"This module allows to use several analytic plans, according to the general "
"journal,\n"
"so that multiple analytic lines are created when the invoice or the entries\n"
"are confirmed.\n"
"\n"
"For example, you can define the following analytic structure:\n"
" Projects\n"
" Project 1\n"
" SubProj 1.1\n"
" SubProj 1.2\n"
" Project 2\n"
" Salesman\n"
" Eric\n"
" Fabien\n"
"\n"
"Here, we have two plans: Projects and Salesman. An invoice line must\n"
"be able to write analytic entries in the 2 plans: SubProj 1.1 and\n"
"Fabien. The amount can also be split. The following example is for\n"
"an invoice that touches the two subproject and assigned to one salesman:\n"
"\n"
"Plan1:\n"
" SubProject 1.1 : 50%\n"
" SubProject 1.2 : 50%\n"
"Plan2:\n"
" Eric: 100%\n"
"\n"
"So when this line of invoice will be confirmed, it will generate 3 analytic "
"lines,\n"
"for one account entry.\n"
" "
msgstr ""
"Ovaj modul vam omogucava da koristite nekoliko analiticka plana, koji "
"odgovaraju osnovnom dnevniku,\n"
"i tako visestruko analizirate stavke kreirane kada je racun ili stavka\n"
"potvrdjena\n"
"\n"
"Na primer, mozete definisati sledecu analiticku strukturu:\n"
" Projekat\n"
" Projekat 1\n"
" SubProj 1.1\n"
" SubProj 1.2\n"
" Projekat 2\n"
" Prodavac\n"
" Janko\n"
" Marko\n"
"\n"
"Ovde imamo dva plana. Projekat i Prodavac. Red racuna mora da\n"
"moze da napise analiticke stavke u 2 plana: SubProj 1.1 i\n"
"Marko. Iznos se takodje deli. Sledeci primer je za racune koji \n"
"su zajednicko sa dva subprojekta i dodati su jednom prodavcu:\n"
"\n"
"Plan1:\n"
" SubProj 1.1 : 50%\n"
" SubProj 1.2 : 50%\n"
"PLan2:\n"
" Janko: 100%\n"
"\n"
"Tako da kad se ova linija racuna potvrdi, ona ce generisati 3 \n"
"analiticke linije za jednu stavku racuna.\n"
" "
#. module: account_analytic_plans
#: model:ir.module.module,shortdesc:account_analytic_plans.module_meta_information
msgid "Multiple-plans management in Analytic Accounting"
msgstr "Visestruki-planovi menadzmenta u Analitickom racunovodstvu"
#. module: account_analytic_plans
#: view:account.analytic.plan.line:0
#: model:ir.model,name:account_analytic_plans.model_account_analytic_plan_line
msgid "Analytic Plan Lines"
msgstr "Redovi analitičkog plana"
#. module: account_analytic_plans
#: rml:account.analytic.account.crossovered.analytic:0
msgid "Crossovered Analytic -"
msgstr "Unakrsna Analitika-"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,plan_id:0
msgid "Model's Plan"
msgstr "Plan modela"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,account2_ids:0
msgid "Account2 Id"
msgstr "Šifra računa2"
#. module: account_analytic_plans
#: rml:account.analytic.account.crossovered.analytic:0
msgid "Amount"
msgstr "Iznos"
#. module: account_analytic_plans
#: help:account.analytic.plan.line,root_analytic_id:0
msgid "Root account of this plan."
msgstr "Osnovni konto ovog plana."
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,account6_ids:0
msgid "Account6 Id"
msgstr "Šifra računa6"
#. module: account_analytic_plans
#: rml:account.analytic.account.crossovered.analytic:0
msgid "Quantity"
msgstr "Količina"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance,account_ids:0
msgid "Account Id"
msgstr "Šifra konta"
#. module: account_analytic_plans
#: rml:account.analytic.account.crossovered.analytic:0
msgid "Code"
msgstr "Kod"
#. module: account_analytic_plans
#: wizard_button:create.model,info,end:0
msgid "OK"
msgstr "U redu"
#. module: account_analytic_plans
#: field:account.analytic.plan.line,root_analytic_id:0
msgid "Root Account"
msgstr "Osnovni nalog (root)"
#. module: account_analytic_plans
#: wizard_view:create.model,info:0
msgid ""
"This distribution model has been saved. You will be able to reuse it later."
msgstr "Distribucijski Model je sacuvan. Možete ga koristiti kasnije."
#. module: account_analytic_plans
#: field:account.analytic.plan.line,sequence:0
msgid "Sequence"
msgstr "Sekvenca"
#. module: account_analytic_plans
#: field:account.analytic.plan.instance.line,analytic_account_id:0
msgid "Analytic Account"
msgstr "Analitički nalog"
#. module: account_analytic_plans
#: field:account.analytic.default,analytics_id:0
#: view:account.analytic.plan.instance:0
#: field:account.analytic.plan.instance,name:0
#: field:account.invoice.line,analytics_id:0
#: field:account.move.line,analytics_id:0
msgid "Analytic Distribution"
msgstr "Analitička Distribucija"
#. module: account_analytic_plans
#: model:ir.ui.menu,name:account_analytic_plans.menu_account_analytic_plan_instance_action
msgid "Analytic Distribution's models"
msgstr "Modeli Analitičkih Distribucija"
#. module: account_analytic_plans
#: wizard_button:wizard.crossovered.analytic,init,end:0
msgid "Cancel"
msgstr "Otkaži"
#. module: account_analytic_plans
#: wizard_field:wizard.crossovered.analytic,init,date1:0
msgid "Start Date"
msgstr "Početni datum"
#. module: account_analytic_plans
#: rml:account.analytic.account.crossovered.analytic:0
msgid "at"
msgstr "u"
#. module: account_analytic_plans
#: rml:account.analytic.account.crossovered.analytic:0
msgid "From Date"
msgstr "Od datuma"
@@ -2,11 +2,6 @@
<openerp>
<data>
<record model="res.roles" id="crossovered_budget_role">
<field name="name">Crossovered Budget Validation</field>
<field name="description">Assign this role to the persons that should have the rights to Approve a confirm Budgets.</field>
</record>
<!-- Workflow definition -->
<record model="workflow" id="wkf_crossovered_budget">
+42
View File
@@ -0,0 +1,42 @@
# Serbian translation for openobject-addons
# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2010-08-19 12:03+0000\n"
"PO-Revision-Date: 2010-10-13 16:49+0000\n"
"Last-Translator: zmmaj <Unknown>\n"
"Language-Team: Serbian <sr@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-10-14 04:45+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account_cancel
#: constraint:ir.ui.view:0
msgid "Invalid XML for View Architecture!"
msgstr "Nevažeći XML za pregled arhitekture"
#. module: account_cancel
#: model:ir.module.module,description:account_cancel.module_meta_information
msgid ""
"\n"
" Module adds 'Allow cancelling entries' field on form view of account "
"journal. If set to true it allows user to cancel entries & invoices.\n"
" "
msgstr ""
"\n"
" Modul adds omogucava polja za otkazivanje u formi pregleda dnevnika "
"konta. Ako je postavljeno na ' da' omogucava korisniku da otkaze stavke & "
"racune\n"
" "
#. module: account_cancel
#: model:ir.module.module,shortdesc:account_cancel.module_meta_information
msgid "Account Cancel"
msgstr "Otkazi Nalog"
+37
View File
@@ -0,0 +1,37 @@
# Turkish translation for openobject-addons
# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2010-08-19 12:03+0000\n"
"PO-Revision-Date: 2010-10-13 14:54+0000\n"
"Last-Translator: cafer can <Unknown>\n"
"Language-Team: Turkish <tr@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-10-14 04:45+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account_cancel
#: constraint:ir.ui.view:0
msgid "Invalid XML for View Architecture!"
msgstr "Görüntüleme mimarisi için Geçersiz XML"
#. module: account_cancel
#: model:ir.module.module,description:account_cancel.module_meta_information
msgid ""
"\n"
" Module adds 'Allow cancelling entries' field on form view of account "
"journal. If set to true it allows user to cancel entries & invoices.\n"
" "
msgstr ""
#. module: account_cancel
#: model:ir.module.module,shortdesc:account_cancel.module_meta_information
msgid "Account Cancel"
msgstr "Hesabı iptal et"
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
<document filename="test.pdf">
<template pageSize="(595.0,842.0)" title="Invoice" author="OpenERP S.A. (sales@openerp.com)" allowSplitting="20">
<template pageSize="(595.0,842.0)" title="Invoices" author="OpenERP S.A. (sales@openerp.com)" allowSplitting="20">
<pageTemplate id="first">
<frame id="first" x1="28.0" y1="28.0" width="539" height="786"/>
</pageTemplate>
@@ -185,7 +185,7 @@
</para>
</td>
<td>
<para style="terp_default_9">[[ o.partner_id.title or '' ]] [[ o.partner_id.name ]]</para>
<para style="terp_default_9">[[ o.partner_id.title.name or '' ]] [[ o.partner_id.name ]]</para>
<para style="terp_default_9">[[ o.address_invoice_id.street ]]</para>
<para style="terp_default_9">[[ o.address_invoice_id.street2 or removeParentNode('para') ]]</para>
<para style="terp_default_9">[[ o.address_invoice_id.zip or '' ]][[ o.address_invoice_id.city or '' ]]</para>
@@ -232,7 +232,7 @@
<blockTable colWidths="179.0,179.0,180.0" style="Table_General_Detail_Content">
<tr>
<td>
<para style="terp_default_Centre_8">[[ o.name ]]<font color="white"> </font></para>
<para style="terp_default_Centre_8">[[ o.name ]]</para>
</td>
<td>
<para style="terp_default_Centre_8">[[ formatLang(o.date_invoice,date=True) ]]</para>
@@ -297,7 +297,7 @@
</para>
</td>
<td>
<para style="terp_default_Note">Note: [[ (a['note'] and format(a['note'] or '')) or removeParentNode('tr') ]]</para>
<para style="terp_default_Note">Note: [[ (a['note'] and format(a['note'])) or removeParentNode('tr') ]]</para>
<para style="terp_default_Note">
<font color="white"> </font>
</para>
@@ -337,7 +337,7 @@
</para>
</td>
<td>
<para style="terp_default_9">[[ a['type']=='text' and format(a['name'] or '') or removeParentNode('blockTable') ]]</para>
<para style="terp_default_9">[[ a['type']=='text' and format(a['name']) or removeParentNode('blockTable') ]]</para>
</td>
<td>
<para style="terp_default_9">[[ a['type']=='text' and '' ]]</para>
@@ -434,9 +434,6 @@
</td>
</tr>
</blockTable>
<para style="terp_default_1">
<font color="white"> </font>
</para>
<section>
<para style="terp_default_8">[[ repeatIn(o.tax_line,'t') ]]</para>
<blockTable colWidths="105.0,51.0,63.0,320.0" style="Table8">
@@ -461,13 +458,10 @@
<font color="white"> </font>
</para>
</section>
<para style="terp_default_space">
<font color="white"> </font>
</para>
<blockTable colWidths="539.0" style="Table_Coment_Payment_Term">
<tr>
<td>
<para style="terp_default_9">[[ format(o.comment or '') or removeParentNode('blockTable') ]]</para>
<para style="terp_default_9">[[ format(o.comment or removeParentNode('blockTable')) ]]</para>
</td>
</tr>
</blockTable>
@@ -477,7 +471,7 @@
<blockTable colWidths="539.0" style="Table_Payment_Terms">
<tr>
<td>
<para style="terp_default_9">[[ o.payment_term and o.payment_term.name + " :\n" + format(o.payment_term.note or '') or removeParentNode('blockTable') ]]</para>
<para style="terp_default_9"><font face="Helvetica" size="10.0">[[ o.payment_term and o.payment_term.name ]] </font>: <font face="Helvetica" size="10.0">[[ (o.payment_term and o.payment_term.note and format(o.payment_term.note)) or removeParentNode('blockTable') ]]</font></para>
</td>
</tr>
</blockTable>
@@ -485,4 +479,4 @@
<font color="white"> </font>
</para>
</story>
</document>
</document>
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
<document filename="test.pdf">
<template pageSize="(595.0,842.0)" title="Invoice" author="OpenERP S.A. (sales@openerp.com)" allowSplitting="20">
<template pageSize="(595.0,842.0)" title="Invoices" author="OpenERP S.A. (sales@openerp.com)" allowSplitting="20">
<pageTemplate id="first">
<frame id="first" x1="28.0" y1="28.0" width="539" height="786"/>
</pageTemplate>
@@ -189,7 +189,7 @@
</para>
</td>
<td>
<para style="terp_default_9">[[ o.partner_id.title or '' ]] [[ o.partner_id.name ]]</para>
<para style="terp_default_9">[[ o.partner_id.title.name or '' ]] [[ o.partner_id.name ]]</para>
<para style="terp_default_9">[[ o.address_invoice_id.street ]]</para>
<para style="terp_default_9">[[ o.address_invoice_id.street2 or removeParentNode('para')]]</para>
<para style="terp_default_9">[[ o.address_invoice_id.zip or '' ]][[ o.address_invoice_id.city or '' ]]</para>
@@ -236,7 +236,7 @@
<blockTable colWidths="179.0,179.0,180.0" style="Table_General_Detail_Content">
<tr>
<td>
<para style="terp_default_Centre_9">[[ o.name ]]<font color="white"> </font></para>
<para style="terp_default_Centre_9">[[ o.name ]]</para>
</td>
<td>
<para style="terp_default_Centre_9">[[ formatLang(o.date_invoice,date=True) ]]</para>
@@ -438,9 +438,6 @@
</td>
</tr>
</blockTable>
<para style="terp_default_1">
<font color="white"> </font>
</para>
<section>
<para style="terp_default_8">[[ repeatIn(o.tax_line,'t') ]]</para>
<blockTable colWidths="120.0,49.0,60.0,310.0" style="Table8">
@@ -500,4 +497,4 @@
<font color="white"> </font>
</para>
</story>
</document>
</document>
+4 -7
View File
@@ -214,11 +214,8 @@
</td>
</tr>
</blockTable>
<para style="terp_default_2">
<font color="white"> </font>
</para>
<section>
<para style="terp_default_9">[[repeatIn(o.line_ids, 'line') ]]</para>
<para style="terp_default_2">[[repeatIn(o.line_ids, 'line') ]]</para>
<blockTable colWidths="112.0,86.0,106.0,64.0,85.0,75.0" style="Table4">
<tr>
<td>
@@ -237,12 +234,12 @@
<para style="terp_default_Right_9">[[formatLang(line.amount) or '-' ]] [[get_company_currency_symbol()]] </para>
</td>
<td>
<para style="terp_default_Right_9">[[ formatLang(line.amount_currency) ]] [[get_company_currency_symbol()]] </para>
<para style="terp_default_Right_9">[[ formatLang(line.amount_currency) ]] [[ line.currency.symbol]] </para>
</td>
</tr>
</blockTable>
</section>
<blockTable colWidths="304.0,64.0,85.0,75.0" style="Table5">
<blockTable colWidths="335.0,32.0,85.0,75.0" style="Table5">
<tr>
<td>
<para style="terp_default_9">
@@ -256,7 +253,7 @@
<para style="terp_default_Right_9">[[ formatLang(get_amount_total(o)) or '' ]] [[get_company_currency_symbol()]] </para>
</td>
<td>
<para style="terp_default_Right_9">[[ formatLang(get_amount_total_in_currency(o)) or '' ]] [[get_company_currency_symbol()]] </para>
<para style="terp_default_Right_9">[[ formatLang(get_amount_total_in_currency(o)) or '' ]] [[get_company_currency_symbol()]] </para>
</td>
</tr>
</blockTable>
+3 -3
View File
@@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2010-10-11 20:16+0000\n"
"Last-Translator: simone.sandri <Unknown>\n"
"PO-Revision-Date: 2010-10-12 07:46+0000\n"
"Last-Translator: OpenERP Administrators <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-10-12 04:51+0000\n"
"X-Launchpad-Export-Date: 2010-10-13 04:58+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account_report
+5 -5
View File
@@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2009-02-03 08:32+0000\n"
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
"PO-Revision-Date: 2010-10-13 18:13+0000\n"
"Last-Translator: simone.sandri <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-09-29 05:00+0000\n"
"X-Launchpad-Export-Date: 2010-10-14 04:45+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: account_tax_include
@@ -24,7 +24,7 @@ msgstr "XML non valido per Visualizzazione Architettura!"
#. module: account_tax_include
#: field:account.invoice,price_type:0
msgid "Price method"
msgstr ""
msgstr "Metodo di pagamento"
#. module: account_tax_include
#: model:ir.module.module,shortdesc:account_tax_include.module_meta_information
@@ -49,4 +49,4 @@ msgstr ""
#. module: account_tax_include
#: field:account.invoice.line,price_subtotal_incl:0
msgid "Subtotal"
msgstr ""
msgstr "Subtotale"
@@ -148,12 +148,14 @@
<field name="move_ids" colspan="4" nolabel="1" readonly="1"/>
</page>
</notebook>
<group col="10" colspan="4">
<group col="8" colspan="4">
<field name="state"/>
<button name="cancel_voucher" string="Cancel" states="draft,proforma" icon="gtk-cancel"/>
<button name="cancel_voucher" string="Cancel" type="object" states="posted" icon="terp-stock_effects-object-colorize" confirm="Are you sure to confirm this record ?"/>
<button name="proforma_voucher" string="Validate" states="draft" icon="gtk-go-forward"/>
<button icon="terp-dolar_ok!" name="%(act_pay_voucher)d" context="{'narration':narration, 'title':'Customer Payment', 'type':'receipt', 'partner_id': partner_id, 'reference':reference}" type="action" string="Pay" attrs="{'invisible':[('pay_now','!=','pay_now'), ('state','!=','posted')]}"/>
<group colspan="2" attrs="{'invisible':[('pay_now','!=','pay_now')]}">
<button icon="terp-dolar_ok!" name="%(act_pay_voucher)d" context="{'narration':narration, 'title':'Customer Payment', 'type':'receipt', 'partner_id': partner_id, 'reference':reference}" type="action" string="Pay" attrs="{'invisible':[('state','!=','posted')]}"/>
</group>
<button name="action_cancel_draft" type="object" states="cancel" string="Set to Draft" icon="terp-stock_effects-object-colorize"/>
</group>
</form>
+1 -1
View File
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-10-12 04:51+0000\n"
"X-Launchpad-Export-Date: 2010-10-13 04:59+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: analytic
+6 -6
View File
@@ -8,13 +8,13 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2010-08-11 05:35+0000\n"
"Last-Translator: ub121 <ubs121@gmail.com>\n"
"PO-Revision-Date: 2010-10-13 07:43+0000\n"
"Last-Translator: OpenERP Administrators <Unknown>\n"
"Language-Team: Mongolian <mn@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-09-29 05:14+0000\n"
"X-Launchpad-Export-Date: 2010-10-14 04:45+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: analytic_user_function
@@ -41,7 +41,7 @@ msgstr "Аналитик данс"
#: view:account.analytic.account:0
#: field:account.analytic.account,user_product_ids:0
msgid "Users/Products Rel."
msgstr ""
msgstr "Хэрэглэгч/Бүтээгдэхүүн"
#. module: analytic_user_function
#: field:analytic_user_funct_grid,user_id:0
@@ -59,9 +59,9 @@ msgstr ""
#. module: analytic_user_function
#: model:ir.module.module,shortdesc:analytic_user_function.module_meta_information
msgid "Analytic User Function"
msgstr ""
msgstr "Аналитик хэрэглэгчийн үүрэг"
#. module: analytic_user_function
#: view:analytic_user_funct_grid:0
msgid "User's Product for this Analytic Account"
msgstr ""
msgstr "Хэрэглэгчийн бүтээгдэхүүний аналитик данс"
+11 -3
View File
@@ -7,15 +7,23 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2009-11-09 16:48+0000\n"
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
"PO-Revision-Date: 2010-10-13 07:43+0000\n"
"Last-Translator: Quentin THEURET <quentin@theuret.net>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-09-29 04:58+0000\n"
"X-Launchpad-Export-Date: 2010-10-14 04:45+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base_vat
#: model:ir.module.module,description:base_vat.module_meta_information
msgid ""
"Enable the VAT Number for the partner. Check the validity of that VAT Number."
msgstr ""
"Active le numéro de TVA sur la fiche partenaire. Vérifie la validité du "
"numéro de TVA."
#. module: base_vat
#: constraint:ir.ui.view:0
msgid "Invalid XML for View Architecture!"
+221
View File
@@ -0,0 +1,221 @@
# Serbian translation for openobject-addons
# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2010-10-13 16:46+0000\n"
"Last-Translator: zmmaj <Unknown>\n"
"Language-Team: Serbian <sr@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-10-14 04:45+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: board
#: constraint:ir.model:0
msgid ""
"The Object name must start with x_ and not contain any special character !"
msgstr ""
"Ime objekta mora da počne sa x_ i ne sme da sadrži specijalne karaktere !"
#. module: board
#: model:ir.model,name:board.model_board_board
msgid "board.board"
msgstr "tabla.tabla"
#. module: board
#: field:board.note,user_id:0
msgid "Author"
msgstr "Autor"
#. module: board
#: model:ir.module.module,shortdesc:board.module_meta_information
msgid "Dashboard main module"
msgstr "Glavna tabla osnovnog modula"
#. module: board
#: view:board.note:0
#: field:board.note,note:0
msgid "Note"
msgstr "Napomena"
#. module: board
#: field:board.board.line,width:0
msgid "Width"
msgstr "širina"
#. module: board
#: constraint:ir.actions.act_window:0
msgid "Invalid model name in the action definition."
msgstr "Pogrešno ime modela u definiciji akcije."
#. module: board
#: field:board.board.line,name:0
msgid "Title"
msgstr "Naslov"
#. module: board
#: model:ir.actions.act_window,name:board.action_view_board_list_form
#: model:ir.ui.menu,name:board.menu_view_board_form
msgid "Dashboard Definition"
msgstr "Definicija Glavne Table"
#. module: board
#: model:ir.actions.act_window,name:board.action_view_board_note_form
#: model:ir.ui.menu,name:board.menu_view_board_note_form
msgid "Publish a note"
msgstr "Publikuj napomenu"
#. module: board
#: wizard_view:board.board.menu.create,init:0
msgid "Menu Information"
msgstr "Informacije Menija"
#. module: board
#: field:board.board,line_ids:0
msgid "Action Views"
msgstr "Pregled Akcija"
#. module: board
#: model:ir.model,name:board.model_board_note
msgid "board.note"
msgstr "Napomena.tabla"
#. module: board
#: field:board.note,date:0
msgid "Date"
msgstr "Datum"
#. module: board
#: model:ir.ui.menu,name:board.next_id_50
msgid "Configuration"
msgstr "Podešavanje"
#. module: board
#: field:board.note.type,name:0
msgid "Note Type"
msgstr "Tip Napomene"
#. module: board
#: wizard_view:board.board.menu.create,init:0
msgid "Create Menu For Dashboard"
msgstr "Kreiraj Meni za Glavnu Tablu"
#. module: board
#: constraint:ir.ui.view:0
msgid "Invalid XML for View Architecture!"
msgstr "Nevažeći XML za pregled arhitekture"
#. module: board
#: wizard_field:board.board.menu.create,init,menu_parent_id:0
msgid "Parent Menu"
msgstr "Roditeljski Meni"
#. module: board
#: view:board.note:0
msgid "Notes"
msgstr "Napomene"
#. module: board
#: model:ir.model,name:board.model_board_note_type
msgid "board.note.type"
msgstr "Tabla.napomene.tip"
#. module: board
#: view:board.board:0
#: field:board.board,name:0
#: field:board.board.line,board_id:0
msgid "Dashboard"
msgstr "Glavna Tabla"
#. module: board
#: model:ir.module.module,description:board.module_meta_information
msgid "Base module for all dashboards."
msgstr "Bazni modul za sve glavne table"
#. module: board
#: field:board.board.line,position:0
msgid "Position"
msgstr "Pozicija"
#. module: board
#: model:ir.actions.act_window,name:board.dashboard_open
msgid "Open Dashboard"
msgstr "Otvori Glavnu Tablu"
#. module: board
#: wizard_field:board.board.menu.create,init,menu_name:0
msgid "Menu Name"
msgstr "Naziv menija"
#. module: board
#: field:board.note,type:0
msgid "Note type"
msgstr "Tip Napomene"
#. module: board
#: selection:board.board.line,position:0
msgid "Left"
msgstr "Levo"
#. module: board
#: field:board.board,view_id:0
msgid "Board View"
msgstr ""
#. module: board
#: selection:board.board.line,position:0
msgid "Right"
msgstr "Desno"
#. module: board
#: field:board.board.line,sequence:0
msgid "Sequence"
msgstr "Sekvenca"
#. module: board
#: view:board.board:0
#: wizard_button:board.board.menu.create,init,create_menu:0
msgid "Create Menu"
msgstr "Kreiraj Meni"
#. module: board
#: model:ir.ui.menu,name:board.dashboard_menu
msgid "Dashboards"
msgstr "Glavna Tabla"
#. module: board
#: field:board.board.line,height:0
msgid "Height"
msgstr "Visina"
#. module: board
#: model:ir.actions.wizard,name:board.wizard_board_create_menu
msgid "Create Board Menu"
msgstr "Kreiraj Meni Table"
#. module: board
#: wizard_button:board.board.menu.create,init,end:0
msgid "Cancel"
msgstr "Otkaži"
#. module: board
#: view:board.board:0
msgid "Dashboard View"
msgstr "Pregled table"
#. module: board
#: model:ir.model,name:board.model_board_board_line
msgid "board.board.line"
msgstr "tabla.tabla.red"
#. module: board
#: field:board.note,name:0
msgid "Subject"
msgstr "Tema"
+1 -1
View File
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-10-12 04:51+0000\n"
"X-Launchpad-Export-Date: 2010-10-13 04:59+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: claim_from_delivery
+3 -3
View File
@@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2010-01-05 05:59+0000\n"
"PO-Revision-Date: 2010-10-11 13:45+0000\n"
"Last-Translator: Douwe Wullink (Dypalio) <Unknown>\n"
"PO-Revision-Date: 2010-10-12 07:49+0000\n"
"Last-Translator: OpenERP Administrators <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-10-12 04:51+0000\n"
"X-Launchpad-Export-Date: 2010-10-13 04:58+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: crm
+3 -3
View File
@@ -8,13 +8,13 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2010-08-20 12:29+0000\n"
"PO-Revision-Date: 2010-10-11 09:58+0000\n"
"Last-Translator: Douwe Wullink (Dypalio) <Unknown>\n"
"PO-Revision-Date: 2010-10-12 07:44+0000\n"
"Last-Translator: OpenERP Administrators <Unknown>\n"
"Language-Team: Dutch <nl@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-10-12 04:51+0000\n"
"X-Launchpad-Export-Date: 2010-10-13 04:59+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: crm_fundraising
+3 -3
View File
@@ -8,13 +8,13 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2010-08-20 13:01+0000\n"
"PO-Revision-Date: 2010-10-11 08:22+0000\n"
"Last-Translator: Douwe Wullink (Dypalio) <Unknown>\n"
"PO-Revision-Date: 2010-10-12 07:46+0000\n"
"Last-Translator: OpenERP Administrators <Unknown>\n"
"Language-Team: Dutch <nl@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-10-12 04:51+0000\n"
"X-Launchpad-Export-Date: 2010-10-13 04:59+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: crm_helpdesk
+1 -1
View File
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-10-12 04:51+0000\n"
"X-Launchpad-Export-Date: 2010-10-13 04:59+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: decimal_precision
+1
View File
@@ -12,6 +12,7 @@
invoice_state: none
move_lines:
- company_id: base.main_company
date: '2010-05-11 15:18:57'
location_dest_id: stock.stock_location_customers
location_id: stock.stock_location_stock
name: HP CD writers
-155
View File
@@ -1,155 +0,0 @@
-
In order to test the delivery module, I will do Configuration -> Delivery -> Delivery Method
And there are two methods for doing that
Delivery based on order quantities,
Delivery based on delivered quantities.
-
I create the partner associated with the transport.
-
I create partner.
-
!record {model: res.partner, id: res_partner_thepost0}:
address:
- country_id: base.in
name: Micro Link
credit_limit: 0.0
name: The Post
property_account_payable: account.a_pay
property_account_receivable: account.a_recv
-
I create associated product for delivery.
-
!record {model: product.product, id: product_product_deliverybypost0}:
categ_id: product.product_category_services
cost_method: standard
mes_type: fixed
name: Delivery Product
procure_method: make_to_stock
supply_method: buy
type: service
uom_id: product.product_uom_unit
uom_po_id: product.product_uom_unit
warranty: 0.0
-
I create the Delivery Method.
-
!record {model: delivery.carrier, id: delivery_carrier_theopenerpexperss0}:
name: The OpenERP Experss
partner_id: res_partner_thepost0
product_id: product_product_deliverybypost0
-
I create a delivery grid record and define the region for which the tariffs in the grid will be applicable.
Then set the condition for which this rule is applicable.
-
!record {model: delivery.grid, id: delivery_grid_weight0}:
carrier_id: delivery_carrier_theopenerpexperss0
line_ids:
- list_price: 120.0
max_value: 250.0
name: Weight of product
operator: <=
standard_price: 60.0
type: weight
price_type: fixed
variable_factor: weight
- list_price: 0.0
max_value: 500.0
name: Price &gt;= 500
operator: <=
standard_price: 20.0
type: price
price_type: fixed
variable_factor: weight
country_ids:
- base.id
- base.be
- base.in
- base.io
name: Weight
sequence: 1
-
To check the Delivery based on order quantities , I have created sale order and picking_policy is direct .
-
!record {model: sale.order, id: sale_order_so0}:
date_order: '2010-05-11'
invoice_quantity: order
name: Test/delivery
order_line:
- name: '[PC1] Basic PC'
price_unit: 450.0
product_uom: product.product_uom_unit
product_uom_qty: 10.0
state: draft
delay: 2.0
product_id: product.product_product_pc1
product_uos_qty: 10.0
th_weight: 0.0
type: make_to_stock
order_policy: manual
partner_id: base.res_partner_agrolait
partner_invoice_id: base.res_partner_address_8
partner_order_id: base.res_partner_address_8
partner_shipping_id: base.res_partner_address_8
picking_policy: direct
pricelist_id: product.list0
shop_id: sale.shop
-
I create delivery.sale.order record.
-
!record {model: delivery.sale.order, id: delivery_sale_order_0}:
carrier_id: delivery_carrier_theopenerpexperss0
-
To add the delivery charges on the quotation, I click on Delivery costs button and select the carrier.
-
!python {model: delivery.sale.order}: |
self.delivery_set(cr, uid, [ref("delivery_sale_order_0")], {"lang": "en_US", "active_model":
"sale.order", "tz": False, "order_id": 8, "active_ids": [ref("sale_order_so0")],
"active_id": ref("sale_order_so0"), })
-
I confirm the sale order.
-
!workflow {model: sale.order, action: order_confirm, ref: sale_order_so0}
-
To check the Invoicing based on deliveries.I create new sale order and picking_policy is Complete Delivery.
-
!record {model: sale.order, id: sale_order_test_complete0}:
name: Test/Complete Deliver
carrier_id: delivery.delivery_carrier_theopenerpexperss0
invoice_quantity: procurement
order_line:
- name: '[PC1] Basic PC'
price_unit: 450.0
product_uom: product.product_uom_unit
product_uom_qty: 10.0
state: draft
delay: 2.0
product_id: product.product_product_pc1
product_uos_qty: 10.0
th_weight: 0.0
type: make_to_stock
partner_id: base.res_partner_4
partner_order_id: base.res_partner_address_7
partner_invoice_id: base.res_partner_address_7
partner_shipping_id: base.res_partner_address_7
pricelist_id: product.list0
order_policy: picking
-
I confirm the sale order.
-
!workflow {model: sale.order, action: order_confirm, ref: sale_order_test_complete0}
-
I Create stock.invoice.onshipping
-
!record {model: stock.invoice.onshipping, id: stock_invoice_onshipping_0}:
journal_id: account.sales_journal
type: out_invoice
-
I Create Invoice form picking.
-
!python {model: stock.invoice.onshipping}: |
so=self.pool.get('sale.order').browse(cr,uid,ref('sale_order_test_complete0'))
self.create_invoice(cr, uid, [ref("stock_invoice_onshipping_0")], {"lang": "en_US",
"tz": False, "active_model": "stock.picking", "contact_display": "partner",
"active_ids": [so.picking_ids[0].id], "active_id": so.picking_ids[0].id })
+31
View File
@@ -0,0 +1,31 @@
# Danish translation for openobject-addons
# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2009-05-30 15:14+0000\n"
"PO-Revision-Date: 2010-10-13 07:44+0000\n"
"Last-Translator: Martin Pihl <martinpihl@gmail.com>\n"
"Language-Team: Danish <da@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-10-14 04:45+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: document_webdav_old
#: model:ir.module.module,description:document_webdav_old.module_meta_information
msgid ""
"This is a complete document management system:\n"
"\t* WebDav Interface\n"
"\t* User Authentification\n"
"\t* Document Indexation\n"
msgstr ""
"Dette er et komplet dokumenthåndteringssystem\n"
"\t* WebDav Interface\n"
"\t* Brugergodkendelse\n"
"\t* Dokumentindeksering\n"
@@ -2,10 +2,6 @@
<openerp>
<data>
<record id="PE_ADMIN" model="res.roles">
<field name="name">Email Administrator</field>
</record>
<record id="wkf_email_template_setting" model="workflow">
<field name="name">Email Template Workflow</field>
<field name="osv">email_template.account</field>
+9 -2
View File
@@ -211,7 +211,7 @@ class event_event(osv.osv):
'register_current': fields.function(_get_register, method=True, string='Confirmed Registrations', multi='register_current',
help="Total of Open and Done Registrations"),
'register_prospect': fields.function(_get_register, method=True, string='Unconfirmed Registrations', multi='register_prospect',
help="Total of Prospect Registrations"),
help="Total of Prospect Registrati./event/event.py:41:ons"),
'registration_ids': fields.one2many('event.registration', 'event_id', 'Registrations', readonly=False, states={'done': [('readonly', True)]}),
'date_begin': fields.datetime('Beginning date', required=True, help="Beginning Date of Event", readonly=True, states={'draft': [('readonly', False)]}),
'date_end': fields.datetime('Closing date', required=True, help="Closing Date of Event", readonly=True, states={'draft': [('readonly', False)]}),
@@ -262,8 +262,15 @@ class event_event(osv.osv):
return True
def _check_closing_date(self, cr, uid, ids):
for event in self.browse(cr, uid, ids):
if event.date_end < event.date_begin:
return False
return True
_constraints = [
(_check_recursion, 'Error ! You cannot create recursive event.', ['parent_id'])
(_check_recursion, 'Error ! You cannot create recursive event.', ['parent_id']),
(_check_closing_date, 'Error ! Closing Date cannot be set before Beginning Date.', ['date_end']),
]
def do_team_change(self, cr, uid, ids, team_id, context=None):
+1 -1
View File
@@ -53,7 +53,7 @@
<record id="process_transition_employeeuser0" model="process.transition">
<field eval="[(6,0,[])]" name="transition_ids"/>
<field eval="&quot;&quot;&quot;Link a user to an employee&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;The field Relate'd user in the Employee form allows to link the OpenERP user (and his rights and role) to the employee.&quot;&quot;&quot;" name="note"/>
<field eval="&quot;&quot;&quot;The Related user field on the Employee form allows to link the OpenERP user (and her rights) to the employee.&quot;&quot;&quot;" name="note"/>
<field model="process.node" name="target_node_id" ref="process_node_openerpuser0"/>
<field model="process.node" name="source_node_id" ref="process_node_employee0"/>
</record>
+6 -3
View File
@@ -146,8 +146,8 @@
<field name="arch" type="xml">
<search string="Search Contract">
<group col='15' colspan='4'>
<filter string="Current" icon="terp-check" name="current" domain="[('date_end','&gt;=', time.strftime('%%Y-%%m-%%d'))]" context="{'group_by':'date_end'}" help="Contracts in progress"/>
<filter string="Overpassed" icon="terp-emblem-important" domain="[('date_end','&lt;', time.strftime('%%Y-%%m-%%d'))]" context="{'group_by':'date_end'}" help="Contracts whose end date already passed"/>
<filter string="Current" icon="terp-check" name="current" domain="['|',('date_end','&gt;=', time.strftime('%%Y-%%m-%%d')),('date_end','=',False)]" help="Contracts in progress"/>
<filter string="Overpassed" icon="terp-emblem-important" domain="[('date_end','&lt;', time.strftime('%%Y-%%m-%%d'))]" help="Contracts whose end date already passed"/>
<separator orientation="vertical"/>
<field name="name"/>
<field name="employee_id"/>
@@ -157,9 +157,12 @@
</group>
<newline/>
<group expand="0" string="Group By..." colspan="4" col="20">
<filter string="Contract Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'type_id'}"/>
<filter string="Employee" icon="terp-personal" domain="[]" context="{'group_by':'employee_id'}"/>
<separator orientation="vertical"/>
<filter string="Working Schedule" icon="terp-go-week" domain="[]" context="{'group_by':'working_hours'}"/>
<filter string="Job" icon="terp-gtk-select-all" domain="[]" context="{'group_by':'job_id'}"/>
<separator orientation="vertical"/>
<filter string="Contract Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'type_id'}"/>
</group>
</search>
</field>
-10
View File
@@ -2,16 +2,6 @@
<openerp>
<data>
<!-- Roles definition -->
<record id="HR" model="res.roles">
<field name="name">Human Resources - Expenses</field>
</record>
<record id="HR_INV" model="res.roles">
<field name="name">Human Resources - Expenses invoice</field>
</record>
<!-- Workflow definition -->
<record id="wkf_expenses" model="workflow">
+2 -2
View File
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
<document filename="test.pdf">
<template pageSize="(595.0,842.0)" title="HR Expenses" author="OpenERP S.A. (sales@openerp.com)" allowSplitting="20">
<template pageSize="(595.0,842.0)" title="Expenses" author="OpenERP S.A. (sales@openerp.com)" allowSplitting="20">
<pageTemplate id="first">
<frame id="first" x1="16.0" y1="57.0" width="522" height="728"/>
</pageTemplate>
@@ -259,7 +259,7 @@
<para style="terp_default_9">
<font color="white"> </font>
</para>
<para style="terp_default_9">[[ o.note or '' ]] [[ setTag('para','xpre') ]]</para>
<para style="terp_default_9">[[ setTag('para','xpre') ]] [[ o.note or '' ]]</para>
<para style="terp_default_9">
<font color="white"> </font>
</para>
+1 -1
View File
@@ -43,7 +43,7 @@
HR / Employees / Employees
then select the ones you want to choose, click on the print icon and select the option
'Print Summary of Employee's Holidays'
- The wizard allows you to choose if you want to print either the Confirmed & Validated holidays or only the Validated ones. These states must be set up by a user from the group 'HR' and with the role 'holidays'. You can define these features in the security tab from the user data in
- The wizard allows you to choose if you want to print either the Confirmed & Validated holidays or only the Validated ones. These states must be set up by a user from the group 'HR'. You can define these features in the security tab from the user data in
Administration / Users / Users
for example, you maybe will do it for the user 'admin'
.
@@ -2,12 +2,6 @@
<openerp>
<data>
<!-- Roles definition -->
<record model="res.roles" id="HR_holidays">
<field name="name">Leaves Manager</field>
</record>
<!-- Workflow definition -->
<record model="workflow" id="wkf_holidays">
+1 -1
View File
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-10-12 04:51+0000\n"
"X-Launchpad-Export-Date: 2010-10-13 04:59+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: hr_payroll
@@ -22,7 +22,6 @@
<field name="product_uom_id" on_change="on_change_unit_amount(product_id, unit_amount, False, product_uom_id,journal_id)" invisible="1"/>
<field name="amount" sum="Total cost" invisible="1"/>
<field name="general_account_id" invisible="1"/>
<field name="journal_id" invisible="1"/>
</tree>
</field>
</record>
+2 -1
View File
@@ -49,13 +49,14 @@ The validation can be configured in the company:
'init_xml': [],
'update_xml': [
'security/ir.model.access.csv',
'security/hr_timesheet_data.xml',
'security/hr_timesheet_sheet_security.xml',
'hr_timesheet_sheet_view.xml',
'hr_timesheet_workflow.xml',
'process/hr_timesheet_sheet_process.xml',
'board_hr_timesheet_view.xml',
'report/hr_timesheet_report_view.xml',
'wizard/hr_timesheet_current_view.xml',
'hr_timesheet_sheet_data.xml'
],
'demo_xml': ['hr_timesheet_sheet_demo.xml',
@@ -334,11 +334,16 @@ class hr_timesheet_sheet(osv.osv):
return time.strftime('%Y-12-31')
return time.strftime('%Y-%m-%d')
def _default_employee(self,cr, uid, context=None):
emp_ids = self.pool.get('hr.employee').search(cr, uid, [('user_id','=',uid)], context=context)
return emp_ids and emp_ids[0] or False
_defaults = {
'date_from' : _default_date_from,
'date_current' : lambda *a: time.strftime('%Y-%m-%d'),
'date_to' : _default_date_to,
'state': 'new',
'employee_id': _default_employee,
'company_id': lambda self, cr, uid, c: self.pool.get('res.company')._company_default_get(cr, uid, 'hr_timesheet_sheet.sheet', context=c)
}
@@ -0,0 +1,24 @@
<?xml version="1.0" ?>
<openerp>
<data>
<record id="ir_actions_server_timsheet_sheet" model="ir.actions.server">
<field eval="5" name="sequence"/>
<field eval="&quot;&quot;&quot;code&quot;&quot;&quot;" name="state"/>
<field eval="&quot;&quot;&quot;ir.actions.server&quot;&quot;&quot;" name="type"/>
<field name="model_id" ref="model_hr_timesheet_current_open"/>
<field eval="[(6,0,[])]" name="child_ids"/>
<field eval="&quot;&quot;&quot;action = self.pool.get('hr.timesheet.current.open').open_timesheet(cr, uid, object.id, context)&quot;&quot;&quot;" name="code"/>
<field eval="&quot;&quot;&quot;True&quot;&quot;&quot;" name="condition"/>
<field eval="&quot;&quot;&quot;My Timesheet&quot;&quot;&quot;" name="name"/>
</record>
<record id="menu_act_hr_timesheet_sheet_form_my_current" model="ir.ui.menu">
<field name="name">My Timesheet</field>
<field eval="1" name="sequence"/>
<field name="parent_id" ref="hr_attendance.menu_hr_time_tracking"/>
<field name="icon">STOCK_JUSTIFY_FILL</field>
<field name="action" ref="ir_actions_server_timsheet_sheet"/>
</record>
</data>
</openerp>
@@ -2,12 +2,6 @@
<openerp>
<data>
<!-- Roles definition -->
<record id="HR" model="res.roles">
<field name="name">Timesheets validation</field>
</record>
<!-- Workflow definition -->
<record id="wkf_timesheet" model="workflow">
@@ -96,10 +96,6 @@
Process Transition
-->
<record id="res_roles_hr0" model="res.roles">
<field eval="&quot;&quot;&quot;HR&quot;&quot;&quot;" name="name"/>
</record>
<record id="process_transition_attendancetimesheet0" model="process.transition">
<field eval="[(6,0,[])]" name="transition_ids"/>
<field eval="&quot;&quot;&quot;Sign in/out&quot;&quot;&quot;" name="name"/>
+7 -7
View File
@@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2010-08-03 07:12+0000\n"
"Last-Translator: Mustafa Yılmaz <apshalasha@gmail.com>\n"
"PO-Revision-Date: 2010-10-13 07:44+0000\n"
"Last-Translator: OpenERP Administrators <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-09-29 05:05+0000\n"
"X-Launchpad-Export-Date: 2010-10-14 04:45+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: idea
@@ -96,7 +96,7 @@ msgstr "Taslak"
#. module: idea
#: model:ir.actions.act_window,name:idea.action_idea_vote
msgid "Idea's vote"
msgstr "Fikrin oyu"
msgstr ""
#. module: idea
#: model:ir.actions.act_window,name:idea.action_idea_vote_stat
@@ -193,7 +193,7 @@ msgstr "Kategoriler"
#. module: idea
#: view:idea.stat:0
msgid "stat"
msgstr "durum"
msgstr ""
#. module: idea
#: field:idea.idea,my_vote:0
@@ -237,7 +237,7 @@ msgstr "Oluşturulma tarihi"
#. module: idea
#: field:idea.idea,count_votes:0
msgid "Count of votes"
msgstr "Oy sayısı"
msgstr "Oy Sayımı"
#. module: idea
#: field:idea.vote.stat,nbr:0
@@ -354,7 +354,7 @@ msgstr "Çok Kötü"
#. module: idea
#: selection:idea.idea,state:0
msgid "Canceled"
msgstr "İptal edilmiş"
msgstr "İptal Edildi"
#. module: idea
#: model:ir.ui.menu,name:idea.menu_idea_vote
@@ -81,7 +81,7 @@ class l10n_be_vat_declaration(osv.osv_memory):
account_period = obj_acc_period.browse(cr, uid, data['period_id'], context=context)
send_ref = str(obj_company.partner_id.id) + str(account_period.date_start[5:7]) + str(account_period.date_stop[:4])
data_of_file = '<?xml version="1.0"?>\n<VATSENDING xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="MultiDeclarationTVA-NoSignature-14.xml">'
data_of_file = '<?xml version="1.0"?>\n<VATSENDING xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="MultiDeclarationTVA-NoSignature-16.xml">'
data_of_file +='\n\t<DECLARER>\n\t\t<VATNUMBER>'+str(vat_no)+'</VATNUMBER>\n\t\t<NAME>'+ obj_company.name +'</NAME>\n\t\t<ADDRESS>'+address+'</ADDRESS>'
data_of_file +='\n\t\t<POSTCODE>'+post_code+'</POSTCODE>\n\t\t<CITY>'+city+'</CITY>\n\t\t<COUNTRY>'+country_code+'</COUNTRY>\n\t\t<SENDINGREFERENCE>'+send_ref+'</SENDINGREFERENCE>\n\t</DECLARER>'
data_of_file +='\n\t<VATRECORD>\n\t\t<RECNUM>1</RECNUM>\n\t\t<VATNUMBER>'+((vat_no and str(vat_no[2:])) or '')+'</VATNUMBER>\n\t\t<DPERIODE>\n\t\t\t'
@@ -127,4 +127,4 @@ class l10n_be_vat_declaration(osv.osv_memory):
l10n_be_vat_declaration()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+40 -42
View File
@@ -80,20 +80,19 @@
</initialize>
<paraStyle name="P1" fontName="Helvetica-BoldOblique" fontSize="9.0" leading="11" alignment="LEFT"/>
<paraStyle name="P2" fontName="Helvetica-BoldOblique" fontSize="9.0" leading="11"/>
<paraStyle name="P3" fontName="Helvetica" fontSize="9.0" leading="11"/>
<paraStyle name="P4" fontName="Helvetica-Bold" fontSize="14.0" leading="17" alignment="CENTER"/>
<paraStyle name="P5" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="P6" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="P7" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT"/>
<paraStyle name="P8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="CENTER"/>
<paraStyle name="P9" fontName="Helvetica" fontSize="8.0" leading="10" alignment="RIGHT"/>
<paraStyle name="P10" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT"/>
<paraStyle name="P11" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="CENTER"/>
<paraStyle name="P12" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT"/>
<paraStyle name="P13" fontName="Helvetica-BoldOblique" fontSize="9.0" leading="11" alignment="LEFT"/>
<paraStyle name="P14" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT"/>
<paraStyle name="P15" fontName="Helvetica" fontSize="8.0" leading="10" alignment="RIGHT"/>
<paraStyle name="P16" fontName="Helvetica" fontSize="8.0" leading="10" alignment="CENTER"/>
<paraStyle name="P3" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="CENTER"/>
<paraStyle name="P4" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT"/>
<paraStyle name="P5" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT"/>
<paraStyle name="P6" fontName="Helvetica" fontSize="8.0" leading="10" alignment="RIGHT"/>
<paraStyle name="P7" fontName="Helvetica" fontSize="8.0" leading="10" alignment="CENTER"/>
<paraStyle name="P8" fontName="Helvetica" fontSize="9.0" leading="11"/>
<paraStyle name="P9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT"/>
<paraStyle name="P10" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT"/>
<paraStyle name="P11" fontName="Helvetica-Bold" fontSize="14.0" leading="17" alignment="CENTER"/>
<paraStyle name="P12" fontName="Helvetica" fontSize="8.0" leading="10" alignment="CENTER"/>
<paraStyle name="P13" fontName="Helvetica" fontSize="8.0" leading="10" alignment="RIGHT"/>
<paraStyle name="P14" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="P15" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="Standard" fontName="Helvetica"/>
<paraStyle name="Text body" fontName="Helvetica" spaceBefore="0.0" spaceAfter="6.0"/>
<paraStyle name="Heading" fontName="Helvetica" fontSize="14.0" leading="17" spaceBefore="12.0" spaceAfter="6.0"/>
@@ -112,30 +111,30 @@
<images/>
</stylesheet>
<story>
<para style="Standard">
<font color="white"> </font>
</para>
<para style="P15">[[repeatIn(objects,'o')]]</para>
<section>
<para style="P5">[[repeatIn(objects,'o')]]</para>
<blockTable colWidths="262.0,5.0,260.0" style="Table5">
<para style="P15">
<font color="white"> </font>
</para>
<blockTable colWidths="262.0,6.0,260.0" style="Table5">
<tr>
<td>
<para style="P10">
<para style="P15">
<font color="white"> </font>
</para>
</td>
<td>
<para style="P10">
<para style="P9">
<font color="white"> </font>
</para>
</td>
<td>
<para style="P6">[[ o.user_id.address_id.title or '' ]] [[ o.user_id.address_id.name ]]</para>
<para style="P6">[[ o.user_id.address_id.street ]]</para>
<para style="P6">[[ o.user_id.address_id.street2 or removeParentNode('para') ]]</para>
<para style="P6">[[ o.user_id.address_id.zip or '' ]] [[ o.user_id.address_id.city or '' ]]</para>
<para style="P6">[[ (o.user_id.address_id.state_id and o.user_id.address_id.state_id.name) or removeParentNode('para')]] [[ (o.user_id.address_id.country_id and o.user_id.address_id.country_id.name) or '' ]]</para>
<para style="P6">
<para style="P14">[[ o.user_id.address_id.partner_id.title.name or '' ]] [[ o.user_id.address_id.partner_id.name ]]</para>
<para style="P14">[[ o.user_id.address_id.street ]]</para>
<para style="P14">[[ o.user_id.address_id.street2 or removeParentNode('para') ]]</para>
<para style="P14">[[ o.user_id.address_id.zip or '' ]] [[ o.user_id.address_id.city or '' ]]</para>
<para style="P14">[[ (o.user_id.address_id.state_id and o.user_id.address_id.state_id.name) or removeParentNode('para')]] [[ (o.user_id.address_id.country_id and o.user_id.address_id.country_id.name) or '' ]]</para>
<para style="P14">
<font color="white"> </font>
</para>
</td>
@@ -150,7 +149,7 @@
<blockTable colWidths="527.0" style="Table4">
<tr>
<td>
<para style="P4">Lunch Order</para>
<para style="P11">Lunch Order</para>
</td>
</tr>
</blockTable>
@@ -163,16 +162,16 @@
<blockTable colWidths="132.0,153.0,141.0,101.0" style="Table3">
<tr>
<td>
<para style="P7">Name</para>
<para style="P10">Name</para>
</td>
<td>
<para style="P11">Order</para>
<para style="P3">Order</para>
</td>
<td>
<para style="P11">Description</para>
<para style="P3">Description</para>
</td>
<td>
<para style="P12">Unit Price([[company.currency_id.code]])</para>
<para style="P4">Unit Price</para>
</td>
</tr>
</blockTable>
@@ -180,37 +179,36 @@
<blockTable colWidths="132.0,153.0,142.0,101.0" style="Table1">
<tr>
<td>
<para style="P14">[[repeatIn(objects, 'o') ]]</para>
<para style="P14">[[ o.user_id.name ]]</para>
<para style="P5">[[ o.user_id.name ]]</para>
</td>
<td>
<para style="P16">[[o.product.name ]]</para>
<para style="P7">[[o.product.name ]]</para>
</td>
<td>
<para style="P8">[[ o.descript ]]</para>
<para style="P12">[[ o.descript ]]</para>
</td>
<td>
<para style="P15">[[formatLang(o.price) ]] [[company.currency_id.symbol]]</para>
<para style="P6">[[formatLang(o.price) ]] [[company.currency_id.symbol]]</para>
</td>
</tr>
</blockTable>
<blockTable colWidths="132.0,153.0,142.0,101.0" style="Table2">
<tr>
<td>
<para style="P3">
<para style="P8">
<font color="white"> </font>
</para>
</td>
<td>
<para style="P3">
<para style="P8">
<font color="white"> </font>
</para>
</td>
<td>
<para style="P11">Total:</para>
<para style="P3">Total:</para>
</td>
<td>
<para style="P9">[[ formatLang(sum_price(objects)) ]] <font face="Helvetica">[[company.currency_id.symbol]]</font></para>
<para style="P13">[[ formatLang(sum_price(objects)) ]] <font face="Helvetica">[[company.currency_id.symbol]]</font></para>
</td>
</tr>
</blockTable>
@@ -218,4 +216,4 @@
<font color="white"> </font>
</para>
</story>
</document>
</document>
+1 -1
View File
@@ -277,7 +277,7 @@
<para style="terp_tblheader_Details_Right">Unit Price</para>
</td>
<td>
<para style="terp_tblheader_Details_Right">Price<font size="8.0">([[ o.pricelist_id.currency_id. name ]])</font></para>
<para style="terp_tblheader_Details_Right">Price</para>
</td>
</tr>
</blockTable>
+3 -4
View File
@@ -1925,8 +1925,7 @@ class bi_auto_configure_wizard(osv.osv_memory):
table_new = dbtab_obj.write(cr, uid, tables['id'], end_user_name)
if not(tables['table_db_name'].startswith('ir') or \
tables['table_db_name'].startswith('wkf') or \
tables['table_db_name'].startswith('res_groups') or \
tables['table_db_name'].startswith('res_role')) and \
tables['table_db_name'].startswith('res_groups')) and \
tables['table_db_name'] not in ['inherit', 'user_rule_group_rel',\
'group_rule_group_rel']:
vals = {}
@@ -1999,8 +1998,8 @@ class bi_auto_configure_wizard(osv.osv_memory):
table['table_db_name'].startswith('wkf')) or \
(table['table_db_name'].startswith('res_groups')) or \
(table['table_db_name'] in \
['inherit', 'res_roles', 'user_rule_group_rel', \
'res_roles_users_rel', 'group_rule_group_rel']):
['inherit', 'user_rule_group_rel', \
'group_rule_group_rel']):
vals['hide'] = True
vals['active'] = False
make_id.append(table['id'])
+4 -4
View File
@@ -8,13 +8,13 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2010-10-11 21:13+0000\n"
"Last-Translator: zmmaj <Unknown>\n"
"PO-Revision-Date: 2010-10-13 07:42+0000\n"
"Last-Translator: OpenERP Administrators <Unknown>\n"
"Language-Team: Serbian <sr@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-10-12 04:51+0000\n"
"X-Launchpad-Export-Date: 2010-10-14 04:45+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: point_of_sale
@@ -438,7 +438,7 @@ msgstr ""
#. module: point_of_sale
#: rml:pos.invoice:0
msgid "Draft Invoice"
msgstr "Nacrti računa"
msgstr "Neodobreni računi"
#. module: point_of_sale
#: field:pos.order.line,discount:0
-6
View File
@@ -7,12 +7,6 @@
<field name="on_create">True</field>
</record>
<!-- Roles definition -->
<record model="res.roles" id="role_pos">
<field name="name">POS - Confirmation</field>
</record>
<!--Activities-->
<record model="workflow.activity" id="act_draft">
+4 -4
View File
@@ -36,12 +36,12 @@ class pos_details(report_sxw.rml_parse):
def _pos_sales_details(self,form,user):
data={}
self.cr.execute ("select po.name as pos_name,po.date_order,pt.name ,pol.qty,pol.price_unit,pol.discount,po.invoice_id,sum((pol.price_unit * pol.qty * (1 - (pol.discount) / 100.0))) as Total " \
"from pos_order as po,pos_order_line as pol,product_product as pp,product_template as pt,res_users as ru,res_company as rc " \
"where pt.id=pp.product_tmpl_id and pp.id=pol.product_id and po.id = pol.order_id and po.state IN ('done','paid','invoiced') " \
self.cr.execute ("select po.name as pos_name,po.date_order,pt.name ,pp.default_code as code,pol.qty,pu.name as uom,pol.price_unit,pol.discount,po.invoice_id,sum((pol.price_unit * pol.qty * (1 - (pol.discount) / 100.0))) as Total " \
"from pos_order as po,pos_order_line as pol,product_product as pp,product_template as pt,product_uom as pu,res_users as ru,res_company as rc " \
"where pt.id=pp.product_tmpl_id and pu.id=pt.uom_id and pp.id=pol.product_id and po.id = pol.order_id and po.state IN ('done','paid','invoiced') " \
"and to_char(date_trunc('day',po.date_order),'YYYY-MM-DD')::date >= %s and to_char(date_trunc('day',po.date_order),'YYYY-MM-DD')::date <= %s " \
"and po.user_id = ru.id and rc.id = %s and ru.id = %s " \
"group by po.name,pol.qty,po.date_order,pt.name,pol.price_unit,pol.discount,po.invoice_id " \
"group by po.name,pol.qty,po.date_order,pt.name,pp.default_code,pu.name,pol.price_unit,pol.discount,po.invoice_id " \
,(form['date_start'],form['date_end'],str(user.company_id.id),str(self.uid)))
data=self.cr.dictfetchall()
if data:
+7 -7
View File
@@ -199,7 +199,7 @@
<para style="terp_default_8">
<font color="white"> </font>
</para>
<blockTable colWidths="67.0,65.0,143.0,59.0,40.0,47.0,88.0" style="Table4">
<blockTable colWidths="53.0,44.0,158.0,54.0,76.0,37.0,88.0" style="Table4">
<tr>
<td>
<para style="terp_tblheader_Details">Date</para>
@@ -214,7 +214,7 @@
<para style="terp_tblheader_Details_Right">Price </para>
</td>
<td>
<para style="terp_tblheader_Details_Right">Qty</para>
<para style="terp_tblheader_Details_Centre">Qty</para>
</td>
<td>
<para style="terp_tblheader_Details_Right">Disc(%) </para>
@@ -226,7 +226,7 @@
</blockTable>
<section>
<para style="terp_default_1">[[ repeatIn(pos_sales_details(data['form'],user), 'line_ids') ]]</para>
<blockTable colWidths="67.0,66.0,142.0,59.0,41.0,46.0,89.0" style="Table6">
<blockTable colWidths="54.0,44.0,159.0,54.0,75.0,36.0,89.0" style="Table6">
<tr>
<td>
<para style="terp_default_9">[[ formatLang(line_ids['date_order'],date_time = True) ]]</para>
@@ -235,13 +235,13 @@
<para style="terp_default_9">[[ line_ids['pos_name'] ]]</para>
</td>
<td>
<para style="terp_default_9">[[ line_ids['name'] ]]</para>
<para style="terp_default_9">[ [[ line_ids['code'] ]] ] [[ line_ids['name'] ]]</para>
</td>
<td>
<para style="terp_default_Right_9">[[ formatLang(line_ids['price_unit']) ]] [[ company.currency_id.symbol ]]</para>
</td>
<td>
<para style="terp_default_Right_9">[[ formatLang(line_ids['qty']) ]]</para>
<para style="terp_default_Centre_9">[[ formatLang(line_ids['qty']) ]] [[ line_ids['uom'] ]]</para>
</td>
<td>
<para style="terp_default_Centre_9">[[ formatLang(line_ids['discount']) ]]</para>
@@ -275,7 +275,7 @@
<para style="terp_default_9">[[ p['name'] or removeParentNode('para') ]]</para>
</td>
<td>
<para style="terp_default_Right_9_Bold">[[ formatLang(p['amount']) or removeParentNode('font') ]] [[ company.currency_id.symbol ]]</para>
<para style="terp_default_Right_9_Bold">[[ formatLang(p['amount']) or removeParentNode('tr') ]] [[ company.currency_id.symbol ]]</para>
</td>
</tr>
</blockTable>
@@ -383,4 +383,4 @@
<font color="white"> </font>
</para>
</story>
</document>
</document>
@@ -20,6 +20,7 @@
##############################################################################
import time
from datetime import datetime
from report import report_sxw
@@ -38,7 +39,8 @@ class pos_details_summary(report_sxw.rml_parse):
'getsuminvoice': self._sum_invoice,
'gettaxamount': self._get_tax_amount,
'getsalestotal': self._get_sales_total,
'getperiod': self._get_period,
'getstartperiod': self._get_start_period,
'getendperiod': self._get_end_period,
'getcompany':self.get_company
})
@@ -68,27 +70,26 @@ class pos_details_summary(report_sxw.rml_parse):
objects,
0.0 )
def _get_payments(self, objects, ignore_gift=False):
gift_journal_id = None
if ignore_gift:
config_journal_ids = self.pool.get("pos.config.journal").search(self.cr, self.uid, [('code', '=', 'GIFT')])
if len(config_journal_ids):
config_journal = self.pool.get("pos.config.journal").browse(self.cr, self.uid, config_journal_ids, {})[0]
gift_journal_id = config_journal.journal_id.id
def _get_payments(self, objects):
# gift_journal_id = None
# if ignore_gift:
# config_journal_ids = self.pool.get("pos.config.journal").search(self.cr, self.uid, [('code', '=', 'GIFT')])
# if len(config_journal_ids):
# config_journal = self.pool.get("pos.config.journal").browse(self.cr, self.uid, config_journal_ids, {})[0]
# gift_journal_id = config_journal.journal_id.id
result = {}
for obj in objects:
for payment in obj.statement_ids:
if gift_journal_id and gift_journal_id == payment.statement_id.journal_id.id:
continue
result[payment.statement_id.journal_id.name] = result.get(payment.statement_id.journal_id.name, 0.0) + payment.amount
for statement in obj.statement_ids:
if statement.journal_id:
result[statement.journal_id] = result.get(statement.journal_id, 0.0) + statement.amount
return result
def _paid_total(self, objects):
return sum(self._get_payments(objects, True).values(), 0.0)
return sum(self._get_payments(objects).values(), 0.0)
def _total_of_the_day(self, objects):
total_paid = sum(self._get_payments(objects, True).values(), 0.0)
total_paid = self._paid_total(objects)
total_invoiced = self._sum_invoice(objects)
return total_paid - total_invoiced
@@ -119,16 +120,17 @@ class pos_details_summary(report_sxw.rml_parse):
def _get_sales_total(self, objects):
return reduce(lambda x, o: x + len(o.lines), objects, 0)
def _get_period(self, objects):
date_orders = [obj.date_order for obj in objects]
min_date = min(date_orders)
max_date = max(date_orders)
if min_date == max_date:
return '%s' % min_date
else:
return '%s - %s' % (min_date, max_date)
def _get_start_period(self, objects):
date_orders = sorted([obj.date_order for obj in objects])
min_date = date_orders[0]
return '%s' % min_date
def _get_end_period(self, objects):
date_orders = sorted([obj.date_order for obj in objects])
max_date = date_orders[-1]
return '%s' % max_date
report_sxw.report_sxw('report.pos.details_summary',
'pos.order',
@@ -1,8 +1,8 @@
<?xml version="1.0"?>
<document filename="test.pdf">
<template pageSize="(595.0,842.0)" title="Detail of sales" author="OpenERP S.A. (sales@openerp.com)" allowSplitting="20">
<template pageSize="(595.0,842.0)" title="Details of Sales" author="OpenERP S.A. (sales@openerp.com)" allowSplitting="20">
<pageTemplate id="first">
<frame id="first" x1="27.0" y1="57.0" width="512" height="728"/>
<frame id="first" x1="28.0" y1="57.0" width="511" height="728"/>
</pageTemplate>
</template>
<stylesheet>
@@ -20,9 +20,12 @@
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="1,0" stop="1,0"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="1,-1" stop="1,-1"/>
<lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="2,0" stop="2,-1"/>
<lineStyle kind="LINEAFTER" colorName="#e6e6e6" start="2,0" stop="2,-1"/>
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="2,0" stop="2,0"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="2,-1" stop="2,-1"/>
<lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="3,0" stop="3,-1"/>
<lineStyle kind="LINEAFTER" colorName="#e6e6e6" start="3,0" stop="3,-1"/>
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="3,0" stop="3,0"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="3,-1" stop="3,-1"/>
</blockTableStyle>
<blockTableStyle id="Table2">
<blockAlignment value="LEFT"/>
@@ -34,26 +37,12 @@
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="1,0" stop="1,0"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="1,-1" stop="1,-1"/>
<lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="2,0" stop="2,-1"/>
<lineStyle kind="LINEAFTER" colorName="#e6e6e6" start="2,0" stop="2,-1"/>
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="2,0" stop="2,0"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="2,-1" stop="2,-1"/>
</blockTableStyle>
<blockTableStyle id="Table4">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<lineStyle kind="LINEBELOW" colorName="#000000" start="0,-1" stop="0,-1"/>
<lineStyle kind="LINEBELOW" colorName="#000000" start="1,-1" stop="1,-1"/>
</blockTableStyle>
<blockTableStyle id="Table6">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="0,0" stop="0,-1"/>
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="0,0" stop="0,0"/>
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="0,-1" stop="0,-1"/>
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="1,0" stop="1,-1"/>
<lineStyle kind="LINEAFTER" colorName="#cccccc" start="1,0" stop="1,-1"/>
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="1,0" stop="1,0"/>
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="1,-1" stop="1,-1"/>
<lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="3,0" stop="3,-1"/>
<lineStyle kind="LINEAFTER" colorName="#e6e6e6" start="3,0" stop="3,-1"/>
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="3,0" stop="3,0"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="3,-1" stop="3,-1"/>
</blockTableStyle>
<blockTableStyle id="Table3">
<blockAlignment value="LEFT"/>
@@ -61,33 +50,38 @@
<lineStyle kind="LINEBELOW" colorName="#000000" start="0,-1" stop="0,-1"/>
<lineStyle kind="LINEBELOW" colorName="#000000" start="1,-1" stop="1,-1"/>
</blockTableStyle>
<blockTableStyle id="Table9">
<blockTableStyle id="Table5">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="0,0" stop="0,-1"/>
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="0,0" stop="0,0"/>
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="0,-1" stop="0,-1"/>
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="1,0" stop="1,-1"/>
<lineStyle kind="LINEAFTER" colorName="#cccccc" start="1,0" stop="1,-1"/>
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="1,0" stop="1,0"/>
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="1,-1" stop="1,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,-1" stop="0,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="1,-1" stop="1,-1"/>
</blockTableStyle>
<blockTableStyle id="Table8">
<blockTableStyle id="Table9">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<lineStyle kind="LINEBELOW" colorName="#000000" start="0,-1" stop="0,-1"/>
<lineStyle kind="LINEBELOW" colorName="#000000" start="1,-1" stop="1,-1"/>
</blockTableStyle>
<blockTableStyle id="Table11">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,-1" stop="0,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="1,-1" stop="1,-1"/>
</blockTableStyle>
<blockTableStyle id="Table8">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
</blockTableStyle>
<blockTableStyle id="Table7">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<lineStyle kind="LINEABOVE" colorName="#000000" start="0,0" stop="0,0"/>
<lineStyle kind="LINEABOVE" colorName="#000000" start="1,0" stop="1,0"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="1,-1" stop="1,-1"/>
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="0,1" stop="0,1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,-1" stop="0,-1"/>
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="1,1" stop="1,1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="1,-1" stop="1,-1"/>
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="0,2" stop="0,2"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,-1" stop="0,-1"/>
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="1,2" stop="1,2"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="1,-1" stop="1,-1"/>
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="0,3" stop="0,3"/>
@@ -106,12 +100,8 @@
<initialize>
<paraStyle name="all" alignment="justify"/>
</initialize>
<paraStyle name="P1" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT"/>
<paraStyle name="P2" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT"/>
<paraStyle name="P3" fontName="Helvetica-Bold" fontSize="16.0" leading="20" alignment="CENTER" spaceBefore="6.0" spaceAfter="6.0"/>
<paraStyle name="P4" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="CENTER" spaceBefore="6.0" spaceAfter="6.0"/>
<paraStyle name="P5" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="P6" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="P1" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="P2" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="Standard" fontName="Helvetica"/>
<paraStyle name="Heading" fontName="Helvetica" fontSize="14.0" leading="17" spaceBefore="12.0" spaceAfter="6.0"/>
<paraStyle name="Text body" fontName="Helvetica" spaceBefore="0.0" spaceAfter="6.0"/>
@@ -150,14 +140,11 @@
<para style="terp_default_8">
<font color="white"> </font>
</para>
<para style="P3">
<para style="terp_header_Centre">Details of Sales</para>
<para style="terp_default_8">
<font color="white"> </font>
</para>
<para style="P3">Details of Sales</para>
<para style="P4">
<font color="white"> </font>
</para>
<blockTable colWidths="170.0,170.0,170.0" style="Table1">
<blockTable colWidths="149.0,124.0,119.0,120.0" style="Table1">
<tr>
<td>
<para style="terp_tblheader_General_Centre">Company</para>
@@ -166,33 +153,44 @@
<para style="terp_tblheader_General_Centre">Print Date</para>
</td>
<td>
<para style="terp_tblheader_General_Centre">Period</para>
<para style="terp_tblheader_General_Centre">Start Period</para>
</td>
<td>
<para style="terp_tblheader_General_Centre">End Period</para>
</td>
</tr>
</blockTable>
<blockTable colWidths="170.0,170.0,170.0" style="Table2">
<blockTable colWidths="148.0,124.0,119.0,119.0" style="Table2">
<tr>
<td>
<para style="terp_default_Centre_8">[[ '%s' % getcompany(objects)]]</para>
<para style="terp_default_Centre_8">[[ company.name ]]</para>
</td>
<td>
<para style="terp_default_Centre_8">[[ formatLang(time.strftime('%Y-%m-%d'),date=True) ]]</para>
</td>
<td>
<para style="terp_default_Centre_8">[[ '%s' % getperiod(objects) ]]</para>
<para style="terp_default_Centre_8">[[ '%s' % getstartperiod(objects) ]] </para>
</td>
<td>
<para style="terp_default_Centre_8">[[ '%s' % getendperiod(objects) ]]</para>
</td>
</tr>
</blockTable>
<para style="terp_default_8">
<font color="white"> </font>
</para>
<blockTable colWidths="256.0,256.0" style="Table4">
<section>
<para style="Standard">
<font color="white"> </font>
</para>
</section>
<blockTable colWidths="256.0,256.0" style="Table3">
<tr>
<td>
<para style="terp_tblheader_Details">Mode of Taxes</para>
</td>
<td>
<para style="P2">
<para style="terp_default_8">
<font color="white"> </font>
</para>
</td>
@@ -200,13 +198,13 @@
</blockTable>
<section>
<para style="terp_default_1">[[ repeatIn(gettaxamount(objects).items(),'p') ]]</para>
<blockTable colWidths="256.0,256.0" style="Table6">
<blockTable colWidths="256.0,256.0" style="Table5">
<tr>
<td>
<para style="P6">[[ p[0] ]]</para>
<para style="P1">[[ p[0] ]]</para>
</td>
<td>
<para style="terp_default_Right_9_Bold">[[ p[1] ]]</para>
<para style="terp_default_Right_9_Bold">[[ p[1] ]] [[company.currency_id.symbol]]</para>
</td>
</tr>
</blockTable>
@@ -217,13 +215,13 @@
<para style="terp_default_8">
<font color="white"> </font>
</para>
<blockTable colWidths="256.0,256.0" style="Table3">
<blockTable colWidths="257.0,255.0" style="Table9">
<tr>
<td>
<para style="terp_tblheader_Details">Mode of Payment</para>
</td>
<td>
<para style="P2">
<para style="terp_default_8">
<font color="white"> </font>
</para>
</td>
@@ -231,13 +229,13 @@
</blockTable>
<section>
<para style="terp_default_1">[[ repeatIn(getpayments(objects).items(),'t') ]]</para>
<blockTable colWidths="256.0,256.0" style="Table9">
<blockTable colWidths="255.0,255.0" style="Table11">
<tr>
<td>
<para style="P5">[[ t[0] ]]</para>
<para style="P2">[[ t[0] ]]</para>
</td>
<td>
<para style="terp_default_Right_9_Bold">[[ '%.2f' % (t[1],) ]]</para>
<para style="terp_default_Right_9_Bold">[[ '%.2f' % (t[1],) ]] [[company.currency_id.symbol]]</para>
</td>
</tr>
</blockTable>
@@ -248,25 +246,25 @@
<para style="terp_default_8">
<font color="white"> </font>
</para>
<blockTable colWidths="256.0,256.0" style="Table8">
<blockTable colWidths="257.0,255.0" style="Table8">
<tr>
<td>
<para style="terp_default_Bold_9">Summary</para>
<para style="terp_tblheader_Details">Summary</para>
</td>
<td>
<para style="P1">
<para style="terp_default_9">
<font color="white"> </font>
</para>
</td>
</tr>
</blockTable>
<blockTable colWidths="256.0,256.0" style="Table7">
<blockTable colWidths="257.0,254.0" style="Table7">
<tr>
<td>
<para style="terp_default_Bold_9">Sales total</para>
</td>
<td>
<para style="terp_default_Right_9_Bold">[[ '%d' % getsalestotal(objects) ]] [[company.currency_id.symbol ]]</para>
<para style="terp_default_Right_9_Bold">[[ '%d' % getsalestotal(objects) ]]</para>
</td>
</tr>
<tr>
@@ -310,7 +308,7 @@
</td>
</tr>
</blockTable>
<para style="terp_default_9">
<para style="terp_default_8">
<font color="white"> </font>
</para>
</story>
@@ -149,16 +149,16 @@
<para style="terp_default_9">
<font color="white"> </font>
</para>
<blockTable colWidths="198.0,81.0,87.0,87.0,83.0" style="Tableau6">
<blockTable colWidths="301.0,58.0,34.0,57.0,61.0" style="Tableau6">
<tr>
<td>
<para style="terp_tblheader_Details">Product</para>
</td>
<td>
<para style="terp_tblheader_Details_Right">Qty</para>
<para style="terp_tblheader_Details_Centre">Qty</para>
</td>
<td>
<para style="terp_tblheader_Details_Right">Disc. (%)</para>
<para style="terp_tblheader_Details_Centre">Disc.(%)</para>
</td>
<td>
<para style="terp_tblheader_Details_Right">Unit Price</para>
@@ -172,7 +172,7 @@
<para style="terp_default_8">[[ repeatIn(objects,'o') ]]</para>
<section>
<para style="terp_default_8">[[ repeatIn(pos_payment(o), 'line_ids') ]]</para>
<blockTable colWidths="198.0,81.0,87.0,87.0,83.0" style="Tableau7">
<blockTable colWidths="301.0,58.0,34.0,57.0,61.0" style="Tableau7">
<tr>
<td>
<para style="terp_default_9">[ [[ line_ids['code'] ]] ] [[ line_ids['name'] ]]</para>
@@ -184,7 +184,7 @@
<para style="terp_default_Right_9">[[ formatLang(line_ids['discount']) ]]</para>
</td>
<td>
<para style="terp_default_Right_9">[[ formatLang(line_ids['price_unit']) ]] [[ company.currency_id.symbol ]]</para>
<para style="terp_default_Right_9">[[ formatLang(line_ids['price_unit']) ]]</para>
</td>
<td>
<para style="terp_default_Right_9">[[ formatLang(line_ids['total']) ]] [[ company.currency_id.symbol ]]</para>
@@ -194,7 +194,7 @@
</blockTable>
</section>
</section>
<blockTable colWidths="198.0,81.0,87.0,87.0,83.0" style="Table1">
<blockTable colWidths="302.0,57.0,34.0,57.0,61.0" style="Table1">
<tr>
<td>
<para style="terp_default_9">
@@ -215,7 +215,7 @@
<para style="terp_tblheader_Details">Net Total:</para>
</td>
<td>
<para style="terp_default_Right_9">[[ formatLang(pos_payment_total(o)) or removeParentNode('blockTable')]] [[ company.currency_id.symbol ]]</para>
<para style="terp_default_Right_9_Bold">[[ formatLang(pos_payment_total(o)) or removeParentNode('blockTable')]] [[ company.currency_id.symbol ]]</para>
</td>
</tr>
</blockTable>
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
<document filename="test.pdf">
<template pageSize="(595.0,842.0)" title="Payment" author="OpenERP S.A. (sales@openerp.com)" allowSplitting="20">
<template pageSize="(595.0,842.0)" title="Payments" author="OpenERP S.A. (sales@openerp.com)" allowSplitting="20">
<pageTemplate id="first">
<frame id="first" x1="27.0" y1="57.0" width="512" height="728"/>
</pageTemplate>
@@ -128,13 +128,13 @@
<para style="Standard">
<font color="white"> </font>
</para>
<blockTable colWidths="271.0,63.0,45.0,64.0,68.0" style="Table3">
<blockTable colWidths="301.0,57.0,35.0,57.0,61.0" style="Table3">
<tr>
<td>
<para style="terp_tblheader_Details">Product</para>
</td>
<td>
<para style="terp_tblheader_General_Right">Qty</para>
<para style="terp_tblheader_General_Centre">Qty</para>
</td>
<td>
<para style="terp_tblheader_General_Right">Disc(%)</para>
@@ -149,7 +149,7 @@
</blockTable>
<section>
<para style="terp_default_1">[[ repeatIn(pos_payment_date(data['form']), 'line_ids') ]]</para>
<blockTable colWidths="271.0,63.0,45.0,64.0,68.0" style="Table6">
<blockTable colWidths="301.0,58.0,34.0,57.0,61.0" style="Table6">
<tr>
<td>
<para style="terp_default_9">[ [[ line_ids['code'] ]] ] [[ line_ids['name'] ]]</para>
@@ -161,7 +161,7 @@
<para style="terp_default_Right_9">[[ formatLang(line_ids['discount']) ]]</para>
</td>
<td>
<para style="terp_default_Right_9">[[ formatLang(line_ids['price_unit']) ]] [[ company.currency_id.symbol ]]</para>
<para style="terp_default_Right_9">[[ formatLang(line_ids['price_unit']) ]] </para>
</td>
<td>
<para style="terp_default_Right_9">[[ formatLang(line_ids['total']) ]] [[ company.currency_id.symbol ]]</para>
@@ -169,7 +169,7 @@
</tr>
</blockTable>
</section>
<blockTable colWidths="271.0,63.0,45.0,64.0,68.0" style="Table5">
<blockTable colWidths="302.0,57.0,34.0,57.0,61.0" style="Table5">
<tr>
<td>
<para style="Table Contents">
@@ -190,7 +190,7 @@
<para style="terp_tblheader_General_Right">Total:</para>
</td>
<td>
<para style="terp_default_Right_9">[[ formatLang(pos_payment_date_total(data['form'])) or removeParentNode('blockTable')]] [[ company.currency_id.symbol ]]</para>
<para style="terp_default_Right_9_Bold">[[ formatLang(pos_payment_date_total(data['form'])) or removeParentNode('blockTable')]] [[ company.currency_id.symbol ]]</para>
</td>
</tr>
</blockTable>
@@ -25,8 +25,7 @@ from report import report_sxw
class pos_user_product(report_sxw.rml_parse):
def __init__(self, cr, uid, name, context):
super(pos_user_product, self).__init__(cr, uid, name, context=context)
self.total = 0.0
super(pos_user_product, self).__init__(cr, uid, name, context)
self.localcontext.update({
'time': time,
'get_data':self._get_data,
@@ -35,6 +34,7 @@ class pos_user_product(report_sxw.rml_parse):
})
def _get_data(self,o):
self.total = 0.0
data={}
sql1=""" SELECT distinct(o.id) from account_bank_statement s, account_bank_statement_line l,pos_order o,pos_order_line i where i.order_id=o.id and o.state='paid' and l.statement_id=s.id and l.pos_statement_id=o.id and s.id=%d"""%(o.id)
self.cr.execute(sql1)
@@ -43,7 +43,7 @@ class pos_user_product(report_sxw.rml_parse):
for r in data:
a_l.append(r['id'])
if len(a_l):
sql2="""SELECT sum(qty) as qty,l.price_unit*sum(l.qty) as amt,t.name as name from product_product p, product_template t, pos_order_line l where order_id IN %s and p.product_tmpl_id=t.id and l.product_id=p.id group by t.name, l.price_unit""",(tuple(a_l),)
sql2="""SELECT sum(qty) as qty,l.price_unit*sum(l.qty) as amt,t.name as name, p.default_code as code, pu.name as uom from product_product p, product_template t,product_uom pu,pos_order_line l where order_id = %d and p.product_tmpl_id=t.id and l.product_id=p.id and pu.id=t.uom_id group by t.name,p.default_code,pu.name,l.price_unit"""%(o.id)
self.cr.execute(sql2)
data = self.cr.dictfetchall()
for d in data:
@@ -58,7 +58,7 @@ class pos_user_product(report_sxw.rml_parse):
self.cr.execute(sql)
data = self.cr.fetchone()
return data[0]
def _get_total(self):
def _get_total(self,o):
return self.total
report_sxw.report_sxw('report.pos.user.product', 'account.bank.statement', 'addons/statement/report/pos_users_product.rml', parser=pos_user_product,header='internal')
@@ -1,8 +1,8 @@
<?xml version="1.0"?>
<document filename="test.pdf">
<template pageSize="(595.0,842.0)" title="User's Product" author="OpenERP S.A. (sales@openerp.com)" allowSplitting="20">
<template pageSize="(595.0,842.0)" title="User's Product'" author="OpenERP S.A. (sales@openerp.com)" allowSplitting="20">
<pageTemplate id="first">
<frame id="first" x1="57.0" y1="57.0" width="481" height="728"/>
<frame id="first" x1="36.0" y1="57.0" width="520" height="728"/>
</pageTemplate>
</template>
<stylesheet>
@@ -60,15 +60,8 @@
<blockTableStyle id="Table6">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="0,0" stop="0,-1"/>
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="0,0" stop="0,0"/>
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="0,-1" stop="0,-1"/>
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="1,0" stop="1,-1"/>
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="1,0" stop="1,0"/>
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="1,-1" stop="1,-1"/>
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="2,0" stop="2,-1"/>
<lineStyle kind="LINEAFTER" colorName="#cccccc" start="2,0" stop="2,-1"/>
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="2,0" stop="2,0"/>
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="2,-1" stop="2,-1"/>
</blockTableStyle>
<blockTableStyle id="Table5">
@@ -82,7 +75,6 @@
</initialize>
<paraStyle name="P1" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT"/>
<paraStyle name="P2" fontName="Helvetica-Bold" fontSize="14.0" leading="17" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="P3" fontName="Helvetica" fontSize="6.0" leading="8" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="Standard" fontName="Helvetica"/>
<paraStyle name="Heading" fontName="Helvetica" fontSize="14.0" leading="17" spaceBefore="12.0" spaceAfter="6.0"/>
<paraStyle name="Text body" fontName="Helvetica" spaceBefore="0.0" spaceAfter="6.0"/>
@@ -125,9 +117,6 @@
<para style="terp_default_8">
<font color="white"> </font>
</para>
<para style="terp_default_8">
<font color="white"> </font>
</para>
<para style="P2">User's Product</para>
<para style="terp_default_8">
<font color="white"> </font>
@@ -135,10 +124,7 @@
<para style="terp_default_8">
<font color="white"> </font>
</para>
<para style="terp_default_8">
<font color="white"> </font>
</para>
<blockTable colWidths="96.0,96.0,96.0,96.0,96.0" style="Table1">
<blockTable colWidths="104.0,104.0,104.0,104.0,104.0" style="Table1">
<tr>
<td>
<para style="terp_tblheader_General_Centre">User</para>
@@ -157,7 +143,7 @@
</td>
</tr>
</blockTable>
<blockTable colWidths="96.0,96.0,96.0,96.0,96.0" style="Table2">
<blockTable colWidths="104.0,104.0,104.0,104.0,104.0" style="Table2">
<tr>
<td>
<para style="terp_default_Centre_8">[[ get_user(objects) ]]</para>
@@ -172,14 +158,14 @@
<para style="terp_default_Centre_8">[[ formatLang(statement.date,date = True) ]]</para>
</td>
<td>
<para style="terp_default_Centre_8">[[ formatLang(statement.closing_date,date = True) ]]</para>
<para style="terp_default_Centre_8">[[ formatLang(statement.closing_date,date_time = True) ]]</para>
</td>
</tr>
</blockTable>
<para style="terp_default_8">
<font color="white"> </font>
</para>
<blockTable colWidths="161.0,161.0,161.0" style="Table3">
<blockTable colWidths="356.0,68.0,95.0" style="Table3">
<tr>
<td>
<para style="terp_tblheader_General">Product</para>
@@ -196,22 +182,22 @@
<para style="terp_default_1">[[ repeatIn(get_data(statement), 'line_ids') and ' ' or removeParentNode('blockTable') ]]</para>
<section>
<para style="terp_default_1">[[ repeatIn(get_data(statement), 'line_ids')]]</para>
<blockTable colWidths="161.0,161.0,161.0" style="Table6">
<blockTable colWidths="356.0,69.0,95.0" style="Table6">
<tr>
<td>
<para style="terp_default_9">[[ line_ids['name'] ]]</para>
<para style="terp_default_9">[ [[line_ids['code'] ]] ] [[ line_ids['name'] ]]</para>
</td>
<td>
<para style="terp_default_9">[[ formatLang(line_ids['qty']) ]]</para>
<para style="terp_default_Right_9">[[ formatLang(line_ids['qty']) ]] [[line_ids['uom'] ]]</para>
</td>
<td>
<para style="terp_default_Right_9_Bold">[[ formatLang(line_ids['amt']) ]] [[ company.currency_id.symbol ]]</para>
<para style="terp_default_Right_9">[[ formatLang(line_ids['amt']) ]] [[ company.currency_id.symbol ]]</para>
</td>
</tr>
</blockTable>
</section>
</section>
<blockTable colWidths="319.0,80.0,83.0" style="Table5">
<blockTable colWidths="357.0,69.0,94.0" style="Table5">
<tr>
<td>
<para style="P1">
@@ -222,7 +208,7 @@
<para style="terp_tblheader_General_Right">Total :</para>
</td>
<td>
<para style="terp_default_Right_9">[[ formatLang(get_total()) ]] [[ company.currency_id.symbol ]]</para>
<para style="terp_default_Right_9_Bold">[[ formatLang(get_total(statement)) ]] [[ company.currency_id.symbol ]]</para>
</td>
</tr>
</blockTable>
+10 -15
View File
@@ -19,9 +19,8 @@
#
##############################################################################
import netsvc
import pooler, tools
import pooler
import tools
from osv import fields, osv
class Env(dict):
@@ -139,7 +138,7 @@ class process_process(osv.osv):
if node.model_id and node.model_id.model == res_model:
try:
data['active'] = eval(node.model_states, expr_context)
except Exception, e:
except Exception:
pass
if not data['active']:
@@ -169,23 +168,19 @@ class process_process(osv.osv):
button['state'] = b.state
button['action'] = b.action
buttons.append(button)
data['roles'] = roles = []
data['groups'] = groups = []
for r in tr.transition_ids:
if r.role_id:
role = {}
role['name'] = r.role_id.name
roles.append(role)
for r in tr.role_ids:
role = {}
role['name'] = r.name
roles.append(role)
if r.group_id:
groups.append({'name': r.group_id.name})
for r in tr.group_ids:
groups.append({'name': r.name})
transitions[tr.id] = data
# now populate resource information
def update_relatives(nid, ref_id, ref_model):
relatives = []
for tid, tr in transitions.items():
for dummy, tr in transitions.items():
if tr['source'] == nid:
relatives.append(tr['target'])
if tr['target'] == nid:
@@ -349,7 +344,7 @@ class process_transition(osv.osv):
'target_node_id': fields.many2one('process.node', 'Target Node', required=True, ondelete='cascade'),
'action_ids': fields.one2many('process.transition.action', 'transition_id', 'Buttons'),
'transition_ids': fields.many2many('workflow.transition', 'process_transition_ids', 'ptr_id', 'wtr_id', 'Workflow Transitions'),
'role_ids': fields.many2many('res.roles', 'process_transition_roles_rel', 'tid', 'rid', 'Roles'),
'group_ids': fields.many2many('res.groups', 'process_transition_group_rel', 'tid', 'rid', string='Required Groups'),
'note': fields.text('Description', translate=True),
}
process_transition()
-2
View File
@@ -151,8 +151,6 @@
<field name="transition_id" ref="transition_confirm_quotation"/>
</record>
<!-- TODO: Transition roles (workflow transition ids) -->
</data>
</openerp>
+4 -1
View File
@@ -282,9 +282,12 @@
</form>
</field>
</page>
<page string="Roles from Workflow">
<page string="Workflow Transitions">
<field name="transition_ids" colspan="4" nolabel="1"/>
</page>
<page string="Associated Groups">
<field name="group_ids" colspan="4" nolabel="1"/>
</page>
<page string="Notes">
<field name="note" nolabel="1" colspan="4"/>
</page>
+75 -30
View File
@@ -8,13 +8,13 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2010-08-20 08:51+0000\n"
"PO-Revision-Date: 2010-09-29 11:36+0000\n"
"Last-Translator: ub121 <ubs121@gmail.com>\n"
"PO-Revision-Date: 2010-10-13 07:43+0000\n"
"Last-Translator: OpenERP Administrators <Unknown>\n"
"Language-Team: Mongolian <mn@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-09-30 04:44+0000\n"
"X-Launchpad-Export-Date: 2010-10-14 04:45+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: procurement
@@ -29,6 +29,9 @@ msgid ""
"under 0. You should probably not use this option, we suggest using a MTO "
"configuration on products."
msgstr ""
"Виртуал агуулах нь тэгтэй тэнцүү бүх бараанд автомат татан авалтыг "
"эхлүүлдэг. Та энэ сонголтыг ашиглахгүй байх нь дээр, бид танд барааны МТО "
"тохиргоог ашиглахыг зөвлөж байна."
#. module: procurement
#: view:stock.warehouse.orderpoint:0
@@ -92,7 +95,7 @@ msgstr "Шалтгаан"
#. module: procurement
#: view:procurement.order.compute:0
msgid "Compute Procurements"
msgstr ""
msgstr "Татан авалт тооцоолох"
#. module: procurement
#: field:procurement.order,message:0
@@ -102,7 +105,7 @@ msgstr "Сүүлийн алдаа"
#. module: procurement
#: help:mrp.property,composition:0
msgid "Not used in computations, for information purpose only."
msgstr ""
msgstr "Тооцоололд ашиглагдахгүй, зөвхөн мэдээллийн зорилгоор ашиглана."
#. module: procurement
#: field:stock.warehouse.orderpoint,procurement_id:0
@@ -117,7 +120,7 @@ msgstr "Тэмдэглэгээ"
#. module: procurement
#: help:procurement.order,message:0
msgid "Exception occurred while computing procurement orders."
msgstr ""
msgstr "Татан авалтын захиалгыг тооцоолж байх үед онцгой тохиолдол гардаг."
#. module: procurement
#: help:procurement.order,state:0
@@ -131,6 +134,13 @@ msgid ""
" It is in 'Waiting'. state when the procurement is waiting for another one "
"to finish."
msgstr ""
"Татан авалт үүсэхэд төлөв нь 'Draft'.\n"
"Татан авалт нь баталгаажсан бол төлөв нь 'Confirmed'.\n"
"Баталгаажсаны дараа төлөв нь 'Running'.\n"
"Хэрэв ямар нэгэн онцгой тохиолдол захиалгад үүсвэл төлөв нь 'Exception'.\n"
"Онцгой тохиолдол устхад төлөв нь 'Ready'.\n"
"Нэг татан авалт нь нөгөө татан авалтаа дуусахыг хүлээж байхад төлөв нь "
"'Waiting' байна."
#. module: procurement
#: view:stock.warehouse.orderpoint:0
@@ -143,16 +153,19 @@ msgid ""
"When the virtual stock goes belong the Min Quantity, OpenERP generates a "
"procurement to bring the virtual stock to the Max Quantity."
msgstr ""
"Виртуал агуулах нь хамгийн бага тоо хэмжээнд ойртож байвал, OpenERP нь "
"виртуал агуулахыг хамгийн их тоо хэмжээнд хүргэхийн тулд татан авалтыг "
"боловсруулдаг."
#. module: procurement
#: view:procurement.order.compute.all:0
msgid "Scheduler Parameters"
msgstr ""
msgstr "Төлөвлөгчийн үзүүлэлт"
#. module: procurement
#: model:ir.actions.act_window,name:procurement.procurement_action11
msgid "Temporary Procurement Exceptions"
msgstr ""
msgstr "Тухайн үеийн алдаатай татан авалт"
#. module: procurement
#: code:addons/procurement/procurement.py:0
@@ -168,7 +181,7 @@ msgstr "Бэлэн"
#. module: procurement
#: field:procurement.order.compute.all,automatic:0
msgid "Automatic orderpoint"
msgstr ""
msgstr "Автомат захиалгын цэг"
#. module: procurement
#: selection:procurement.order,state:0
@@ -197,16 +210,18 @@ msgid ""
"Reference of the document that created this Procurement.\n"
"This is automatically completed by OpenERP."
msgstr ""
"Татан авалтын үүсгэсэн баримтын дугаар. Үүнийг OpenERP автоматаар "
"гүйцэтгэдэг."
#. module: procurement
#: model:ir.model,name:procurement.model_stock_warehouse_orderpoint
msgid "Minimum Inventory Rule"
msgstr ""
msgstr "Хамгийн бага эрхтэй оролцогч"
#. module: procurement
#: model:ir.actions.act_window,name:procurement.procurement_action4
msgid "Procurement Exceptions to Fix"
msgstr ""
msgstr "Алдаатай татан авалтын төлөв"
#. module: procurement
#: field:procurement.order,priority:0
@@ -257,7 +272,7 @@ msgstr "Нийлүүлэлт"
#. module: procurement
#: field:res.company,schedule_range:0
msgid "Scheduler Range Days"
msgstr ""
msgstr "Төлөвлөгчийн өдрийн хязгаар"
#. module: procurement
#: view:make.procurement:0
@@ -318,6 +333,8 @@ msgid ""
"If you encode manually a Procurement, you probably want to use a make to "
"order method."
msgstr ""
"Татан авалтыг гараар кодлохоор бол, методуудыг цэгцлэхийн тулд загвар харах "
"болно."
#. module: procurement
#: view:res.company:0
@@ -330,6 +347,8 @@ msgid ""
"Wizard run all the procurements, and generate task, production order or "
"purchase order based on the product type"
msgstr ""
"Визард нь татан авалтыг ажиллуулдаг ба даалгавруудыг биелүүлдэг, барааны "
"захиалга эсвэл худалдан авалтын захиалга нь барааны төрлөөс хамаарна."
#. module: procurement
#: field:stock.warehouse.orderpoint,product_max_qty:0
@@ -366,7 +385,7 @@ msgstr "Алдаанууд"
#. module: procurement
#: model:process.node,note:procurement.process_node_serviceonorder0
msgid "Assignment from Production or Purchase Order."
msgstr ""
msgstr "Бараа болон худалдан авалтын захиалгаас хөрөнгө гаргах"
#. module: procurement
#: model:ir.model,name:procurement.model_mrp_property
@@ -422,6 +441,8 @@ msgid ""
"Please check the Quantity in Procurement Order(s), it should not be less "
"than 1!"
msgstr ""
"Татан авалтын захиалгын тоо хэмжээг шалгана уу, энэ нь нэгээс бага байх "
"ёсгүй!"
#. module: procurement
#: help:stock.warehouse.orderpoint,product_max_qty:0
@@ -429,11 +450,15 @@ msgid ""
"When the virtual stock goes belong the Max Quantity, OpenERP generates a "
"procurement to bring the virtual stock to the Max Quantity."
msgstr ""
"Виртуал агуулах нь хамгийн бага тоо хэмжээнд ойртож байвал, OpenERP нь "
"виртуал агуулахыг хамгийн их тоо хэмжээнд хүргэхийн тулд татан авалтыг "
"боловсруулдаг."
#. module: procurement
#: help:procurement.orderpoint.compute,automatic:0
msgid "If the stock of a product is under 0, it will act like an orderpoint"
msgstr ""
"Хэрэв агуулахын бараа 0-ээс доогуур байвал захиалгын цэг акталсан гэсэн үг."
#. module: procurement
#: view:procurement.order:0
@@ -477,6 +502,9 @@ msgid ""
"procurements. All procurements that are not between today and today+range "
"are skipped for futur computation."
msgstr ""
"Энэ бол Татан авалтыг тооцоолж байх үед төлөвлөгчийн дүгнэсэн боломжит "
"хугацаа юм. Өнөөдөр болон өнөөдрийн хязгаар хооронд багтаагүй татан авалт нь "
"дараагийн тооцоолол хүртэл орхигдоно."
#. module: procurement
#: selection:procurement.order,priority:0
@@ -486,7 +514,7 @@ msgstr "Ердийн"
#. module: procurement
#: view:procurement.order.compute:0
msgid "This wizard will schedule procurements."
msgstr ""
msgstr "Энэ визард нь татан авалтыг төлөвлөнө."
#. module: procurement
#: help:stock.warehouse.orderpoint,active:0
@@ -494,6 +522,8 @@ msgid ""
"If the active field is set to true, it will allow you to hide the orderpoint "
"without removing it."
msgstr ""
"Хэрэв идэвхтэй талбар нь үнэн болсон бол, захиалгын цэгийг устгалгүйгээр "
"нуух боломжийг олгоно."
#. module: procurement
#: code:addons/procurement/procurement.py:0
@@ -525,12 +555,12 @@ msgstr "Алдаа"
#. module: procurement
#: model:ir.model,name:procurement.model_procurement_orderpoint_compute
msgid "Automatic Order Point"
msgstr ""
msgstr "Автомат захиалгын цэг"
#. module: procurement
#: field:stock.warehouse.orderpoint,qty_multiple:0
msgid "Qty Multiple"
msgstr ""
msgstr "Хуваагдах тоо хэмжээ"
#. module: procurement
#: model:ir.model,name:procurement.model_res_company
@@ -556,12 +586,12 @@ msgstr "Идэвхитэй"
#: code:addons/procurement/procurement.py:0
#, python-format
msgid "Qty Multiple must be greater than zero."
msgstr ""
msgstr "Үржүүлсэн тоо хэмжээ 0-ээс илүү байх ёстой."
#. module: procurement
#: selection:stock.warehouse.orderpoint,logic:0
msgid "Order to Max"
msgstr ""
msgstr "Хамгийн их захиалга"
#. module: procurement
#: field:procurement.order,date_close:0
@@ -571,12 +601,12 @@ msgstr "Хаагдсан огноо"
#. module: procurement
#: view:procurement.order:0
msgid "Late"
msgstr ""
msgstr "Хожимдсон"
#. module: procurement
#: field:mrp.property,composition:0
msgid "Properties composition"
msgstr ""
msgstr "Бүрэлдэхүүн хэсгийн шинж чанар"
#. module: procurement
#: code:addons/procurement/procurement.py:0
@@ -589,7 +619,7 @@ msgstr "Өгөгдөл хангалтгүй !"
#: field:mrp.property,group_id:0
#: field:mrp.property.group,name:0
msgid "Property Group"
msgstr ""
msgstr "Группын шинж чанар"
#. module: procurement
#: view:stock.warehouse.orderpoint:0
@@ -604,7 +634,7 @@ msgstr "Байршлууд"
#. module: procurement
#: selection:procurement.order,procure_method:0
msgid "from stock"
msgstr ""
msgstr "Агуулахаас"
#. module: procurement
#: view:stock.warehouse.orderpoint:0
@@ -624,7 +654,7 @@ msgstr "Дууссан"
#. module: procurement
#: help:stock.warehouse.orderpoint,qty_multiple:0
msgid "The procurement quantity will by rounded up to this multiple."
msgstr ""
msgstr "Татан авалтын тоо хэмжээ нь дараа дараагийн талбарт тоймлогдоно."
#. module: procurement
#: view:make.procurement:0
@@ -654,12 +684,12 @@ msgstr "Яаралтай бус"
#. module: procurement
#: model:ir.model,name:procurement.model_procurement_order_compute_all
msgid "Compute all schedulers"
msgstr ""
msgstr "Төлөвлөгөө гаргагч бүгдийг тооцно"
#. module: procurement
#: view:procurement.order:0
msgid "Current"
msgstr ""
msgstr "Одоо"
#. module: procurement
#: code:addons/procurement/procurement.py:0
@@ -695,7 +725,7 @@ msgstr ""
#. module: procurement
#: view:procurement.order:0
msgid "Scheduled Date"
msgstr ""
msgstr "Төлөвлөгдсөн огноо"
#. module: procurement
#: field:make.procurement,product_id:0
@@ -749,7 +779,7 @@ msgstr "Хүлээж байна"
#. module: procurement
#: selection:procurement.order,procure_method:0
msgid "on order"
msgstr ""
msgstr "Захиалга"
#. module: procurement
#: field:procurement.order,move_id:0
@@ -767,6 +797,9 @@ msgid ""
"This wizard will plan the procurement for this product. This procurement may "
"generate task, production orders or purchase orders."
msgstr ""
"Энэ визард нь тухайн барааны татан авалтыг төлөвлөдөг. Энэ татан авалт нь "
"даалгаварууд, барааны захиалга эсвэл худалдан авалтын захиалгыг боловсруулах "
"боломжтой."
#. module: procurement
#: code:addons/procurement/procurement.py:0
@@ -794,19 +827,21 @@ msgstr "Барааны зарах нэгж"
#: code:addons/procurement/procurement.py:0
#, python-format
msgid "from stock: products assigned."
msgstr ""
msgstr "Агуулахаас: Оноосон бараанууд"
#. module: procurement
#: model:ir.actions.act_window,name:procurement.action_compute_schedulers
#: view:procurement.order.compute.all:0
msgid "Compute Schedulers"
msgstr ""
msgstr "Тооцоолол төлөвлөгч"
#. module: procurement
#: view:procurement.orderpoint.compute:0
msgid ""
"Wizard checks all the stock minimum rules and generate procurement order."
msgstr ""
"Визард нь агуулахын хамгийн бага дүрмийг шалгаад татан авалтын захиалгыг "
"биелүүлдэг."
#. module: procurement
#: field:procurement.order,product_uom:0
@@ -826,7 +861,7 @@ msgstr "Маш яаралтай"
#. module: procurement
#: field:procurement.orderpoint.compute,automatic:0
msgid "Automatic Orderpoint"
msgstr ""
msgstr "Автомат захиалгын цэг"
#. module: procurement
#: view:procurement.order:0
@@ -848,6 +883,16 @@ msgid ""
" if product_id:\n"
" w = self.pool.get('product.product"
msgstr ""
"Cannot delete Procurement Order(s) which are in %s State!' % s['state']))\n"
" return osv.osv.unlink(self, cr, uid, unlink_ids, context=context)\n"
"\n"
" def onchange_product_id(self, cr, uid, ids, product_id, context={}):\n"
" \"\"\" Finds UoM and UoS of changed product.\n"
" @param product_id: Changed id of product.\n"
" @return: Dictionary of values.\n"
" \"\"\"\n"
" if product_id:\n"
" w = self.pool.get('product.product"
#. module: procurement
#: constraint:ir.rule:0
+1 -1
View File
@@ -238,7 +238,7 @@
</record>
<act_window
context="{'search_default_warehouse_id': [active_id]}"
context="{'search_default_warehouse_id': active_id}"
id="act_stock_warehouse_2_stock_warehouse_orderpoint"
name="Minimum Stock Rules"
res_model="stock.warehouse.orderpoint"
+3 -3
View File
@@ -188,14 +188,14 @@
<field name="act_from" ref="act_make_done"/>
<field name="act_to" ref="act_done"/>
<field name="condition">action_check_finished()</field>
<field name="trigger_model">stock.move</field>
<field name="trigger_expr_id">[move_id.id]</field>
<field name="trigger_model">stock.move</field>
<field name="trigger_expr_id">move_id and [move_id.id] or []</field>
</record>
<record id="trans_make_done_confirm" model="workflow.transition">
<field name="act_from" ref="act_make_done"/>
<field name="act_to" ref="act_cancel"/>
<field name="condition">check_move_cancel()</field>
</record>
</data>
</openerp>
+86 -84
View File
@@ -24,9 +24,9 @@ from mx import DateTime
from osv import osv
from tools.translate import _
import tools
import netsvc
import pooler
from tools.translate import _
class procurement_order(osv.osv):
_inherit = 'procurement.order'
@@ -46,94 +46,96 @@ class procurement_order(osv.osv):
if not context:
context = {}
if use_new_cursor:
cr = pooler.get_db(use_new_cursor).cursor()
wf_service = netsvc.LocalService("workflow")
procurement_obj = self.pool.get('procurement.order')
if not ids:
ids = procurement_obj.search(cr, uid, [], order="date_planned")
for id in ids:
wf_service.trg_validate(uid, 'procurement.order', id, 'button_restart', cr)
if use_new_cursor:
cr.commit()
company = self.pool.get('res.users').browse(cr, uid, uid, context=context).company_id
maxdate = DateTime.now() + DateTime.RelativeDateTime(days=company.schedule_range)
start_date = time.strftime('%Y-%m-%d, %Hh %Mm %Ss')
offset = 0
report = []
report_total = 0
report_except = 0
report_later = 0
allids = self.search(cr, uid, [])
while True:
cr.execute('select id from procurement_order where state=%s and procure_method=%s order by priority,date_planned limit 500 offset %s', ('confirmed', 'make_to_order', offset))
ids = map(lambda x: x[0], cr.fetchall())
for proc in procurement_obj.browse(cr, uid, ids):
if (maxdate.strftime('%Y-%m-%d') >= proc.date_planned):
wf_service.trg_validate(uid, 'procurement.order', proc.id, 'button_check', cr)
else:
offset += 1
report_later += 1
for proc in procurement_obj.browse(cr, uid, ids):
if proc.state == 'exception':
report.append('PROC %d: on order - %3.2f %-5s - %s' % \
(proc.id, proc.product_qty, proc.product_uom.name,
proc.product_id.name))
report_except += 1
report_total += 1
try:
if use_new_cursor:
cr.commit()
cr = pooler.get_db(use_new_cursor).cursor()
wf_service = netsvc.LocalService("workflow")
procurement_obj = self.pool.get('procurement.order')
if not ids:
break
offset = 0
ids = []
while True:
report_ids = []
ids = procurement_obj.search(cr, uid, [('state', '=', 'confirmed'), ('procure_method', '=', 'make_to_stock')], offset=offset)
for proc in procurement_obj.browse(cr, uid, ids):
if ((maxdate).strftime('%Y-%m-%d') >= proc.date_planned) :
wf_service.trg_validate(uid, 'procurement.order', proc.id, 'button_check', cr)
report_ids.append(proc.id)
else:
report_later += 1
report_total += 1
for proc in procurement_obj.browse(cr, uid, report_ids):
if proc.state == 'exception':
report.append('PROC %d: from stock - %3.2f %-5s - %s' % \
(proc.id, proc.product_qty, proc.product_uom.name,
proc.product_id.name,))
report_except += 1
ids = procurement_obj.search(cr, uid, [], order="date_planned")
for id in ids:
wf_service.trg_validate(uid, 'procurement.order', id, 'button_restart', cr)
if use_new_cursor:
cr.commit()
offset += len(ids)
if not ids: break
end_date = time.strftime('%Y-%m-%d, %Hh %Mm %Ss')
if uid:
request = self.pool.get('res.request')
summary = '''Here is the procurement scheduling report.
company = self.pool.get('res.users').browse(cr, uid, uid, context=context).company_id
maxdate = (DateTime.now() + DateTime.RelativeDateTime(days=company.schedule_range)).strftime(tools.DEFAULT_SERVER_DATE_FORMAT)
start_date = time.strftime('%Y-%m-%d, %Hh %Mm %Ss')
offset = 0
report = []
report_total = 0
report_except = 0
report_later = 0
while True:
cr.execute("select id from procurement_order where state='confirmed' and procure_method='make_to_order' order by priority,date_planned limit 500 offset %s", (offset,))
ids = map(lambda x: x[0], cr.fetchall())
for proc in procurement_obj.browse(cr, uid, ids):
if maxdate >= proc.date_planned:
wf_service.trg_validate(uid, 'procurement.order', proc.id, 'button_check', cr)
else:
offset += 1
report_later += 1
for proc in procurement_obj.browse(cr, uid, ids):
if proc.state == 'exception':
report.append('PROC %d: on order - %3.2f %-5s - %s' % \
(proc.id, proc.product_qty, proc.product_uom.name,
proc.product_id.name))
report_except += 1
report_total += 1
if use_new_cursor:
cr.commit()
if not ids:
break
offset = 0
ids = []
while True:
report_ids = []
ids = procurement_obj.search(cr, uid, [('state', '=', 'confirmed'), ('procure_method', '=', 'make_to_stock')], offset=offset)
for proc in procurement_obj.browse(cr, uid, ids):
if maxdate >= proc.date_planned:
wf_service.trg_validate(uid, 'procurement.order', proc.id, 'button_check', cr)
report_ids.append(proc.id)
else:
report_later += 1
report_total += 1
for proc in procurement_obj.browse(cr, uid, report_ids):
if proc.state == 'exception':
report.append('PROC %d: from stock - %3.2f %-5s - %s' % \
(proc.id, proc.product_qty, proc.product_uom.name,
proc.product_id.name,))
report_except += 1
if use_new_cursor:
cr.commit()
offset += len(ids)
if not ids: break
end_date = time.strftime('%Y-%m-%d, %Hh %Mm %Ss')
if uid:
request = self.pool.get('res.request')
summary = '''Here is the procurement scheduling report.
Start Time: %s
End Time: %s
Total Procurements processed: %d
Procurements with exceptions: %d
Skipped Procurements (scheduled date outside of scheduler range) %d
Exceptions:\n'''% (start_date, end_date, report_total, report_except, report_later)
summary += '\n'.join(report)
request.create(cr, uid,
{'name': "Procurement Processing Report.",
'act_from': uid,
'act_to': uid,
'body': summary,
})
Computation Started; %s
Computation Finished; %s
Total procurement: %d
Exception procurement: %d
Not run now procurement: %d
Exceptions;
'''% (start_date, end_date, report_total, report_except, report_later)
summary += '\n'.join(report)
request.create(cr, uid,
{'name': "Procurement calculation report.",
'act_from': uid,
'act_to': uid,
'body': summary,
})
if use_new_cursor:
cr.commit()
cr.close()
if use_new_cursor:
cr.commit()
finally:
if use_new_cursor:
try:
cr.close()
except Exception:
pass
return {}
def create_automatic_op(self, cr, uid, context=None):
+6 -1
View File
@@ -24,7 +24,7 @@ import decimal_precision as dp
import math
from _common import rounding
import re
from tools.translate import _
def is_pair(x):
@@ -502,6 +502,11 @@ class product_product(osv.osv):
if not len(ids):
ids = self.search(cr, user, [('default_code',operator,name)]+ args, limit=limit, context=context)
ids += self.search(cr, user, [('name',operator,name)]+ args, limit=limit, context=context)
if not len(ids):
ptrn=re.compile('(\[(.*?)\])')
res = ptrn.search(str(name))
if res:
ids = self.search(cr, user, [('default_code','ilike',res.group(2))]+ args, limit=limit, context=context)
else:
ids = self.search(cr, user, args, limit=limit, context=context)
result = self.name_get(cr, user, ids, context)
+1 -1
View File
@@ -13,7 +13,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-10-12 04:51+0000\n"
"X-Launchpad-Export-Date: 2010-10-13 04:58+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: purchase
+8 -14
View File
@@ -149,7 +149,7 @@
<td>
<para style="terp_default_9">[[ repeatIn(o.dest_address_id and [o.dest_address_id] or [],'addr') ]]</para>
<para style="terp_default_Bold_9">Shipping address :</para>
<para style="terp_default_9">[[ addr.partner_id.title or '' ]] [[ addr.partner_id.name ]]</para>
<para style="terp_default_9">[[ addr.partner_id.title.name or '' ]] [[ addr.partner_id.name ]]</para>
<para style="terp_default_9">[[ addr.street ]]</para>
<para style="terp_default_9">[[ addr.street2 or removeParentNode('para') ]]</para>
<para style="terp_default_9">[[ addr.zip or '' ]] [[ addr.city or '' ]]</para>
@@ -168,7 +168,7 @@
</para>
</td>
<td>
<para style="terp_default_9">[[ o.partner_id.title or '' ]] [[ o.partner_id.name ]]</para>
<para style="terp_default_9">[[ o.partner_id.title.name or '' ]] [[ o.partner_id.name ]]</para>
<para style="terp_default_9">[[ o.partner_address_id.street ]]</para>
<para style="terp_default_9">[[ o.partner_address_id.street2 or removeParentNode('para') ]]</para>
<para style="terp_default_9">[[ o.partner_address_id.zip or '' ]] [[ o.partner_address_id.city or '' ]]</para>
@@ -186,12 +186,6 @@
<para style="terp_default_9">
<font color="white"> </font>
</para>
<para style="terp_default_9">
<font color="white"> </font>
</para>
<para style="terp_default_9">
<font color="white"> </font>
</para>
<para style="terp_header">[[ o.state=='draft' and removeParentNode('para') ]] Purchase Order Confirmation N° [[ o.name ]]</para>
<para style="terp_header">[[ o.state&lt;&gt;'draft' and removeParentNode('para') ]] Request for Quotation N° [[ o.name ]]</para>
<para style="terp_default_8">
@@ -250,7 +244,7 @@
<para style="terp_tblheader_Details_Right">Unit Price</para>
</td>
<td>
<para style="terp_tblheader_Details_Centre">Net Price([[ o.pricelist_id.currency_id.code ]])</para>
<para style="terp_tblheader_Details_Right">Net Price</para>
</td>
</tr>
</blockTable>
@@ -271,10 +265,10 @@
<para style="terp_default_Right_9">[[ formatLang(line.product_qty ) ]] [[ line.product_uom.name ]] </para>
</td>
<td>
<para style="terp_default_Right_9">[[ formatLang(line.price_unit ) ]]</para>
<para style="Standard">[[ formatLang(line.price_unit, digits=get_digits(dp='Purchase Price') ) ]]</para>
</td>
<td>
<para style="terp_default_Right_9">[[ formatLang(line.price_subtotal ) ]] [[ o.pricelist_id.currency_id.symbol ]]</para>
<para style="terp_default_Right_9">[[ formatLang(line.price_subtotal, digits=get_digits(dp='Purchase Price') ) ]] [[ o.pricelist_id.currency_id.symbol ]]</para>
</td>
</tr>
<tr>
@@ -320,7 +314,7 @@
<para style="terp_default_9">Net Total :</para>
</td>
<td>
<para style="terp_default_Right_9">[[ formatLang(o.amount_untaxed ) ]] [[ o.pricelist_id.currency_id. symbol ]]</para>
<para style="terp_default_Right_9">[[ formatLang(o.amount_untaxed, digits=get_digits(dp='Purchase Price') ) ]] [[ o.pricelist_id.currency_id. symbol ]]</para>
</td>
</tr>
<tr>
@@ -346,7 +340,7 @@
<para style="terp_default_Bold_9">Total :</para>
</td>
<td>
<para style="terp_default_Bold_9_Right">[[ formatLang(o.amount_total ) ]] [[ o.pricelist_id.currency_id. symbol ]]</para>
<para style="terp_default_Bold_9_Right">[[ formatLang(o.amount_total, digits=get_digits(dp='Purchase Price') ) ]] [[ o.pricelist_id.currency_id. symbol ]]</para>
</td>
</tr>
</blockTable>
@@ -364,4 +358,4 @@
<font color="white"> </font>
</para>
</story>
</document>
</document>
+2 -2
View File
@@ -88,7 +88,7 @@
</para>
</td>
<td>
<para style="terp_default_9">[[ (order.partner_id and order.partner_id.title) or '' ]] [[ order.partner_id.name ]]</para>
<para style="terp_default_9">[[ (order.partner_id and order.partner_id.title.name) or '' ]] [[ order.partner_id.name ]]</para>
<para style="terp_default_9">[[ (order.partner_address_id and order.partner_address_id.street) or '']]</para>
<para style="terp_default_9">[[ (order.partner_address_id.street2) or removeParentNode('para') ]]</para>
<para style="terp_default_9">[[ (order.partner_address_id and order.partner_address_id.zip) or '' ]][[ (order.partner_address_id and order.partner_address_id.city) or '' ]]</para>
@@ -125,7 +125,7 @@
</blockTable>
<section>
<para style="terp_default_9">[[repeatIn(order.order_line,'order_line')]]</para>
<blockTable colWidths="370.0,100.0,39.0,20.0" style="Table_Product_Line">
<blockTable colWidths="371.0,100.0,39.0,20.0" style="Table_Product_Line">
<tr>
<td>
<para style="terp_default_9">[[ order_line.name ]]</para>
+20 -27
View File
@@ -28,9 +28,6 @@ class stock_move(osv.osv):
'Purchase Order Line', ondelete='set null', select=True,
readonly=True),
}
_defaults = {
'purchase_line_id': False
}
def _get_reference_accounting_values_for_valuation(self, cr, uid, move, context=None):
"""
@@ -73,47 +70,39 @@ class stock_picking(osv.osv):
return picking.note + '\n' + picking.purchase_id.notes
else:
return picking.purchase_id.notes
return super(stock_picking, self)._get_comment_invoice(cursor, user,
picking)
return super(stock_picking, self)._get_comment_invoice(cursor, user, picking)
def _get_price_unit_invoice(self, cursor, user, move_line, type):
if move_line.purchase_line_id:
return move_line.purchase_line_id.price_unit
return super(stock_picking, self)._get_price_unit_invoice(cursor,
user, move_line, type)
return super(stock_picking, self)._get_price_unit_invoice(cursor, user, move_line, type)
def _get_discount_invoice(self, cursor, user, move_line):
if move_line.purchase_line_id:
return 0.0
return super(stock_picking, self)._get_discount_invoice(cursor, user,
move_line)
return super(stock_picking, self)._get_discount_invoice(cursor, user, move_line)
def _get_taxes_invoice(self, cursor, user, move_line, type):
if move_line.purchase_line_id:
return [x.id for x in move_line.purchase_line_id.taxes_id]
return super(stock_picking, self)._get_taxes_invoice(cursor, user,
move_line, type)
return super(stock_picking, self)._get_taxes_invoice(cursor, user, move_line, type)
def _get_account_analytic_invoice(self, cursor, user, picking, move_line):
if move_line.purchase_line_id:
return move_line.purchase_line_id.account_analytic_id.id
return super(stock_picking, self)._get_account_analytic_invoice(cursor,
user, picking, move_line)
return super(stock_picking, self)._get_account_analytic_invoice(cursor, user, picking, move_line)
def _invoice_line_hook(self, cursor, user, move_line, invoice_line_id):
if move_line.purchase_line_id:
invoice_line_obj = self.pool.get('account.invoice.line')
invoice_line_obj.write(cursor, user, [invoice_line_id], {'note': move_line.purchase_line_id.notes,})
return super(stock_picking, self)._invoice_line_hook(cursor, user,
move_line, invoice_line_id)
invoice_line_obj.write(cursor, user, [invoice_line_id], {'note': move_line.purchase_line_id.notes,})
return super(stock_picking, self)._invoice_line_hook(cursor, user, move_line, invoice_line_id)
def _invoice_hook(self, cursor, user, picking, invoice_id):
purchase_obj = self.pool.get('purchase.order')
if picking.purchase_id:
purchase_obj.write(cursor, user, [picking.purchase_id.id], {'invoice_id': invoice_id,
})
return super(stock_picking, self)._invoice_hook(cursor, user,
picking, invoice_id)
purchase_obj.write(cursor, user, [picking.purchase_id.id], {'invoice_id': invoice_id,})
return super(stock_picking, self)._invoice_hook(cursor, user, picking, invoice_id)
stock_picking()
@@ -132,11 +121,13 @@ class stock_partial_picking(osv.osv_memory):
pick_obj = self.pool.get('stock.picking')
res = super(stock_partial_picking, self).default_get(cr, uid, fields, context=context)
for pick in pick_obj.browse(cr, uid, context.get('active_ids', [])):
has_product_cost = (pick.type == 'in' and pick.purchase_id)
for m in pick.move_lines:
if (m.product_id.cost_method == 'average'):
if pick.type == 'in' and pick.purchase_id and m.purchase_line_id:
res['move%s_product_price'%(m.id)] = m.purchase_line_id.price_unit
res['move%s_product_currency'%(m.id)] = pick.purchase_id.pricelist_id.currency_id.id
if has_product_cost and m.product_id.cost_method == 'average' and m.purchase_line_id:
# We use the original PO unit purchase price as the basis for the cost, expressed
# in the currency of the PO (i.e the PO's pricelist currency)
res['move%s_product_price'%(m.id)] = m.purchase_line_id.price_unit
res['move%s_product_currency'%(m.id)] = pick.purchase_id.pricelist_id.currency_id.id
return res
stock_partial_picking()
@@ -154,10 +145,12 @@ class stock_partial_move(osv.osv_memory):
res = super(stock_partial_move, self).default_get(cr, uid, fields, context=context)
move_obj = self.pool.get('stock.move')
for m in move_obj.browse(cr, uid, context.get('active_ids', [])):
if (m.product_id.cost_method == 'average'):
if m.picking_id.type == 'in' and m.purchase_line_id and m.picking_id.purchase_id:
if m.picking_id.type == 'in' and m.product_id.cost_method == 'average' \
and m.purchase_line_id and m.picking_id.purchase_id:
# We use the original PO unit purchase price as the basis for the cost, expressed
# in the currency of the PO (i.e the PO's pricelist currency)
res['move%s_product_price'%(m.id)] = m.purchase_line_id.price_unit
res['move%s_product_currency'%(m.id)] = m.picking_id.purchase_id.pricelist_id.currency_id.id
res['move%s_product_currency'%(m.id)] = m.picking_id.purchase_id.pricelist_id.currency_id.id
return res
stock_partial_move()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+25 -25
View File
@@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2009-11-17 10:23+0000\n"
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
"PO-Revision-Date: 2010-10-13 07:43+0000\n"
"Last-Translator: OpenERP Administrators <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-09-29 05:04+0000\n"
"X-Launchpad-Export-Date: 2010-10-14 04:45+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: report_intrastat
@@ -27,7 +27,7 @@ msgstr ""
#. module: report_intrastat
#: rml:account.invoice.intrastat:0
msgid "Canceled Invoice"
msgstr ""
msgstr "Fattura Cancellata"
#. module: report_intrastat
#: rml:account.invoice.intrastat:0
@@ -43,7 +43,7 @@ msgstr "Intrastat (questo mese)"
#. module: report_intrastat
#: rml:account.invoice.intrastat:0
msgid "Supplier Invoice"
msgstr ""
msgstr "Fattura Fornitore"
#. module: report_intrastat
#: rml:account.invoice.intrastat:0
@@ -58,7 +58,7 @@ msgstr ""
#. module: report_intrastat
#: field:report.intrastat,name:0
msgid "Period"
msgstr ""
msgstr "Periodo"
#. module: report_intrastat
#: model:ir.ui.menu,name:report_intrastat.next_id_90
@@ -73,22 +73,22 @@ msgstr "Importa"
#. module: report_intrastat
#: rml:account.invoice.intrastat:0
msgid "VAT :"
msgstr ""
msgstr "IVA"
#. module: report_intrastat
#: rml:account.invoice.intrastat:0
msgid "Document"
msgstr ""
msgstr "Documento"
#. module: report_intrastat
#: rml:account.invoice.intrastat:0
msgid "PRO-FORMA"
msgstr ""
msgstr "PRO-FORMA"
#. module: report_intrastat
#: rml:account.invoice.intrastat:0
msgid "Taxes:"
msgstr ""
msgstr "Tasse:"
#. module: report_intrastat
#: rml:account.invoice.intrastat:0
@@ -109,7 +109,7 @@ msgstr ""
#. module: report_intrastat
#: rml:account.invoice.intrastat:0
msgid "Invoice Date"
msgstr ""
msgstr "Data della fattura"
#. module: report_intrastat
#: model:ir.module.module,shortdesc:report_intrastat.module_meta_information
@@ -119,17 +119,17 @@ msgstr ""
#. module: report_intrastat
#: rml:account.invoice.intrastat:0
msgid "Tel. :"
msgstr ""
msgstr "Tel. :"
#. module: report_intrastat
#: rml:account.invoice.intrastat:0
msgid "Base"
msgstr ""
msgstr "Base"
#. module: report_intrastat
#: rml:account.invoice.intrastat:0
msgid "Quantity"
msgstr ""
msgstr "Quantità"
#. module: report_intrastat
#: model:ir.ui.menu,name:report_intrastat.next_id_89
@@ -144,12 +144,12 @@ msgstr ""
#. module: report_intrastat
#: rml:account.invoice.intrastat:0
msgid "Total (inclu. taxes):"
msgstr ""
msgstr "Totale (tasse incluse)"
#. module: report_intrastat
#: rml:account.invoice.intrastat:0
msgid "Refund"
msgstr ""
msgstr "Rimborso"
#. module: report_intrastat
#: constraint:ir.ui.view:0
@@ -164,17 +164,17 @@ msgstr "Report Intrastat"
#. module: report_intrastat
#: rml:account.invoice.intrastat:0
msgid "Invoice"
msgstr ""
msgstr "Fattura"
#. module: report_intrastat
#: rml:account.invoice.intrastat:0
msgid "Taxes"
msgstr ""
msgstr "Tasse"
#. module: report_intrastat
#: rml:account.invoice.intrastat:0
msgid "Amount"
msgstr ""
msgstr "Importo"
#. module: report_intrastat
#: view:report.intrastat:0
@@ -214,7 +214,7 @@ msgstr "Codice Intrastat"
#. module: report_intrastat
#: field:report.intrastat,ref:0
msgid "Origin"
msgstr ""
msgstr "Origine"
#. module: report_intrastat
#: rml:account.invoice.intrastat:0
@@ -230,7 +230,7 @@ msgstr "Membro Intrastat"
#. module: report_intrastat
#: rml:account.invoice.intrastat:0
msgid "Tax"
msgstr ""
msgstr "Tassa"
#. module: report_intrastat
#: field:report.intrastat,code:0
@@ -250,22 +250,22 @@ msgstr "Esporta"
#. module: report_intrastat
#: rml:account.invoice.intrastat:0
msgid "Fax :"
msgstr ""
msgstr "Fax :"
#. module: report_intrastat
#: rml:account.invoice.intrastat:0
msgid "Supplier Refund"
msgstr ""
msgstr "Rimborso Fornitore"
#. module: report_intrastat
#: rml:account.invoice.intrastat:0
msgid "Total (excl. taxes):"
msgstr ""
msgstr "Totale (tasse escluse)"
#. module: report_intrastat
#: rml:account.invoice.intrastat:0
msgid "Price"
msgstr ""
msgstr "Prezzo"
#. module: report_intrastat
#: model:ir.actions.act_window,name:report_intrastat.action_report_intrastat_code_tree
+1 -1
View File
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-10-12 04:51+0000\n"
"X-Launchpad-Export-Date: 2010-10-13 04:59+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: resource
+3 -3
View File
@@ -8,13 +8,13 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2010-08-18 06:50+0000\n"
"PO-Revision-Date: 2010-10-11 12:36+0000\n"
"Last-Translator: Douwe Wullink (Dypalio) <Unknown>\n"
"PO-Revision-Date: 2010-10-12 07:44+0000\n"
"Last-Translator: OpenERP Administrators <Unknown>\n"
"Language-Team: Dutch <nl@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-10-12 04:51+0000\n"
"X-Launchpad-Export-Date: 2010-10-13 04:59+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: resource
-4
View File
@@ -133,10 +133,6 @@
Process Transition
-->
<record id="res_roles_salesman0" model="res.roles">
<field eval="&quot;&quot;&quot;Salesman&quot;&quot;&quot;" name="name"/>
</record>
<record id="process_transition_confirmquotation0" model="process.transition">
<field eval="[(6,0,[])]" name="transition_ids"/>
<field eval="&quot;&quot;&quot;Confirm Quotation&quot;&quot;&quot;" name="name"/>
+11 -11
View File
@@ -132,7 +132,7 @@
<tr>
<td>
<para style="terp_default_Bold_9">Shipping address :</para>
<para style="terp_default_9">[[ o.partner_id.title or '' ]] [[ o.partner_id.name ]]</para>
<para style="terp_default_9">[[ o.partner_id.title.name or '' ]] [[ o.partner_id.name ]]</para>
<para style="terp_default_9">[[ o.partner_shipping_id.street ]]</para>
<para style="terp_default_9">[[ o.partner_shipping_id.street2 or removeParentNode('para') ]]</para>
<para style="terp_default_9">[[ o.partner_shipping_id.zip or '' ]] [[ o.partner_shipping_id.city or '' ]]</para>
@@ -142,7 +142,7 @@
<font color="white"> </font>
</para>
<para style="terp_default_Bold_9">Invoice address :</para>
<para style="terp_default_9">[[ o.partner_invoice_id.title or '' ]] [[ o.partner_invoice_id.name or '' ]]</para>
<para style="terp_default_9">[[ o.partner_invoice_id.title.name or '' ]] [[ o.partner_invoice_id.name or '' ]]</para>
<para style="terp_default_9">[[ o.partner_invoice_id.street ]] </para>
<para style="terp_default_9">[[ (o.partner_invoice_id.street2 and (', %s' % o.partner_invoice_id.street2)) or removeParentNode('para') ]]</para>
<para style="terp_default_9">[[ o.partner_invoice_id.zip or '' ]] [[ o.partner_invoice_id.city or '' ]]</para>
@@ -155,7 +155,7 @@
</para>
</td>
<td>
<para style="terp_default_9">[[ o.partner_id.title or '' ]] [[ o.partner_id.name ]]</para>
<para style="terp_default_9">[[ o.partner_id.title.name or '' ]] [[ o.partner_id.name ]]</para>
<para style="terp_default_9">[[ o.partner_order_id.street ]]</para>
<para style="terp_default_9">[[ o.partner_order_id.street2 or removeParentNode('para') ]]</para>
<para style="terp_default_9">[[ o.partner_order_id.zip or '' ]] [[ o.partner_order_id.city or '' ]]</para>
@@ -234,7 +234,7 @@
<para style="terp_tblheader_Details_Right">Disc.(%)</para>
</td>
<td>
<para style="terp_tblheader_Details_Right">Price([[ o.pricelist_id.currency_id.code ]])</para>
<para style="terp_tblheader_Details_Right">Price</para>
</td>
</tr>
</blockTable>
@@ -243,7 +243,7 @@
<blockTable colWidths="203.0,94.0,47.0,22.0,59.0,42.0,70.0" style="Table5">
<tr>
<td>
<para style="terp_default_9">[[ line.name ]]</para>
<para style="terp_default_9">[[ line.name ]] </para>
</td>
<td>
<para style="terp_default_Centre_9">[[ ', '.join(map(lambda x: x.name, line.tax_id)) ]]</para>
@@ -258,10 +258,10 @@
<para style="terp_default_Right_9">[[ formatLang(line.price_unit ) ]]</para>
</td>
<td>
<para style="terp_default_Right_9">[[ formatLang(line.discount) ]]</para>
<para style="terp_default_Right_9">[[ formatLang(line.discount, digits=get_digits(dp='Sale Price')) ]]</para>
</td>
<td>
<para style="terp_default_Right_9">[[ formatLang(line.price_subtotal ) ]] [[ o.pricelist_id.currency_id.symbol ]]</para>
<para style="terp_default_Right_9">[[ formatLang(line.price_subtotal, digits=get_digits(dp='Sale Price')) ]] [[ o.pricelist_id.currency_id.symbol ]]</para>
</td>
</tr>
<tr>
@@ -312,7 +312,7 @@
<para style="terp_default_9">Net Total :</para>
</td>
<td>
<para style="terp_default_Right_9">[[ formatLang(o.amount_untaxed, digits=get_digits(dp='Account')) ]] [[ o.pricelist_id.currency_id. symbol ]]</para>
<para style="terp_default_Right_9">[[ formatLang(o.amount_untaxed , digits=get_digits(dp='Sale Price')) ]] [[ o.pricelist_id.currency_id. symbol ]]</para>
</td>
</tr>
<tr>
@@ -325,7 +325,7 @@
<para style="terp_default_9">Taxes :</para>
</td>
<td>
<para style="terp_default_Right_9">[[ formatLang(o.amount_tax, digits=get_digits(dp='Account')) ]] [[ o.pricelist_id.currency_id. symbol ]]</para>
<para style="terp_default_Right_9">[[ formatLang(o.amount_tax , digits=get_digits(dp='Sale Price')) ]] [[ o.pricelist_id.currency_id. symbol ]]</para>
</td>
</tr>
<tr>
@@ -338,7 +338,7 @@
<para style="terp_default_Bold_9">Total :</para>
</td>
<td>
<para style="terp_default_Right_9_Bold">[[ formatLang(o.amount_total, digits=get_digits(dp='Account')) ]] [[ o.pricelist_id.currency_id. symbol ]] </para>
<para style="terp_default_Right_9_Bold">[[ formatLang(o.amount_total , digits=get_digits(dp='Sale Price')) ]] [[ o.pricelist_id.currency_id. symbol ]] </para>
</td>
</tr>
</blockTable>
@@ -361,4 +361,4 @@
<font color="white"> </font>
</para>
</story>
</document>
</document>
+16 -83
View File
@@ -26,28 +26,12 @@ class stock_move(osv.osv):
_columns = {
'sale_line_id': fields.many2one('sale.order.line', 'Sale Order Line', ondelete='set null', select=True, readonly=True),
}
_defaults = {
'sale_line_id': False
}
def _get_reference_accounting_values_for_valuation(self, cr, uid, move, context=None):
"""
Overrides the default stock valuation to take into account the currency that was specified
on the sale order in case the valuation data was not directly specified during picking
confirmation.
"""
reference_amount, reference_currency_id = super(stock_move, self)._get_reference_accounting_values_for_valuation(cr, uid, move, context=context)
if move.product_id.cost_method != 'average' or not move.price_unit:
# no average price costing or cost not specified during picking validation, we will
# plug the sale line values if they are found.
if move.sale_line_id and move.picking_id.sale_id.pricelist_id:
reference_amount, reference_currency_id = move.sale_line_id.price_unit, move.picking_id.sale_id.pricelist_id.currency_id.id
return reference_amount, reference_currency_id
def _create_chained_picking(self, cr, uid, pick_name,picking,ptype,move, context=None):
res=super(stock_move, self)._create_chained_picking(cr, uid, pick_name,picking,ptype,move, context=context)
if picking.sale_id:
picking_obj = self.pool.get('stock.picking').write(cr,uid,[res],{'sale_id':picking.sale_id.id})
return res
self.pool.get('stock.picking').write(cr,uid,[res],{'sale_id':picking.sale_id.id})
return res
stock_move()
class stock_picking(osv.osv):
@@ -66,11 +50,9 @@ class stock_picking(osv.osv):
return super(stock_picking, self).get_currency_id(cursor, user, picking)
def _get_payment_term(self, cursor, user, picking):
res = {}
if picking.sale_id and picking.sale_id.payment_term:
return picking.sale_id.payment_term.id
return super(stock_picking, self)._get_payment_term(cursor,
user, picking)
return super(stock_picking, self)._get_payment_term(cursor, user, picking)
def _get_address_invoice(self, cursor, user, picking):
res = {}
@@ -78,47 +60,42 @@ class stock_picking(osv.osv):
res['contact'] = picking.sale_id.partner_order_id.id
res['invoice'] = picking.sale_id.partner_invoice_id.id
return res
return super(stock_picking, self)._get_address_invoice(cursor,
user, picking)
return super(stock_picking, self)._get_address_invoice(cursor, user, picking)
def _get_comment_invoice(self, cursor, user, picking):
if picking.note or (picking.sale_id and picking.sale_id.note):
return picking.note or picking.sale_id.note
return super(stock_picking, self)._get_comment_invoice(cursor, user,
picking)
return super(stock_picking, self)._get_comment_invoice(cursor, user, picking)
def _get_price_unit_invoice(self, cursor, user, move_line, type):
if move_line.sale_line_id and move_line.sale_line_id.product_id.id == move_line.product_id.id:
return move_line.sale_line_id.price_unit
return super(stock_picking, self)._get_price_unit_invoice(cursor,
user, move_line, type)
return super(stock_picking, self)._get_price_unit_invoice(cursor, user, move_line, type)
def _get_discount_invoice(self, cursor, user, move_line):
if move_line.sale_line_id:
return move_line.sale_line_id.discount
return super(stock_picking, self)._get_discount_invoice(cursor, user,
move_line)
return super(stock_picking, self)._get_discount_invoice(cursor, user, move_line)
def _get_taxes_invoice(self, cursor, user, move_line, type):
if move_line.sale_line_id and move_line.sale_line_id.product_id.id == move_line.product_id.id:
return [x.id for x in move_line.sale_line_id.tax_id]
return super(stock_picking, self)._get_taxes_invoice(cursor, user,
move_line, type)
return super(stock_picking, self)._get_taxes_invoice(cursor, user, move_line, type)
def _get_account_analytic_invoice(self, cursor, user, picking, move_line):
if picking.sale_id:
return picking.sale_id.project_id.id
return super(stock_picking, self)._get_account_analytic_invoice(cursor,
user, picking, move_line)
return super(stock_picking, self)._get_account_analytic_invoice(cursor, user, picking, move_line)
def _invoice_line_hook(self, cursor, user, move_line, invoice_line_id):
sale_line_obj = self.pool.get('sale.order.line')
if move_line.sale_line_id:
sale_line_obj.write(cursor, user, [move_line.sale_line_id.id], {'invoiced':True,
'invoice_lines': [(4, invoice_line_id)],
})
return super(stock_picking, self)._invoice_line_hook(cursor, user,
move_line, invoice_line_id)
sale_line_obj.write(cursor, user, [move_line.sale_line_id.id],
{
'invoiced': True,
'invoice_lines': [(4, invoice_line_id)],
})
return super(stock_picking, self)._invoice_line_hook(cursor, user, move_line, invoice_line_id)
def _invoice_hook(self, cursor, user, picking, invoice_id):
sale_obj = self.pool.get('sale.order')
@@ -126,8 +103,7 @@ class stock_picking(osv.osv):
sale_obj.write(cursor, user, [picking.sale_id.id], {
'invoice_ids': [(4, invoice_id)],
})
return super(stock_picking, self)._invoice_hook(cursor, user,
picking, invoice_id)
return super(stock_picking, self)._invoice_hook(cursor, user, picking, invoice_id)
def action_invoice_create(self, cursor, user, ids, journal_id=False,
group=False, type='out_invoice', context=None):
@@ -227,47 +203,4 @@ class stock_picking(osv.osv):
stock_picking()
class stock_partial_picking(osv.osv_memory):
_inherit = 'stock.partial.picking'
def default_get(self, cr, uid, fields, context=None):
""" To get default values for the object.
@param self: The object pointer.
@param cr: A database cursor
@param uid: ID of the user currently logged in
@param fields: List of fields for which we want default values
@param context: A standard dictionary
@return: A dictionary which of fields with values.
"""
pick_obj = self.pool.get('stock.picking')
res = super(stock_partial_picking, self).default_get(cr, uid, fields, context=context)
for pick in pick_obj.browse(cr, uid, context.get('active_ids', [])):
for m in pick.move_lines:
if (m.product_id.cost_method == 'average'):
if pick.type == 'out' and pick.sale_id and m.sale_line_id:
res['move%s_product_price'%(m.id)] = m.sale_line_id.price_unit
res['move%s_product_currency'%(m.id)] = pick.sale_id.pricelist_id.currency_id.id
return res
stock_partial_picking()
class stock_partial_move(osv.osv_memory):
_inherit = "stock.partial.move"
def default_get(self, cr, uid, fields, context=None):
""" To get default values for the object.
@param self: The object pointer.
@param cr: A database cursor
@param uid: ID of the user currently logged in
@param fields: List of fields for which we want default values
@param context: A standard dictionary
@return: A dictionary which of fields with values.
"""
res = super(stock_partial_move, self).default_get(cr, uid, fields, context=context)
move_obj = self.pool.get('stock.move')
for m in move_obj.browse(cr, uid, context.get('active_ids', [])):
if (m.product_id.cost_method == 'average'):
if m.picking_id.type == 'out' and m.sale_line_id and m.picking_id.sale_id:
res['move%s_product_price'%(m.id)] = m.sale_line_id.price_unit
res['move%s_product_currency'%(m.id)] = m.picking_id.sale_id.pricelist_id.currency_id.id
return res
stock_partial_move()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+1 -2
View File
@@ -83,8 +83,7 @@
<field name="type">form</field>
<field name="inherit_id" ref="crm.board_crm_form"/>
<field name="arch" type="xml">
<xpath expr="/form/hpaned/child2/action[@name='%(crm.act_sales_pipeline)d']" position="attributes">
<attribute name="string">My Sales Pipeline</attribute>
<xpath expr="/form/hpaned/child2/action[@name='%(crm.act_sales_pipeline)d']" position="replace">
</xpath>
</field>
</record>
@@ -191,7 +191,7 @@
<tr>
<td>
<para style="terp_default_Bold_9">Shipping address :</para>
<para style="terp_default_9">[[ o.partner_id.title or '' ]] [[ o.partner_id.name ]]</para>
<para style="terp_default_9">[[ o.partner_id.title.name or '' ]] [[ o.partner_id.name ]]</para>
<para style="terp_default_9">[[ o.partner_shipping_id.street ]]</para>
<para style="terp_default_9">[[ o.partner_shipping_id.street2 or removeParentNode('para') ]]</para>
<para style="terp_default_9">[[ o.partner_shipping_id.city or '' ]] [[ o.partner_shipping_id.zip or '' ]]</para>
@@ -214,7 +214,7 @@
</para>
</td>
<td>
<para style="terp_default_9">[[ o.partner_id.title or '' ]] [[ o.partner_id.name ]]</para>
<para style="terp_default_9">[[ o.partner_id.title.name or '' ]] [[ o.partner_id.name ]]</para>
<para style="terp_default_9">[[ o.partner_order_id.street ]]</para>
<para style="terp_default_9">[[ o.partner_order_id.street2 or removeParentNode('para') ]]</para>
<para style="terp_default_9">[[ o.partner_order_id.zip or '' ]] [[ o.partner_order_id.city or '' ]]</para>
@@ -293,7 +293,7 @@
<para style="terp_tblheader_Details_Right">Disc.(%)</para>
</td>
<td>
<para style="terp_tblheader_Details_Right">Price([[ o.pricelist_id.currency_id.code ]])</para>
<para style="terp_tblheader_Details_Right">Price</para>
</td>
</tr>
</blockTable>
@@ -384,7 +384,7 @@
<para style="terp_default_9">Net Total :</para>
</td>
<td>
<para style="terp_default_Right_9">[[ formatLang(o.amount_untaxed ) ]] [[ o.pricelist_id.currency_id.symbol ]]</para>
<para style="terp_default_Right_9">[[ formatLang(o.amount_untaxed, digits=get_digits(dp='Sale Price') ) ]] [[ o.pricelist_id.currency_id.symbol ]]</para>
</td>
</tr>
<tr>
@@ -397,7 +397,7 @@
<para style="terp_default_9">Taxes :</para>
</td>
<td>
<para style="terp_default_Right_9">[[ formatLang(o.amount_tax, digits=get_digits(dp='Account') ) ]] [[ o.pricelist_id.currency_id.symbol ]]</para>
<para style="terp_default_Right_9">[[ formatLang(o.amount_tax, digits=get_digits(dp='Sale Price') ) ]] [[ o.pricelist_id.currency_id.symbol ]]</para>
</td>
</tr>
<tr>
@@ -410,7 +410,7 @@
<para style="terp_default_Bold_9">Total :</para>
</td>
<td>
<para style="terp_default_Right_9_Bold">[[ formatLang(o.amount_total ) ]] [[ o.pricelist_id.currency_id.symbol ]]</para>
<para style="terp_default_Right_9_Bold">[[ formatLang(o.amount_total, digits=get_digits(dp='Sale Price') ) ]] [[ o.pricelist_id.currency_id.symbol ]]</para>
</td>
</tr>
</blockTable>
+75 -50
View File
@@ -8,19 +8,19 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2010-09-29 10:24+0000\n"
"Last-Translator: OpenERP Administrators <Unknown>\n"
"PO-Revision-Date: 2010-10-14 03:06+0000\n"
"Last-Translator: sugi <Unknown>\n"
"Language-Team: Mongolian <mn@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-09-30 04:38+0000\n"
"X-Launchpad-Export-Date: 2010-10-14 04:45+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: stock
#: selection:stock.location,allocation_method:0
msgid "LIFO"
msgstr ""
msgstr "Сүүлд орсон нь эхэнд гарна"
#. module: stock
#: field:stock.location,chained_location_id:0
@@ -35,7 +35,7 @@ msgstr "Бараа хадгалах"
#. module: stock
#: model:stock.location,name:stock.stock_location_15
msgid "Sub Products"
msgstr ""
msgstr "Дэд бүтээгдэхүүн"
#. module: stock
#: selection:stock.location,icon:0
@@ -45,7 +45,7 @@ msgstr ""
#. module: stock
#: constraint:ir.actions.act_window:0
msgid "Invalid model name in the action definition."
msgstr ""
msgstr "Моделийн нэр алдаатай."
#. module: stock
#: model:ir.module.module,shortdesc:stock.module_meta_information
@@ -61,7 +61,7 @@ msgstr ""
#. module: stock
#: field:stock.production.lot.revision,indice:0
msgid "Revision"
msgstr ""
msgstr "Хяналт"
#. module: stock
#: selection:stock.location,icon:0
@@ -82,7 +82,7 @@ msgstr ""
#: rml:lot.stock.overview:0
#: rml:lot.stock.overview_all:0
msgid "UoM"
msgstr ""
msgstr "Хэмжих нэгж"
#. module: stock
#: model:ir.actions.wizard,name:stock.return_picking
@@ -97,7 +97,7 @@ msgstr "Барааны журнал"
#. module: stock
#: wizard_view:stock.fill_inventory,init:0
msgid "Fill Inventory for specific location"
msgstr ""
msgstr "Бодит байрлалын нөөцийг дүүргэх"
#. module: stock
#: model:ir.actions.report.xml,name:stock.report_picking_list
@@ -115,7 +115,7 @@ msgstr "Хэмжээ"
#. module: stock
#: view:stock.picking:0
msgid "Products Received"
msgstr ""
msgstr "Бараа хүлээн авах"
#. module: stock
#: model:ir.actions.act_window,name:stock.action_picking_tree4
@@ -190,7 +190,7 @@ msgstr "Жинхэнэ барааны өртөг"
#. module: stock
#: view:stock.move:0
msgid "UOM"
msgstr ""
msgstr "Хэмжих нэгж"
#. module: stock
#: selection:stock.move,state:0
@@ -333,7 +333,7 @@ msgstr "Хөдөлгөөний мэдээлэл"
#. module: stock
#: view:stock.picking:0
msgid "Unreceived Products"
msgstr ""
msgstr "Бараа хүлээн аваагүй"
#. module: stock
#: field:stock.inventory,state:0
@@ -713,7 +713,7 @@ msgstr ""
#. module: stock
#: rml:stock.picking.list:0
msgid "Packing List:"
msgstr ""
msgstr "Савлагааны жагсаалт"
#. module: stock
#: selection:stock.location,icon:0
@@ -748,7 +748,7 @@ msgstr "Нэхэмжлэлийн удирдлага"
#. module: stock
#: model:ir.model,name:stock.model_stock_production_lot_revision
msgid "Production lot revisions"
msgstr ""
msgstr "Барааны серийн дугаарын хяналт"
#. module: stock
#: view:stock.picking:0
@@ -1412,6 +1412,15 @@ msgid ""
"* Traceability (upstream/downstream, production lots, serial number, ...)\n"
" "
msgstr ""
"OpenERP бүртгэлийн менежментийн модуль нь олон тооны агуулах, олон тооны мөн "
"тодорхой бүтэцтэй агуулахын байршилыг зохион байгуулж чаддагДавхар нэвтрэх "
"боломжтой менежментийн ачаар, бүртгэлийн хяналт чадалтай мөн уян хатан "
"чанартай болсон:төлөвлөгөө болон түүхийг шилжүүлдэг, янз бүрийн бүртгэлийн "
"аргууд, агуулахын барагцаалал (үнийн стандарт эсвэл дундаж), бүртгэлийн "
"өөрчлөлттэй зэрэгцсэн тогтвортой байдал, дүрмийг автоматаар дахин шинэчлэх "
"(агуулахын төвшин), дэмжигдсэн коддавхар нэвтрэлтийн системийн алдааг "
"илрүүлэх, мөрдөгдөх чанар (өссөн/багассан, барааны цуврал, серийн дугаар)\n"
" "
#. module: stock
#: selection:stock.location,chained_location_type:0
@@ -1423,6 +1432,7 @@ msgstr "Тогтоосон байрлал"
msgid ""
"The Object name must start with x_ and not contain any special character !"
msgstr ""
"объектийн нэр нь x_ - ээр эхлэх ёстой ба тусгай тэмдэглэгээ агуулахгүй байх"
#. module: stock
#: field:stock.picking,min_date:0
@@ -1458,7 +1468,7 @@ msgstr "Барааны журнал"
#. module: stock
#: selection:stock.location,icon:0
msgid "STOCK_CLEAR"
msgstr ""
msgstr "агуулахыг цэвэрлэх"
#. module: stock
#: field:stock.production.lot,date:0
@@ -1478,7 +1488,7 @@ msgstr ""
#. module: stock
#: view:stock.picking:0
msgid "Force Availability"
msgstr ""
msgstr "боломжийг хурдасгах"
#. module: stock
#: wizard_view:stock.location.products,init:0
@@ -1510,7 +1520,7 @@ msgstr ""
#: model:ir.actions.act_window,name:stock.action_tracking_form
#: model:ir.ui.menu,name:stock.menu_action_tracking_form
msgid "Tracking Lots"
msgstr ""
msgstr "цувралын замыг тодорхойлох"
#. module: stock
#: wizard_button:inventory.merge,init,merge:0
@@ -1530,7 +1540,7 @@ msgstr ""
#. module: stock
#: selection:stock.location,icon:0
msgid "STOCK_PROPERTIES"
msgstr ""
msgstr "агуулахын дэлгэрэнгүй мэдээлэл"
#. module: stock
#: field:stock.location,stock_real:0
@@ -1578,12 +1588,12 @@ msgstr "Савлах үйл явц"
#. module: stock
#: selection:stock.location,icon:0
msgid "STOCK_MEDIA_STOP"
msgstr ""
msgstr "агуулахын дамжуулгыг зогсоох"
#. module: stock
#: view:stock.move:0
msgid "Set Available"
msgstr ""
msgstr "боломжтой болгох"
#. module: stock
#: model:ir.actions.wizard,name:stock.make_picking
@@ -1604,7 +1614,7 @@ msgstr ""
#. module: stock
#: selection:stock.location,icon:0
msgid "STOCK_REMOVE"
msgstr ""
msgstr "агуулахыг устгах (агуулахаас устгах)"
#. module: stock
#: field:stock.incoterms,active:0
@@ -1646,7 +1656,7 @@ msgstr ""
#. module: stock
#: wizard_field:stock.move.track,init,tracking_prefix:0
msgid "Tracking prefix"
msgstr ""
msgstr "урьдчилсан нөхцлийг тодорхойлох"
#. module: stock
#: selection:stock.location,allocation_method:0
@@ -1666,7 +1676,7 @@ msgstr "Хяналтын нэр"
#. module: stock
#: selection:stock.location,icon:0
msgid "STOCK_SELECT_COLOR"
msgstr ""
msgstr "агуулахын өнгийг сонгох"
#. module: stock
#: view:stock.inventory:0
@@ -1723,7 +1733,7 @@ msgstr "Яаралтай бус"
#. module: stock
#: selection:stock.location,icon:0
msgid "STOCK_CLOSE"
msgstr ""
msgstr "агуулахыг хаах"
#. module: stock
#: model:ir.actions.act_window,name:stock.action_warehouse_form
@@ -1734,7 +1744,7 @@ msgstr "Агуулах"
#. module: stock
#: help:product.product,track_outgoing:0
msgid "Force to use a Production Lot during deliveries"
msgstr ""
msgstr "Тарааж байх үед барааны цувралыг хурдасгах"
#. module: stock
#: view:stock.picking:0
@@ -1776,7 +1786,7 @@ msgstr "Автомат савлагаа"
#. module: stock
#: field:stock.move,product_uos:0
msgid "Product UOS"
msgstr ""
msgstr "UOS бараа"
#. module: stock
#: field:stock.location,posz:0
@@ -1828,7 +1838,7 @@ msgstr "Бүтээгдэхүүний байрлал"
#. module: stock
#: selection:stock.location,icon:0
msgid "STOCK_UNDO"
msgstr ""
msgstr "агуулахын үйлдлийг буцаах"
#. module: stock
#: model:ir.actions.wizard,name:stock.move_split
@@ -1848,7 +1858,7 @@ msgstr "Сериал"
#. module: stock
#: selection:stock.location,icon:0
msgid "STOCK_ADD"
msgstr ""
msgstr "агуулахад нэмэх"
#. module: stock
#: field:stock.location,chained_delay:0
@@ -1868,7 +1878,7 @@ msgstr "Дансны бичилт"
#. module: stock
#: selection:stock.location,icon:0
msgid "STOCK_MEDIA_PAUSE"
msgstr ""
msgstr "агуулахын дамжуулгаг түр зогсоох"
#. module: stock
#: view:product.product:0
@@ -1883,7 +1893,7 @@ msgstr "Нэг мөсөн"
#. module: stock
#: field:product.product,track_outgoing:0
msgid "Track Outging Lots"
msgstr ""
msgstr "гаралтын цувралын замыг тодорхойлох"
#. module: stock
#: model:ir.actions.act_window,name:stock.action_stock_line_date
@@ -1896,12 +1906,12 @@ msgstr "Нөөцөлсөн огноо"
#. module: stock
#: selection:stock.location,icon:0
msgid "STOCK_PRINT_PREVIEW"
msgstr ""
msgstr "агуулахыг урьдчилан харах"
#. module: stock
#: selection:stock.location,icon:0
msgid "STOCK_FIND"
msgstr ""
msgstr "агуулахыг олох"
#. module: stock
#: view:stock.inventory:0
@@ -1917,6 +1927,11 @@ msgid ""
"move has to be validated by a worker. With 'Automatic No Step Added', the "
"location is replaced in the original move."
msgstr ""
"энэ нь таныг бэхлэгдсэн байршилын төрлийг сонгох үед ашиглагданаавтомат "
"шилжилтийн утга нь автоматаар батлагдах одоогийн агуулахын шилжилтийн "
"дараагийн шилжилтийг үүсгэнэ. гар удирдлагыг ашиглавал агуулахын шилжилт "
"заавал ажилтнаар баталгаажих хэрэгтэй болно. Алхам нэмэгдээгүй автоматыг "
"ашиглавал байршил нь одоогийн шилжилтийн байрлалаар солигдоно."
#. module: stock
#: field:stock.location,icon:0
@@ -1926,7 +1941,7 @@ msgstr "Зураг"
#. module: stock
#: field:stock.tracking,name:0
msgid "Tracking"
msgstr ""
msgstr "Зам тодорхойлох"
#. module: stock
#: wizard_button:stock.move.track,init,track:0
@@ -1939,6 +1954,7 @@ msgstr "Тийм"
msgid ""
"This account will be used, instead of the default one, to value input stock"
msgstr ""
"агуулахын оролтыг дүгнэхийн тулд заяамалынх нь оронд энэ гишүүн хэрэглэгдэнэ"
#. module: stock
#: model:stock.location,name:stock.stock_location_8
@@ -1958,7 +1974,7 @@ msgstr "Эдгээр нөөцийг нэгтгэхийг та хүсч байн
#. module: stock
#: field:stock.picking,max_date:0
msgid "Max. Planned Date"
msgstr ""
msgstr "төлөвлөгдсөн огнооны хамгийн дээд хязгаар"
#. module: stock
#: view:stock.inventory:0
@@ -1968,7 +1984,7 @@ msgstr "Зарласан нөөц"
#. module: stock
#: selection:stock.picking,type:0
msgid "Getting Goods"
msgstr ""
msgstr "Барааг хүлээж авах"
#. module: stock
#: view:stock.location:0
@@ -1978,7 +1994,7 @@ msgstr "Барааны байршил"
#. module: stock
#: selection:stock.location,icon:0
msgid "STOCK_MEDIA_PLAY"
msgstr ""
msgstr "Агуулахын дамжуулгыг явуулах"
#. module: stock
#: model:ir.actions.act_window,name:stock.action_picking_tree_delivery
@@ -1997,6 +2013,8 @@ msgid ""
"This stock location will be used, instead of the default one, as the "
"destination location for goods you send to this partner"
msgstr ""
"энэ агуулахын байршил нь заяамал агуулахынх нь оронд захиалагч руу илгээсэн "
"барааны хүрэх газар болж ашиглагдана"
#. module: stock
#: selection:stock.move,state:0
@@ -2007,7 +2025,7 @@ msgstr "Баталсан"
#. module: stock
#: selection:stock.location,icon:0
msgid "STOCK_MEDIA_PREVIOUS"
msgstr ""
msgstr "агуулахын өмнөх дамжуулга"
#. module: stock
#: view:stock.move:0
@@ -2017,7 +2035,7 @@ msgstr "Бататгах"
#. module: stock
#: view:stock.picking:0
msgid "Check Availability"
msgstr ""
msgstr "Бэлэн байдлыг шалгах"
#. module: stock
#: wizard_view:inventory.merge,init:0
@@ -2041,6 +2059,7 @@ msgstr "Бараа_тусгаарлах"
msgid ""
"This account will be used, instead of the default one, to value output stock"
msgstr ""
"Агуулахын гаралтыг дүгнэхийн тулд заяамалын оронд энэ гишүүн ашиглагдана"
#. module: stock
#: view:stock.picking:0
@@ -2050,12 +2069,12 @@ msgstr "Батлах(Одоо үйл ажиллагаа хийхгүй)"
#. module: stock
#: field:stock.tracking,move_ids:0
msgid "Moves Tracked"
msgstr ""
msgstr "шилжилтийн зам гаргах"
#. module: stock
#: model:ir.ui.menu,name:stock.next_id_61
msgid "Reporting"
msgstr "Мэдээлэл"
msgstr "Тайлан"
#. module: stock
#: model:ir.actions.wizard,name:stock.wizard_invoice_onshipping
@@ -2112,7 +2131,7 @@ msgstr "Цуцлагдсан"
#. module: stock
#: selection:stock.location,icon:0
msgid "STOCK_GOTO_LAST"
msgstr ""
msgstr "Агуулах хоосрох"
#. module: stock
#: selection:stock.picking,invoice_state:0
@@ -2131,6 +2150,9 @@ msgid ""
"instead of the default one, as the source location for stock moves generated "
"by production orders"
msgstr ""
"барааны захиалгаар боловсруулагдсан агуулахын шилжилтийн анхны байрлал "
"болгохын тулд заяамал агуулахынх нь оронд тухайн бараанд энэ агуулахын "
"байрлалыг ашиглана"
#. module: stock
#: view:stock.picking.move.wizard:0
@@ -2152,7 +2174,7 @@ msgstr "Ноорог"
#. module: stock
#: selection:stock.location,icon:0
msgid "STOCK_JUSTIFY_CENTER"
msgstr ""
msgstr "агуулахыг төвд нь зэрэгцүүлэх"
#. module: stock
#: model:ir.actions.act_window,name:stock.action_picking_tree3
@@ -2160,7 +2182,7 @@ msgstr ""
#: model:ir.ui.menu,name:stock.menu_action_picking_tree3
#: model:ir.ui.menu,name:stock.menu_action_picking_tree8
msgid "Confirmed Packing Waiting Availability"
msgstr ""
msgstr "батлагдсан хүлээлтийн багц"
#. module: stock
#: field:stock.location,posy:0
@@ -2190,12 +2212,12 @@ msgstr "Шууд хүргэлт"
#. module: stock
#: selection:stock.location,icon:0
msgid "STOCK_REVERT_TO_SAVED"
msgstr ""
msgstr "агуулах буцаж хэвэндээ орон хадгалагдах"
#. module: stock
#: field:product.product,track_production:0
msgid "Track Production Lots"
msgstr ""
msgstr "барааны хэв маягийн багц"
#. module: stock
#: view:stock.picking:0
@@ -2214,11 +2236,14 @@ msgid ""
"instead of the default one, as the source location for stock moves generated "
"by procurements"
msgstr ""
"Татан авалтаар биелэгдсэн агуулахын шилжилтийн анхны байрлал болгох "
"зорилгоор заяамал агуулахынх нь оронд энэ агуулахын байршил тухайн бараанд "
"ашиглагдана,"
#. module: stock
#: model:ir.model,name:stock.model_stock_picking_move_wizard
msgid "stock.picking.move.wizard"
msgstr ""
msgstr "агуулахын сонголтыг шилжүүлэх визард"
#. module: stock
#: model:res.request.link,name:stock.req_link_tracking
@@ -2254,7 +2279,7 @@ msgstr "Байршлууд"
msgid ""
"Scheduled date for the movement of the products or real date if the move is "
"done."
msgstr ""
msgstr "Барааг шилжүүлэх төлөвлөгдсөн огноо эсвэл шилжилт хийгдсэн огноо"
#. module: stock
#: view:stock.picking:0
@@ -2322,7 +2347,7 @@ msgstr "Тодорхойлолт"
#. module: stock
#: selection:stock.location,icon:0
msgid "STOCK_INDENT"
msgstr ""
msgstr "Агуулахын барааны захиалга"
#. module: stock
#: selection:stock.picking,type:0
@@ -2366,7 +2391,7 @@ msgstr "Гаралт"
#. module: stock
#: selection:stock.location,icon:0
msgid "STOCK_JUSTIFY_RIGHT"
msgstr ""
msgstr "Агуулахыг баруун талд нь зэрэгцүүлэх"
#. module: stock
#: model:ir.model,name:stock.model_stock_inventory_line
@@ -2381,7 +2406,7 @@ msgstr "Бусад мэдээлэл"
#. module: stock
#: selection:stock.location,icon:0
msgid "STOCK_MEDIA_NEXT"
msgstr ""
msgstr "Агуулахын дараагийн дамжуулга"
#. module: stock
#: view:stock.move:0
+8 -8
View File
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
<document filename="test.pdf">
<template pageSize="(595.0,842.0)" title="Packing List" author="OpenERP S.A. (sales@openerp.com)" allowSplitting="20">
<template pageSize="(595.0,842.0)" title="Picking List" author="OpenERP S.A. (sales@openerp.com)" allowSplitting="20">
<pageTemplate id="first">
<frame id="first" x1="0.0" y1="57.0" width="538" height="728"/>
</pageTemplate>
@@ -125,7 +125,7 @@
<tr>
<td>
<para style="terp_default_Bold_9">Shipping Address :</para>
<para style="terp_default_9">[[ (picking.address_id and picking.address_id.partner_id and picking.address_id.partner_id.title) or '' ]] [[ picking.address_id and picking.address_id.partner_id and picking.address_id.partner_id.name ]]</para>
<para style="terp_default_9">[[ (picking.address_id and picking.address_id.partner_id and picking.address_id.partner_id.title.name) or '' ]] [[ picking.address_id and picking.address_id.partner_id and picking.address_id.partner_id.name ]]</para>
<para style="terp_default_9">[[ picking.address_id and picking.address_id.street or '' ]]</para>
<para style="terp_default_9">[[ (picking.address_id and picking.address_id.street2) or removeParentNode('para') ]]</para>
<para style="terp_default_9">[[ picking.address_id and picking.address_id.zip or '' ]] [[ picking.address_id and picking.address_id.city or '' ]]</para>
@@ -134,7 +134,7 @@
</td>
<td>
<para style="terp_default_Bold_9">Contact Address :</para>
<para style="terp_default_9">[[ picking.address_id and picking.address_id.title or '' ]] [[ picking.address_id and picking.address_id.name or '' ]]</para>
<para style="terp_default_9">[[ picking.address_id and picking.address_id.title.name or '' ]] [[ picking.address_id and picking.address_id.name or '' ]]</para>
<para style="terp_default_9">[[ picking.address_id and picking.address_id.street or '' ]]</para>
<para style="terp_default_9">[[ (picking.address_id and picking.address_id.street2) or removeParentNode('para') ]]</para>
<para style="terp_default_9">[[ picking.address_id and picking.address_id.zip or '' ]] [[ picking.address_id and picking.address_id.city or '' ]]</para>
@@ -181,7 +181,7 @@
<para style="terp_default_Centre_8">[[ picking.origin or '']]</para>
</td>
<td>
<para style="terp_default_Centre_8">[[ (picking.address_id and picking.address_id.title) or '' ]] [[ (picking.address_id and picking.address_id.name) or '' ]] </para>
<para style="terp_default_Centre_8">[[ (picking.address_id and picking.address_id.title.name) or '' ]] [[ (picking.address_id and picking.address_id.name) or '' ]] </para>
</td>
<td>
<para style="terp_default_Centre_8">[[ formatLang(picking.min_date,date_time = True) ]]</para>
@@ -214,8 +214,8 @@
</tr>
</blockTable>
<section>
<para style="terp_default_8">[[ repeatIn([line for line in picking.move_lines if (line.state == 'confirmed' or line.state=='done' or line.state=='assigned')],'move_lines') ]]</para>
[[ picking.move_lines or removeParentNode('section')]]
<para style="terp_default_2">[[ repeatIn([line for line in picking.move_lines if (line.state == 'confirmed' or line.state=='done' or line.state=='assigned')],'move_lines') ]]</para>
<para style="terp_default_2">[[ (picking.move_lines!=[] and removeParentNode('para')) or removeParentNode('section')]]</para>
<blockTable colWidths="256.0,74.0,58.0,60.0,73.0" style="Move_Line_Contect_Assign_State">
<tr>
<td>
@@ -238,8 +238,8 @@
</section>
<para style="terp_default_Bold_9">[[ ([line for line in picking.move_lines if (line.state == 'draft' or line.state=='waiting' )]) and 'Non Assigned Products:' or removeParentNode('para') ]]</para>
<section>
<para style="terp_default_8">[[ repeatIn([line for line in picking.move_lines if (line.state == 'draft' or line.state=='waiting')],'move_lines') ]] </para>
[[ picking.move_lines or removeParentNode('section')]]
<para style="terp_default_2">[[ repeatIn([line for line in picking.move_lines if (line.state == 'draft' or line.state=='waiting')],'move_lines') ]] </para>
<para style="terp_default_2">[[ (picking.move_lines!=[] and removeParentNode('para')) or removeParentNode('section')]]</para>
<blockTable colWidths="256.0,74.0,57.0,61.0,72.0" style="Move_Line_Content_Other_State">
<tr>
<td>
+26 -43
View File
@@ -25,7 +25,6 @@ from operator import itemgetter
from itertools import groupby
from osv import fields, osv
from tools import config
from tools.translate import _
import netsvc
import tools
@@ -731,21 +730,29 @@ class stock_picking(osv.osv):
'button_confirm', cr)
return True
def draft_validate(self, cr, uid, ids, *args):
def draft_validate(self, cr, uid, ids, context=None):
""" Validates picking directly from draft state.
@return: True
"""
if context is None:
context = {}
wf_service = netsvc.LocalService("workflow")
self.draft_force_assign(cr, uid, ids)
for pick in self.browse(cr, uid, ids):
move_ids = [x.id for x in pick.move_lines]
self.pool.get('stock.move').force_assign(cr, uid, move_ids)
wf_service.trg_write(uid, 'stock.picking', pick.id, cr)
self.action_move(cr, uid, [pick.id])
wf_service.trg_validate(uid, 'stock.picking', pick.id, 'button_done', cr)
return True
context.update({'active_ids':ids})
return {
'name': 'Make Picking',
'view_type': 'form',
'view_mode': 'form',
'res_model': 'stock.partial.picking',
'type': 'ir.actions.act_window',
'target': 'new',
'nodestroy': True,
'context':context
}
def cancel_assign(self, cr, uid, ids, *args):
""" Cancels picking and moves.
@return: True
@@ -1101,8 +1108,6 @@ class stock_picking(osv.osv):
delivery moves with product_id, product_qty, uom
@return: Dictionary of values
"""
import pdb
#pdb.set_trace()
if context is None:
context = {}
else:
@@ -1112,15 +1117,10 @@ class stock_picking(osv.osv):
product_obj = self.pool.get('product.product')
currency_obj = self.pool.get('res.currency')
uom_obj = self.pool.get('product.uom')
price_type_obj = self.pool.get('product.price.type')
sequence_obj = self.pool.get('ir.sequence')
wf_service = netsvc.LocalService("workflow")
partner_id = partial_datas.get('partner_id', False)
address_id = partial_datas.get('address_id', False)
delivery_date = partial_datas.get('delivery_date', False)
for pick in self.browse(cr, uid, ids, context=context):
new_picking = None
new_moves = []
complete, too_many, too_few = [], [], []
move_product_qty = {}
prodlot_ids = {}
@@ -1194,7 +1194,7 @@ class stock_picking(osv.osv):
prodlot_id = prodlot_ids[move.id]
if prodlot_id:
defaults.update(prodlot_id=prodlot_id)
new_obj = move_obj.copy(cr, uid, move.id, defaults)
move_obj.copy(cr, uid, move.id, defaults)
move_obj.write(cr, uid, [move.id],
{
@@ -1442,7 +1442,7 @@ class stock_move(osv.osv):
'priority': fields.selection([('0', 'Not urgent'), ('1', 'Urgent')], 'Priority'),
'create_date': fields.datetime('Creation Date', readonly=True),
'date': fields.datetime('Date', required=True, help="Move date: scheduled date until move is done, then date of actual move processing", readonly=True),
'date_expected': fields.datetime('Scheduled Date', required=True, help="Scheduled date for the processing of this move"),
'date_expected': fields.datetime('Scheduled Date', states={'done': [('readonly', True)]},required=True, help="Scheduled date for the processing of this move"),
'product_id': fields.many2one('product.product', 'Product', required=True, select=True, domain=[('type','<>','service')],states={'done': [('readonly', True)]}),
'product_qty': fields.float('Quantity', digits_compute=dp.get_precision('Product UoM'), required=True,states={'done': [('readonly', True)]}),
@@ -1694,23 +1694,23 @@ class stock_move(osv.osv):
"""
moves = self.browse(cr, uid, ids)
self.write(cr, uid, ids, {'state': 'confirmed'})
i = 0
res_obj = self.pool.get('res.company')
location_obj = self.pool.get('stock.location')
move_obj = self.pool.get('stock.move')
wf_service = netsvc.LocalService("workflow")
def create_chained_picking(self, cr, uid, moves, context=None):
new_moves = []
res_obj = self.pool.get('res.company')
picking_obj = self.pool.get('stock.picking')
move_obj = self.pool.get('stock.move')
if context is None:
context = {}
for picking, todo in self._chain_compute(cr, uid, moves, context=context).items():
ptype = todo[0][1][5] and todo[0][1][5] or self.pool.get('stock.location').picking_type_get(cr, uid, todo[0][0].location_dest_id, todo[0][1][0])
ptype = todo[0][1][5] and todo[0][1][5] or location_obj.picking_type_get(cr, uid, todo[0][0].location_dest_id, todo[0][1][0])
pick_name = picking.name or ''
if picking:
pickid = self._create_chained_picking(cr, uid, pick_name,picking,ptype,todo,context)
else:
pickid = False
for move, (loc, auto, delay, journal, company_id, ptype) in todo:
for move, (loc, dummy, delay, dummy, company_id, ptype) in todo:
new_id = move_obj.copy(cr, uid, move.id, {
'location_id': move.location_dest_id.id,
'location_dest_id': loc.id,
@@ -1728,7 +1728,6 @@ class stock_move(osv.osv):
})
new_moves.append(self.browse(cr, uid, [new_id])[0])
if pickid:
wf_service = netsvc.LocalService("workflow")
wf_service.trg_validate(uid, 'stock.picking', pickid, 'button_confirm', cr)
if new_moves:
create_chained_picking(self, cr, uid, new_moves, context)
@@ -1888,9 +1887,7 @@ class stock_move(osv.osv):
These reference values should possibly be converted before being posted in Journals to adapt to the primary
and secondary currencies of the relevant accounts.
"""
product_obj=self.pool.get('product.product')
product_uom_obj = self.pool.get('product.uom')
price_type_obj = self.pool.get('product.price.type')
# by default the reference currency is that of the move's company
reference_currency_id = move.company_id.currency_id.id
@@ -1957,12 +1954,8 @@ class stock_move(osv.osv):
""" Makes the move done and if all moves are done, it will finish the picking.
@return:
"""
track_flag = False
partial_datas=''
picking_ids = []
product_uom_obj = self.pool.get('product.uom')
price_type_obj = self.pool.get('product.price.type')
product_obj = self.pool.get('product.product')
partial_obj=self.pool.get('stock.partial.picking')
partial_id=partial_obj.search(cr,uid,[])
if partial_id:
@@ -1987,8 +1980,6 @@ class stock_move(osv.osv):
if move.move_dest_id.picking_id:
wf_service = netsvc.LocalService("workflow")
wf_service.trg_write(uid, 'stock.picking', move.move_dest_id.picking_id.id, cr)
else:
pass
if move.move_dest_id.auto_validate:
self.action_done(cr, uid, [move.move_dest_id.id], context=context)
@@ -2253,20 +2244,12 @@ class stock_move(osv.osv):
like partner_id, address_id, delivery_date, delivery
moves with product_id, product_qty, uom
"""
import pdb
#pdb.set_trace()
res = {}
picking_obj = self.pool.get('stock.picking')
product_obj = self.pool.get('product.product')
currency_obj = self.pool.get('res.currency')
uom_obj = self.pool.get('product.uom')
price_type_obj = self.pool.get('product.price.type')
sequence_obj = self.pool.get('ir.sequence')
wf_service = netsvc.LocalService("workflow")
partner_id = partial_datas.get('partner_id', False)
address_id = partial_datas.get('address_id', False)
delivery_date = partial_datas.get('delivery_date', False)
new_moves = []
if context is None:
context = {}
@@ -2533,16 +2516,16 @@ class stock_picking_move_wizard(osv.osv_memory):
def _get_picking(self, cr, uid, ctx=None):
if ctx is None:
ctx = {}
if ctx.get('action_id', False):
return ctx['action_id']
if ctx.get('active_id', False):
return ctx['active_id']
return False
def _get_picking_address(self, cr, uid, context=None):
picking_obj = self.pool.get('stock.picking')
if context is None:
context = {}
if context.get('action_id', False):
picking = picking_obj.browse(cr, uid, [context['action_id']])[0]
if context.get('active_id', False):
picking = picking_obj.browse(cr, uid, [context['active_id']])[0]
return picking.address_id and picking.address_id.id or False
return False
+1
View File
@@ -264,6 +264,7 @@
<field name="invoice_state">2binvoiced</field>
<field name="address_id" ref="base.main_address"/>
<field name="company_id" ref="base.main_company"/>
<field name="partner_id" ref="base.main_partner"/>
</record>
</data>
</openerp>
+19 -20
View File
@@ -101,7 +101,7 @@
string="Split inventory lines" groups="base.group_extended"
type="action" icon="terp-stock_effects-object-colorize" states="draft"/>
<field colspan="4" domain="[('usage','=','internal')]" name="location_id"/>
<field name="state" />
<field name="state" invisible="True"/>
</tree>
<form string="Products ">
<field colspan="4" context="location=location_id,uom=product_uom" name="product_id" on_change="on_change_product_id(location_id,product_id,product_uom)" domain="[('type','&lt;&gt;','service')]"/>
@@ -127,7 +127,7 @@
<field name="location_id"/>
<field name="location_dest_id"/>
<field name="date" string="Date"/>
<field name="state"/>
<field name="state" invisible="True"/>
</tree>
</field>
</page>
@@ -394,7 +394,7 @@
<field name="date" string="Date"/>
<field name="date_expected" string="Date Expected"/>
<field name="state"/>
<button name="action_done" states="confirmed,assigned" string="Done" type="object" icon="gtk-jump-to"/>
<button name="action_done" states="confirmed,assigned" string="Process" type="object" icon="gtk-go-forward"/>
</tree>
</field>
</record>
@@ -624,7 +624,7 @@
<field name="invoice_state"/>
<field name="stock_journal_id" groups="base.group_extended" widget="selection"/>
<field name="state"/>
<button name="%(action_partial_picking)d" states="confirmed,assigned" string="Approve Picking" type="action" icon="gtk-go-forward"/>
<button name="%(action_partial_picking)d" states="confirmed,assigned" string="Process" type="action" icon="gtk-go-forward"/>
</tree>
</field>
</record>
@@ -741,13 +741,13 @@
</field>
<group col="10" colspan="4">
<field name="state" readonly="1"/>
<button name="draft_force_assign" states="draft" string="Confirm (Do Not Process Now)" type="object" icon="gtk-apply"/>
<button name="button_cancel" states="assigned,confirmed,draft" string="_Cancel" icon="gtk-cancel"/>
<button name="draft_force_assign" states="draft" string="Process Later" type="object" icon="gtk-apply"/>
<button name="draft_validate" states="draft" string="Process Now" type="object" icon="gtk-media-play"/>
<button name="action_assign" states="confirmed" string="Check Availability" type="object" icon="gtk-find"/>
<button name="force_assign" states="confirmed" string="Force Availability" type="object" icon="gtk-jump-to"/>
<button name="%(action_partial_picking)d" states="assigned" string="Approve" type="action" icon="gtk-apply"/>
<button name="%(action_partial_picking)d" states="assigned" string="Process" type="action" icon="gtk-go-forward"/>
<button name="%(action_stock_invoice_onshipping)d" string="Create Invoice" type="action" icon="terp-gtk-go-back-rtl" attrs="{'invisible':[('invoice_state','!=','2binvoiced')]}"/>
<button name="button_cancel" states="assigned,confirmed,draft" string="_Cancel" icon="gtk-cancel"/>
</group>
</page>
<page string="Additional info" groups="base.group_extended,base.group_multi_company">
@@ -816,7 +816,7 @@
<field name="invoice_state"/>
<field name="stock_journal_id" groups="base.group_extended" widget="selection"/>
<field name="state"/>
<button name="%(action_partial_picking)d" states="assigned" string="Approve Picking" type="action" icon="gtk-go-forward"/>
<button name="%(action_partial_picking)d" states="assigned" string="Process" type="action" icon="gtk-go-forward"/>
</tree>
</field>
</record>
@@ -872,7 +872,7 @@
<field name="date"/>
<field name="state"/>
<button name="%(action_partial_move)d" string="Partial" type="action" states="confirmed,assigned" icon="gtk-justify-fill"/>
<button name="action_done" states="confirmed,assigned" string="Done" type="object" icon="gtk-jump-to"/>
<button name="action_done" states="confirmed,assigned" string="Process" type="object" icon="gtk-go-forward"/>
</tree>
<form string="Stock Moves">
<group colspan="2" col="4">
@@ -931,13 +931,13 @@
</field>
<group col="10" colspan="4">
<field name="state" readonly="1"/>
<button name="button_cancel" states="assigned,confirmed,draft" string="_Cancel" icon="gtk-cancel"/>
<button name="draft_force_assign" states="draft" string="Process Later" type="object" icon="gtk-ok"/>
<button name="draft_validate" states="draft" string="Process Now" type="object" icon="gtk-yes"/>
<button name="action_assign" states="confirmed" string="Check Availability" type="object" groups="base.group_extended" icon="gtk-apply"/>
<button name="force_assign" states="confirmed" string="Force Availability" type="object" icon="gtk-jump-to"/>
<button name="%(action_partial_picking)d" states="assigned" string="Done" type="action" icon="gtk-execute"/>
<button name="%(action_partial_picking)d" states="assigned" string="Process" type="action" icon="gtk-go-forward"/>
<button name="%(action_stock_invoice_onshipping)d" string="Create Invoice" type="action" icon="terp-gtk-go-back-rtl" attrs="{'invisible':[('invoice_state','!=','2binvoiced')]}"/>
<button name="button_cancel" states="assigned,confirmed,draft" string="_Cancel" icon="gtk-cancel"/>
</group>
</page>
<page string="Additional info" groups="base.group_extended,base.group_multi_company">
@@ -1032,7 +1032,7 @@
<field name="invoice_state" groups="base.group_extended"/>
<field name="stock_journal_id" groups="base.group_extended" widget="selection"/>
<field name="state"/>
<button name="%(action_partial_picking)d" states="assigned" string="Receive products" type="action" icon="gtk-ok"/>
<button name="%(action_partial_picking)d" states="assigned" string="Process" type="action" icon="gtk-go-forward"/>
<button name="button_cancel" states="assigned,confirmed,draft" string="Cancel" icon="gtk-cancel" confirm="This operation will cancel the shipment. Do you want to continue?" />
</tree>
</field>
@@ -1146,13 +1146,13 @@
</field>
<group col="10" colspan="4">
<field name="state" readonly="1"/>
<button name="button_cancel" states="assigned,confirmed,draft" string="_Cancel" icon="gtk-cancel"/>
<button name="draft_force_assign" states="draft" string="Process Later" type="object" icon="gtk-ok"/>
<button name="draft_validate" states="draft" string="Process Now" type="object" icon="gtk-media-play"/>
<button name="action_assign" states="confirmed" string="Check Availability" type="object" icon="gtk-find"/>
<button name="force_assign" states="confirmed" string="Force Availability" type="object" groups="base.group_extended" icon="gtk-jump-to"/>
<button name="%(action_partial_picking)d" states="assigned" string="Products Received" type="action" icon="gtk-ok"/>
<button name="%(action_partial_picking)d" states="assigned" string="Process" type="action" icon="gtk-go-forward"/>
<button name="%(action_stock_invoice_onshipping)d" string="Create Invoice" type="action" icon="terp-gtk-go-back-rtl" attrs="{'invisible':[('invoice_state','!=','2binvoiced')]}"/>
<button name="button_cancel" states="assigned,confirmed,draft" string="_Cancel" icon="gtk-cancel"/>
</group>
</page>
<page string="Additional Info" groups="base.group_extended,base.group_multi_company">
@@ -1327,7 +1327,7 @@
<field name="date"/>
<field name="date_expected"/>
<field name="state"/>
<button name="action_done" states="confirmed,assigned" string="Done" type="object" icon="gtk-ok"/>
<button name="action_done" states="confirmed,assigned" string="Process" type="object" icon="gtk-go-forward"/>
</tree>
</field>
</record>
@@ -1395,7 +1395,7 @@
<button name="action_confirm" states="draft" string="Confirm" type="object" icon="gtk-apply"/>
<button name="action_assign" states="confirmed" string="Set Available" type="object" icon="gtk-yes"/>
<button name="action_cancel" states="assigned,confirmed" string="_Cancel" type="object" icon="gtk-cancel"/>
<button name="action_done" states="assigned" string="Done" type="object" icon="gtk-jump-to"/>
<button name="action_done" states="assigned" string="Process" type="object" icon="gtk-jump-to"/>
</group>
</form>
</field>
@@ -1499,7 +1499,7 @@
<field name="state"/>
<button name="action_assign" states="confirmed" string="Set Available" type="object" icon="gtk-yes"/>
<button name="%(action_partial_move)d" string="Partial" type="action" states="confirmed,assigned" icon="gtk-justify-fill"/>
<button name="action_done" states="confirmed,assigned" string="Done" type="object" icon="gtk-jump-to"/>
<button name="action_done" states="confirmed,assigned" string="Process" type="object" icon="gtk-go-forward"/>
</tree>
</field>
</record>
@@ -1517,7 +1517,7 @@
<field name="product_qty" />
<field name="product_uom" string="UoM"/>
<field name="date"/>
<button name="action_done" states="confirmed,assigned" string="Done" type="object" icon="gtk-jump-to"/>
<button name="action_done" states="confirmed,assigned" string="Process" type="object" icon="gtk-go-forward"/>
</tree>
</field>
</record>
@@ -1583,7 +1583,7 @@
<button name="action_assign" states="confirmed" string="Set Available" type="object" icon="gtk-yes"/>
<button name="action_cancel" states="assigned,confirmed" string="_Cancel" type="object" icon="gtk-cancel"/>
<button name="%(action_partial_move)d" states="assigned,confirmed" string="Partial" type="action" icon="gtk-justify-fill"/>
<button name="action_done" states="assigned" string="Done" type="object" icon="gtk-jump-to"/>
<button name="action_done" states="assigned" string="Process" type="object" icon="gtk-go-forward"/>
</group>
</form>
</field>
@@ -1611,7 +1611,6 @@
<filter string="Supplier" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'partner_id'}"/>
<filter string="Product" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'product_id'}"/>
<separator orientation="vertical"/>
<filter string="Product" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'product_id'}"/>
<filter string="Order" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'origin'}"/>
<filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
<separator orientation="vertical"/>
+11 -11
View File
@@ -40,7 +40,6 @@ class stock_partial_move(osv.osv_memory):
if m.state in ('done', 'cancel'):
raise osv.except_osv(_('Invalid action !'), _('Cannot deliver products which are already delivered !'))
if 'move%s_product_id'%(m.id) not in self._columns:
self._columns['move%s_product_id'%(m.id)] = fields.many2one('product.product',string="Product")
if 'move%s_product_qty'%(m.id) not in self._columns:
@@ -52,9 +51,9 @@ class stock_partial_move(osv.osv_memory):
if (m.picking_id.type == 'in') and (m.product_id.cost_method == 'average'):
if 'move%s_product_price'%(m.id) not in self._columns:
self._columns['move%s_product_price'%(m.id)] = fields.float("Price")
self._columns['move%s_product_price'%(m.id)] = fields.float("Cost", help="Unit Cost for this product line")
if 'move%s_product_currency'%(m.id) not in self._columns:
self._columns['move%s_product_currency'%(m.id)] = fields.many2one('res.currency',string="Currency")
self._columns['move%s_product_currency'%(m.id)] = fields.many2one('res.currency', string="Currency", help="Currency in which Unit cost is expressed")
return res
def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False,submenu=False):
@@ -109,14 +108,15 @@ class stock_partial_move(osv.osv_memory):
if (m.picking_id.type == 'in') and (m.product_id.cost_method == 'average'):
_moves_fields.update({
'move%s_product_price'%(m.id) : {
'string': _('Price'),
'string': _('Cost'),
'type' : 'float',
'help': _('Unit Cost for this product line'),
},
'move%s_product_currency'%(m.id): {
'string': _('Currency'),
'type' : 'float',
'type' : 'many2one',
'relation': 'res.currency',
'help': _("Currency in which Unit Cost is expressed"),
}
})
_moves_arch_lst += """
@@ -162,8 +162,6 @@ class stock_partial_move(osv.osv_memory):
if m.state in ('done', 'cancel'):
continue
res['type'] = m.picking_id and m.picking_id.type or ''
if 'move%s_product_id'%(m.id) in fields:
res['move%s_product_id'%(m.id)] = m.product_id.id
if 'move%s_product_qty'%(m.id) in fields:
@@ -171,10 +169,12 @@ class stock_partial_move(osv.osv_memory):
if 'move%s_product_uom'%(m.id) in fields:
res['move%s_product_uom'%(m.id)] = m.product_uom.id
if 'move%s_prodlot_id'%(m.id) in fields:
res['move%s_prodlot_id'%(m.id)] = m.prodlot_id.id
if m.product_id.cost_method == 'average' :
res['move%s_prodlot_id'%(m.id)] = m.prodlot_id.id
if m.picking_id.type == 'in' and m.product_id.cost_method == 'average':
# Always use default product cost and currency from Product Form,
# which belong to the Company owning the product
currency = m.product_id.company_id.currency_id.id
price = m.product_id.standard_price
currency = False
if 'move%s_product_price'%(m.id) in fields:
res['move%s_product_price'%(m.id)] = price
if 'move%s_product_currency'%(m.id) in fields:
@@ -204,7 +204,7 @@ class stock_partial_move(osv.osv_memory):
'product_id' : getattr(partial, 'move%s_product_id'%(m.id)).id,
'product_qty' : getattr(partial, 'move%s_product_qty'%(m.id)),
'product_uom' : getattr(partial, 'move%s_product_uom'%(m.id)).id,
'prodlot_id' : getattr(partial, 'move%s_prodlot_id'%(m.id)).id
'prodlot_id' : getattr(partial, 'move%s_prodlot_id'%(m.id)).id
}
if (m.picking_id.type == 'in') and (m.product_id.cost_method == 'average'):
+18 -12
View File
@@ -35,8 +35,8 @@ class stock_partial_picking(osv.osv_memory):
pick_obj = self.pool.get('stock.picking')
if not context:
context={}
moveids = []
for pick in pick_obj.browse(cr, uid, context.get('active_ids', [])):
need_product_cost = (pick.type == 'in')
for m in pick.move_lines:
if m.state in ('done', 'cancel'):
continue
@@ -49,11 +49,11 @@ class stock_partial_picking(osv.osv_memory):
if 'move%s_prodlot_id'%(m.id) not in self._columns:
self._columns['move%s_prodlot_id'%(m.id)] = fields.many2one('stock.production.lot', string="Lot")
if (m.product_id.cost_method == 'average'):
if (need_product_cost and m.product_id.cost_method == 'average'):
if 'move%s_product_price'%(m.id) not in self._columns:
self._columns['move%s_product_price'%(m.id)] = fields.float("Price")
self._columns['move%s_product_price'%(m.id)] = fields.float("Cost", help="Unit Cost for this product line")
if 'move%s_product_currency'%(m.id) not in self._columns:
self._columns['move%s_product_currency'%(m.id)] = fields.many2one('res.currency',string="Currency")
self._columns['move%s_product_currency'%(m.id)] = fields.many2one('res.currency', string="Currency", help="Currency in which Unit cost is expressed")
return res
def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False,submenu=False):
@@ -70,6 +70,7 @@ class stock_partial_picking(osv.osv_memory):
_moves_fields = result['fields']
if picking_ids and view_type in ['form']:
for pick in pick_obj.browse(cr, uid, picking_ids, context):
need_product_cost = (pick.type == 'in')
for m in pick.move_lines:
if m.state in ('done', 'cancel'):
continue
@@ -107,17 +108,19 @@ class stock_partial_picking(osv.osv_memory):
<field name="move%s_product_uom" nolabel="1" />
<field name="move%s_prodlot_id" domain="[('product_id','=',move%s_product_id)]" groups="base.group_extended" />
"""%(m.id, m.id, m.id, m.id,m.id)
if (m.product_id.cost_method == 'average'):
if (need_product_cost and m.product_id.cost_method == 'average'):
_moves_fields.update({
'move%s_product_price'%(m.id) : {
'string': _('Price'),
'string': _('Cost'),
'type' : 'float',
'help': _('Unit Cost for this product line'),
},
'move%s_product_currency'%(m.id): {
'string': _('Currency'),
'type' : 'float',
'type' : 'many2one',
'relation': 'res.currency',
'help': _("Currency in which Unit Cost is expressed"),
}
})
_moves_arch_lst += """
@@ -155,10 +158,10 @@ class stock_partial_picking(osv.osv_memory):
pick_obj = self.pool.get('stock.picking')
if not context:
context={}
moveids = []
if 'date' in fields:
res.update({'date': time.strftime('%Y-%m-%d %H:%M:%S')})
for pick in pick_obj.browse(cr, uid, context.get('active_ids', [])):
need_product_cost = (pick.type == 'in')
for m in pick.move_lines:
if m.state in ('done', 'cancel'):
continue
@@ -170,8 +173,10 @@ class stock_partial_picking(osv.osv_memory):
res['move%s_product_uom'%(m.id)] = m.product_uom.id
if 'move%s_prodlot_id'%(m.id) in fields:
res['move%s_prodlot_id'%(m.id)] = m.prodlot_id.id
if (m.product_id.cost_method == 'average'):
currency = False
if (need_product_cost and m.product_id.cost_method == 'average'):
# Always use default product cost and currency from Product Form,
# which belong to the Company owning the product
currency = m.product_id.company_id.currency_id.id
price = m.product_id.standard_price
if 'move%s_product_price'%(m.id) in fields:
res['move%s_product_price'%(m.id)] = price
@@ -195,6 +200,7 @@ class stock_partial_picking(osv.osv_memory):
'delivery_date' : partial.date
}
for pick in pick_obj.browse(cr, uid, picking_ids):
need_product_cost = (pick.type == 'in')
for m in pick.move_lines:
if m.state in ('done', 'cancel'):
continue
@@ -205,12 +211,12 @@ class stock_partial_picking(osv.osv_memory):
'prodlot_id' : getattr(partial, 'move%s_prodlot_id'%(m.id)).id
}
if (m.product_id.cost_method == 'average'):
if (need_product_cost and m.product_id.cost_method == 'average'):
partial_datas['move%s'%(m.id)].update({
'product_price' : getattr(partial, 'move%s_product_price'%(m.id)),
'product_currency': getattr(partial, 'move%s_product_currency'%(m.id)).id
})
res = pick_obj.do_partial(cr, uid, picking_ids, partial_datas, context=context)
pick_obj.do_partial(cr, uid, picking_ids, partial_datas, context=context)
return {}
stock_partial_picking()
@@ -11,7 +11,7 @@
move_lines:
- company_id: base.main_company
date_expected: '2010-08-03 11:05:47'
date_planned: '2010-08-03 11:05:47'
date: '2010-08-03 11:05:47'
location_id: stock.stock_location_stock
product_id: product.product_product_pc1
product_qty: 3.0
+1 -1
View File
@@ -20,6 +20,6 @@
##############################################################################
import stock_location
import mrp_pull
import procurement_pull
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+1 -1
View File
@@ -87,7 +87,7 @@ You can use the demo data as follow:
'author': 'OpenERP SA',
'depends': ['procurement','stock','sale'],
'init_xml': [],
'update_xml': ['stock_location_view.xml', 'security/ir.model.access.csv', 'mrp_pull_workflow.xml'],
'update_xml': ['stock_location_view.xml', 'security/ir.model.access.csv', 'procurement_pull_workflow.xml'],
'demo_xml': [
'stock_location_demo_cpu1.xml',
'stock_location_demo_cpu3.yml',
@@ -55,21 +55,21 @@ class procurement_order(osv.osv):
for proc in proc_obj.browse(cr, uid, ids, context=context):
line = None
for line in proc.product_id.flow_pull_ids:
if line.location_id==proc.location_id:
if line.location_id == proc.location_id:
break
assert line, 'Line can not be False if we are on this state of the workflow'
origin = (proc.origin or proc.name or '').split(':')[0] +':'+line.name
picking_id =picking_obj.create(cr, uid, {
picking_id = picking_obj.create(cr, uid, {
'origin': origin,
'company_id': line.company_id and line.company_id.id or False,
'type': line.picking_type,
'stock_journal_id': line.journal_id and line.journal_id.id or False,
'move_type': 'one',
'address_id': line.partner_address_id.id,
'note': line.name, # TODO: note on procurement ?
'note': _('Picking for pulled procurement coming from original location %s, pull rule %s, via original Procurement %s (#%d)') % (proc.location_id.name, line.name, proc.name, proc.id),
'invoice_state': line.invoice_state,
})
move_id =move_obj.create(cr, uid, {
move_id = move_obj.create(cr, uid, {
'name': line.name,
'picking_id': picking_id,
'company_id': line.company_id and line.company_id.id or False,
@@ -88,7 +88,7 @@ class procurement_order(osv.osv):
'tracking_id': False,
'cancel_cascade': line.cancel_cascade,
'state': 'confirmed',
'note': line.name, # TODO: same as above
'note': _('Move for pulled procurement coming from original location %s, pull rule %s, via original Procurement %s (#%d)') % (proc.location_id.name, line.name, proc.name, proc.id),
})
if proc.move_id and proc.move_id.state in ('confirmed'):
move_obj.write(cr,uid, [proc.move_id.id], {
@@ -97,6 +97,7 @@ class procurement_order(osv.osv):
proc_id = proc_obj.create(cr, uid, {
'name': line.name,
'origin': origin,
'note': _('Pulled procurement coming from original location %s, pull rule %s, via original Procurement %s (#%d)') % (proc.location_id.name, line.name, proc.name, proc.id),
'company_id': line.company_id and line.company_id.id or False,
'date_planned': proc.date_planned,
'product_id': proc.product_id.id,
@@ -116,7 +117,10 @@ class procurement_order(osv.osv):
if proc.move_id:
move_obj.write(cr, uid, [proc.move_id.id],
{'location_id':proc.location_id.id})
self.write(cr, uid, [proc.id], {'state':'running', 'message':_('Pulled from another location via procurement %d')%proc_id})
self.write(cr, uid, [proc.id], {'state':'running','message':_('Moved from other location')})
# trigger direct processing (the new procurement shares the same planned date as the original one, which is already being processed)
wf_service.trg_validate(uid, 'procurement.order', proc_id, 'button_check', cr)
return False
procurement_order()
procurement_order()
@@ -5,65 +5,61 @@
-
!record {model: account.account.type, id: account_account_type_asset0}:
close_method: balance
code: asset
name: Asset
code: asset_test
name: Asset For Tests
sign: 1
-
I create a account type income.
-
!record {model: account.account.type, id: account_account_type_income0}:
close_method: unreconciled
code: income
name: Income
code: income_test
name: Income For Tests
sign: 1
-
I create a account type Expense.
-
!record {model: account.account.type, id: account_account_type_expense0}:
close_method: unreconciled
code: expense
name: Expense
code: expense_test
name: Expense For Tests
sign: 1
-
I create a account type Receivable.
-
!record {model: account.account.type, id: account_account_type_receivable0}:
close_method: balance
code: receivable
name: Receivable
code: receivable_test
name: Receivable For Tests
sign: 1
-
I create a account Receivable.
-
!record {model: account.account, id: account_account_receivable0}:
code: '40000'
code: 40000_test
company_id: base.main_company
currency_mode: current
name: Receivable
parent_left: 1
parent_right: 2
name: Receivable For Tests
type: receivable
user_type: account_account_type_receivable0
-
I create a account Payable.
-
!record {model: account.account, id: account_account_payable0}:
code: '440000'
code: 440000_test
company_id: base.main_company
currency_mode: current
name: Payable
parent_left: 3
parent_right: 4
name: Payable For Tests
type: payable
user_type: account_account_type_expense0
-
I create a Purchase Journal.
-
!record {model: account.journal, id: account_journal_purchasejournal0}:
code: pur
code: pur_test
company_id: base.main_company
name: Purchase Journal
name: Purchase Journal For Tests
sequence_id: account.sequence_purchase_journal
type: purchase
view_id: account.account_journal_bank_view
@@ -72,33 +68,31 @@
I create a Sale Journal.
-
!record {model: account.journal, id: account_journal_salejouran0}:
code: sal
code: sal_test
company_id: base.main_company
name: Sale Journal
name: Sale Journal For Tests
sequence_id: account.sequence_sale_journal
type: sale
view_id: account.account_journal_view
-
I create a Sale Journal.
I create an Expense Account
-
!record {model: account.account, id: account_account_expenseaccount0}:
code: Expe
code: Expe_test
company_id: base.main_company
currency_mode: current
name: Expense Account
parent_left: 5
parent_right: 6
name: Expense Account For Tests
type: consolidation
user_type: account_account_type_asset0
-
I create Product Sale account.
-
!record {model: account.account, id: account_account_productsale0}:
code: '001'
code: 001_test
company_id: base.main_company
currency_mode: current
name: Product Sale
name: Product Sale For Tests
type: other
user_type: account_account_type_income0
@@ -106,31 +100,31 @@
I create Product Product Purchase.
-
!record {model: account.account, id: account_account_productpurchase0}:
code: '0002'
code: 0002_test
company_id: base.main_company
currency_mode: current
name: Product Purchase
name: Product Purchase For Tests
type: other
user_type: account_account_type_expense0
-
I create Supplier.
I create a Supplier.
-
!record {model: res.partner, id: res_partner_shawtrust0}:
address:
- country_id: base.in
- country_id: base.in
- street: St James House, Vicar Lane, Sheffield
lang: en_US
name: 'Shaw Trust '
property_account_payable: account_account_payable0
property_account_receivable: account_account_receivable0
-
I create product category.
I create a product category.
-
!record {model: product.category, id: product_category_computer0}:
name: Computer
-
I create product and define the pulled flow condition for stock move.
I set shipping type Sending Goods. and set Procurement type move.
I create a product and define the pulled flow condition for stock move.
I set shipping type Sending Goods. and set Procurement type to move.
-
!record {model: product.product, id: product_product_hpcdwriters0}:
categ_id: product_category_computer0
@@ -176,7 +170,7 @@
property_stock_production: stock.location_production
qty_available: 15
-
I create procurement order.
I create a procurement order.
-
!record {model: procurement.order, id: procurement_order_test0}:
company_id: base.main_company
@@ -191,7 +185,7 @@
product_uos: product.product_uom_unit
product_uos_qty: 0.0
-
I confirm procurement order.
I confirm the procurement order.
-
!workflow {model: procurement.order, action: button_confirm, ref: procurement_order_test0}
-
@@ -208,19 +202,18 @@
procurement_ids=self.search(cr, uid, [('id', '=', ref('procurement_order_test0'))])
if procurement_ids:
order=self.browse(cr,uid,procurement_ids)[0]
assert(order.state=='cancel')
assert(order.state=='cancel')
-
I check the new of procurement order create .
I check the new procurement order has been created .
-
!python {model: procurement.order }: |
from tools.translate import _
procurement_ids=self.search(cr, uid, [('name','=','E001')])
assert len(procurement_ids), "Procurement order hasn't Created."
assert len(procurement_ids), "Procurement order hasn't Created."
-
I check the Outgoing Picking is create for source location Shop 2 and destination shop1.
I check the Outgoing Picking is created for source location Shop 2 and destination shop1.
-
!python {model: stock.picking }: |
from tools.translate import _
picking_id = self.search(cr, uid, [('origin','=','Testing pulled flow:E001'),('type','=','out')])
assert len(picking_id), "Picking hasn't Created."
assert len(picking_id), "Picking hasn't Created."
@@ -45,17 +45,13 @@
name: res_partner_microlinktechnologies0
min_qty: 5.0
path_ids:
- auto: auto
invoice_state: none
location_dest_id: stock.stock_location_stock
location_from_id: stock.stock_location_suppliers
- auto: auto
invoice_state: none
location_dest_id: stock_location.stock_location_qualitytest0
location_from_id: stock.stock_location_stock
- auto: auto
invoice_state: none
location_dest_id: stock.stock_location_stock
location_dest_id: stock.stock_location_components
location_from_id: stock_location.stock_location_qualitytest0
supply_method: buy
type: product
+1 -1
View File
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-10-12 04:51+0000\n"
"X-Launchpad-Export-Date: 2010-10-13 04:59+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: wiki_faq
+1 -1
View File
@@ -14,7 +14,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2010-10-12 04:51+0000\n"
"X-Launchpad-Export-Date: 2010-10-13 04:59+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: wiki_quality_manual

Some files were not shown because too many files have changed in this diff Show More