[Merge]with : lp:openobject-addons

bzr revid: dbr@tinyerp.com-20120503053040-apovjoj0t8cdjujn
This commit is contained in:
DBR (OpenERP) 2012-05-03 11:00:40 +05:30
commit 2d4ec1773f
24 changed files with 7536 additions and 150 deletions

View File

@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
"PO-Revision-Date: 2012-04-28 01:14+0000\n"
"PO-Revision-Date: 2012-05-02 18:40+0000\n"
"Last-Translator: Akira Hiyama <Unknown>\n"
"Language-Team: Japanese <ja@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: 2012-04-29 04:45+0000\n"
"X-Generator: Launchpad (build 15149)\n"
"X-Launchpad-Export-Date: 2012-05-03 05:26+0000\n"
"X-Generator: Launchpad (build 15185)\n"
#. module: account
#: view:account.invoice.report:0
@ -8071,7 +8071,7 @@ msgstr "税金はパーセンテージタイプのため、0から1の間の%比
#. module: account
#: view:account.analytic.account:0
msgid "Current Accounts"
msgstr "現在のアカウント"
msgstr "当座預金"
#. module: account
#: view:account.invoice.report:0

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
"PO-Revision-Date: 2012-03-27 01:25+0000\n"
"PO-Revision-Date: 2012-05-03 02:11+0000\n"
"Last-Translator: Jeff Wang <wjfonhand@hotmail.com>\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: 2012-03-28 04:45+0000\n"
"X-Generator: Launchpad (build 15027)\n"
"X-Launchpad-Export-Date: 2012-05-03 05:26+0000\n"
"X-Generator: Launchpad (build 15185)\n"
#. module: account
#: view:account.invoice.report:0
@ -1811,7 +1811,7 @@ msgstr "基于"
#: field:account.invoice,move_id:0
#: field:account.invoice,move_name:0
msgid "Journal Entry"
msgstr "账簿的分录"
msgstr "会计凭证"
#. module: account
#: view:account.tax:0
@ -4663,7 +4663,7 @@ msgstr "税适用"
#: model:ir.ui.menu,name:account.menu_eaction_account_moves_sale
#, python-format
msgid "Journal Items"
msgstr "账簿明细"
msgstr "会计凭证行"
#. module: account
#: code:addons/account/account.py:1088
@ -6492,7 +6492,7 @@ msgstr "当前期间凭证列表"
msgid ""
"Check this box if you want to allow the cancellation the entries related to "
"this journal or of the invoice related to this journal"
msgstr "勾选这里,则此凭证簿下的亏即凭证或发票可以被作废。"
msgstr "勾选这里,则此凭证簿下的会计凭证或发票可以被作废。"
#. module: account
#: view:account.fiscalyear.close:0
@ -6614,7 +6614,7 @@ msgstr "如果你选择了按日期或期间筛选,可以用这个字段按所
#: model:ir.ui.menu,name:account.menu_action_move_journal_line_form
#: model:ir.ui.menu,name:account.menu_finance_entries
msgid "Journal Entries"
msgstr "账簿的分录"
msgstr "会计凭证"
#. module: account
#: help:account.partner.ledger,page_split:0
@ -7588,7 +7588,7 @@ msgstr "销售科目类型"
#. module: account
#: help:account.invoice,move_id:0
msgid "Link to the automatically generated Journal Items."
msgstr "链接到自动生成的账簿明细。"
msgstr "链接到自动生成的会计凭证行"
#. module: account
#: selection:account.installer,period:0

View File

@ -0,0 +1,793 @@
# Finnish translation for openobject-addons
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 01:37+0100\n"
"PO-Revision-Date: 2012-04-30 07:58+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Finnish <fi@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: 2012-05-01 05:29+0000\n"
"X-Generator: Launchpad (build 15171)\n"
#. module: account_asset
#: view:account.asset.asset:0
msgid "Assets in draft and open states"
msgstr ""
#. module: account_asset
#: field:account.asset.category,method_end:0
#: field:account.asset.history,method_end:0 field:asset.modify,method_end:0
msgid "Ending date"
msgstr ""
#. module: account_asset
#: field:account.asset.asset,value_residual:0
msgid "Residual Value"
msgstr ""
#. module: account_asset
#: field:account.asset.category,account_expense_depreciation_id:0
msgid "Depr. Expense Account"
msgstr ""
#. module: account_asset
#: view:asset.depreciation.confirmation.wizard:0
msgid "Compute Asset"
msgstr ""
#. module: account_asset
#: view:asset.asset.report:0
msgid "Group By..."
msgstr ""
#. module: account_asset
#: field:asset.asset.report,gross_value:0
msgid "Gross Amount"
msgstr ""
#. module: account_asset
#: view:account.asset.asset:0 field:account.asset.asset,name:0
#: field:account.asset.depreciation.line,asset_id:0
#: field:account.asset.history,asset_id:0 field:account.move.line,asset_id:0
#: view:asset.asset.report:0 field:asset.asset.report,asset_id:0
#: model:ir.model,name:account_asset.model_account_asset_asset
msgid "Asset"
msgstr ""
#. module: account_asset
#: help:account.asset.asset,prorata:0 help:account.asset.category,prorata:0
msgid ""
"Indicates that the first depreciation entry for this asset have to be done "
"from the purchase date instead of the first January"
msgstr ""
#. module: account_asset
#: field:account.asset.history,name:0
msgid "History name"
msgstr ""
#. module: account_asset
#: field:account.asset.asset,company_id:0
#: field:account.asset.category,company_id:0 view:asset.asset.report:0
#: field:asset.asset.report,company_id:0
msgid "Company"
msgstr ""
#. module: account_asset
#: view:asset.modify:0
msgid "Modify"
msgstr ""
#. module: account_asset
#: selection:account.asset.asset,state:0 view:asset.asset.report:0
#: selection:asset.asset.report,state:0
msgid "Running"
msgstr ""
#. module: account_asset
#: field:account.asset.depreciation.line,amount:0
msgid "Depreciation Amount"
msgstr ""
#. module: account_asset
#: view:asset.asset.report:0
#: model:ir.actions.act_window,name:account_asset.action_asset_asset_report
#: model:ir.model,name:account_asset.model_asset_asset_report
#: model:ir.ui.menu,name:account_asset.menu_action_asset_asset_report
msgid "Assets Analysis"
msgstr ""
#. module: account_asset
#: field:asset.modify,name:0
msgid "Reason"
msgstr ""
#. module: account_asset
#: field:account.asset.asset,method_progress_factor:0
#: field:account.asset.category,method_progress_factor:0
msgid "Degressive Factor"
msgstr ""
#. module: account_asset
#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_list_normal
#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_list_normal
msgid "Asset Categories"
msgstr ""
#. module: account_asset
#: view:asset.depreciation.confirmation.wizard:0
msgid ""
"This wizard will post the depreciation lines of running assets that belong "
"to the selected period."
msgstr ""
#. module: account_asset
#: field:account.asset.asset,account_move_line_ids:0
#: field:account.move.line,entry_ids:0
#: model:ir.actions.act_window,name:account_asset.act_entries_open
msgid "Entries"
msgstr ""
#. module: account_asset
#: view:account.asset.asset:0
#: field:account.asset.asset,depreciation_line_ids:0
msgid "Depreciation Lines"
msgstr ""
#. module: account_asset
#: help:account.asset.asset,salvage_value:0
msgid "It is the amount you plan to have that you cannot depreciate."
msgstr ""
#. module: account_asset
#: field:account.asset.depreciation.line,depreciation_date:0
#: view:asset.asset.report:0 field:asset.asset.report,depreciation_date:0
msgid "Depreciation Date"
msgstr ""
#. module: account_asset
#: field:account.asset.category,account_asset_id:0
msgid "Asset Account"
msgstr ""
#. module: account_asset
#: field:asset.asset.report,posted_value:0
msgid "Posted Amount"
msgstr ""
#. module: account_asset
#: view:account.asset.asset:0 view:asset.asset.report:0
#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_form
#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_form
#: model:ir.ui.menu,name:account_asset.menu_finance_assets
#: model:ir.ui.menu,name:account_asset.menu_finance_config_assets
msgid "Assets"
msgstr ""
#. module: account_asset
#: field:account.asset.category,account_depreciation_id:0
msgid "Depreciation Account"
msgstr ""
#. module: account_asset
#: view:account.asset.asset:0 view:account.asset.category:0
#: view:account.asset.history:0 view:asset.modify:0 field:asset.modify,note:0
msgid "Notes"
msgstr ""
#. module: account_asset
#: field:account.asset.depreciation.line,move_id:0
msgid "Depreciation Entry"
msgstr ""
#. module: account_asset
#: sql_constraint:account.move.line:0
msgid "Wrong credit or debit value in accounting entry !"
msgstr ""
#. module: account_asset
#: view:asset.asset.report:0 field:asset.asset.report,nbr:0
msgid "# of Depreciation Lines"
msgstr ""
#. module: account_asset
#: view:asset.asset.report:0
msgid "Assets in draft state"
msgstr ""
#. module: account_asset
#: field:account.asset.asset,method_end:0
#: selection:account.asset.asset,method_time:0
#: selection:account.asset.category,method_time:0
#: selection:account.asset.history,method_time:0
msgid "Ending Date"
msgstr ""
#. module: account_asset
#: field:account.asset.asset,code:0
msgid "Reference"
msgstr ""
#. module: account_asset
#: constraint:account.invoice:0
msgid "Invalid BBA Structured Communication !"
msgstr ""
#. module: account_asset
#: view:account.asset.asset:0
msgid "Account Asset"
msgstr ""
#. module: account_asset
#: model:ir.actions.act_window,name:account_asset.action_asset_depreciation_confirmation_wizard
#: model:ir.ui.menu,name:account_asset.menu_asset_depreciation_confirmation_wizard
msgid "Compute Assets"
msgstr ""
#. module: account_asset
#: field:account.asset.depreciation.line,sequence:0
msgid "Sequence of the depreciation"
msgstr ""
#. module: account_asset
#: field:account.asset.asset,method_period:0
#: field:account.asset.category,method_period:0
#: field:account.asset.history,method_period:0
#: field:asset.modify,method_period:0
msgid "Period Length"
msgstr ""
#. module: account_asset
#: selection:account.asset.asset,state:0 view:asset.asset.report:0
#: selection:asset.asset.report,state:0
msgid "Draft"
msgstr ""
#. module: account_asset
#: view:asset.asset.report:0
msgid "Date of asset purchase"
msgstr ""
#. module: account_asset
#: help:account.asset.asset,method_number:0
msgid "Calculates Depreciation within specified interval"
msgstr ""
#. module: account_asset
#: view:account.asset.asset:0
msgid "Change Duration"
msgstr ""
#. module: account_asset
#: field:account.asset.category,account_analytic_id:0
msgid "Analytic account"
msgstr ""
#. module: account_asset
#: field:account.asset.asset,method:0 field:account.asset.category,method:0
msgid "Computation Method"
msgstr ""
#. module: account_asset
#: help:account.asset.asset,method_period:0
msgid "State here the time during 2 depreciations, in months"
msgstr ""
#. module: account_asset
#: constraint:account.asset.asset:0
msgid ""
"Prorata temporis can be applied only for time method \"number of "
"depreciations\"."
msgstr ""
#. module: account_asset
#: help:account.asset.history,method_time:0
msgid ""
"The method to use to compute the dates and number of depreciation lines.\n"
"Number of Depreciations: Fix the number of depreciation lines and the time "
"between 2 depreciations.\n"
"Ending Date: Choose the time between 2 depreciations and the date the "
"depreciations won't go beyond."
msgstr ""
#. module: account_asset
#: field:account.asset.asset,purchase_value:0
msgid "Gross value "
msgstr ""
#. module: account_asset
#: constraint:account.asset.asset:0
msgid "Error ! You can not create recursive assets."
msgstr ""
#. module: account_asset
#: help:account.asset.history,method_period:0
msgid "Time in month between two depreciations"
msgstr ""
#. module: account_asset
#: view:asset.asset.report:0 field:asset.asset.report,name:0
msgid "Year"
msgstr "Vuosi"
#. module: account_asset
#: view:asset.modify:0
#: model:ir.actions.act_window,name:account_asset.action_asset_modify
#: model:ir.model,name:account_asset.model_asset_modify
msgid "Modify Asset"
msgstr ""
#. module: account_asset
#: view:account.asset.asset:0
msgid "Other Information"
msgstr "Lisätiedot"
#. module: account_asset
#: field:account.asset.asset,salvage_value:0
msgid "Salvage Value"
msgstr ""
#. module: account_asset
#: field:account.invoice.line,asset_category_id:0 view:asset.asset.report:0
msgid "Asset Category"
msgstr ""
#. module: account_asset
#: view:account.asset.asset:0
msgid "Set to Close"
msgstr ""
#. module: account_asset
#: model:ir.actions.wizard,name:account_asset.wizard_asset_compute
msgid "Compute assets"
msgstr ""
#. module: account_asset
#: model:ir.actions.wizard,name:account_asset.wizard_asset_modify
msgid "Modify asset"
msgstr ""
#. module: account_asset
#: view:account.asset.asset:0
msgid "Assets in closed state"
msgstr ""
#. module: account_asset
#: field:account.asset.asset,parent_id:0
msgid "Parent Asset"
msgstr ""
#. module: account_asset
#: view:account.asset.history:0
#: model:ir.model,name:account_asset.model_account_asset_history
msgid "Asset history"
msgstr ""
#. module: account_asset
#: view:asset.asset.report:0
msgid "Assets purchased in current year"
msgstr ""
#. module: account_asset
#: field:account.asset.asset,state:0 field:asset.asset.report,state:0
msgid "State"
msgstr ""
#. module: account_asset
#: model:ir.model,name:account_asset.model_account_invoice_line
msgid "Invoice Line"
msgstr ""
#. module: account_asset
#: constraint:account.move.line:0
msgid ""
"The selected account of your Journal Entry forces to provide a secondary "
"currency. You should remove the secondary currency on the account or select "
"a multi-currency view on the journal."
msgstr ""
#. module: account_asset
#: view:asset.asset.report:0
msgid "Month"
msgstr ""
#. module: account_asset
#: view:account.asset.asset:0
msgid "Depreciation Board"
msgstr ""
#. module: account_asset
#: model:ir.model,name:account_asset.model_account_move_line
msgid "Journal Items"
msgstr ""
#. module: account_asset
#: field:asset.asset.report,unposted_value:0
msgid "Unposted Amount"
msgstr ""
#. module: account_asset
#: field:account.asset.asset,method_time:0
#: field:account.asset.category,method_time:0
#: field:account.asset.history,method_time:0
msgid "Time Method"
msgstr ""
#. module: account_asset
#: view:account.asset.category:0
msgid "Analytic information"
msgstr ""
#. module: account_asset
#: view:asset.modify:0
msgid "Asset durations to modify"
msgstr ""
#. module: account_asset
#: constraint:account.move.line:0
msgid ""
"The date of your Journal Entry is not in the defined period! You should "
"change the date or remove this constraint from the journal."
msgstr ""
#. module: account_asset
#: field:account.asset.asset,note:0 field:account.asset.category,note:0
#: field:account.asset.history,note:0
msgid "Note"
msgstr ""
#. module: account_asset
#: help:account.asset.asset,method:0 help:account.asset.category,method:0
msgid ""
"Choose the method to use to compute the amount of depreciation lines.\n"
" * Linear: Calculated on basis of: Gross Value / Number of Depreciations\n"
" * Degressive: Calculated on basis of: Remaining Value * Degressive Factor"
msgstr ""
#. module: account_asset
#: help:account.asset.asset,method_time:0
#: help:account.asset.category,method_time:0
msgid ""
"Choose the method to use to compute the dates and number of depreciation "
"lines.\n"
" * Number of Depreciations: Fix the number of depreciation lines and the "
"time between 2 depreciations.\n"
" * Ending Date: Choose the time between 2 depreciations and the date the "
"depreciations won't go beyond."
msgstr ""
#. module: account_asset
#: view:asset.asset.report:0
msgid "Assets in running state"
msgstr ""
#. module: account_asset
#: view:account.asset.asset:0
msgid "Closed"
msgstr ""
#. module: account_asset
#: field:account.asset.asset,partner_id:0
#: field:asset.asset.report,partner_id:0
msgid "Partner"
msgstr ""
#. module: account_asset
#: view:asset.asset.report:0 field:asset.asset.report,depreciation_value:0
msgid "Amount of Depreciation Lines"
msgstr ""
#. module: account_asset
#: view:asset.asset.report:0
msgid "Posted depreciation lines"
msgstr ""
#. module: account_asset
#: constraint:account.move.line:0
msgid "Company must be the same for its related account and period."
msgstr ""
#. module: account_asset
#: field:account.asset.asset,child_ids:0
msgid "Children Assets"
msgstr ""
#. module: account_asset
#: view:asset.asset.report:0
msgid "Date of depreciation"
msgstr ""
#. module: account_asset
#: field:account.asset.history,user_id:0
msgid "User"
msgstr ""
#. module: account_asset
#: field:account.asset.history,date:0
msgid "Date"
msgstr ""
#. module: account_asset
#: view:asset.asset.report:0
msgid "Assets purchased in current month"
msgstr ""
#. module: account_asset
#: constraint:account.move.line:0
msgid "You can not create journal items on an account of type view."
msgstr ""
#. module: account_asset
#: view:asset.asset.report:0
msgid "Extended Filters..."
msgstr ""
#. module: account_asset
#: view:account.asset.asset:0 view:asset.depreciation.confirmation.wizard:0
msgid "Compute"
msgstr ""
#. module: account_asset
#: view:account.asset.category:0
msgid "Search Asset Category"
msgstr ""
#. module: account_asset
#: model:ir.model,name:account_asset.model_asset_depreciation_confirmation_wizard
msgid "asset.depreciation.confirmation.wizard"
msgstr ""
#. module: account_asset
#: field:account.asset.asset,active:0
msgid "Active"
msgstr ""
#. module: account_asset
#: model:ir.actions.wizard,name:account_asset.wizard_asset_close
msgid "Close asset"
msgstr ""
#. module: account_asset
#: field:account.asset.depreciation.line,parent_state:0
msgid "State of Asset"
msgstr ""
#. module: account_asset
#: field:account.asset.depreciation.line,name:0
msgid "Depreciation Name"
msgstr ""
#. module: account_asset
#: view:account.asset.asset:0 field:account.asset.asset,history_ids:0
msgid "History"
msgstr ""
#. module: account_asset
#: sql_constraint:account.invoice:0
msgid "Invoice Number must be unique per Company!"
msgstr ""
#. module: account_asset
#: field:asset.depreciation.confirmation.wizard,period_id:0
msgid "Period"
msgstr ""
#. module: account_asset
#: view:account.asset.asset:0
msgid "General"
msgstr ""
#. module: account_asset
#: field:account.asset.asset,prorata:0 field:account.asset.category,prorata:0
msgid "Prorata Temporis"
msgstr ""
#. module: account_asset
#: view:account.asset.category:0
msgid "Accounting information"
msgstr ""
#. module: account_asset
#: model:ir.model,name:account_asset.model_account_invoice
msgid "Invoice"
msgstr ""
#. module: account_asset
#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_form_normal
msgid "Review Asset Categories"
msgstr ""
#. module: account_asset
#: view:asset.depreciation.confirmation.wizard:0 view:asset.modify:0
msgid "Cancel"
msgstr ""
#. module: account_asset
#: selection:account.asset.asset,state:0 selection:asset.asset.report,state:0
msgid "Close"
msgstr ""
#. module: account_asset
#: view:account.asset.asset:0 view:account.asset.category:0
msgid "Depreciation Method"
msgstr ""
#. module: account_asset
#: field:account.asset.asset,purchase_date:0 view:asset.asset.report:0
#: field:asset.asset.report,purchase_date:0
msgid "Purchase Date"
msgstr ""
#. module: account_asset
#: selection:account.asset.asset,method:0
#: selection:account.asset.category,method:0
msgid "Degressive"
msgstr ""
#. module: account_asset
#: help:asset.depreciation.confirmation.wizard,period_id:0
msgid ""
"Choose the period for which you want to automatically post the depreciation "
"lines of running assets"
msgstr ""
#. module: account_asset
#: view:account.asset.asset:0
msgid "Current"
msgstr ""
#. module: account_asset
#: field:account.asset.depreciation.line,remaining_value:0
msgid "Amount to Depreciate"
msgstr ""
#. module: account_asset
#: field:account.asset.category,open_asset:0
msgid "Skip Draft State"
msgstr ""
#. module: account_asset
#: view:account.asset.asset:0 view:account.asset.category:0
#: view:account.asset.history:0
msgid "Depreciation Dates"
msgstr ""
#. module: account_asset
#: field:account.asset.asset,currency_id:0
msgid "Currency"
msgstr ""
#. module: account_asset
#: field:account.asset.category,journal_id:0
msgid "Journal"
msgstr ""
#. module: account_asset
#: field:account.asset.depreciation.line,depreciated_value:0
msgid "Amount Already Depreciated"
msgstr ""
#. module: account_asset
#: field:account.asset.depreciation.line,move_check:0
#: view:asset.asset.report:0 field:asset.asset.report,move_check:0
msgid "Posted"
msgstr ""
#. module: account_asset
#: help:account.asset.asset,state:0
msgid ""
"When an asset is created, the state is 'Draft'.\n"
"If the asset is confirmed, the state goes in 'Running' and the depreciation "
"lines can be posted in the accounting.\n"
"You can manually close an asset when the depreciation is over. If the last "
"line of depreciation is posted, the asset automatically goes in that state."
msgstr ""
#. module: account_asset
#: field:account.asset.category,name:0
msgid "Name"
msgstr ""
#. module: account_asset
#: help:account.asset.category,open_asset:0
msgid ""
"Check this if you want to automatically confirm the assets of this category "
"when created by invoices."
msgstr ""
#. module: account_asset
#: view:account.asset.asset:0
msgid "Set to Draft"
msgstr ""
#. module: account_asset
#: selection:account.asset.asset,method:0
#: selection:account.asset.category,method:0
msgid "Linear"
msgstr ""
#. module: account_asset
#: view:asset.asset.report:0
msgid "Month-1"
msgstr ""
#. module: account_asset
#: model:ir.model,name:account_asset.model_account_asset_depreciation_line
msgid "Asset depreciation line"
msgstr ""
#. module: account_asset
#: field:account.asset.asset,category_id:0 view:account.asset.category:0
#: field:asset.asset.report,asset_category_id:0
#: model:ir.model,name:account_asset.model_account_asset_category
msgid "Asset category"
msgstr ""
#. module: account_asset
#: view:asset.asset.report:0
msgid "Assets purchased in last month"
msgstr ""
#. module: account_asset
#: code:addons/account_asset/wizard/wizard_asset_compute.py:49
#, python-format
msgid "Created Asset Moves"
msgstr ""
#. module: account_asset
#: constraint:account.move.line:0
msgid "You can not create journal items on closed account."
msgstr ""
#. module: account_asset
#: model:ir.actions.act_window,help:account_asset.action_asset_asset_report
msgid ""
"From this report, you can have an overview on all depreciation. The tool "
"search can also be used to personalise your Assets reports and so, match "
"this analysis to your needs;"
msgstr ""
#. module: account_asset
#: help:account.asset.category,method_period:0
msgid "State here the time between 2 depreciations, in months"
msgstr ""
#. module: account_asset
#: field:account.asset.asset,method_number:0
#: selection:account.asset.asset,method_time:0
#: field:account.asset.category,method_number:0
#: selection:account.asset.category,method_time:0
#: field:account.asset.history,method_number:0
#: selection:account.asset.history,method_time:0
#: field:asset.modify,method_number:0
msgid "Number of Depreciations"
msgstr ""
#. module: account_asset
#: view:account.asset.asset:0
msgid "Create Move"
msgstr ""
#. module: account_asset
#: view:asset.depreciation.confirmation.wizard:0
msgid "Post Depreciation Lines"
msgstr ""
#. module: account_asset
#: view:account.asset.asset:0
msgid "Confirm Asset"
msgstr ""
#. module: account_asset
#: model:ir.actions.act_window,name:account_asset.action_account_asset_asset_tree
#: model:ir.ui.menu,name:account_asset.menu_action_account_asset_asset_tree
msgid "Asset Hierarchy"
msgstr ""

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,355 @@
# Japanese translation for openobject-addons
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
"PO-Revision-Date: 2012-05-02 03:38+0000\n"
"Last-Translator: Tomomi Mengelberg <tomomi.mengelberg@aquasys.co.jp>\n"
"Language-Team: Japanese <ja@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: 2012-05-03 05:26+0000\n"
"X-Generator: Launchpad (build 15185)\n"
#. module: account_invoice_layout
#: selection:account.invoice.line,state:0
msgid "Sub Total"
msgstr "小計"
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Note:"
msgstr "備考:"
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Cancelled Invoice"
msgstr "請求書をキャンセルする。"
#. module: account_invoice_layout
#: selection:account.invoice.line,state:0
#: field:notify.message,name:0
msgid "Title"
msgstr "タイトル"
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Disc. (%)"
msgstr "割引. (%)"
#. module: account_invoice_layout
#: selection:account.invoice.line,state:0
msgid "Note"
msgstr "備考"
#. module: account_invoice_layout
#: view:account.invoice.special.msg:0
msgid "Print"
msgstr "印刷"
#. module: account_invoice_layout
#: help:notify.message,msg:0
msgid ""
"This notification will appear at the bottom of the Invoices when printed."
msgstr ""
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Unit Price"
msgstr "単価"
#. module: account_invoice_layout
#: model:ir.model,name:account_invoice_layout.model_notify_message
msgid "Notify By Messages"
msgstr ""
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "VAT :"
msgstr "消費税:"
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Tel. :"
msgstr "TEL"
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "PRO-FORMA"
msgstr ""
#. module: account_invoice_layout
#: field:account.invoice,abstract_line_ids:0
msgid "Invoice Lines"
msgstr ""
#. module: account_invoice_layout
#: view:account.invoice.line:0
msgid "Seq."
msgstr ""
#. module: account_invoice_layout
#: model:ir.ui.menu,name:account_invoice_layout.menu_finan_config_notify_message
msgid "Notification Message"
msgstr ""
#. module: account_invoice_layout
#: report:account.invoice.layout:0
msgid "Customer Code"
msgstr "顧客コード"
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Description"
msgstr "詳細"
#. module: account_invoice_layout
#: help:account.invoice.line,sequence:0
msgid "Gives the sequence order when displaying a list of invoice lines."
msgstr ""
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Price"
msgstr "価格"
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Invoice Date"
msgstr "請求日"
#. module: account_invoice_layout
#: report:account.invoice.layout:0
msgid "Taxes:"
msgstr ""
#. module: account_invoice_layout
#: field:account.invoice.line,functional_field:0
msgid "Source Account"
msgstr ""
#. module: account_invoice_layout
#: model:ir.actions.act_window,name:account_invoice_layout.notify_mesage_tree_form
msgid "Write Messages"
msgstr ""
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Base"
msgstr ""
#. module: account_invoice_layout
#: selection:account.invoice.line,state:0
msgid "Page Break"
msgstr ""
#. module: account_invoice_layout
#: view:notify.message:0
#: field:notify.message,msg:0
msgid "Special Message"
msgstr ""
#. module: account_invoice_layout
#: help:account.invoice.special.msg,message:0
msgid "Message to Print at the bottom of report"
msgstr ""
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Quantity"
msgstr "数量"
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Refund"
msgstr "返金"
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Fax :"
msgstr ""
#. module: account_invoice_layout
#: report:account.invoice.layout:0
msgid "Total:"
msgstr ""
#. module: account_invoice_layout
#: view:account.invoice.special.msg:0
msgid "Select Message"
msgstr ""
#. module: account_invoice_layout
#: view:notify.message:0
msgid "Messages"
msgstr ""
#. module: account_invoice_layout
#: selection:account.invoice.line,state:0
msgid "Product"
msgstr ""
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Description / Taxes"
msgstr ""
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Amount"
msgstr ""
#. module: account_invoice_layout
#: model:notify.message,msg:account_invoice_layout.demo_message1
msgid "ERP & CRM Solutions..."
msgstr ""
#. module: account_invoice_layout
#: report:notify_account.invoice:0
msgid "Net Total :"
msgstr ""
#. module: account_invoice_layout
#: report:notify_account.invoice:0
msgid "Total :"
msgstr ""
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Draft Invoice"
msgstr ""
#. module: account_invoice_layout
#: field:account.invoice.line,sequence:0
msgid "Sequence Number"
msgstr ""
#. module: account_invoice_layout
#: model:ir.model,name:account_invoice_layout.model_account_invoice_special_msg
msgid "Account Invoice Special Message"
msgstr ""
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Origin"
msgstr ""
#. module: account_invoice_layout
#: sql_constraint:account.invoice:0
msgid "Invoice Number must be unique per Company!"
msgstr ""
#. module: account_invoice_layout
#: selection:account.invoice.line,state:0
msgid "Separator Line"
msgstr ""
#. module: account_invoice_layout
#: report:notify_account.invoice:0
msgid "Your Reference"
msgstr ""
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Supplier Invoice"
msgstr ""
#. module: account_invoice_layout
#: model:ir.actions.report.xml,name:account_invoice_layout.account_invoices_1
msgid "Invoices"
msgstr ""
#. module: account_invoice_layout
#: constraint:account.invoice:0
msgid "Invalid BBA Structured Communication !"
msgstr ""
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Tax"
msgstr ""
#. module: account_invoice_layout
#: model:ir.model,name:account_invoice_layout.model_account_invoice_line
msgid "Invoice Line"
msgstr ""
#. module: account_invoice_layout
#: report:account.invoice.layout:0
msgid "Net Total:"
msgstr ""
#. module: account_invoice_layout
#: model:ir.actions.act_window,name:account_invoice_layout.action_account_invoice_special_msg
#: model:ir.actions.report.xml,name:account_invoice_layout.account_invoices_layout_message
msgid "Invoices and Message"
msgstr ""
#. module: account_invoice_layout
#: field:account.invoice.line,state:0
msgid "Type"
msgstr ""
#. module: account_invoice_layout
#: view:notify.message:0
msgid "Write a notification or a wishful message."
msgstr ""
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: model:ir.model,name:account_invoice_layout.model_account_invoice
#: report:notify_account.invoice:0
msgid "Invoice"
msgstr ""
#. module: account_invoice_layout
#: view:account.invoice.special.msg:0
msgid "Cancel"
msgstr ""
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Supplier Refund"
msgstr ""
#. module: account_invoice_layout
#: field:account.invoice.special.msg,message:0
msgid "Message"
msgstr ""
#. module: account_invoice_layout
#: report:notify_account.invoice:0
msgid "Taxes :"
msgstr ""
#. module: account_invoice_layout
#: model:ir.ui.menu,name:account_invoice_layout.menu_notify_mesage_tree_form
msgid "All Notification Messages"
msgstr ""

View File

@ -0,0 +1,202 @@
# Gujarati translation for openobject-addons
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
"PO-Revision-Date: 2012-05-02 19:35+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Gujarati <gu@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: 2012-05-03 05:26+0000\n"
"X-Generator: Launchpad (build 15185)\n"
#. module: crm_profiling
#: view:crm_profiling.questionnaire:0
msgid "Questions List"
msgstr ""
#. module: crm_profiling
#: model:ir.actions.act_window,help:crm_profiling.open_questionnaires
msgid ""
"You can create specific topic-related questionnaires to guide your team(s) "
"in the sales cycle by helping them to ask the right questions. The "
"segmentation tool allows you to automatically assign a partner to a category "
"according to his answers to the different questionnaires."
msgstr ""
#. module: crm_profiling
#: field:crm_profiling.answer,question_id:0
#: field:crm_profiling.question,name:0
#: model:ir.model,name:crm_profiling.model_crm_profiling_question
#: field:open.questionnaire.line,question_id:0
msgid "Question"
msgstr "પ્રશ્ન"
#. module: crm_profiling
#: model:ir.actions.act_window,name:crm_profiling.action_open_questionnaire
#: view:open.questionnaire:0
msgid "Open Questionnaire"
msgstr ""
#. module: crm_profiling
#: field:crm.segmentation,child_ids:0
msgid "Child Profiles"
msgstr ""
#. module: crm_profiling
#: view:crm.segmentation:0
msgid "Partner Segmentations"
msgstr ""
#. module: crm_profiling
#: field:crm_profiling.answer,name:0
#: model:ir.model,name:crm_profiling.model_crm_profiling_answer
#: field:open.questionnaire.line,answer_id:0
msgid "Answer"
msgstr "જવાબ"
#. module: crm_profiling
#: model:ir.model,name:crm_profiling.model_open_questionnaire_line
msgid "open.questionnaire.line"
msgstr ""
#. module: crm_profiling
#: model:ir.model,name:crm_profiling.model_crm_segmentation
msgid "Partner Segmentation"
msgstr ""
#. module: crm_profiling
#: view:res.partner:0
msgid "Profiling"
msgstr ""
#. module: crm_profiling
#: view:crm_profiling.questionnaire:0
#: field:crm_profiling.questionnaire,description:0
msgid "Description"
msgstr "વર્ણન"
#. module: crm_profiling
#: field:crm.segmentation,answer_no:0
msgid "Excluded Answers"
msgstr ""
#. module: crm_profiling
#: view:crm_profiling.answer:0
#: view:crm_profiling.question:0
#: field:res.partner,answers_ids:0
msgid "Answers"
msgstr ""
#. module: crm_profiling
#: model:ir.model,name:crm_profiling.model_open_questionnaire
msgid "open.questionnaire"
msgstr ""
#. module: crm_profiling
#: field:open.questionnaire,questionnaire_id:0
msgid "Questionnaire name"
msgstr ""
#. module: crm_profiling
#: view:res.partner:0
msgid "Use a questionnaire"
msgstr ""
#. module: crm_profiling
#: view:open.questionnaire:0
msgid "_Cancel"
msgstr "રદ કરો (_C)"
#. module: crm_profiling
#: field:open.questionnaire,question_ans_ids:0
msgid "Question / Answers"
msgstr ""
#. module: crm_profiling
#: view:crm_profiling.questionnaire:0
#: model:ir.actions.act_window,name:crm_profiling.open_questionnaires
#: model:ir.ui.menu,name:crm_profiling.menu_segm_questionnaire
#: view:open.questionnaire:0
msgid "Questionnaires"
msgstr ""
#. module: crm_profiling
#: help:crm.segmentation,profiling_active:0
msgid ""
"Check this box if you want to use this tab as "
"part of the segmentation rule. If not checked, "
"the criteria beneath will be ignored"
msgstr ""
#. module: crm_profiling
#: constraint:crm.segmentation:0
msgid "Error ! You can not create recursive profiles."
msgstr ""
#. module: crm_profiling
#: field:crm.segmentation,profiling_active:0
msgid "Use The Profiling Rules"
msgstr ""
#. module: crm_profiling
#: constraint:res.partner:0
msgid "Error ! You cannot create recursive associated members."
msgstr "ભૂલ! તમે પાસાના સંકળાયેલ સભ્યો નહિં બનાવી શકો."
#. module: crm_profiling
#: view:crm_profiling.question:0
#: field:crm_profiling.question,answers_ids:0
msgid "Avalaible answers"
msgstr ""
#. module: crm_profiling
#: field:crm.segmentation,answer_yes:0
msgid "Included Answers"
msgstr ""
#. module: crm_profiling
#: view:crm_profiling.question:0
#: field:crm_profiling.questionnaire,questions_ids:0
#: model:ir.actions.act_window,name:crm_profiling.open_questions
#: model:ir.ui.menu,name:crm_profiling.menu_segm_answer
msgid "Questions"
msgstr "પ્રશ્નો"
#. module: crm_profiling
#: field:crm.segmentation,parent_id:0
msgid "Parent Profile"
msgstr ""
#. module: crm_profiling
#: view:open.questionnaire:0
msgid "Cancel"
msgstr "રદ કરો"
#. module: crm_profiling
#: model:ir.model,name:crm_profiling.model_res_partner
msgid "Partner"
msgstr "ભાગીદાર"
#. module: crm_profiling
#: code:addons/crm_profiling/wizard/open_questionnaire.py:77
#: field:crm_profiling.questionnaire,name:0
#: model:ir.model,name:crm_profiling.model_crm_profiling_questionnaire
#: view:open.questionnaire:0
#: view:open.questionnaire.line:0
#: field:open.questionnaire.line,wizard_id:0
#, python-format
msgid "Questionnaire"
msgstr ""
#. module: crm_profiling
#: view:open.questionnaire:0
msgid "Save Data"
msgstr ""

View File

@ -0,0 +1,270 @@
# Gujarati translation for openobject-addons
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
"PO-Revision-Date: 2012-05-02 19:34+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Gujarati <gu@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: 2012-05-03 05:26+0000\n"
"X-Generator: Launchpad (build 15185)\n"
#. module: hr_contract
#: field:hr.contract,wage:0
msgid "Wage"
msgstr ""
#. module: hr_contract
#: view:hr.contract:0
msgid "Information"
msgstr "માહિતી"
#. module: hr_contract
#: view:hr.contract:0
msgid "Trial Period"
msgstr ""
#. module: hr_contract
#: field:hr.contract,trial_date_start:0
msgid "Trial Start Date"
msgstr ""
#. module: hr_contract
#: view:hr.employee:0
msgid "Medical Examination"
msgstr ""
#. module: hr_contract
#: field:hr.employee,vehicle:0
msgid "Company Vehicle"
msgstr ""
#. module: hr_contract
#: view:hr.employee:0
msgid "Miscellaneous"
msgstr "પરચૂરણ"
#. module: hr_contract
#: view:hr.contract:0
msgid "Current"
msgstr "વર્તમાન"
#. module: hr_contract
#: view:hr.contract:0
msgid "Group By..."
msgstr "ગ્રુપ દ્વારા..."
#. module: hr_contract
#: field:hr.contract,department_id:0
msgid "Department"
msgstr "વિભાગ"
#. module: hr_contract
#: view:hr.contract:0
msgid "Overpassed"
msgstr ""
#. module: hr_contract
#: view:hr.contract:0
#: field:hr.contract,employee_id:0
#: model:ir.model,name:hr_contract.model_hr_employee
msgid "Employee"
msgstr "કર્મચારી"
#. module: hr_contract
#: view:hr.contract:0
msgid "Search Contract"
msgstr ""
#. module: hr_contract
#: view:hr.contract:0
msgid "Contracts in progress"
msgstr "ચાલુ કરારો"
#. module: hr_contract
#: field:hr.employee,vehicle_distance:0
msgid "Home-Work Distance"
msgstr ""
#. module: hr_contract
#: view:hr.contract:0
#: field:hr.employee,contract_ids:0
#: model:ir.actions.act_window,name:hr_contract.act_hr_employee_2_hr_contract
#: model:ir.actions.act_window,name:hr_contract.action_hr_contract
#: model:ir.ui.menu,name:hr_contract.hr_menu_contract
msgid "Contracts"
msgstr "કરારો"
#. module: hr_contract
#: view:hr.employee:0
msgid "Personal Info"
msgstr "ખાનગી જાણકારી"
#. module: hr_contract
#: view:hr.contract:0
msgid "Contracts whose end date already passed"
msgstr ""
#. module: hr_contract
#: help:hr.employee,contract_id:0
msgid "Latest contract of the employee"
msgstr ""
#. module: hr_contract
#: view:hr.contract:0
msgid "Job"
msgstr "કાર્ય"
#. module: hr_contract
#: view:hr.contract:0
#: field:hr.contract,advantages:0
msgid "Advantages"
msgstr ""
#. module: hr_contract
#: view:hr.contract:0
msgid "Valid for"
msgstr ""
#. module: hr_contract
#: view:hr.contract:0
msgid "Work Permit"
msgstr ""
#. module: hr_contract
#: field:hr.employee,children:0
msgid "Number of Children"
msgstr ""
#. module: hr_contract
#: model:ir.actions.act_window,name:hr_contract.action_hr_contract_type
#: model:ir.ui.menu,name:hr_contract.hr_menu_contract_type
msgid "Contract Types"
msgstr ""
#. module: hr_contract
#: constraint:hr.employee:0
msgid "Error ! You cannot create recursive Hierarchy of Employees."
msgstr ""
#. module: hr_contract
#: field:hr.contract,date_end:0
msgid "End Date"
msgstr "અંતિમ તારીખ"
#. module: hr_contract
#: help:hr.contract,wage:0
msgid "Basic Salary of the employee"
msgstr ""
#. module: hr_contract
#: field:hr.contract,name:0
msgid "Contract Reference"
msgstr ""
#. module: hr_contract
#: help:hr.employee,vehicle_distance:0
msgid "In kilometers"
msgstr ""
#. module: hr_contract
#: view:hr.contract:0
#: field:hr.contract,notes:0
msgid "Notes"
msgstr "નોંધ"
#. module: hr_contract
#: field:hr.contract,permit_no:0
msgid "Work Permit No"
msgstr ""
#. module: hr_contract
#: view:hr.contract:0
#: field:hr.employee,contract_id:0
#: model:ir.model,name:hr_contract.model_hr_contract
#: model:ir.ui.menu,name:hr_contract.next_id_56
msgid "Contract"
msgstr "કરાર"
#. module: hr_contract
#: view:hr.contract:0
#: field:hr.contract,type_id:0
#: view:hr.contract.type:0
#: field:hr.contract.type,name:0
#: model:ir.model,name:hr_contract.model_hr_contract_type
msgid "Contract Type"
msgstr ""
#. module: hr_contract
#: view:hr.contract:0
#: field:hr.contract,working_hours:0
msgid "Working Schedule"
msgstr ""
#. module: hr_contract
#: view:hr.employee:0
msgid "Job Info"
msgstr ""
#. module: hr_contract
#: field:hr.contract,visa_expire:0
msgid "Visa Expire Date"
msgstr ""
#. module: hr_contract
#: field:hr.contract,job_id:0
msgid "Job Title"
msgstr "નોકરી શીર્ષક"
#. module: hr_contract
#: field:hr.employee,manager:0
msgid "Is a Manager"
msgstr ""
#. module: hr_contract
#: field:hr.contract,date_start:0
msgid "Start Date"
msgstr "શરુઆતની તારીખ"
#. module: hr_contract
#: constraint:hr.contract:0
msgid "Error! contract start-date must be lower then contract end-date."
msgstr ""
#. module: hr_contract
#: field:hr.contract,visa_no:0
msgid "Visa No"
msgstr ""
#. module: hr_contract
#: field:hr.employee,place_of_birth:0
msgid "Place of Birth"
msgstr "જન્મનું સ્થાન"
#. module: hr_contract
#: view:hr.contract:0
msgid "Duration"
msgstr "સમયગાળો"
#. module: hr_contract
#: field:hr.employee,medic_exam:0
msgid "Medical Examination Date"
msgstr ""
#. module: hr_contract
#: field:hr.contract,trial_date_end:0
msgid "Trial End Date"
msgstr ""
#. module: hr_contract
#: view:hr.contract.type:0
msgid "Search Contract Type"
msgstr ""

View File

@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
"PO-Revision-Date: 2012-04-18 07:31+0000\n"
"PO-Revision-Date: 2012-05-02 02:17+0000\n"
"Last-Translator: Tomomi Mengelberg <tomomi.mengelberg@aquasys.co.jp>\n"
"Language-Team: Japanese <ja@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: 2012-04-19 04:38+0000\n"
"X-Generator: Launchpad (build 15108)\n"
"X-Launchpad-Export-Date: 2012-05-03 05:26+0000\n"
"X-Generator: Launchpad (build 15185)\n"
#. module: import_sugarcrm
#: code:addons/import_sugarcrm/import_sugarcrm.py:1105
@ -94,7 +94,7 @@ msgstr ""
#: code:addons/import_sugarcrm/sugarsoap_services.py:23
#, python-format
msgid "Please install SOAP for python - ZSI-2.0-rc3.tar.gz - python-zci"
msgstr "python SOAPをインストールしてください。"
msgstr "Python SOAPをインストールしてください。- ZSI-2.0-rc3.tar.gz - python-zci"
#. module: import_sugarcrm
#: view:import.sugarcrm:0
@ -240,6 +240,8 @@ msgid ""
"Please install SOAP for python - ZSI-2.0-rc3.tar.gz from "
"http://pypi.python.org/pypi/ZSI/"
msgstr ""
"Python SOAPをインストールしてください。- ZSI-2.0-rc3.tar.gz from "
"http://pypi.python.org/pypi/ZSI/"
#. module: import_sugarcrm
#: help:import.sugarcrm,project:0

View File

@ -0,0 +1,38 @@
# Japanese translation for openobject-addons
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
"PO-Revision-Date: 2012-05-02 02:53+0000\n"
"Last-Translator: Tomomi Mengelberg <tomomi.mengelberg@aquasys.co.jp>\n"
"Language-Team: Japanese <ja@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: 2012-05-03 05:26+0000\n"
"X-Generator: Launchpad (build 15185)\n"
#. module: pad_project
#: constraint:project.task:0
msgid "Error ! Task end-date must be greater then task start-date"
msgstr "エラーです。 タスクの終了日は開始日以降の日付に設定しなければなりません。"
#. module: pad_project
#: model:ir.model,name:pad_project.model_project_task
msgid "Task"
msgstr "タスク"
#. module: pad_project
#: view:project.task:0
msgid "Pad"
msgstr "パッド"
#. module: pad_project
#: constraint:project.task:0
msgid "Error ! You cannot create recursive tasks."
msgstr "エラーです。 再帰的なタスクを作成することはできません。"

View File

@ -0,0 +1,74 @@
# Japanese translation for openobject-addons
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-09 00:36+0000\n"
"PO-Revision-Date: 2012-05-02 03:10+0000\n"
"Last-Translator: Tomomi Mengelberg <tomomi.mengelberg@aquasys.co.jp>\n"
"Language-Team: Japanese <ja@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: 2012-05-03 05:26+0000\n"
"X-Generator: Launchpad (build 15185)\n"
#. module: plugin_outlook
#: view:outlook.installer:0
msgid ""
"This plug-in allows you to create and link outlook emails with openerp "
"objects."
msgstr "このプラグインは、OpenERP オブジェストを使用してOutlookのメールを作成しリンクすることができます。"
#. module: plugin_outlook
#: field:outlook.installer,name:0
msgid "Outlook Plug-in"
msgstr "Outlook プラグイン"
#. module: plugin_outlook
#: model:ir.actions.act_window,name:plugin_outlook.action_outlook_installer
#: model:ir.actions.act_window,name:plugin_outlook.action_outlook_wizard
#: model:ir.ui.menu,name:plugin_outlook.menu_base_config_plugins_outlook
#: view:outlook.installer:0
msgid "Install Outlook Plug-In"
msgstr "Outlook プラグインをインストールする。"
#. module: plugin_outlook
#: field:outlook.installer,config_logo:0
msgid "Image"
msgstr "画像"
#. module: plugin_outlook
#: view:outlook.installer:0
msgid "title"
msgstr "タイトル"
#. module: plugin_outlook
#: model:ir.model,name:plugin_outlook.model_outlook_installer
msgid "outlook.installer"
msgstr "outlook.installer"
#. module: plugin_outlook
#: view:outlook.installer:0
msgid "_Close"
msgstr "閉じる(_C)"
#. module: plugin_outlook
#: view:outlook.installer:0
msgid "Installation and Configuration Steps"
msgstr "インストールと構成の手順"
#. module: plugin_outlook
#: help:outlook.installer,name:0
msgid ""
"outlook plug-in file. Save as this file and install this plug-in in outlook."
msgstr "outlook プラグインファイル. outlookでこのファイルを保存し、プラグインをインストールします。"
#. module: plugin_outlook
#: field:outlook.installer,description:0
msgid "Description"
msgstr "説明"

View File

@ -442,9 +442,9 @@ class purchase_order(osv.osv):
'name': self.pool.get('ir.sequence').get(cr, uid, 'stock.picking.in'),
'origin': order.name + ((order.origin and (':' + order.origin)) or ''),
'date': order.date_order,
'type': 'in',
'partner_id': order.dest_address_id.id or order.partner_id.id,
'invoice_state': '2binvoiced' if order.invoice_method == 'picking' else 'none',
'type': 'in',
'purchase_id': order.id,
'company_id': order.company_id.id,
'move_lines' : [],

View File

@ -19,7 +19,7 @@
<field name="inherit_id" ref="stock.view_picking_form"/>
<field name="arch" type="xml">
<field name="auto_picking" position="after">
<field name="purchase_id"/>
<field name="purchase_id" invisible="1"/>
</field>
</field>
</record>
@ -30,7 +30,7 @@
name="Receptions"
res_model="stock.picking"
src_model="purchase.order"
context="{'default_purchase_id': active_id, 'contact_display': 'partner'}" />
context="{'default_purchase_id': active_id, 'contact_display': 'partner', 'default_type': 'in'}" />
<record id="action_picking_in_tree_view" model="ir.actions.act_window.view">
<field eval="1" name="sequence"/>
@ -51,9 +51,9 @@
<field name="type">form</field>
<field name="inherit_id" ref="stock.view_picking_in_form"/>
<field name="arch" type="xml">
<field name="backorder_id" position="after">
<xpath expr="/form/notebook/page/field[@name='date']" position="before">
<field name="purchase_id"/>
</field>
</xpath>
</field>
</record>
@ -67,8 +67,8 @@
<group col="8" colspan="4">
<filter icon="terp-check" name="available" string="Available"
domain="[('state','=','assigned')]" help="Incoming Shipments Available"/>
<filter icon="terp-dialog-close" name="done" string="Done"
domain="[('state','=','done')]" help="Incoming Shipments already processed"/>
<filter icon="terp-dialog-close" name="done" string="Received"
domain="[('state','=','done')]" help="Incoming Shipments already Received"/>
<separator orientation="vertical"/>
<filter icon="terp-accessories-archiver-minus" string="Back Orders"
domain="[('backorder_id', '!=', False)]" help="Is a Back Order"/>
@ -89,7 +89,7 @@
<separator orientation="vertical"/>
<filter string="Order Date" icon="terp-go-month"
domain="[]" context="{'group_by':'date'}"/>
<filter string="Expected Date" icon="terp-go-month"
<filter string="Scheduled Date" icon="terp-go-month"
domain="[]" context="{'group_by':'min_date'}"/>
<separator orientation="vertical"/>
<filter string="Journal" icon="terp-folder-orange"
@ -111,6 +111,19 @@
<field name="help">If you set the Invoicing Control on a purchase order as "Based on receptions", you can track here all the product receptions and create invoices for those receptions.</field>
</record>
<record id="action_picking_in_tree_view1" model="ir.actions.act_window.view">
<field eval="1" name="sequence"/>
<field name="view_mode">tree</field>
<field name="view_id" ref="stock.view_picking_in_tree"/>
<field name="act_window_id" ref="action_picking_tree4_picking_to_invoice"/>
</record>
<record id="action_picking_in_form_view1" model="ir.actions.act_window.view">
<field eval="2" name="sequence"/>
<field name="view_mode">form</field>
<field name="view_id" ref="stock.view_picking_in_form"/>
<field name="act_window_id" ref="action_picking_tree4_picking_to_invoice"/>
</record>
<menuitem action="action_picking_tree4_picking_to_invoice"
id="menu_action_picking_tree4_picking_to_invoice"
parent="purchase.menu_procurement_management_invoice" sequence="90"/>

View File

@ -244,8 +244,21 @@
<page string="History">
<separator colspan="4" string="Invoices"/>
<field colspan="4" name="invoice_ids" nolabel="1" context="{'form_view_ref':'account.invoice_form'}"/>
<separator colspan="4" string="Packings"/>
<field colspan="4" name="picking_ids" nolabel="1"/>
<separator colspan="4" string="Delivery Orders"/>
<field colspan="4" name="picking_ids" nolabel="1" context="{'form_view_ref':'stock.view_picking_out_form', 'default_type': 'out'}">
<tree colors="blue:state == 'draft';grey:state == 'cancel';red:state not in ('cancel', 'done') and min_date &lt; current_date" string="Delivery Orders">
<field name="name"/>
<field name="partner_id"/>
<field name="origin"/>
<field name="date"/>
<field name="min_date"/>
<field name="backorder_id"/>
<field name="invoice_state"/>
<field name="stock_journal_id" widget="selection"/>
<field name="state"/>
<button name="action_process" states="assigned" string="Deliver" type="object" icon="gtk-go-forward" context="{'default_type': 'out'}"/>
</tree>
</field>
</page>
</notebook>
</sheet>

View File

@ -72,8 +72,8 @@ Thanks to the double entry management, the inventory controlling is powerful and
'wizard/stock_return_picking_view.xml',
"stock_workflow.xml",
"stock_incoterms.xml",
"stock_view.xml",
"stock_report.xml",
"stock_view.xml",
"stock_sequence.xml",
"product_data.xml",
"product_view.xml",

View File

@ -1,6 +1,6 @@
<?xml version="1.0"?>
<document filename="Packing List.pdf">
<template title="Packing List" author="OpenERP S.A.(sales@openerp.com)" allowSplitting="20">
<template pageSize="(595.0,842.0)" title="Packing 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>
@ -31,7 +31,6 @@
<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"/>
<lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="4,0" stop="4,-1"/>
@ -52,14 +51,12 @@
<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"/>
<lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="4,0" stop="4,-1"/>
<lineStyle kind="LINEAFTER" colorName="#e6e6e6" start="4,0" stop="4,-1"/>
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="4,0" stop="4,0"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="4,-1" stop="4,-1"/>
</blockTableStyle>
<blockTableStyle id="Move_Line_Header">
<blockAlignment value="LEFT"/>
@ -161,7 +158,9 @@
<blockTable colWidths="269.0,269.0" style="Table_Address_detail">
<tr>
<td>
<para style="terp_default_Bold_9">Shipping Address :</para>
<para style="terp_default_Bold_9">Supplier Address : [[ (picking.type == 'in' or removeParentNode('para')) and '' ]]</para>
<para style="terp_default_Bold_9">Customer Address : [[ (picking.type == 'out' or removeParentNode('para')) and '' ]]</para>
<para style="terp_default_Bold_9">Warehouse Address : [[ (picking.type == 'internal' or removeParentNode('para')) and '' ]]</para>
<para style="terp_default_9">[[ (picking.partner_id and picking.partner_id.id and picking.partner_id.title.name) or '' ]] [[ picking.partner_id and picking.partner_id.id and picking.partner_id.name ]]</para>
<para style="terp_default_9">[[ picking.partner_id and display_address(picking.partner_id,'delivery') ]]</para>
</td>
@ -181,16 +180,16 @@
<blockTable colWidths="538.0" style="Table_Title_String">
<tr>
<td>
<para style="terp_header">Packing List: [[ (picking.type == 'out' or removeParentNode('para')) and '' ]] [[ picking.name ]] </para>
<para style="terp_header">Reception: [[ (picking.type == 'in' or removeParentNode('para')) and '' ]] [[ picking.name ]]</para>
<para style="terp_header">Picking List: [[ (picking.type == 'internal' or removeParentNode('para')) and '' ]] [[ picking.name ]]</para>
<para style="terp_header">Delivery Order : [[ (picking.type == 'out' or removeParentNode('para')) and '' ]] [[ picking.name ]]</para>
<para style="terp_header">Incoming Shipment : [[ (picking.type == 'in' or removeParentNode('para')) and '' ]] [[ picking.name ]]</para>
<para style="terp_header">Internal Shipment : [[ (picking.type == 'internal' or removeParentNode('para')) and '' ]] [[ picking.name ]]</para>
</td>
</tr>
</blockTable>
<para style="terp_default_5cm_Above_Space">
<font color="white"> </font>
</para>
<blockTable colWidths="100.0,110.0,130.0,120.0,60.0" style="Header_Order_Reference_Tbl">
<blockTable colWidths="100.0,100.0,108.0,107.0,109.0" style="Header_Order_Reference_Tbl">
<tr>
<td>
<para style="terp_tblheader_General_Centre">Journal</para>
@ -209,7 +208,7 @@
</td>
</tr>
</blockTable>
<blockTable colWidths="100.0,110.0,130.0,120.0,60.0" style="Content_Order_Reference_Table">
<blockTable colWidths="100.0,100.0,108.0,107.0,109.0" style="Content_Order_Reference_Table">
<tr>
<td>
<para style="terp_default_Centre_8">[[ picking.stock_journal_id.name]]</para>
@ -240,7 +239,7 @@
<para style="terp_tblheader_Details_Centre">Lot</para>
</td>
<td>
<para style="terp_tblheader_Details">State</para>
<para style="terp_tblheader_Details_Centre">State</para>
</td>
<td>
<para style="terp_tblheader_Details_Right">Location</para>

View File

@ -38,7 +38,7 @@ class report_stock_move(osv.osv):
'partner_id':fields.many2one('res.partner', 'Partner', readonly=True),
'product_id':fields.many2one('product.product', 'Product', readonly=True),
'company_id':fields.many2one('res.company', 'Company', readonly=True),
'picking_id':fields.many2one('stock.picking', 'Packing', readonly=True),
'picking_id':fields.many2one('stock.picking', 'Shipment', readonly=True),
'type': fields.selection([('out', 'Sending Goods'), ('in', 'Getting Goods'), ('internal', 'Internal'), ('other', 'Others')], 'Shipping Type', required=True, select=True, help="Shipping type specify, goods coming in or going out."),
'location_id': fields.many2one('stock.location', 'Source Location', readonly=True, select=True, help="Sets a location if you produce at a fixed location. This can be a partner location if you subcontract the manufacturing operations."),
'location_dest_id': fields.many2one('stock.location', 'Dest. Location', readonly=True, select=True, help="Location where the system will stock the finished products."),

View File

@ -117,7 +117,7 @@
<filter name="group_categ_id" string="Product Category" icon="terp-stock_symbol-selection" context="{'group_by':'categ_id'}"/>
<filter name="group_product" string="Product" icon="terp-accessories-archiver" context="{'group_by':'product_id'}"/>
<separator orientation="vertical"/>
<filter name="group_picking" string="Packing" icon="terp-accessories-archiver" context="{'group_by':'picking_id'}"/>
<filter name="group_picking" string="Shipment" icon="terp-accessories-archiver" context="{'group_by':'picking_id'}"/>
<separator orientation="vertical"/>
<filter string="Source Location" name="src_location" icon="terp-gtk-jump-to-rtl" context="{'group_by':'location_id'}"/>
<filter string="Dest. Location" name="dest_location" icon="terp-gtk-jump-to-ltr" context="{'group_by':'location_dest_id'}"/>

View File

@ -19,6 +19,7 @@
#
##############################################################################
from lxml import etree
from datetime import datetime
from dateutil.relativedelta import relativedelta
import time
@ -534,6 +535,14 @@ stock_tracking()
#----------------------------------------------------------
# Stock Picking
#----------------------------------------------------------
PICK_STATE = [
('draft', 'Draft'),
('auto', 'Waiting Another Operation'),
('confirmed', 'Waiting Availability'),
('assigned', 'Ready to Process'),
('done', 'Done'),
('cancel', 'Cancelled'),
]
class stock_picking(osv.osv):
_name = "stock.picking"
_inherit = ['mail.thread']
@ -605,6 +614,19 @@ class stock_picking(osv.osv):
res[pick]['min_date'] = dt1
res[pick]['max_date'] = dt2
return res
def _tooltip_picking_state(self, state=None):
# Update the tooltip of state field based on shipment type e.g: Delivery, Reception and Internal Transfer
if state is None:
state = PICK_STATE
_tooltip_state_assigned = state.get('assigned', False)
_tooltip_state_done = state.get('done', False)
return _("* Draft: not confirmed yet and will not be scheduled until confirmed\n"\
"* Waiting Another Operation: waiting for another move to proceed before it becomes automatically available (e.g. in Make-To-Order flows)\n"\
"* Waiting Availability: still waiting for the availability of products\n"\
"* %s: products reserved, simply waiting for confirmation.\n"\
"* %s: has been processed, can't be modified or cancelled anymore\n"\
"* Cancelled: has been cancelled, can't be confirmed anymore") % (_tooltip_state_assigned, _tooltip_state_done)
def create(self, cr, user, vals, context=None):
if ('name' not in vals) or (vals.get('name')=='/'):
@ -616,47 +638,34 @@ class stock_picking(osv.osv):
return new_id
_columns = {
'name': fields.char('Reference', size=64, select=True),
'origin': fields.char('Origin', size=64, help="Reference of the document that produced this picking.", select=True),
'backorder_id': fields.many2one('stock.picking', 'Back Order of', help="If this picking was split this field links to the picking that contains the other part that has been processed already.", select=True),
'type': fields.selection([('out', 'Sending Goods'), ('in', 'Getting Goods'), ('internal', 'Internal')], 'Shipping Type', required=True, select=True, help="Shipping type specify, goods coming in or going out."),
'note': fields.text('Notes'),
'stock_journal_id': fields.many2one('stock.journal','Stock Journal', select=True),
'location_id': fields.many2one('stock.location', 'Location', help="Keep empty if you produce at the location where the finished products are needed." \
'name': fields.char('Reference', size=64, select=True, states={'done':[('readonly', True)], 'cancel':[('readonly',True)]}),
'origin': fields.char('Origin', size=64, states={'done':[('readonly', True)], 'cancel':[('readonly',True)]}, help="Reference of the document", select=True),
'backorder_id': fields.many2one('stock.picking', 'Back Order of', states={'done':[('readonly', True)], 'cancel':[('readonly',True)]}, help="If this shipment was split, then this field links to the shipment which contains the already processed part.", select=True),
'type': fields.selection([('out', 'Sending Goods'), ('in', 'Getting Goods'), ('internal', 'Internal')], 'Shipping Type', required=True, select=True, states={'done':[('readonly', True)], 'cancel':[('readonly',True)]}, help="Shipping type specify, goods coming in or going out."),
'note': fields.text('Notes', states={'done':[('readonly', True)], 'cancel':[('readonly',True)]}),
'stock_journal_id': fields.many2one('stock.journal','Stock Journal', select=True, states={'done':[('readonly', True)], 'cancel':[('readonly',True)]}),
'location_id': fields.many2one('stock.location', 'Location', states={'done':[('readonly', True)], 'cancel':[('readonly',True)]}, help="Keep empty if you produce at the location where the finished products are needed." \
"Set a location if you produce at a fixed location. This can be a partner location " \
"if you subcontract the manufacturing operations.", select=True),
'location_dest_id': fields.many2one('stock.location', 'Dest. Location',help="Location where the system will stock the finished products.", select=True),
'move_type': fields.selection([('direct', 'Partial Delivery'), ('one', 'All at once')], 'Delivery Method', required=True, help="It specifies goods to be delivered all at once or by direct delivery"),
'state': fields.selection([
('draft', 'New'),
('auto', 'Waiting Another Operation'),
('confirmed', 'Waiting Availability'),
('assigned', 'Ready to Process'),
('done', 'Done'),
('cancel', 'Cancelled'),
], 'State', readonly=True, select=True,
help="* Draft: not confirmed yet and will not be scheduled until confirmed\n"\
"* Confirmed: still waiting for the availability of products\n"\
"* Available: products reserved, simply waiting for confirmation.\n"\
"* Waiting: waiting for another move to proceed before it becomes automatically available (e.g. in Make-To-Order flows)\n"\
"* Done: has been processed, can't be modified or cancelled anymore\n"\
"* Cancelled: has been cancelled, can't be confirmed anymore"),
'location_dest_id': fields.many2one('stock.location', 'Dest. Location', states={'done':[('readonly', True)], 'cancel':[('readonly',True)]}, help="Location where the system will stock the finished products.", select=True),
'move_type': fields.selection([('direct', 'Partial'), ('one', 'All at once')], 'Delivery Method', required=True, states={'done':[('readonly', True)], 'cancel':[('readonly',True)]}, help="It specifies goods to be deliver partially or all at once"),
'state': fields.selection(PICK_STATE, 'State', readonly=True, select=True),
'min_date': fields.function(get_min_max_date, fnct_inv=_set_minimum_date, multi="min_max_date",
store=True, type='datetime', string='Expected Date', select=1, help="Expected date for the picking to be processed"),
'date': fields.datetime('Order Date', help="Date of Order", select=True),
'date_done': fields.datetime('Date Done', help="Date of Completion"),
store=True, type='datetime', string='Scheduled Date', select=1, help="Scheduled date for the shipment to be processed"),
'date': fields.datetime('Order Date', help="Date of order", select=True, states={'done':[('readonly', True)], 'cancel':[('readonly',True)]}),
'date_done': fields.datetime('Date Done', help="Date of Completion", states={'done':[('readonly', True)], 'cancel':[('readonly',True)]}),
'max_date': fields.function(get_min_max_date, fnct_inv=_set_maximum_date, multi="min_max_date",
store=True, type='datetime', string='Max. Expected Date', select=2),
'move_lines': fields.one2many('stock.move', 'picking_id', 'Internal Moves', states={'done': [('readonly', True)], 'cancel': [('readonly', True)]}),
'product_id': fields.related('move_lines','product_id', type='many2one', relation='product.product', string='Product',store=True),
'auto_picking': fields.boolean('Auto-Picking'),
'partner_id': fields.many2one('res.partner', 'Partner'),
'auto_picking': fields.boolean('Auto-Picking', states={'done':[('readonly', True)], 'cancel':[('readonly',True)]}),
'partner_id': fields.many2one('res.partner', 'Partner', states={'done':[('readonly', True)], 'cancel':[('readonly',True)]}),
'invoice_state': fields.selection([
("invoiced", "Invoiced"),
("2binvoiced", "To Be Invoiced"),
("none", "Not Applicable")], "Invoice Control",
select=True, required=True, readonly=True, states={'draft': [('readonly', False)]}),
'company_id': fields.many2one('res.company', 'Company', required=True, select=True),
'company_id': fields.many2one('res.company', 'Company', required=True, select=True, states={'done':[('readonly', True)], 'cancel':[('readonly',True)]}),
}
_defaults = {
'name': lambda self, cr, uid, context: '/',
@ -670,23 +679,82 @@ class stock_picking(osv.osv):
_sql_constraints = [
('name_uniq', 'unique(name, company_id)', 'Reference must be unique per Company!'),
]
def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
if context is None:
context = {}
mod_obj = self.pool.get('ir.model.data')
# To get the right view of shipment based on type from stock move and Back order.
if context.get('default_picking_id', False):
picking_type = self.browse(cr, uid, context['default_picking_id'], context=context).type
if picking_type == 'out':
context.update({'default_type':'out'})
view_id = mod_obj.get_object_reference(cr, uid, 'stock', 'view_picking_out_form')[1]
elif picking_type == 'in':
context.update({'default_type':'in'})
view_id = mod_obj.get_object_reference(cr, uid, 'stock', 'view_picking_in_form')[1]
elif picking_type == 'internal':
context.update({'default_type':'internal'})
view_id = mod_obj.get_object_reference(cr, uid, 'stock', 'view_picking_form')[1]
type = context.get('default_type', False)
res = super(stock_picking, self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar, submenu=submenu)
if type:
if res.get('toolbar', False):
# To update the report label according to shipping type
for report in res['toolbar']['print']:
if report['report_name'] != 'stock.picking.list':
continue
if type == 'in':
report['string'] = _('Receipt Slip')
elif type == 'internal':
report['string'] = _('Picking Slip')
elif type == 'out':
report['string'] = _('Delivery Slip')
report['name'] = report['string']
for field in res['fields']:
# To update the states label according to shipping type
if field == 'state':
_state = dict(PICK_STATE)
if type == 'in':
_state['assigned'] = _('Ready to Receive')
_state['done'] = _('Received')
elif type == 'internal':
_state['assigned'] = _('Ready to Transfer')
_state['done'] = _('Transferred')
elif type == 'out':
_state['assigned'] = _('Ready to Deliver')
_state['done'] = _('Delivered')
res['fields']['state']['selection'] = [(x[0], _state[x[0]]) for x in PICK_STATE]
res['fields']['state']['help'] = self._tooltip_picking_state(_state)
# To update the fields tooltips according to shipping type
if field == 'partner_id':
_tooltip = ''
if type == 'in':
_tooltip = _('supplier')
elif type == 'internal':
_tooltip = _('warehouse')
elif type == 'out':
_tooltip = _('customer')
res['fields']['partner_id']['help'] = _("Address of %s") %(_tooltip)
return res
def action_process(self, cr, uid, ids, context=None):
if context is None: context = {}
context = dict(context, active_ids=ids, active_model=self._name)
partial_id = self.pool.get("stock.partial.picking").create(cr, uid, {}, context=context)
mod_obj = self.pool.get('ir.model.data')
model_data_ids = mod_obj.search(cr, uid, [('model','=','ir.ui.view'),('name','=','stock_partial_picking_form')], context=context)
resource_id = mod_obj.read(cr, uid, model_data_ids, fields=['res_id'], context=context)[0]['res_id']
ctx = context.copy()
ctx.update({'active_model': 'stock.picking', 'active_ids': ids })
return {
'name':_("Products to Process"),
'view_mode': 'form',
'view_id': False,
'view_type': 'form',
'view_mode': 'form',
'res_model': 'stock.partial.picking',
'res_id': partial_id,
'views': [(resource_id,'form')],
'view_id': resource_id,
'type': 'ir.actions.act_window',
'nodestroy': True,
'target': 'new',
'domain': '[]',
'context': context,
'context': ctx,
'nodestroy': True,
}
def copy(self, cr, uid, id, default=None, context=None):
@ -740,7 +808,10 @@ class stock_picking(osv.osv):
""" Changes state of picking to available if all moves are confirmed.
@return: True
"""
wf_service = netsvc.LocalService("workflow")
for pick in self.browse(cr, uid, ids):
if pick.state == 'draft':
wf_service.trg_validate(uid, 'stock.picking', pick.id, 'button_confirm', cr)
move_ids = [x.id for x in pick.move_lines if x.state == 'confirmed']
if not move_ids:
raise osv.except_osv(_('Warning !'),_('Not enough stock, unable to reserve the products.'))
@ -823,6 +894,9 @@ class stock_picking(osv.osv):
for pick in self.browse(cr, uid, ids):
mt = pick.move_type
for move in pick.move_lines:
# incomming shipments are always set as available
if pick.type == 'in':
return True
if (move.state in ('confirmed', 'draft')) and (mt == 'one'):
return False
if (mt == 'direct') and (move.state == 'assigned') and (move.product_qty):
@ -1540,6 +1614,14 @@ stock_production_lot_revision()
# Fields:
# location_dest_id is only used for predicting futur stocks
#
MOVE_STATE = [
('draft', 'Draft'),
('waiting', 'Waiting Another Move'),
('confirmed', 'Waiting Availability'),
('assigned', 'Available'),
('done', 'Done'),
('cancel', 'Cancelled')
]
class stock_move(osv.osv):
def _getSSCC(self, cr, uid, context=None):
@ -1603,6 +1685,17 @@ class stock_move(osv.osv):
return False
return True
def _tooltip_move_state(self, state=None):
# Update the tooltip of state field based on shipment type e.g: Delivery, Reception and Internal Transfer
if state is None:
state = MOVE_STATE
_tooltip_state_assigned = state.get('assigned', False)
_tooltip_state_done = state.get('done', False)
return _("* Draft: When the stock move is created it is in the \'Draft\' state.\n"\
"* Waiting Another Move: it is set to \'Waiting Another Move\' state if the scheduler did not find the products.\n"\
"* Waiting Availability: The state is \'Waiting Availability\' if the move is waiting for another one.\n"\
"* %s: When products are reserved it is set to \'%s\'.\n"\
"* %s: When the shipment is done the state is \'%s\'.") % (_tooltip_state_assigned, _tooltip_state_assigned, _tooltip_state_done, _tooltip_state_done)
_columns = {
'name': fields.char('Name', size=250, required=True, select=True),
'priority': fields.selection([('0', 'Not urgent'), ('1', 'Urgent')], 'Priority'),
@ -1631,9 +1724,12 @@ class stock_move(osv.osv):
'move_history_ids2': fields.many2many('stock.move', 'stock_move_history_ids', 'child_id', 'parent_id', 'Move History (parent moves)'),
'picking_id': fields.many2one('stock.picking', 'Reference', select=True,states={'done': [('readonly', True)]}),
'note': fields.text('Notes'),
'state': fields.selection([('draft', 'New'), ('waiting', 'Waiting Another Move'), ('confirmed', 'Waiting Availability'), ('assigned', 'Available'), ('done', 'Done'), ('cancel', 'Cancelled')], 'State', readonly=True, select=True,
help='When the stock move is created it is in the \'Draft\' state.\n After that, it is set to \'Not Available\' state if the scheduler did not find the products.\n When products are reserved it is set to \'Available\'.\n When the picking is done the state is \'Done\'.\
\nThe state is \'Waiting\' if the move is waiting for another one.'),
'state': fields.selection(MOVE_STATE, 'State', readonly=True, select=True,
help= "* Draft: When the stock move is created it is in the \'Draft\' state.\n"\
"* Waiting Another Move: it is set to \'Waiting Another Move\' state if the scheduler did not find the products.\n"\
"* Waiting Availability: The state is \'Waiting Availability\' if the move is waiting for another one.\n"\
"* Available: When products are reserved it is set to \'Available\'.\n"\
"* Done: When the shipment is done the state is \'Done\'."),
'price_unit': fields.float('Unit Price', digits_compute= dp.get_precision('Account'), help="Technical field used to record the product cost set by the user during a picking confirmation (when average price costing method is used)"),
'price_currency_id': fields.many2one('res.currency', 'Currency for average price', help="Technical field used to record the currency chosen by the user during a picking confirmation (when average price costing method is used)"),
'company_id': fields.many2one('res.company', 'Company', required=True, select=True),
@ -1659,6 +1755,38 @@ class stock_move(osv.osv):
'You try to assign a lot which is not from the same product',
['prodlot_id'])]
def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
if context is None:
context = {}
type = context.get('default_type', False)
res = super(stock_move, self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar, submenu=submenu)
if type:
doc = etree.XML(res['arch'])
if type == 'out':
#To Update button label in case of shipping type is out
if view_type == 'tree':
for node in doc.xpath("//button[@string='Receive']"):
node.set('string', _('Deliver'))
for node in doc.xpath("//group/button[@string='Process Now']"):
node.set('string', _('Deliver'))
for field in res['fields']:
# To update the states label according to shipping type
if field == 'state':
_state = dict(MOVE_STATE)
if type == 'in':
_state['assigned'] = _('Ready to Receive')
_state['done'] = _('Received')
elif type == 'internal':
_state['assigned'] = _('Ready to Transfer')
_state['done'] = _('Transferred')
elif type == 'out':
_state['assigned'] = _('Ready to Deliver')
_state['done'] = _('Delivered')
res['fields']['state']['selection'] = [(x[0], _state[x[0]]) for x in MOVE_STATE]
res['fields']['state']['help'] = self._tooltip_move_state(_state)
res['arch'] = etree.tostring(doc)
return res
def _default_location_destination(self, cr, uid, context=None):
""" Gets default address of partner for destination location
@return: Address id or False

View File

@ -691,7 +691,20 @@
<field name="type">form</field>
<field eval="12" name="priority"/>
<field name="arch" type="xml">
<form string="Internal Picking List">
<form layout="manual">
<div class="oe_form_topbar">
<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_process" states="assigned" string="Process" groups="stock.group_stock_user" type="object" icon="gtk-go-forward"/>
<button name="%(action_stock_invoice_onshipping)d" string="Create Invoice" attrs="{'invisible': ['|','|',('state','&lt;&gt;','done'),('invoice_state','=','invoiced'),('invoice_state','=','none')]}" type="action" icon="terp-gtk-go-back-rtl" />
<div class="oe_right">
<field name="state" nolabel="1" widget="statusbar" statusbar_visible="draft,progress,done" statusbar_colors='{"shipping_except":"red","invoice_except":"red","waiting_date":"blue"}'/>
</div>
</div>
<sheet string="Internal Picking List" layout="auto">
<group colspan="4" col="6">
<group colspan="4" col="4">
<field name="name" readonly="1"/>
@ -795,16 +808,6 @@
</group>
</form>
</field>
<group col="10" colspan="4">
<field name="state" readonly="1" widget="statusbar" statusbar_visible="draft,confirmed,assigned,done" statusbar_colors='{"auto":"blue", "confirmed":"blue"}'/>
<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_process" states="assigned" string="Process" groups="stock.group_stock_user" type="object" icon="gtk-go-forward"/>
<button name="%(action_stock_invoice_onshipping)d" string="Create Invoice" attrs="{'invisible': ['|','|',('state','&lt;&gt;','done'),('invoice_state','=','invoiced'),('invoice_state','=','none')]}" type="action" icon="terp-gtk-go-back-rtl" />
</group>
</page>
<page string="Additional info">
<field name="auto_picking"/>
@ -817,6 +820,7 @@
<field colspan="4" name="note" nolabel="1"/>
</page>
</notebook>
</sheet>
</form>
</field>
</record>
@ -882,7 +886,21 @@
<field name="model">stock.picking</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Delivery Orders">
<form layout="manual">
<div class="oe_form_topbar">
<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" icon="gtk-find"/>
<button name="force_assign" states="confirmed" string="Force Availability" type="object" icon="gtk-jump-to"/>
<button name="action_process" states="assigned" string="Process" type="object" icon="gtk-go-forward"/>
<button name="%(act_stock_return_picking)d" string="Return Products" states="done" type="action" icon="gtk-execute"/>
<button name="%(action_stock_invoice_onshipping)d" string="Create Invoice" attrs="{'invisible': ['|','|',('state','&lt;&gt;','done'),('invoice_state','=','invoiced'),('invoice_state','=','none')]}" type="action" icon="terp-gtk-go-back-rtl"/>
<div class="oe_right">
<field name="state" nolabel="1" readonly="1" widget="statusbar" statusbar_visible="draft,confirmed,assigned,done" statusbar_colors='{"auto":"blue", "confirmed":"blue"}'/>
</div>
</div>
<sheet string="Delivery Orders" layout="auto">
<group col="6" colspan="4">
<group colspan="4" col="4">
<field name="name" readonly="1"/>
@ -985,17 +1003,6 @@
</group>
</form>
</field>
<group col="12" colspan="4">
<field name="state" readonly="1" widget="statusbar" statusbar_visible="draft,confirmed,assigned,done" statusbar_colors='{"auto":"blue", "confirmed":"blue"}'/>
<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" icon="gtk-find"/>
<button name="force_assign" states="confirmed" string="Force Availability" type="object" icon="gtk-jump-to"/>
<button name="action_process" states="assigned" string="Process" type="object" icon="gtk-go-forward"/>
<button name="%(act_stock_return_picking)d" string="Return Products" states="done" type="action" icon="gtk-execute"/>
<button name="%(action_stock_invoice_onshipping)d" string="Create Invoice" attrs="{'invisible': ['|','|',('state','&lt;&gt;','done'),('invoice_state','=','invoiced'),('invoice_state','=','none')]}" type="action" icon="terp-gtk-go-back-rtl"/>
</group>
</page>
<page string="Additional info">
<field name="auto_picking"/>
@ -1008,7 +1015,10 @@
<field colspan="4" name="note" nolabel="1"/>
</page>
</notebook>
</sheet>
<div class="oe_form_sheet_width">
<field name="message_ids_social" colspan="4" widget="ThreadView" nolabel="1"/>
</div>
</form>
</field>
</record>
@ -1102,7 +1112,21 @@
<field name="model">stock.picking</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Input Picking List">
<form layout="manual">
<div class="oe_form_topbar">
<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" icon="gtk-jump-to"/>
<button name="action_process" states="assigned" string="Process" type="object" icon="gtk-go-forward"/>
<button name="%(act_stock_return_picking)d" string="Return Products" states="done" type="action" icon="gtk-execute"/>
<button name="%(action_stock_invoice_onshipping)d" string="Create Invoice" attrs="{'invisible': ['|','|',('state','&lt;&gt;','done'),('invoice_state','=','invoiced'),('invoice_state','=','none')]}" type="action" icon="terp-gtk-go-back-rtl" />
<div class="oe_right">
<field name="state" nolabel="1" readonly="1" widget="statusbar" statusbar_visible="draft,assigned,done" statusbar_colors='{"auto":"blue", "confirmed":"blue"}'/>
</div>
</div>
<sheet string="Input Picking List" layout="auto">
<group colspan="4" col="6">
<group colspan="4" col="4">
<field name="name" readonly="1"/>
@ -1203,17 +1227,6 @@
</group>
</form>
</field>
<group col="10" colspan="4">
<field name="state" readonly="1" widget="statusbar" statusbar_visible="draft,assigned,done" statusbar_colors='{"auto":"blue", "confirmed":"blue"}'/>
<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" icon="gtk-jump-to"/>
<button name="action_process" states="assigned" string="Process" type="object" icon="gtk-go-forward"/>
<button name="%(act_stock_return_picking)d" string="Return Products" states="done" type="action" icon="gtk-execute"/>
<button name="%(action_stock_invoice_onshipping)d" string="Create Invoice" attrs="{'invisible': ['|','|',('state','&lt;&gt;','done'),('invoice_state','=','invoiced'),('invoice_state','=','none')]}" type="action" icon="terp-gtk-go-back-rtl" />
</group>
</page>
<page string="Additional Info">
<field name="type"/>
@ -1223,7 +1236,10 @@
<field colspan="4" name="note" nolabel="1"/>
</page>
</notebook>
</sheet>
<div class="oe_form_sheet_width">
<field name="message_ids_social" colspan="4" widget="ThreadView" nolabel="1"/>
</div>
</form>
</field>
</record>

View File

@ -51,11 +51,12 @@
<field name="act_to" ref="act_confirmed"/>
<field name="signal">button_confirm</field>
</record>
<record id="trans_confirmed_assigned_back" model="workflow.transition">
<field name="act_from" ref="act_assigned"/>
<field name="act_to" ref="act_confirmed"/>
<field name="condition">not test_assigned()</field>
</record>
</record>
<record id="trans_confirmed_assigned" model="workflow.transition">
<field name="act_from" ref="act_confirmed"/>
<field name="act_to" ref="act_assigned"/>

View File

@ -20,6 +20,7 @@
##############################################################################
import time
from lxml import etree
from osv import fields, osv
from tools.misc import DEFAULT_SERVER_DATETIME_FORMAT
import decimal_precision as dp
@ -71,6 +72,32 @@ class stock_partial_picking(osv.osv_memory):
'picking_id': fields.many2one('stock.picking', 'Picking', required=True, ondelete='CASCADE'),
'hide_tracking': fields.function(_hide_tracking, string='Tracking', type='boolean', help='This field is for internal purpose. It is used to decide if the column prodlot has to be shown on the move_ids field or not'),
}
def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
if context is None:
context={}
# remove the entry with key 'form_view_ref', otherwise fields_view_get crashes
context.pop('form_view_ref', None)
res = super(stock_partial_picking, self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar, submenu=submenu)
type = context.get('default_type', False)
if type:
doc = etree.XML(res['arch'])
for node in doc.xpath("//group/button[@string='_Validate']"):
if type == 'in':
node.set('string', _('_Receive'))
elif type == 'internal':
node.set('string', _('_Transfer'))
elif type == 'out':
node.set('string', _('_Deliver'))
for node in doc.xpath("//separator[@string='Products']"):
if type == 'in':
node.set('string', _('Receive Products'))
elif type == 'internal':
node.set('string', _('Transfer Products'))
elif type == 'out':
node.set('string', _('Deliver Products'))
res['arch'] = etree.tostring(doc)
return res
def default_get(self, cr, uid, fields, context=None):
if context is None: context = {}
@ -111,7 +138,7 @@ class stock_partial_picking(osv.osv_memory):
def _partial_move_for(self, cr, uid, move):
partial_move = {
'product_id' : move.product_id.id,
'quantity' : move.state in ('assigned','new') and move.product_qty or 0,
'quantity' : move.state in ('assigned','draft','confirmed') and move.product_qty or 0,
'product_uom' : move.product_uom.id,
'prodlot_id' : move.prodlot_id.id,
'move_id' : move.id,

View File

@ -45,7 +45,7 @@ class stock_return_picking(osv.osv_memory):
_columns = {
'product_return_moves' : fields.one2many('stock.return.picking.memory', 'wizard_id', 'Moves'),
'invoice_state': fields.selection([('2binvoiced', 'To be refunded/invoiced'), ('none', 'No invoicing')], 'Invoicing',required=True),
}
}
def default_get(self, cr, uid, fields, context=None):
"""
@ -143,6 +143,8 @@ class stock_return_picking(osv.osv_memory):
pick_obj = self.pool.get('stock.picking')
uom_obj = self.pool.get('product.uom')
data_obj = self.pool.get('stock.return.picking.memory')
act_obj = self.pool.get('ir.actions.act_window')
model_obj = self.pool.get('ir.model.data')
wf_service = netsvc.LocalService("workflow")
pick = pick_obj.browse(cr, uid, record_id, context=context)
data = self.read(cr, uid, ids[0], context=context)
@ -152,15 +154,20 @@ class stock_return_picking(osv.osv_memory):
returned_lines = 0
# Create new picking for returned products
if pick.type=='out':
if pick.type =='out':
new_type = 'in'
elif pick.type=='in':
elif pick.type =='in':
new_type = 'out'
else:
new_type = 'internal'
new_picking = pick_obj.copy(cr, uid, pick.id, {'name':'%s-return' % pick.name,
'move_lines':[], 'state':'draft', 'type':new_type,
'date':date_cur, 'invoice_state':data['invoice_state'],})
new_picking = pick_obj.copy(cr, uid, pick.id, {
'name':'%s-return' % pick.name,
'move_lines': [],
'state':'draft',
'type': new_type,
'date':date_cur,
'invoice_state': data['invoice_state'],
})
val_id = data['product_return_moves']
for v in val_id:
@ -178,40 +185,34 @@ class stock_return_picking(osv.osv_memory):
if new_qty:
returned_lines += 1
new_move=move_obj.copy(cr, uid, move.id, {
'product_qty': new_qty,
'product_uos_qty': uom_obj._compute_qty(cr, uid, move.product_uom.id,
new_qty, move.product_uos.id),
'picking_id':new_picking, 'state':'draft',
'location_id':new_location, 'location_dest_id':move.location_id.id,
'date':date_cur,})
move_obj.write(cr, uid, [move.id], {'move_history_ids2':[(4,new_move)]})
'product_qty': new_qty,
'product_uos_qty': uom_obj._compute_qty(cr, uid, move.product_uom.id, new_qty, move.product_uos.id),
'picking_id':new_picking,
'state': 'draft',
'location_id': new_location,
'location_dest_id': move.location_id.id,
'date': date_cur,
})
move_obj.write(cr, uid, [move.id], {'move_history_ids2':[(4,new_move)]}, context=context)
if not returned_lines:
raise osv.except_osv(_('Warning !'), _("Please specify at least one non-zero quantity!"))
if set_invoice_state_to_none:
pick_obj.write(cr, uid, [pick.id], {'invoice_state':'none'})
pick_obj.write(cr, uid, [pick.id], {'invoice_state':'none'}, context=context)
wf_service.trg_validate(uid, 'stock.picking', new_picking, 'button_confirm', cr)
pick_obj.force_assign(cr, uid, [new_picking], context)
# Update view id in context, lp:702939
view_list = {
'out': 'view_picking_out_tree',
'in': 'view_picking_in_tree',
'internal': 'vpicktree',
}
data_obj = self.pool.get('ir.model.data')
res = data_obj.get_object_reference(cr, uid, 'stock', view_list.get(new_type, 'vpicktree'))
context.update({'view_id': res and res[1] or False})
return {
'domain': "[('id', 'in', ["+str(new_picking)+"])]",
'name': 'Picking List',
'view_type':'form',
'view_mode':'tree,form',
'res_model':'stock.picking',
'type':'ir.actions.act_window',
'context':context,
action_list = {
'out': 'action_picking_tree',
'in': 'action_picking_tree4',
'internal': 'action_picking_tree6',
}
res = model_obj.get_object_reference(cr, uid, 'stock', action_list.get(new_type, 'action_picking_tree6'))
id = res and res[1] or False
result = act_obj.read(cr, uid, [id], context=context)[0]
result['domain'] = "[('id', 'in', ["+str(new_picking)+"])]"
return result
stock_return_picking()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<act_window name="Return Picking"
<act_window name="Return Shipment"
res_model="stock.return.picking"
src_model="stock.picking"
view_mode="form"

1710
addons/survey/i18n/fi.po Normal file

File diff suppressed because it is too large Load Diff