[MERGE]upstream
bzr revid: dle@openerp.com-20130620152606-yj5y61799v019yqd
This commit is contained in:
commit
b8529b22a8
|
@ -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-12-21 17:04+0000\n"
|
||||
"PO-Revision-Date: 2013-06-07 12:52+0000\n"
|
||||
"PO-Revision-Date: 2013-06-19 11:49+0000\n"
|
||||
"Last-Translator: Chertykov Denis <chertykov@gmail.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: 2013-06-08 05:52+0000\n"
|
||||
"X-Generator: Launchpad (build 16667)\n"
|
||||
"X-Launchpad-Export-Date: 2013-06-20 05:17+0000\n"
|
||||
"X-Generator: Launchpad (build 16673)\n"
|
||||
|
||||
#. module: account
|
||||
#: model:process.transition,name:account.process_transition_supplierreconcilepaid0
|
||||
|
@ -134,10 +134,10 @@ msgstr ""
|
|||
#: code:addons/account/account.py:686
|
||||
#: code:addons/account/account.py:781
|
||||
#: code:addons/account/account.py:1058
|
||||
#: code:addons/account/account_invoice.py:817
|
||||
#: code:addons/account/account_invoice.py:820
|
||||
#: code:addons/account/account_invoice.py:823
|
||||
#: code:addons/account/account_invoice.py:1542
|
||||
#: code:addons/account/account_invoice.py:826
|
||||
#: code:addons/account/account_invoice.py:1545
|
||||
#: code:addons/account/account_move_line.py:98
|
||||
#: code:addons/account/account_move_line.py:771
|
||||
#: code:addons/account/account_move_line.py:824
|
||||
|
@ -257,7 +257,8 @@ msgid ""
|
|||
"entries."
|
||||
msgstr ""
|
||||
"Тип счета используется в информационных целях, при создании официальных "
|
||||
"отчетов для конкретной страны, определении правил"
|
||||
"отчетов для конкретной страны, определении правил закрытия финансового года "
|
||||
"и проводок открытия."
|
||||
|
||||
#. module: account
|
||||
#: field:account.config.settings,sale_refund_sequence_next:0
|
||||
|
@ -285,7 +286,7 @@ msgstr "Разрешить списание"
|
|||
#. module: account
|
||||
#: view:account.analytic.chart:0
|
||||
msgid "Select the Period for Analysis"
|
||||
msgstr "Выберите период для проведения анализа"
|
||||
msgstr "Выберите период для анализа"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.actions.act_window,help:account.action_invoice_tree3
|
||||
|
@ -355,7 +356,7 @@ msgid "Allow multi currencies"
|
|||
msgstr "Разрешить мульти-валютность"
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/account_invoice.py:74
|
||||
#: code:addons/account/account_invoice.py:77
|
||||
#, python-format
|
||||
msgid "You must define an analytic journal of type '%s'!"
|
||||
msgstr "Вы должны определить журнал аналитики типа '%s'!"
|
||||
|
@ -757,7 +758,9 @@ msgstr ""
|
|||
#: selection:account.common.partner.report,result_selection:0
|
||||
#: selection:account.partner.balance,result_selection:0
|
||||
#: selection:account.partner.ledger,result_selection:0
|
||||
#: report:account.third_party_ledger:0
|
||||
#: code:addons/account/report/account_partner_balance.py:297
|
||||
#: code:addons/account/report/account_partner_ledger.py:272
|
||||
#, python-format
|
||||
msgid "Receivable Accounts"
|
||||
msgstr "Счета к получению"
|
||||
|
@ -797,7 +800,7 @@ msgid "Are you sure you want to create entries?"
|
|||
msgstr "Вы действительно хотите создать проводки?"
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/account_invoice.py:1358
|
||||
#: code:addons/account/account_invoice.py:1361
|
||||
#, python-format
|
||||
msgid "Invoice partially paid: %s%s of %s%s (%s%s remaining)."
|
||||
msgstr "Счет частично оплачен: %s%s из %s%s (%s%s остаток)."
|
||||
|
@ -866,7 +869,7 @@ msgid "Type"
|
|||
msgstr "Тип"
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/account_invoice.py:823
|
||||
#: code:addons/account/account_invoice.py:826
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Taxes are missing!\n"
|
||||
|
@ -1052,7 +1055,7 @@ msgid "Liability"
|
|||
msgstr "Обязательства"
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/account_invoice.py:896
|
||||
#: code:addons/account/account_invoice.py:899
|
||||
#, python-format
|
||||
msgid "Please define sequence on the journal related to this invoice."
|
||||
msgstr "Пожалуйста, определите нумерацию в журнале, связанном с этим счетом."
|
||||
|
@ -1128,8 +1131,8 @@ msgstr "Возможности"
|
|||
#. module: account
|
||||
#: code:addons/account/account.py:2346
|
||||
#: code:addons/account/account_bank_statement.py:424
|
||||
#: code:addons/account/account_invoice.py:74
|
||||
#: code:addons/account/account_invoice.py:772
|
||||
#: code:addons/account/account_invoice.py:77
|
||||
#: code:addons/account/account_invoice.py:775
|
||||
#: code:addons/account/account_move_line.py:195
|
||||
#, python-format
|
||||
msgid "No Analytic Journal !"
|
||||
|
@ -1168,7 +1171,7 @@ msgstr "Название счета."
|
|||
#. module: account
|
||||
#: field:account.journal,with_last_closing_balance:0
|
||||
msgid "Opening With Last Closing Balance"
|
||||
msgstr ""
|
||||
msgstr "Открыть с предыдущим остатком"
|
||||
|
||||
#. module: account
|
||||
#: help:account.tax.code,notprintable:0
|
||||
|
@ -1567,8 +1570,10 @@ msgid "%s (copy)"
|
|||
msgstr "%s (копия)"
|
||||
|
||||
#. module: account
|
||||
#: report:account.account.balance:0
|
||||
#: selection:account.balance.report,display_account:0
|
||||
#: selection:account.common.account.report,display_account:0
|
||||
#: report:account.general.ledger_landscape:0
|
||||
#: selection:account.partner.balance,display_partner:0
|
||||
#: selection:account.report.general.ledger,display_account:0
|
||||
msgid "With balance is not equal to 0"
|
||||
|
@ -1803,7 +1808,7 @@ msgstr ""
|
|||
#: view:account.invoice:0
|
||||
#: view:account.invoice.report:0
|
||||
#: field:account.move.line,invoice:0
|
||||
#: code:addons/account/account_invoice.py:1154
|
||||
#: code:addons/account/account_invoice.py:1157
|
||||
#: model:ir.model,name:account.model_account_invoice
|
||||
#: model:res.request.link,name:account.req_link_invoice
|
||||
#, python-format
|
||||
|
@ -2029,6 +2034,12 @@ msgid ""
|
|||
"useful because it enables you to preview at any time the tax that you owe at "
|
||||
"the start and end of the month or quarter."
|
||||
msgstr ""
|
||||
"Это меню печати налоговой декларации на основе счетов и платежей. Выберите "
|
||||
"один или несколько периодов финансового года. Информация, необходимая для "
|
||||
"налоговой декларации генерируется автоматически OpenERP из счета (или "
|
||||
"платежей, в некоторых странах). Эти данные обновляются в режиме реального "
|
||||
"времени. Это очень полезно, потому что позволяет просматривать в любое время "
|
||||
"налоги, которые вы должны в начале и в конце месяца или квартала."
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/account.py:409
|
||||
|
@ -2057,9 +2068,9 @@ msgstr ""
|
|||
#: code:addons/account/account_bank_statement.py:419
|
||||
#: code:addons/account/account_cash_statement.py:256
|
||||
#: code:addons/account/account_cash_statement.py:300
|
||||
#: code:addons/account/account_invoice.py:896
|
||||
#: code:addons/account/account_invoice.py:930
|
||||
#: code:addons/account/account_invoice.py:1121
|
||||
#: code:addons/account/account_invoice.py:899
|
||||
#: code:addons/account/account_invoice.py:933
|
||||
#: code:addons/account/account_invoice.py:1124
|
||||
#: code:addons/account/account_move_line.py:579
|
||||
#: code:addons/account/account_move_line.py:828
|
||||
#: code:addons/account/account_move_line.py:851
|
||||
|
@ -2104,7 +2115,7 @@ msgstr ""
|
|||
" </p><p>\n"
|
||||
" Вы можете управлять счетом от поставщика в соответствии с\n"
|
||||
" тем, что вы приобрели. OpenERP также может создавать\n"
|
||||
" черновые счета автоматически из заказов на закупку.\n"
|
||||
" черновые счета автоматически из заказов закупки.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
|
||||
|
@ -2230,7 +2241,7 @@ msgstr "Счет - печать журнала"
|
|||
#. module: account
|
||||
#: model:ir.model,name:account.model_product_category
|
||||
msgid "Product Category"
|
||||
msgstr "Категория ТМЦ"
|
||||
msgstr "Категория продукции"
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/account.py:656
|
||||
|
@ -2307,7 +2318,9 @@ msgstr "Управление активами"
|
|||
#: selection:account.common.partner.report,result_selection:0
|
||||
#: selection:account.partner.balance,result_selection:0
|
||||
#: selection:account.partner.ledger,result_selection:0
|
||||
#: report:account.third_party_ledger:0
|
||||
#: code:addons/account/report/account_partner_balance.py:299
|
||||
#: code:addons/account/report/account_partner_ledger.py:274
|
||||
#, python-format
|
||||
msgid "Payable Accounts"
|
||||
msgstr "Кредиторская задолженность"
|
||||
|
@ -2600,7 +2613,7 @@ msgstr "Учетный год"
|
|||
#: help:accounting.report,fiscalyear_id:0
|
||||
#: help:accounting.report,fiscalyear_id_cmp:0
|
||||
msgid "Keep empty for all open fiscal year"
|
||||
msgstr "Keep empty for all open fiscal year"
|
||||
msgstr "Оставьте пустым для всех открытых финансовых лет"
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/account.py:653
|
||||
|
@ -2623,7 +2636,7 @@ msgid "Create an Account Based on this Template"
|
|||
msgstr "Создать счет на основе этого шаблона"
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/account_invoice.py:930
|
||||
#: code:addons/account/account_invoice.py:933
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Cannot create the invoice.\n"
|
||||
|
@ -2896,11 +2909,11 @@ msgstr "Счета"
|
|||
#. module: account
|
||||
#: code:addons/account/account.py:3541
|
||||
#: code:addons/account/account_bank_statement.py:405
|
||||
#: code:addons/account/account_invoice.py:504
|
||||
#: code:addons/account/account_invoice.py:606
|
||||
#: code:addons/account/account_invoice.py:621
|
||||
#: code:addons/account/account_invoice.py:629
|
||||
#: code:addons/account/account_invoice.py:654
|
||||
#: code:addons/account/account_invoice.py:507
|
||||
#: code:addons/account/account_invoice.py:609
|
||||
#: code:addons/account/account_invoice.py:624
|
||||
#: code:addons/account/account_invoice.py:632
|
||||
#: code:addons/account/account_invoice.py:657
|
||||
#: code:addons/account/account_move_line.py:536
|
||||
#, python-format
|
||||
msgid "Configuration Error!"
|
||||
|
@ -2932,7 +2945,7 @@ msgstr "Метка"
|
|||
#. module: account
|
||||
#: view:res.partner.bank:0
|
||||
msgid "Accounting Information"
|
||||
msgstr "Бухгалтерская информация"
|
||||
msgstr "Учетная информация"
|
||||
|
||||
#. module: account
|
||||
#: view:account.tax:0
|
||||
|
@ -3098,6 +3111,8 @@ msgid ""
|
|||
"Selected invoice(s) cannot be confirmed as they are not in 'Draft' or 'Pro-"
|
||||
"Forma' state."
|
||||
msgstr ""
|
||||
"Выбранные счета нельзя подтвердить, так как состояние не \"Черновик\" и не "
|
||||
"\"Проформа\""
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/account.py:1071
|
||||
|
@ -3130,7 +3145,7 @@ msgstr "Журнал продаж"
|
|||
|
||||
#. module: account
|
||||
#: code:addons/account/account.py:2346
|
||||
#: code:addons/account/account_invoice.py:772
|
||||
#: code:addons/account/account_invoice.py:775
|
||||
#: code:addons/account/account_move_line.py:195
|
||||
#, python-format
|
||||
msgid "You have to define an analytic journal on the '%s' journal!"
|
||||
|
@ -3299,7 +3314,7 @@ msgid "Fiscal Position"
|
|||
msgstr "Система налогообложения"
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/account_invoice.py:820
|
||||
#: code:addons/account/account_invoice.py:823
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Tax base different!\n"
|
||||
|
@ -3464,7 +3479,7 @@ msgstr "Вид"
|
|||
|
||||
#. module: account
|
||||
#: code:addons/account/account.py:3460
|
||||
#: code:addons/account/account_bank.py:95
|
||||
#: code:addons/account/account_bank.py:94
|
||||
#, python-format
|
||||
msgid "BNK"
|
||||
msgstr "BNK"
|
||||
|
@ -3734,7 +3749,7 @@ msgstr ""
|
|||
"иметь названия как и у самого документа"
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/account_invoice.py:1013
|
||||
#: code:addons/account/account_invoice.py:1016
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You cannot create an invoice on a centralized journal. Uncheck the "
|
||||
|
@ -3749,7 +3764,7 @@ msgid "Starting Balance"
|
|||
msgstr "Начальный баланс"
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/account_invoice.py:1462
|
||||
#: code:addons/account/account_invoice.py:1465
|
||||
#, python-format
|
||||
msgid "No Partner Defined !"
|
||||
msgstr "Партнер не определен!"
|
||||
|
@ -4040,9 +4055,13 @@ msgid "VAT :"
|
|||
msgstr "НДС:"
|
||||
|
||||
#. module: account
|
||||
#: report:account.account.balance:0
|
||||
#: report:account.central.journal:0
|
||||
#: view:account.config.settings:0
|
||||
#: report:account.general.journal:0
|
||||
#: report:account.general.ledger:0
|
||||
#: report:account.general.ledger_landscape:0
|
||||
#: report:account.journal.period.print:0
|
||||
#: report:account.partner.balance:0
|
||||
#: report:account.third_party_ledger:0
|
||||
#: report:account.third_party_ledger_other:0
|
||||
|
@ -4145,8 +4164,10 @@ msgstr ""
|
|||
"условии оплаты контрагента."
|
||||
|
||||
#. module: account
|
||||
#: report:account.account.balance:0
|
||||
#: selection:account.balance.report,display_account:0
|
||||
#: selection:account.common.account.report,display_account:0
|
||||
#: report:account.general.ledger_landscape:0
|
||||
#: selection:account.report.general.ledger,display_account:0
|
||||
#: selection:account.tax,type_tax_use:0
|
||||
#: selection:account.tax.template,type_tax_use:0
|
||||
|
@ -4283,7 +4304,7 @@ msgstr "Открыть счет"
|
|||
#. module: account
|
||||
#: field:account.invoice.tax,factor_tax:0
|
||||
msgid "Multipication factor Tax code"
|
||||
msgstr ""
|
||||
msgstr "Коэффициент кода налога"
|
||||
|
||||
#. module: account
|
||||
#: field:account.config.settings,complete_tax_set:0
|
||||
|
@ -4409,7 +4430,7 @@ msgid "Consolidated Children"
|
|||
msgstr "Субсчета"
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/account_invoice.py:570
|
||||
#: code:addons/account/account_invoice.py:573
|
||||
#: code:addons/account/wizard/account_invoice_refund.py:146
|
||||
#, python-format
|
||||
msgid "Insufficient Data!"
|
||||
|
@ -4592,7 +4613,7 @@ msgstr ""
|
|||
#: field:account.account,shortcut:0
|
||||
#: field:account.account.template,shortcut:0
|
||||
msgid "Shortcut"
|
||||
msgstr "Горячая клвиша"
|
||||
msgstr "Закладка"
|
||||
|
||||
#. module: account
|
||||
#: view:account.account:0
|
||||
|
@ -4666,6 +4687,8 @@ msgid ""
|
|||
"Error!\n"
|
||||
"The duration of the Period(s) is/are invalid."
|
||||
msgstr ""
|
||||
"Ошибка!\n"
|
||||
"Не допустимая продолжительность периода."
|
||||
|
||||
#. module: account
|
||||
#: field:account.entries.report,month:0
|
||||
|
@ -4690,8 +4713,8 @@ msgid "Supplier invoice sequence"
|
|||
msgstr "Нумерация счетов поставщиков"
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/account_invoice.py:607
|
||||
#: code:addons/account/account_invoice.py:622
|
||||
#: code:addons/account/account_invoice.py:610
|
||||
#: code:addons/account/account_invoice.py:625
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Cannot find a chart of account, you should create one from Settings\\"
|
||||
|
@ -4826,7 +4849,7 @@ msgstr "Документ из счета или платежа"
|
|||
msgid ""
|
||||
"There is currently no company without chart of account. The wizard will "
|
||||
"therefore not be executed."
|
||||
msgstr ""
|
||||
msgstr "Не ни одной компании без плана счетов. Мастер не будет запущен."
|
||||
|
||||
#. module: account
|
||||
#: model:ir.actions.act_window,name:account.action_wizard_multi_chart
|
||||
|
@ -4971,7 +4994,7 @@ msgstr ""
|
|||
"Нельзя создать счет, который имеет родительский счет другой компании."
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/account_invoice.py:655
|
||||
#: code:addons/account/account_invoice.py:658
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Cannot find any account journal of %s type for this company.\n"
|
||||
|
@ -5019,7 +5042,7 @@ msgstr "Контроль типа"
|
|||
#. module: account
|
||||
#: help:account.journal,default_credit_account_id:0
|
||||
msgid "It acts as a default account for credit amount"
|
||||
msgstr "Выступает в качестве счета по умолчанию для сумм по кредиту"
|
||||
msgstr "Используется как кредитовый счет по умолчанию"
|
||||
|
||||
#. module: account
|
||||
#: view:cash.box.out:0
|
||||
|
@ -5036,7 +5059,7 @@ msgstr "Отменено"
|
|||
#. module: account
|
||||
#: help:account.config.settings,group_proforma_invoices:0
|
||||
msgid "Allows you to put invoices in pro-forma state."
|
||||
msgstr ""
|
||||
msgstr "Позволяет устанавливать статус \"Проформа\" для счетов."
|
||||
|
||||
#. module: account
|
||||
#: view:account.journal:0
|
||||
|
@ -5050,6 +5073,7 @@ msgid ""
|
|||
"It adds the currency column on report if the currency differs from the "
|
||||
"company currency."
|
||||
msgstr ""
|
||||
"Добавляет колонку валюты в отчет, если валюта отлична от валюты компании."
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/account.py:3394
|
||||
|
@ -5281,7 +5305,7 @@ msgstr "Проводки журнала для проверки"
|
|||
#. module: account
|
||||
#: selection:res.company,tax_calculation_rounding_method:0
|
||||
msgid "Round Globally"
|
||||
msgstr ""
|
||||
msgstr "Глобальное округление"
|
||||
|
||||
#. module: account
|
||||
#: view:account.bank.statement:0
|
||||
|
@ -5295,7 +5319,7 @@ msgid "Tax Application"
|
|||
msgstr "Применение налога"
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/account_invoice.py:919
|
||||
#: code:addons/account/account_invoice.py:922
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Please verify the price of the invoice !\n"
|
||||
|
@ -5561,7 +5585,7 @@ msgstr ""
|
|||
#. module: account
|
||||
#: view:account.invoice:0
|
||||
msgid "Pro Forma Invoice "
|
||||
msgstr "Предварительный счет "
|
||||
msgstr "Проформа счета "
|
||||
|
||||
#. module: account
|
||||
#: selection:account.subscription,period_type:0
|
||||
|
@ -5597,7 +5621,7 @@ msgstr "Прибыль и убыток (счет доходов)"
|
|||
#. module: account
|
||||
#: field:account.journal,allow_date:0
|
||||
msgid "Check Date in Period"
|
||||
msgstr ""
|
||||
msgstr "Проверка даты в периоде"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.ui.menu,name:account.final_accounting_reports
|
||||
|
@ -5622,7 +5646,7 @@ msgid "Compute Code (if type=code)"
|
|||
msgstr "Вычислить код (если тип=код)"
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/account_invoice.py:505
|
||||
#: code:addons/account/account_invoice.py:508
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Cannot find a chart of accounts for this company, you should create one."
|
||||
|
@ -5973,7 +5997,7 @@ msgstr "Сумма в валюте"
|
|||
#. module: account
|
||||
#: selection:res.company,tax_calculation_rounding_method:0
|
||||
msgid "Round per Line"
|
||||
msgstr ""
|
||||
msgstr "Округление каждой позиции"
|
||||
|
||||
#. module: account
|
||||
#: report:account.analytic.account.balance:0
|
||||
|
@ -6063,7 +6087,7 @@ msgstr "Открыть кассу"
|
|||
#. module: account
|
||||
#: selection:account.financial.report,style_overwrite:0
|
||||
msgid "Automatic formatting"
|
||||
msgstr ""
|
||||
msgstr "Автоматическое форматирование"
|
||||
|
||||
#. module: account
|
||||
#: view:account.move.line.reconcile:0
|
||||
|
@ -6166,7 +6190,7 @@ msgstr "Доход"
|
|||
#: view:account.config.settings:0
|
||||
#: view:account.invoice:0
|
||||
#: view:account.invoice.report:0
|
||||
#: code:addons/account/account_invoice.py:387
|
||||
#: code:addons/account/account_invoice.py:390
|
||||
#, python-format
|
||||
msgid "Supplier"
|
||||
msgstr "Поставщик"
|
||||
|
@ -6186,7 +6210,7 @@ msgid "Account n°"
|
|||
msgstr "№ счета"
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/account_invoice.py:92
|
||||
#: code:addons/account/account_invoice.py:95
|
||||
#, python-format
|
||||
msgid "Free Reference"
|
||||
msgstr "Свободная Ссылка"
|
||||
|
@ -6196,7 +6220,9 @@ msgstr "Свободная Ссылка"
|
|||
#: selection:account.common.partner.report,result_selection:0
|
||||
#: selection:account.partner.balance,result_selection:0
|
||||
#: selection:account.partner.ledger,result_selection:0
|
||||
#: report:account.third_party_ledger:0
|
||||
#: code:addons/account/report/account_partner_balance.py:301
|
||||
#: code:addons/account/report/account_partner_ledger.py:276
|
||||
#, python-format
|
||||
msgid "Receivable and Payable Accounts"
|
||||
msgstr "Счета дебиторской и кредиторской задолженности"
|
||||
|
@ -6323,7 +6349,7 @@ msgstr ""
|
|||
#. module: account
|
||||
#: field:account.journal,loss_account_id:0
|
||||
msgid "Loss Account"
|
||||
msgstr ""
|
||||
msgstr "Счет убытков"
|
||||
|
||||
#. module: account
|
||||
#: field:account.tax,account_collected_id:0
|
||||
|
@ -6501,7 +6527,7 @@ msgid "Models"
|
|||
msgstr ""
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/account_invoice.py:1121
|
||||
#: code:addons/account/account_invoice.py:1124
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You cannot cancel an invoice which is partially paid. You need to "
|
||||
|
@ -6673,7 +6699,7 @@ msgid "You cannot create journal items on closed account."
|
|||
msgstr ""
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/account_invoice.py:630
|
||||
#: code:addons/account/account_invoice.py:633
|
||||
#, python-format
|
||||
msgid "Invoice line account's company and invoice's compnay does not match."
|
||||
msgstr ""
|
||||
|
@ -6718,7 +6744,7 @@ msgstr "Собственные средства"
|
|||
#. module: account
|
||||
#: field:account.journal,internal_account_id:0
|
||||
msgid "Internal Transfers Account"
|
||||
msgstr ""
|
||||
msgstr "Счет внутренних переводов"
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/wizard/pos_box.py:32
|
||||
|
@ -6734,7 +6760,7 @@ msgstr "Процент"
|
|||
#. module: account
|
||||
#: selection:account.config.settings,tax_calculation_rounding_method:0
|
||||
msgid "Round globally"
|
||||
msgstr ""
|
||||
msgstr "Глобальное округление"
|
||||
|
||||
#. module: account
|
||||
#: selection:account.report.general.ledger,sortby:0
|
||||
|
@ -6825,7 +6851,7 @@ msgstr ""
|
|||
#: code:addons/account/account.py:1453
|
||||
#: code:addons/account/account.py:1482
|
||||
#: code:addons/account/account.py:1489
|
||||
#: code:addons/account/account_invoice.py:1012
|
||||
#: code:addons/account/account_invoice.py:1015
|
||||
#: code:addons/account/account_move_line.py:1005
|
||||
#: code:addons/account/wizard/account_automatic_reconcile.py:148
|
||||
#: code:addons/account/wizard/account_fiscalyear_close.py:88
|
||||
|
@ -6912,7 +6938,7 @@ msgstr ""
|
|||
#: report:account.invoice:0
|
||||
#: selection:account.invoice,type:0
|
||||
#: selection:account.invoice.report,type:0
|
||||
#: code:addons/account/account_invoice.py:1157
|
||||
#: code:addons/account/account_invoice.py:1160
|
||||
#: selection:report.invoice.created,type:0
|
||||
#, python-format
|
||||
msgid "Supplier Refund"
|
||||
|
@ -7553,7 +7579,7 @@ msgstr "Для процентных налогов, введите % как чи
|
|||
#. module: account
|
||||
#: model:ir.actions.act_window,name:account.action_account_report_tree_hierarchy
|
||||
msgid "Financial Reports Hierarchy"
|
||||
msgstr ""
|
||||
msgstr "Структура финансовых отчетов"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.actions.act_window,name:account.act_account_invoice_partner_relation
|
||||
|
@ -7718,7 +7744,7 @@ msgstr ""
|
|||
#. module: account
|
||||
#: field:account.config.settings,group_proforma_invoices:0
|
||||
msgid "Allow pro-forma invoices"
|
||||
msgstr ""
|
||||
msgstr "Разрешить проформы счетов"
|
||||
|
||||
#. module: account
|
||||
#: view:account.bank.statement:0
|
||||
|
@ -7789,7 +7815,7 @@ msgstr "Журнал счета"
|
|||
#. module: account
|
||||
#: field:account.config.settings,tax_calculation_rounding_method:0
|
||||
msgid "Tax calculation rounding method"
|
||||
msgstr ""
|
||||
msgstr "Метод округления при расчете налога"
|
||||
|
||||
#. module: account
|
||||
#: model:process.node,name:account.process_node_paidinvoice0
|
||||
|
@ -7912,7 +7938,7 @@ msgstr "Нормальный"
|
|||
#: model:ir.actions.act_window,name:account.action_email_templates
|
||||
#: model:ir.ui.menu,name:account.menu_email_templates
|
||||
msgid "Email Templates"
|
||||
msgstr ""
|
||||
msgstr "Шаблоны писем"
|
||||
|
||||
#. module: account
|
||||
#: view:account.move.line:0
|
||||
|
@ -7974,7 +8000,7 @@ msgstr "Нет номера части !"
|
|||
#: view:account.financial.report:0
|
||||
#: model:ir.ui.menu,name:account.menu_account_report_tree_hierarchy
|
||||
msgid "Account Reports Hierarchy"
|
||||
msgstr ""
|
||||
msgstr "Структура отчетов по счетам"
|
||||
|
||||
#. module: account
|
||||
#: help:account.account.template,chart_template_id:0
|
||||
|
@ -8050,6 +8076,8 @@ msgstr "Отмена выбранных счетов"
|
|||
msgid ""
|
||||
"This field is used to generate legal reports: profit and loss, balance sheet."
|
||||
msgstr ""
|
||||
"Это поле используется для генерации официальных отчетов: прибыль и убыток, "
|
||||
"баланс."
|
||||
|
||||
#. module: account
|
||||
#: selection:account.entries.report,month:0
|
||||
|
@ -8061,7 +8089,7 @@ msgid "May"
|
|||
msgstr "Май"
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/account_invoice.py:817
|
||||
#: code:addons/account/account_invoice.py:820
|
||||
#, python-format
|
||||
msgid "Global taxes defined, but they are not in invoice lines !"
|
||||
msgstr ""
|
||||
|
@ -8102,7 +8130,7 @@ msgstr "Провести записи журнала"
|
|||
#: view:account.config.settings:0
|
||||
#: view:account.invoice:0
|
||||
#: view:account.invoice.report:0
|
||||
#: code:addons/account/account_invoice.py:385
|
||||
#: code:addons/account/account_invoice.py:388
|
||||
#, python-format
|
||||
msgid "Customer"
|
||||
msgstr "Заказчик"
|
||||
|
@ -8303,7 +8331,7 @@ msgstr ""
|
|||
#. module: account
|
||||
#: field:res.company,tax_calculation_rounding_method:0
|
||||
msgid "Tax Calculation Rounding Method"
|
||||
msgstr ""
|
||||
msgstr "Метод округления при расчете налога"
|
||||
|
||||
#. module: account
|
||||
#: field:account.entries.report,move_line_state:0
|
||||
|
@ -8357,7 +8385,7 @@ msgid "Select a currency to apply on the invoice"
|
|||
msgstr "Выбрать валюту применяемую в счете"
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/account_invoice.py:898
|
||||
#: code:addons/account/account_invoice.py:901
|
||||
#, python-format
|
||||
msgid "No Invoice Lines !"
|
||||
msgstr "Нет позиций в счете !"
|
||||
|
@ -8433,7 +8461,7 @@ msgid "Associated Partner"
|
|||
msgstr "Связанный контрагент"
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/account_invoice.py:1462
|
||||
#: code:addons/account/account_invoice.py:1465
|
||||
#, python-format
|
||||
msgid "You must first select a partner !"
|
||||
msgstr "Сначала вы должны выбрать партнера !"
|
||||
|
@ -8998,7 +9026,7 @@ msgstr "Вы уверены?"
|
|||
#. module: account
|
||||
#: view:account.journal:0
|
||||
msgid "Accounts Allowed (empty for no control)"
|
||||
msgstr "Разрешенные счета (остваьте пустым для снятия проверок)"
|
||||
msgstr "Разрешенные счета (оставьте пустым для снятия проверок)"
|
||||
|
||||
#. module: account
|
||||
#: field:account.config.settings,sale_tax_rate:0
|
||||
|
@ -9384,7 +9412,7 @@ msgid "Purchase Tax(%)"
|
|||
msgstr "Налог на покупку(%)"
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/account_invoice.py:898
|
||||
#: code:addons/account/account_invoice.py:901
|
||||
#, python-format
|
||||
msgid "Please create some invoice lines."
|
||||
msgstr "Пожалуйста, создайте позиции счета"
|
||||
|
@ -9396,6 +9424,8 @@ msgid ""
|
|||
"Please check that the field 'Internal Transfers Account' is set on the "
|
||||
"payment method '%s'."
|
||||
msgstr ""
|
||||
"Пожалуйста, проверьте , что поле \"Счет внутренних переводов\" установлено "
|
||||
"для способа оплаты '%s'."
|
||||
|
||||
#. module: account
|
||||
#: field:account.vat.declaration,display_detail:0
|
||||
|
@ -9448,7 +9478,7 @@ msgstr "Конец периода"
|
|||
#: model:ir.actions.act_window,name:account.action_account_report
|
||||
#: model:ir.ui.menu,name:account.menu_account_reports
|
||||
msgid "Financial Reports"
|
||||
msgstr ""
|
||||
msgstr "Финансовые отчеты"
|
||||
|
||||
#. module: account
|
||||
#: model:account.account.type,name:account.account_type_liability_view1
|
||||
|
@ -9737,6 +9767,7 @@ msgid ""
|
|||
"This field contains the information related to the numbering of the journal "
|
||||
"entries of this journal."
|
||||
msgstr ""
|
||||
"Это поле содержит информацию, связанную с нумерацией проводок этого журнала."
|
||||
|
||||
#. module: account
|
||||
#: field:account.invoice,sent:0
|
||||
|
@ -9768,7 +9799,7 @@ msgstr ""
|
|||
#. module: account
|
||||
#: model:ir.ui.menu,name:account.menu_finance_periodical_processing
|
||||
msgid "Periodic Processing"
|
||||
msgstr ""
|
||||
msgstr "Периодическая обработка"
|
||||
|
||||
#. module: account
|
||||
#: view:account.invoice.report:0
|
||||
|
@ -9940,7 +9971,7 @@ msgid "Unreconciled"
|
|||
msgstr "Не сверенные"
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/account_invoice.py:919
|
||||
#: code:addons/account/account_invoice.py:922
|
||||
#, python-format
|
||||
msgid "Bad total !"
|
||||
msgstr "Плохой итог !"
|
||||
|
@ -10046,7 +10077,7 @@ msgstr ""
|
|||
#. module: account
|
||||
#: field:account.bank.statement.line,name:0
|
||||
msgid "OBI"
|
||||
msgstr ""
|
||||
msgstr "Назначение"
|
||||
|
||||
#. module: account
|
||||
#: help:res.partner,property_account_payable:0
|
||||
|
@ -10196,7 +10227,7 @@ msgstr "Апрель"
|
|||
#. module: account
|
||||
#: model:account.financial.report,name:account.account_financial_report_profitloss_toreport0
|
||||
msgid "Profit (Loss) to report"
|
||||
msgstr ""
|
||||
msgstr "Прибыль (убыток) в отчет"
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/account_invoice.py:379
|
||||
|
@ -10401,7 +10432,7 @@ msgstr "Всего"
|
|||
#: code:addons/account/wizard/account_invoice_refund.py:109
|
||||
#, python-format
|
||||
msgid "Cannot %s draft/proforma/cancel invoice."
|
||||
msgstr ""
|
||||
msgstr "Нельзя %s черновик/проформу/закрытый счет."
|
||||
|
||||
#. module: account
|
||||
#: field:account.tax,account_analytic_paid_id:0
|
||||
|
@ -10415,6 +10446,7 @@ msgstr "Открыть для банковской сверки"
|
|||
|
||||
#. module: account
|
||||
#: field:account.account,company_id:0
|
||||
#: report:account.account.balance:0
|
||||
#: field:account.aged.trial.balance,company_id:0
|
||||
#: field:account.analytic.journal,company_id:0
|
||||
#: field:account.balance.report,company_id:0
|
||||
|
@ -10430,7 +10462,9 @@ msgstr "Открыть для банковской сверки"
|
|||
#: field:account.entries.report,company_id:0
|
||||
#: field:account.fiscal.position,company_id:0
|
||||
#: field:account.fiscalyear,company_id:0
|
||||
#: report:account.general.journal:0
|
||||
#: field:account.general.journal,company_id:0
|
||||
#: report:account.general.ledger_landscape:0
|
||||
#: field:account.installer,company_id:0
|
||||
#: field:account.invoice,company_id:0
|
||||
#: field:account.invoice.line,company_id:0
|
||||
|
@ -10439,6 +10473,7 @@ msgstr "Открыть для банковской сверки"
|
|||
#: field:account.invoice.tax,company_id:0
|
||||
#: field:account.journal,company_id:0
|
||||
#: field:account.journal.period,company_id:0
|
||||
#: report:account.journal.period.print:0
|
||||
#: field:account.model,company_id:0
|
||||
#: field:account.move,company_id:0
|
||||
#: field:account.move.line,company_id:0
|
||||
|
@ -10603,7 +10638,7 @@ msgstr "Счета системы налогообложения"
|
|||
#: view:account.invoice:0
|
||||
#: selection:account.invoice,type:0
|
||||
#: selection:account.invoice.report,type:0
|
||||
#: code:addons/account/account_invoice.py:1155
|
||||
#: code:addons/account/account_invoice.py:1158
|
||||
#: model:process.process,name:account.process_process_supplierinvoiceprocess0
|
||||
#: selection:report.invoice.created,type:0
|
||||
#, python-format
|
||||
|
@ -10692,8 +10727,10 @@ msgid ""
|
|||
msgstr ""
|
||||
|
||||
#. module: account
|
||||
#: report:account.account.balance:0
|
||||
#: selection:account.balance.report,display_account:0
|
||||
#: selection:account.common.account.report,display_account:0
|
||||
#: report:account.general.ledger_landscape:0
|
||||
#: selection:account.report.general.ledger,display_account:0
|
||||
msgid "With movements"
|
||||
msgstr "С движением"
|
||||
|
@ -10789,7 +10826,7 @@ msgid "Entries Sorted by"
|
|||
msgstr ""
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/account_invoice.py:1543
|
||||
#: code:addons/account/account_invoice.py:1546
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The selected unit of measure is not compatible with the unit of measure of "
|
||||
|
@ -10870,7 +10907,7 @@ msgstr "Искать счет"
|
|||
#: report:account.invoice:0
|
||||
#: view:account.invoice:0
|
||||
#: view:account.invoice.report:0
|
||||
#: code:addons/account/account_invoice.py:1156
|
||||
#: code:addons/account/account_invoice.py:1159
|
||||
#, python-format
|
||||
msgid "Refund"
|
||||
msgstr "Возвраты"
|
||||
|
@ -10942,7 +10979,7 @@ msgid "Manual Invoice Taxes"
|
|||
msgstr ""
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/account_invoice.py:570
|
||||
#: code:addons/account/account_invoice.py:573
|
||||
#, python-format
|
||||
msgid "The payment term of supplier does not have a payment term line."
|
||||
msgstr ""
|
||||
|
@ -11096,7 +11133,7 @@ msgstr ""
|
|||
#. module: account
|
||||
#: selection:account.config.settings,tax_calculation_rounding_method:0
|
||||
msgid "Round per line"
|
||||
msgstr ""
|
||||
msgstr "Округление каждой позиции"
|
||||
|
||||
#. module: account
|
||||
#: help:account.move.line,amount_residual_currency:0
|
||||
|
|
|
@ -61,7 +61,7 @@
|
|||
<field name="name">partner.view.buttons</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="inherit_id" ref="base.view_partner_form" />
|
||||
<field name="priority" eval="10"/>
|
||||
<field name="priority" eval="20"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//div[@name='buttons']" position="inside">
|
||||
<button type="action" string="Invoices"
|
||||
|
@ -96,7 +96,7 @@
|
|||
<field name="priority">2</field>
|
||||
<field name="inherit_id" ref="base.view_partner_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<page string="History" position="before" version="7.0">
|
||||
<page name="sales_purchases" position="after" version="7.0">
|
||||
<page string="Accounting" col="4" name="accounting" attrs="{'invisible': [('is_company','=',False),('parent_id','!=',False)]}">
|
||||
<group>
|
||||
<group>
|
||||
|
|
|
@ -7,19 +7,19 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 6.0dev_rc3\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:04+0000\n"
|
||||
"PO-Revision-Date: 2013-05-31 07:35+0000\n"
|
||||
"PO-Revision-Date: 2013-06-19 13:43+0000\n"
|
||||
"Last-Translator: Chertykov Denis <chertykov@gmail.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: 2013-06-01 05:16+0000\n"
|
||||
"X-Generator: Launchpad (build 16660)\n"
|
||||
"X-Launchpad-Export-Date: 2013-06-20 05:17+0000\n"
|
||||
"X-Generator: Launchpad (build 16673)\n"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
msgid "No order to invoice, create"
|
||||
msgstr ""
|
||||
msgstr "Нет заказа для счета, создать"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
|
@ -39,7 +39,7 @@ msgstr "Остаётся"
|
|||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
msgid "Contracts in progress"
|
||||
msgstr ""
|
||||
msgstr "Незавершенные контракты"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: help:account.analytic.account,last_worked_invoiced_date:0
|
||||
|
@ -88,7 +88,7 @@ msgstr "Дата последнего счета расходов"
|
|||
#. module: account_analytic_analysis
|
||||
#: help:account.analytic.account,fix_price_to_invoice:0
|
||||
msgid "Sum of quotations for this contract."
|
||||
msgstr ""
|
||||
msgstr "Сумма предложений по этому контракту."
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: help:account.analytic.account,ca_invoiced:0
|
||||
|
@ -98,18 +98,18 @@ msgstr "Итого сумма к оплате заказчику для этог
|
|||
#. module: account_analytic_analysis
|
||||
#: help:account.analytic.account,timesheet_ca_invoiced:0
|
||||
msgid "Sum of timesheet lines invoiced for this contract."
|
||||
msgstr ""
|
||||
msgstr "Сумма позиций табеля выставленная в счет за этот контракт ."
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: code:addons/account_analytic_analysis/account_analytic_analysis.py:466
|
||||
#: code:addons/account_analytic_analysis/account_analytic_analysis.py:464
|
||||
#, python-format
|
||||
msgid "Sales Order Lines of %s"
|
||||
msgstr ""
|
||||
msgstr "Позиции заказа продаж %s"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: help:account.analytic.account,revenue_per_hour:0
|
||||
msgid "Computed using the formula: Invoiced Amount / Total Time"
|
||||
msgstr ""
|
||||
msgstr "Рассчитанный по формуле: Сумма по счетам / Итоговое время"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: field:account_analytic_analysis.summary.month,account_id:0
|
||||
|
@ -126,7 +126,7 @@ msgstr "Партнёр"
|
|||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
msgid "Contracts that are not assigned to an account manager."
|
||||
msgstr ""
|
||||
msgstr "Контракты, которые не назначены бухгалтеру."
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: model:ir.actions.act_window,help:account_analytic_analysis.action_account_analytic_overdue
|
||||
|
@ -161,6 +161,7 @@ msgstr "Управляющий счётом"
|
|||
#: help:account.analytic.account,remaining_hours_to_invoice:0
|
||||
msgid "Computed using the formula: Maximum Time - Total Invoiced Time"
|
||||
msgstr ""
|
||||
"Рассчитанный по формуле: Максимальное время - Всё время выставленное в счетах"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
|
@ -170,12 +171,12 @@ msgstr "Ожидается"
|
|||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
msgid "Contracts not assigned"
|
||||
msgstr ""
|
||||
msgstr "Контракты не назначены"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: help:account.analytic.account,theorical_margin:0
|
||||
msgid "Computed using the formula: Theoretical Revenue - Total Costs"
|
||||
msgstr ""
|
||||
msgstr "Рассчитанный по формуле: теоретическая выручка - общие издержки"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: field:account.analytic.account,hours_qtt_invoiced:0
|
||||
|
@ -219,17 +220,17 @@ msgstr ""
|
|||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
msgid "Nothing to invoice, create"
|
||||
msgstr ""
|
||||
msgstr "Нечего выставить в счете, создать"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: model:res.groups,name:account_analytic_analysis.group_template_required
|
||||
msgid "Mandatory use of templates in contracts"
|
||||
msgstr ""
|
||||
msgstr "Обязательное использование шаблонов в контрактах"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: field:account.analytic.account,hours_quantity:0
|
||||
msgid "Total Worked Time"
|
||||
msgstr ""
|
||||
msgstr "Всё отработанное время"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: field:account.analytic.account,real_margin:0
|
||||
|
@ -249,12 +250,12 @@ msgstr "Вычисляется по формуле: (Реальная маржа
|
|||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
msgid "or view"
|
||||
msgstr ""
|
||||
msgstr "или вид"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
msgid "Customer Contracts"
|
||||
msgstr ""
|
||||
msgstr "Контакты заказчика"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
|
@ -271,7 +272,7 @@ msgstr "Месяц"
|
|||
#: model:ir.actions.act_window,name:account_analytic_analysis.action_hr_tree_invoiced_all
|
||||
#: model:ir.ui.menu,name:account_analytic_analysis.menu_action_hr_tree_invoiced_all
|
||||
msgid "Time & Materials to Invoice"
|
||||
msgstr ""
|
||||
msgstr "Время и материалы в счет"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
|
@ -343,9 +344,10 @@ msgstr "К продлению"
|
|||
#: view:account.analytic.account:0
|
||||
msgid ""
|
||||
"A contract in OpenERP is an analytic account having a partner set on it."
|
||||
msgstr ""
|
||||
msgstr "Контракт в OpenERP это аналитический счет с установленным партнером."
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: view:account.analytic.account:0
|
||||
#: model:ir.actions.act_window,name:account_analytic_analysis.action_sales_order
|
||||
msgid "Sales Orders"
|
||||
msgstr "Заказы продаж"
|
||||
|
@ -412,7 +414,7 @@ msgstr ""
|
|||
#. module: account_analytic_analysis
|
||||
#: field:account.analytic.account,revenue_per_hour:0
|
||||
msgid "Revenue per Time (real)"
|
||||
msgstr ""
|
||||
msgstr "Выручка за время (реальная)"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: model:ir.actions.act_window,help:account_analytic_analysis.action_account_analytic_overdue_all
|
||||
|
@ -578,7 +580,7 @@ msgstr ""
|
|||
#. module: account_analytic_analysis
|
||||
#: field:account.analytic.account,est_total:0
|
||||
msgid "Total Estimation"
|
||||
msgstr ""
|
||||
msgstr "Общая оценка"
|
||||
|
||||
#. module: account_analytic_analysis
|
||||
#: field:account.analytic.account,remaining_ca:0
|
||||
|
|
|
@ -43,7 +43,8 @@ account.""",
|
|||
'depends': ['product', 'purchase'],
|
||||
'category': 'Accounting & Finance',
|
||||
'demo': [],
|
||||
'data': ['product_view.xml',],
|
||||
'data': ['product_view.xml'],
|
||||
'test': ['test/anglo_saxon.yml'],
|
||||
'auto_install': False,
|
||||
'installable': True,
|
||||
}
|
||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,299 @@
|
|||
-
|
||||
In order to test anglo_saxon Configure Different Accounts.
|
||||
-
|
||||
!record {model: account.account, id: account_anglo_stock_valuation}:
|
||||
code: X3000
|
||||
name: Stock Valuation Account- (test)
|
||||
parent_id: account.cas
|
||||
type: other
|
||||
user_type: account.data_account_type_asset
|
||||
-
|
||||
Configure Stock Interim account (Received).
|
||||
-
|
||||
!record {model: account.account, id: account_anglo_stock_input}:
|
||||
code: X2800
|
||||
name: Stock Interim account (Received)
|
||||
parent_id: account.cos
|
||||
type: other
|
||||
user_type: account.data_account_type_expense
|
||||
-
|
||||
Configure Stock Interim account (Delivered).
|
||||
-
|
||||
!record {model: account.account, id: account_anglo_stock_output}:
|
||||
code: X2801
|
||||
name: Stock Interim account (Delivered)
|
||||
parent_id: account.rev
|
||||
type: other
|
||||
user_type: account.data_account_type_income
|
||||
-
|
||||
Configure Price difference creditor Account.
|
||||
-
|
||||
!record {model: account.account, id: account_anglo_price_difference}:
|
||||
code: X7095
|
||||
name: Price difference creditor Account
|
||||
parent_id: account.cos
|
||||
type: other
|
||||
user_type: account.data_account_type_expense
|
||||
-
|
||||
Configure Cash Bank Account.
|
||||
-
|
||||
!record {model: account.account, id: account_anglo_cash}:
|
||||
code: X5000
|
||||
name: Cash/Bank Account
|
||||
parent_id: account.cash
|
||||
type: other
|
||||
user_type: account.data_account_type_asset
|
||||
-
|
||||
Configure Creditor Account Payable.
|
||||
-
|
||||
!record {model: account.account, id: account_anglo_payable}:
|
||||
code: X440001
|
||||
name: Creditor Account Payable
|
||||
parent_id: account.a_pay
|
||||
type: other
|
||||
user_type: account.data_account_type_payable
|
||||
-
|
||||
Configure Debtor Account Receivable.
|
||||
-
|
||||
!record {model: account.account, id: account_anglo_receivable}:
|
||||
code: X400001
|
||||
name: Debtor Account Receivable
|
||||
parent_id: account.a_recv
|
||||
type: other
|
||||
user_type: account.data_account_type_receivable
|
||||
-
|
||||
Configure Cost of Good sale Account.
|
||||
-
|
||||
!record {model: account.account, id: account_anglo_cogs}:
|
||||
code: X7000
|
||||
name: Cost of goods sale account
|
||||
parent_id: account.o_expense
|
||||
type: other
|
||||
user_type: account.data_account_type_expense
|
||||
-
|
||||
Configure Income Account.
|
||||
-
|
||||
!record {model: account.account, id: account_anglo_income}:
|
||||
code: X8000
|
||||
name: Income Account
|
||||
parent_id: account.o_income
|
||||
type: other
|
||||
user_type: account.data_account_type_income
|
||||
-
|
||||
I configure the account receivable of supplier
|
||||
-
|
||||
!record {model: res.partner, id: base.res_partner_3}:
|
||||
property_account_payable: account_anglo_payable
|
||||
property_account_receivable: account_anglo_receivable
|
||||
-
|
||||
I configure the account receivable of Customer.
|
||||
-
|
||||
!record {model: res.partner, id: base.res_partner_13}:
|
||||
property_account_payable: account_anglo_payable
|
||||
property_account_receivable: account_anglo_receivable
|
||||
-
|
||||
I configure the product category with stock valuation account.
|
||||
-
|
||||
!record {model: product.category, id: product.product_category_4}:
|
||||
property_stock_valuation_account_id: account_anglo_stock_valuation
|
||||
-
|
||||
I configure the product with required accounts, and cost method = standard
|
||||
-
|
||||
!python {model: product.product}: |
|
||||
self.write(cr, uid, [ref('product.product_product_3')], {'list_price': 20.00,'standard_price': 9,'categ_id': ref('product.product_category_4'),'valuation': 'real_time',
|
||||
'property_account_income': ref('account_anglo_income'),'property_account_expense': ref('account_anglo_cogs'),
|
||||
'property_account_creditor_price_difference': ref('account_anglo_price_difference'),'property_stock_account_input': ref('account_anglo_stock_input'),
|
||||
'property_stock_account_output': ref('account_anglo_stock_output'), 'cost_method': 'standard'})
|
||||
-
|
||||
I create a draft Purchase Order.
|
||||
-
|
||||
!record {model: purchase.order, id: purchase_order_001}:
|
||||
partner_id: base.res_partner_3
|
||||
location_id: stock.stock_location_3
|
||||
pricelist_id: 1
|
||||
order_line:
|
||||
- product_id: product.product_product_3
|
||||
product_qty: 1
|
||||
price_unit: 10
|
||||
date_planned: '2013-08-31'
|
||||
-
|
||||
I confirm the purchase order.
|
||||
-
|
||||
!workflow {model: purchase.order, ref: purchase_order_001, action: purchase_confirm}
|
||||
-
|
||||
Reception is ready for process so now done the reception.
|
||||
-
|
||||
!python {model: stock.partial.picking}: |
|
||||
pick_ids = self.pool.get('purchase.order').browse(cr, uid, ref("purchase_order_001")).picking_ids
|
||||
partial_id = self.create(cr, uid, {},context={'active_model': 'stock.picking','active_ids': [pick_ids[0].id]})
|
||||
self.do_partial(cr, uid, [partial_id])
|
||||
-
|
||||
I check the Stock Interim account (Received) is credit successfully.
|
||||
-
|
||||
!assert {model: account.account, id : account_anglo_stock_input, string : Stock Interim account (Received) is not credited successfully.}:
|
||||
- credit == 9
|
||||
-
|
||||
I check the Stock valuation account is debit sucessfully.
|
||||
-
|
||||
!assert {model: account.account, id : account_anglo_stock_valuation, string : Stock valuation account is not debited successfully.}:
|
||||
- debit == 9
|
||||
-
|
||||
I Validate Invoice of Purchase Order.
|
||||
-
|
||||
!python {model: purchase.order}: |
|
||||
invoice_ids = [x.id for x in self.browse(cr, uid, ref("purchase_order_001")).invoice_ids]
|
||||
self.pool.get('account.invoice').signal_invoice_open(cr, uid, invoice_ids)
|
||||
-
|
||||
I check the Stock Interim account (Received) is debited sucessfully when Invoice validated.
|
||||
-
|
||||
!assert {model: account.account, id : account_anglo_stock_input, string : Stock Interim account (Received) is not debited successfully.}:
|
||||
- debit == 9
|
||||
-
|
||||
I check the Price difference creditor Account is debited sucessfully when Invoice validated.
|
||||
-
|
||||
!assert {model: account.account, id : account_anglo_price_difference, string : Price difference creditor Account is not debited successfully.}:
|
||||
- debit == 1
|
||||
-
|
||||
I check Payable(creditor) Account is Credited sucessfully when Invoice validated.
|
||||
-
|
||||
!assert {model: account.account, id : account_anglo_payable, string : Payable(creditor) Account is not Credited successfully.}:
|
||||
- credit == 10
|
||||
-
|
||||
I open the Invoice.
|
||||
-
|
||||
!python {model: purchase.order}: |
|
||||
po = self.browse(cr, uid, ref("purchase_order_001"))
|
||||
for invoice in po.invoice_ids:
|
||||
self.pool.get('account.invoice').signal_invoice_open(cr, uid, [invoice.id])
|
||||
-
|
||||
I pay the invoice.
|
||||
-
|
||||
!python {model: purchase.order}: |
|
||||
invoice_ids = self.browse(cr, uid, ref("purchase_order_001")).invoice_ids
|
||||
order = self.browse(cr, uid, ref("purchase_order_001"))
|
||||
journal_ids = self.pool.get('account.journal').search(cr, uid, [('type', '=', 'cash'), ('company_id', '=', order.company_id.id)], limit=1)
|
||||
for invoice in invoice_ids:
|
||||
invoice.pay_and_reconcile(invoice.amount_total, ref('account_anglo_cash'), ref('account.period_8'), journal_ids[0], ref('account_anglo_cash'), ref('account.period_8'), journal_ids[0], name='test')
|
||||
-
|
||||
I check Payable(Creditors) Account is Debited sucessfully after invoice paid.
|
||||
-
|
||||
!assert {model: account.account, id : account_anglo_payable, string : Payable(Creditors) Account is not Debited successfully.}:
|
||||
- debit == 10
|
||||
-
|
||||
I check Bank/Cash account is credited sucessfully after invoice paid.
|
||||
-
|
||||
!assert {model: account.account, id : account_anglo_cash, string: Bank/Cash account is not credited successfully.}:
|
||||
- credit == 10
|
||||
-
|
||||
I create an Outgoing Picking order
|
||||
-
|
||||
!record {model: stock.picking, id: stock_picking_out001}:
|
||||
partner_id: base.res_partner_13
|
||||
invoice_state: 2binvoiced
|
||||
move_lines:
|
||||
- company_id: base.main_company
|
||||
location_id: stock.stock_location_3
|
||||
product_id: product.product_product_3
|
||||
product_qty: 1.0
|
||||
product_uom: product.product_uom_unit
|
||||
location_dest_id: stock.stock_location_customers
|
||||
move_type: direct
|
||||
type: out
|
||||
-
|
||||
I need to check the availability of the product, So I make my picking order for processing later.
|
||||
-
|
||||
!python {model: stock.picking}: |
|
||||
self.draft_force_assign(cr, uid, [ref("stock_picking_out001")], {"lang": "en_US", "search_default_available":
|
||||
1, "tz": False, "active_model": "ir.ui.menu", "contact_display": "partner",
|
||||
"active_ids": [ref("stock.menu_action_picking_tree")], "active_id": ref("stock.menu_action_picking_tree"),
|
||||
})
|
||||
-
|
||||
I check the product availability, Product is available in the stock and ready to be sent.
|
||||
-
|
||||
!python {model: stock.picking}: |
|
||||
self.action_assign(cr, uid, [ref("stock_picking_out001")], {"lang": "en_US", "search_default_available":
|
||||
1, "tz": False, "active_model": "ir.ui.menu", "contact_display": "partner",
|
||||
"active_ids": [ref("stock.menu_action_picking_tree")], "active_id": ref("stock.menu_action_picking_tree"),
|
||||
})
|
||||
-
|
||||
I process the delivery.
|
||||
-
|
||||
!python {model: stock.partial.picking}: |
|
||||
partial_id = self.create(cr, uid, {}, context={'active_model':'stock.picking','active_ids':[ref('stock_picking_out001')]})
|
||||
self.do_partial(cr, uid, [partial_id])
|
||||
-
|
||||
I check Stock Interim account (Delivery) is debited successfully.
|
||||
-
|
||||
!assert {model: account.account, id : account_anglo_stock_output, string : Stock Interim account (Delivery) is not debited successfully.}:
|
||||
- debit == 9
|
||||
-
|
||||
I check the Stock valuation account is credited sucessfully.
|
||||
-
|
||||
!assert {model: account.account, id : account_anglo_stock_valuation, string : Stock valuation account is not credited successfully.}:
|
||||
- credit == 9
|
||||
-
|
||||
As the Invoice state of the picking order is To be invoiced. I create invoice for my outgoing picking order.
|
||||
-
|
||||
!python {model: stock.invoice.onshipping}: |
|
||||
wiz_id = self.create(cr, uid, {'invoice_date': '2013-03-04', 'journal_id': ref('account.sales_journal')},
|
||||
{'active_ids': [ref("stock_picking_out001")], "active_model": "stock.picking"})
|
||||
self.create_invoice(cr, uid, [wiz_id], {"lang": "en_US",
|
||||
"search_default_available": 1, "tz": False, "active_model": "stock.picking",
|
||||
"contact_display": "partner", "active_ids": [ref("stock_picking_out001")], "active_id": ref("stock_picking_out001")})
|
||||
-
|
||||
I check that the customer invoice is created successfully.
|
||||
-
|
||||
!python {model: account.invoice}: |
|
||||
partner_id = self.pool.get('stock.picking').browse(cr, uid, ref('stock_picking_out001')).partner_id.id
|
||||
inv_ids = self.search(cr, uid, [('type','=','out_invoice'),('partner_id','=',partner_id)])
|
||||
assert inv_ids, 'No Invoice is generated!'
|
||||
-
|
||||
I open the Invoice.
|
||||
-
|
||||
!python {model: stock.picking}: |
|
||||
move_name = self.pool.get('stock.picking').browse(cr, uid, ref('stock_picking_out001')).name
|
||||
account_invoice = self.pool.get('account.invoice').search(cr, uid, [('origin', '=', move_name)])
|
||||
self.pool.get('account.invoice').signal_invoice_open(cr, uid, account_invoice)
|
||||
-
|
||||
I check Income Account is Credited sucessfully when Invoice validated.
|
||||
-
|
||||
!assert {model: account.account, id : account_anglo_income, string : Income Account is not Credited successfully.}:
|
||||
- credit == 20
|
||||
-
|
||||
I check Cost of goods sold account for debit.
|
||||
-
|
||||
!assert {model: account.account, id : account_anglo_cogs, string : Cost of goods sale is not Debited successfully.}:
|
||||
- debit == 9
|
||||
-
|
||||
I check Stock Interim account (Delivery)
|
||||
-
|
||||
!assert {model: account.account, id : account_anglo_stock_output, string : Stock Interim account (Delivery) is not credited successfully.}:
|
||||
- credit == 9
|
||||
-
|
||||
I check Receivable(Debtor) Account for debit.
|
||||
-
|
||||
!assert {model: account.account, id : account_anglo_receivable, string : Receivable(Debtors) Account is not Debited successfully.}:
|
||||
- debit == 20
|
||||
-
|
||||
I pay the invoice.
|
||||
-
|
||||
!python {model: account.invoice}: |
|
||||
move_name = self.pool.get('stock.picking').browse(cr, uid, ref('stock_picking_out001')).name
|
||||
account_invoice= self.pool.get('account.invoice').search(cr, uid, [('origin', '=', move_name)])
|
||||
journal_ids = self.pool.get('account.journal').search(cr, uid, [('type', '=', 'cash')], limit=1)
|
||||
pay = self.pay_and_reconcile(cr, uid, account_invoice,
|
||||
20.0, ref('account_anglo_cash'), ref('account.period_8'),
|
||||
journal_ids[0], ref('account_anglo_cash'),
|
||||
ref('account.period_8'), journal_ids[0],
|
||||
name='Payment for test customer invoice')
|
||||
assert (pay == True), "Incorrect Payment."
|
||||
-
|
||||
I check Receivable(Debtor) Account for credit.
|
||||
-
|
||||
!assert {model: account.account, id : account_anglo_receivable, string : Receivable(Debtors) Account is not Credited successfully.}:
|
||||
- credit == 20
|
||||
-
|
||||
I check Bank/Cash account is debited sucessfully after invoice paid.
|
||||
-
|
||||
!assert {model: account.account, id : account_anglo_cash, string: Bank/Cash account is not successfully credited.}:
|
||||
- debit == 20
|
|
@ -60,7 +60,7 @@ class crm_meeting(base_state, osv.Model):
|
|||
'categ_ids': fields.many2many('crm.meeting.type', 'meeting_category_rel',
|
||||
'event_id', 'type_id', 'Tags'),
|
||||
'attendee_ids': fields.many2many('calendar.attendee', 'meeting_attendee_rel',\
|
||||
'event_id', 'attendee_id', 'Attendees', states={'done': [('readonly', True)]}),
|
||||
'event_id', 'attendee_id', 'Invited People', states={'done': [('readonly', True)]}),
|
||||
}
|
||||
_defaults = {
|
||||
'state': 'open',
|
||||
|
|
|
@ -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-12-21 17:05+0000\n"
|
||||
"PO-Revision-Date: 2013-05-27 12:19+0000\n"
|
||||
"Last-Translator: leksei <lirgus@gmail.com>\n"
|
||||
"PO-Revision-Date: 2013-06-17 10:30+0000\n"
|
||||
"Last-Translator: Chertykov Denis <chertykov@gmail.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: 2013-05-28 05:17+0000\n"
|
||||
"X-Generator: Launchpad (build 16640)\n"
|
||||
"X-Launchpad-Export-Date: 2013-06-18 05:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16673)\n"
|
||||
|
||||
#. module: base_setup
|
||||
#: view:sale.config.settings:0
|
||||
|
@ -92,7 +92,7 @@ msgstr "Общие настройки"
|
|||
#. module: base_setup
|
||||
#: selection:base.setup.terminology,partner:0
|
||||
msgid "Donor"
|
||||
msgstr ""
|
||||
msgstr "Спонсор"
|
||||
|
||||
#. module: base_setup
|
||||
#: view:base.config.settings:0
|
||||
|
@ -147,7 +147,7 @@ msgstr "res_config_contents"
|
|||
#. module: base_setup
|
||||
#: view:sale.config.settings:0
|
||||
msgid "Customer Features"
|
||||
msgstr ""
|
||||
msgstr "Свойства заказчика"
|
||||
|
||||
#. module: base_setup
|
||||
#: view:base.config.settings:0
|
||||
|
@ -157,7 +157,7 @@ msgstr "Импорт / Экспорт"
|
|||
#. module: base_setup
|
||||
#: view:sale.config.settings:0
|
||||
msgid "Sale Features"
|
||||
msgstr ""
|
||||
msgstr "Свойства продаж"
|
||||
|
||||
#. module: base_setup
|
||||
#: field:sale.config.settings,module_plugin_outlook:0
|
||||
|
@ -232,7 +232,7 @@ msgstr ""
|
|||
#. module: base_setup
|
||||
#: model:ir.model,name:base_setup.model_sale_config_settings
|
||||
msgid "sale.config.settings"
|
||||
msgstr ""
|
||||
msgstr "sale.config.settings"
|
||||
|
||||
#. module: base_setup
|
||||
#: field:base.setup.terminology,partner:0
|
||||
|
@ -263,7 +263,7 @@ msgstr ""
|
|||
#. module: base_setup
|
||||
#: model:ir.model,name:base_setup.model_base_setup_terminology
|
||||
msgid "base.setup.terminology"
|
||||
msgstr ""
|
||||
msgstr "base.setup.terminology"
|
||||
|
||||
#. module: base_setup
|
||||
#: selection:base.setup.terminology,partner:0
|
||||
|
|
|
@ -31,7 +31,7 @@ Lets the user create a custom dashboard.
|
|||
Allows users to create custom dashboard.
|
||||
""",
|
||||
'author': 'OpenERP SA',
|
||||
'depends': ['base'],
|
||||
'depends': ['base', 'web'],
|
||||
'data': [
|
||||
'security/ir.model.access.csv',
|
||||
'board_view.xml',
|
||||
|
|
|
@ -2,19 +2,6 @@
|
|||
<openerp>
|
||||
<data>
|
||||
|
||||
<!-- Add section_id (Sales Team) to res.partner -->
|
||||
<record id="view_partners_form_crm1" model="ir.ui.view">
|
||||
<field name="name">view.res.partner.form.crm.inherited1</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="inherit_id" ref="base.view_partner_form"/>
|
||||
<field eval="18" name="priority"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="user_id" position="after">
|
||||
<field name="section_id" completion="1" groups="base.group_multi_salesteams"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- open meetings related to given partner -->
|
||||
<record id="crm_meeting_partner" model="ir.actions.act_window">
|
||||
<field name="name">Meetings</field>
|
||||
|
@ -91,24 +78,31 @@
|
|||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record model="ir.ui.view" id="res_partner_view_buttons">
|
||||
<field name="name">res.partner.view.buttons</field>
|
||||
<!-- Add section_id (SalesTeam) and contextual button on partner form view -->
|
||||
<record id="view_partners_form_crm1" model="ir.ui.view">
|
||||
<field name="name">view.res.partner.form.crm.inherited1</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="inherit_id" ref="base.view_partner_form" />
|
||||
<field name="priority" eval="10"/>
|
||||
<field name="inherit_id" ref="base.view_partner_form"/>
|
||||
<field eval="18" name="priority"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//div[@name='buttons']" position="inside">
|
||||
<button type="action"
|
||||
string="Meetings"
|
||||
name="%(base_calendar.action_crm_meeting)d"
|
||||
context="{'search_default_partner_ids': active_id, 'default_partner_ids' : [active_id]}"/>
|
||||
<button type="action" string="Calls"
|
||||
name="%(crm.crm_case_categ_phone_incoming0)d"
|
||||
context="{'search_default_partner_id': active_id, 'default_duration': 1.0}" />
|
||||
<button type="action" string="Opportunities" attrs="{'invisible': [('customer', '=', False)]}"
|
||||
name="%(crm.crm_case_category_act_oppor11)d" context="{'search_default_partner_id': active_id}"/>
|
||||
</xpath>
|
||||
<data>
|
||||
<field name="user_id" position="after">
|
||||
<field name="section_id" completion="1" groups="base.group_multi_salesteams"/>
|
||||
</field>
|
||||
<xpath expr="//div[@name='buttons']" position="inside">
|
||||
<button class="oe_inline" type="action" string="Opportunities"
|
||||
attrs="{'invisible': [('customer', '=', False)]}"
|
||||
name="%(crm.crm_case_category_act_oppor11)d"
|
||||
context="{'search_default_partner_id': active_id}"/>
|
||||
<button class="oe_inline" type="action"
|
||||
string="Meetings"
|
||||
name="%(base_calendar.action_crm_meeting)d"
|
||||
context="{'search_default_partner_ids': active_id, 'default_partner_ids' : [active_id]}"/>
|
||||
<button class="oe_inline" type="action" string="Calls"
|
||||
name="%(crm.crm_case_categ_phone_incoming0)d"
|
||||
context="{'search_default_partner_id': active_id, 'default_duration': 1.0}" />
|
||||
</xpath>
|
||||
</data>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
|
|
@ -42,14 +42,20 @@ automatically new claims based on incoming emails.
|
|||
'security/ir.model.access.csv',
|
||||
'report/crm_claim_report_view.xml',
|
||||
'crm_claim_data.xml',
|
||||
'res_partner_view.xml',
|
||||
],
|
||||
'demo': ['crm_claim_demo.xml'],
|
||||
'test': ['test/process/claim.yml',
|
||||
'test/ui/claim_demo.yml'
|
||||
'test': [
|
||||
'test/process/claim.yml',
|
||||
'test/ui/claim_demo.yml'
|
||||
],
|
||||
'installable': True,
|
||||
'auto_install': False,
|
||||
'images': ['images/claim_categories.jpeg','images/claim_stages.jpeg','images/claims.jpeg'],
|
||||
'images': [
|
||||
'images/claim_categories.jpeg',
|
||||
'images/claim_stages.jpeg',
|
||||
'images/claims.jpeg'
|
||||
],
|
||||
}
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
|
|
@ -16,9 +16,9 @@
|
|||
<field name="context">{"search_default_user_id":uid, "stage_type":'claim'}</field>
|
||||
<field name="search_view_id" ref="crm_claim.view_crm_case_claims_filter"/>
|
||||
<field name="help" type="html">
|
||||
<p class="oe_view_nocontent_create">
|
||||
Record and track your customers' claims. Claims may be linked to a sales order or a lot.You can send emails with attachments and keep the full history for a claim (emails sent, intervention type and so on).Claims may automatically be linked to an email address using the mail gateway module.
|
||||
</p>
|
||||
<p class="oe_view_nocontent_create">
|
||||
Record and track your customers' claims. Claims may be linked to a sales order or a lot.You can send emails with attachments and keep the full history for a claim (emails sent, intervention type and so on).Claims may automatically be linked to an email address using the mail gateway module.
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
|
|
@ -216,35 +216,5 @@
|
|||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_claim_partner_info_form1" model="ir.ui.view">
|
||||
<field name="name">res.partner.claim.info.form</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="inherit_id" ref="base.view_partner_form"/>
|
||||
<field name="priority">20</field>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//page[@name='page_history']" position="attributes">
|
||||
<attribute name="invisible">False</attribute>
|
||||
</xpath>
|
||||
<xpath expr="//page[@name='page_history']" position="inside">
|
||||
<group name="grp_claim" string="Claims">
|
||||
<field name="claims_ids" colspan="4" nolabel="1">
|
||||
<tree string="Partners Claim" editable="bottom">
|
||||
<field name="name"/>
|
||||
</tree>
|
||||
</field>
|
||||
</group>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<act_window
|
||||
context="{'search_default_partner_id': [active_id], 'default_partner_id': active_id}"
|
||||
id="act_claim_partner"
|
||||
name="Claims"
|
||||
view_mode="tree,form"
|
||||
res_model="crm.claim"
|
||||
src_model="res.partner"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
<?xml version="1.0"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<!-- Partners inherited form -->
|
||||
<record id="view_claim_res_partner_info_form" model="ir.ui.view">
|
||||
<field name="name">res.partner.claim.info.form</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="inherit_id" ref="base.view_partner_form"/>
|
||||
<field name="priority" eval="50"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//div[@name='buttons']" position="inside">
|
||||
<button class="oe_inline" type="action"
|
||||
name="%(crm_case_categ_claim0)d"
|
||||
string="Claims"
|
||||
context="{'search_default_partner_id': active_id, 'default_partner_id': active_id}"
|
||||
groups="base.group_sale_salesman" />
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
|
@ -0,0 +1,85 @@
|
|||
# Danish translation for openobject-addons
|
||||
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
|
||||
"PO-Revision-Date: 2013-06-19 17:34+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Danish <da@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-06-20 05:17+0000\n"
|
||||
"X-Generator: Launchpad (build 16673)\n"
|
||||
|
||||
#. module: crm_todo
|
||||
#: model:ir.model,name:crm_todo.model_project_task
|
||||
msgid "Task"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_todo
|
||||
#: view:crm.lead:0
|
||||
msgid "Timebox"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_todo
|
||||
#: view:crm.lead:0
|
||||
msgid "Lead"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_todo
|
||||
#: view:crm.lead:0
|
||||
msgid "For cancelling the task"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_todo
|
||||
#: view:crm.lead:0
|
||||
msgid "Next"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_todo
|
||||
#: model:ir.actions.act_window,name:crm_todo.crm_todo_action
|
||||
#: model:ir.ui.menu,name:crm_todo.menu_crm_todo
|
||||
msgid "My Tasks"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_todo
|
||||
#: view:crm.lead:0
|
||||
#: field:crm.lead,task_ids:0
|
||||
msgid "Tasks"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_todo
|
||||
#: view:crm.lead:0
|
||||
msgid "Done"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_todo
|
||||
#: view:crm.lead:0
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_todo
|
||||
#: model:ir.model,name:crm_todo.model_crm_lead
|
||||
msgid "Lead/Opportunity"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_todo
|
||||
#: field:project.task,lead_id:0
|
||||
msgid "Lead / Opportunity"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_todo
|
||||
#: view:crm.lead:0
|
||||
msgid "For changing to done state"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_todo
|
||||
#: view:crm.lead:0
|
||||
msgid "Previous"
|
||||
msgstr ""
|
|
@ -21,15 +21,13 @@
|
|||
|
||||
from openerp.osv import fields, osv
|
||||
|
||||
|
||||
class res_partner(osv.osv):
|
||||
_inherit = 'res.partner'
|
||||
|
||||
_columns = {
|
||||
'speaker': fields.boolean('Speaker', help="Check this box if this contact is a speaker."),
|
||||
'event_ids': fields.one2many('event.event','main_speaker_id', readonly=True),
|
||||
'event_registration_ids': fields.one2many('event.registration','partner_id', readonly=True),
|
||||
}
|
||||
|
||||
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
|
|
@ -2,9 +2,8 @@
|
|||
<openerp>
|
||||
<data>
|
||||
|
||||
<!-- Partners inherited form -->
|
||||
|
||||
<record id="view_event_partner_info_form" model="ir.ui.view">
|
||||
<!-- Partners inherited form -->
|
||||
<record id="view_event_partner_info_form" model="ir.ui.view">
|
||||
<field name="name">res.partner.event.info.inherit</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="inherit_id" ref="base.view_partner_form"/>
|
||||
|
@ -12,34 +11,8 @@
|
|||
<field name="supplier" position="after">
|
||||
<field name="speaker"/>
|
||||
</field>
|
||||
<xpath expr="//page[@name='page_history']" position="attributes">
|
||||
<attribute name="invisible">False</attribute>
|
||||
</xpath>
|
||||
<xpath expr="//page[@name='page_history']" position="inside">
|
||||
<group name="grp_event" string="Events">
|
||||
<field name="event_ids" colspan="4" nolabel="1">
|
||||
<tree string="Events">
|
||||
<field name="name" string="Event"/>
|
||||
<field name="main_speaker_id"/>
|
||||
</tree>
|
||||
</field>
|
||||
</group>
|
||||
<group name="grp_registration" string="Registrations">
|
||||
<field name="event_registration_ids" colspan="4" nolabel="1">
|
||||
<tree string="Events Registration">
|
||||
<field name="event_begin_date" string="Date"/>
|
||||
<field name="event_id" />
|
||||
<field name="nb_register"/>
|
||||
<field name="state"/>
|
||||
<button name="button_reg_cancel" string="Cancel Registration" states="draft,open" type="object" icon="gtk-cancel"/>
|
||||
<button name="button_reg_close" string="Close Registration" states="open" type="object" icon="gtk-close"/>
|
||||
<button name="check_confirm" string="Confirm Registration" states="draft" type="object" icon="gtk-apply"/>
|
||||
</tree>
|
||||
</field>
|
||||
</group>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -0,0 +1,90 @@
|
|||
# Danish translation for openobject-addons
|
||||
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
|
||||
"PO-Revision-Date: 2013-06-19 17:36+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Danish <da@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2013-06-20 05:17+0000\n"
|
||||
"X-Generator: Launchpad (build 16673)\n"
|
||||
|
||||
#. module: event_sale
|
||||
#: model:ir.model,name:event_sale.model_product_product
|
||||
msgid "Product"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_sale
|
||||
#: help:product.product,event_ok:0
|
||||
msgid ""
|
||||
"Determine if a product needs to create automatically an event registration "
|
||||
"at the confirmation of a sales order line."
|
||||
msgstr ""
|
||||
|
||||
#. module: event_sale
|
||||
#: help:sale.order.line,event_id:0
|
||||
msgid ""
|
||||
"Choose an event and it will automatically create a registration for this "
|
||||
"event."
|
||||
msgstr ""
|
||||
|
||||
#. module: event_sale
|
||||
#: model:event.event,name:event_sale.event_technical_training
|
||||
msgid "Technical training in Grand-Rosiere"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_sale
|
||||
#: help:product.product,event_type_id:0
|
||||
msgid ""
|
||||
"Select event types so when we use this product in sales order lines, it will "
|
||||
"filter events of this type only."
|
||||
msgstr ""
|
||||
|
||||
#. module: event_sale
|
||||
#: field:product.product,event_type_id:0
|
||||
msgid "Type of Event"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_sale
|
||||
#: field:sale.order.line,event_ok:0
|
||||
msgid "event_ok"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_sale
|
||||
#: field:product.product,event_ok:0
|
||||
msgid "Event Subscription"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_sale
|
||||
#: field:sale.order.line,event_type_id:0
|
||||
msgid "Event Type"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_sale
|
||||
#: model:product.template,name:event_sale.event_product_product_template
|
||||
msgid "Technical Training"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_sale
|
||||
#: code:addons/event_sale/event_sale.py:88
|
||||
#, python-format
|
||||
msgid "The registration %s has been created from the Sales Order %s."
|
||||
msgstr ""
|
||||
|
||||
#. module: event_sale
|
||||
#: field:sale.order.line,event_id:0
|
||||
msgid "Event"
|
||||
msgstr ""
|
||||
|
||||
#. module: event_sale
|
||||
#: model:ir.model,name:event_sale.model_sale_order_line
|
||||
msgid "Sales Order Line"
|
||||
msgstr ""
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,466 @@
|
|||
# Thai translation for openobject-addons
|
||||
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
|
||||
"PO-Revision-Date: 2013-06-20 01:48+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Thai <th@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: 2013-06-20 05:17+0000\n"
|
||||
"X-Generator: Launchpad (build 16673)\n"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: model:ir.model,name:hr_attendance.model_hr_attendance_month
|
||||
msgid "Print Monthly Attendance Report"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_attendance
|
||||
#: view:hr.attendance:0
|
||||
msgid "Hr Attendance Search"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_attendance
|
||||
#: field:hr.employee,last_sign:0
|
||||
msgid "Last Sign"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_attendance
|
||||
#: view:hr.attendance:0
|
||||
#: field:hr.employee,state:0
|
||||
#: model:ir.model,name:hr_attendance.model_hr_attendance
|
||||
msgid "Attendance"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_attendance
|
||||
#. openerp-web
|
||||
#: code:addons/hr_attendance/static/src/js/attendance.js:34
|
||||
#, python-format
|
||||
msgid "Last sign in: %s,<br />%s.<br />Click to sign out."
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_attendance
|
||||
#: constraint:hr.attendance:0
|
||||
msgid "Error ! Sign in (resp. Sign out) must follow Sign out (resp. Sign in)"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_attendance
|
||||
#: help:hr.action.reason,name:0
|
||||
msgid "Specifies the reason for Signing In/Signing Out."
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_attendance
|
||||
#: report:report.hr.timesheet.attendance.error:0
|
||||
msgid ""
|
||||
"(*) A positive delay means that the employee worked less than recorded."
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_attendance
|
||||
#: view:hr.attendance.month:0
|
||||
msgid "Print Attendance Report Monthly"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_attendance
|
||||
#: code:addons/hr_attendance/report/timesheet.py:120
|
||||
#, python-format
|
||||
msgid "Attendances by Week"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_attendance
|
||||
#: selection:hr.action.reason,action_type:0
|
||||
msgid "Sign out"
|
||||
msgstr "ลงชื่อออก"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: report:report.hr.timesheet.attendance.error:0
|
||||
msgid "Delay"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_attendance
|
||||
#: view:hr.attendance:0
|
||||
msgid "Group By..."
|
||||
msgstr "จัดกลุ่มตาม..."
|
||||
|
||||
#. module: hr_attendance
|
||||
#: selection:hr.attendance.month,month:0
|
||||
msgid "October"
|
||||
msgstr "ตุลาคม"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: field:hr.employee,attendance_access:0
|
||||
msgid "Attendance Access"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_attendance
|
||||
#: code:addons/hr_attendance/hr_attendance.py:154
|
||||
#: selection:hr.attendance,action:0
|
||||
#: view:hr.employee:0
|
||||
#, python-format
|
||||
msgid "Sign Out"
|
||||
msgstr "ออกจากระบบ"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: code:addons/hr_attendance/wizard/hr_attendance_error.py:49
|
||||
#, python-format
|
||||
msgid "No records are found for your selection!"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_attendance
|
||||
#: view:hr.attendance.error:0
|
||||
#: view:hr.attendance.month:0
|
||||
#: view:hr.attendance.week:0
|
||||
msgid "Print"
|
||||
msgstr "พิมพ์"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: view:hr.attendance:0
|
||||
#: field:hr.attendance,employee_id:0
|
||||
#: model:ir.model,name:hr_attendance.model_hr_employee
|
||||
msgid "Employee"
|
||||
msgstr "พนักงาน"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: field:hr.attendance.month,month:0
|
||||
msgid "Month"
|
||||
msgstr "เดือน"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: report:report.hr.timesheet.attendance.error:0
|
||||
msgid "Date Recorded"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_attendance
|
||||
#: code:addons/hr_attendance/hr_attendance.py:154
|
||||
#: selection:hr.attendance,action:0
|
||||
#: view:hr.employee:0
|
||||
#, python-format
|
||||
msgid "Sign In"
|
||||
msgstr "เข้าสู่ระบบ"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: field:hr.attendance.error,init_date:0
|
||||
#: field:hr.attendance.week,init_date:0
|
||||
msgid "Starting Date"
|
||||
msgstr "วันที่เริ่ม"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: model:ir.actions.act_window,name:hr_attendance.open_view_attendance
|
||||
#: model:ir.ui.menu,name:hr_attendance.menu_hr_attendance
|
||||
#: model:ir.ui.menu,name:hr_attendance.menu_open_view_attendance
|
||||
msgid "Attendances"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_attendance
|
||||
#: selection:hr.attendance.month,month:0
|
||||
msgid "March"
|
||||
msgstr "มีนาคม"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: selection:hr.attendance.month,month:0
|
||||
msgid "August"
|
||||
msgstr "สิงหาคม"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: code:addons/hr_attendance/hr_attendance.py:161
|
||||
#, python-format
|
||||
msgid "Warning"
|
||||
msgstr "คำเตือน"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: help:hr.config.settings,group_hr_attendance:0
|
||||
msgid "Allocates attendance group to all users."
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_attendance
|
||||
#: view:hr.attendance:0
|
||||
msgid "My Attendance"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_attendance
|
||||
#: selection:hr.attendance.month,month:0
|
||||
msgid "June"
|
||||
msgstr "มิถุนายน"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: code:addons/hr_attendance/report/attendance_by_month.py:190
|
||||
#, python-format
|
||||
msgid "Attendances by Month"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_attendance
|
||||
#: model:ir.actions.act_window,name:hr_attendance.action_hr_attendance_week
|
||||
msgid "Attendances By Week"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_attendance
|
||||
#: model:ir.model,name:hr_attendance.model_hr_attendance_error
|
||||
msgid "Print Error Attendance Report"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_attendance
|
||||
#: report:report.hr.timesheet.attendance.error:0
|
||||
msgid "Total period:"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_attendance
|
||||
#: field:hr.action.reason,name:0
|
||||
msgid "Reason"
|
||||
msgstr "เหตุผล"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: view:hr.attendance.error:0
|
||||
msgid "Print Attendance Report Error"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_attendance
|
||||
#: model:ir.actions.act_window,help:hr_attendance.open_view_attendance
|
||||
msgid ""
|
||||
"The Time Tracking functionality aims to manage employee attendances from "
|
||||
"Sign in/Sign out actions. You can also link this feature to an attendance "
|
||||
"device using OpenERP's web service features."
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_attendance
|
||||
#: view:hr.attendance:0
|
||||
msgid "Today"
|
||||
msgstr "วันนี้"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: report:report.hr.timesheet.attendance.error:0
|
||||
msgid "Date Signed"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_attendance
|
||||
#: field:hr.attendance,name:0
|
||||
msgid "Date"
|
||||
msgstr "วันที่"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: field:hr.config.settings,group_hr_attendance:0
|
||||
msgid "Track attendances for all employees"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_attendance
|
||||
#: selection:hr.attendance.month,month:0
|
||||
msgid "July"
|
||||
msgstr "กรกฎาคม"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: model:ir.actions.act_window,name:hr_attendance.action_hr_attendance_error
|
||||
#: model:ir.actions.report.xml,name:hr_attendance.attendance_error_report
|
||||
msgid "Attendance Error Report"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_attendance
|
||||
#: view:hr.attendance:0
|
||||
#: field:hr.attendance,day:0
|
||||
msgid "Day"
|
||||
msgstr "วัน"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: selection:hr.employee,state:0
|
||||
msgid "Present"
|
||||
msgstr "นำเสนอ"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: selection:hr.employee,state:0
|
||||
msgid "Absent"
|
||||
msgstr "ขาด"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: selection:hr.attendance.month,month:0
|
||||
msgid "February"
|
||||
msgstr "กุมภาพันธ์"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: field:hr.attendance,action_desc:0
|
||||
#: model:ir.model,name:hr_attendance.model_hr_action_reason
|
||||
msgid "Action Reason"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_attendance
|
||||
#: field:hr.attendance.month,year:0
|
||||
msgid "Year"
|
||||
msgstr "ปี"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: report:report.hr.timesheet.attendance.error:0
|
||||
msgid "Min Delay"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_attendance
|
||||
#: view:hr.attendance:0
|
||||
msgid "Employee attendances"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_attendance
|
||||
#: view:hr.action.reason:0
|
||||
msgid "Define attendance reason"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_attendance
|
||||
#: selection:hr.action.reason,action_type:0
|
||||
msgid "Sign in"
|
||||
msgstr "ลงชื่อเข้าใช้"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: view:hr.attendance.error:0
|
||||
msgid "Analysis Information"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_attendance
|
||||
#: model:ir.actions.act_window,name:hr_attendance.action_hr_attendance_month
|
||||
msgid "Attendances By Month"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_attendance
|
||||
#: selection:hr.attendance.month,month:0
|
||||
msgid "January"
|
||||
msgstr "มกราคม"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: code:addons/hr_attendance/wizard/hr_attendance_error.py:49
|
||||
#, python-format
|
||||
msgid "No Data Available !"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_attendance
|
||||
#: selection:hr.attendance.month,month:0
|
||||
msgid "April"
|
||||
msgstr "เมษายน"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: view:hr.attendance.week:0
|
||||
msgid "Print Attendance Report Weekly"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_attendance
|
||||
#: report:report.hr.timesheet.attendance.error:0
|
||||
msgid "Attendance Errors"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_attendance
|
||||
#: field:hr.attendance,action:0
|
||||
#: selection:hr.attendance,action:0
|
||||
msgid "Action"
|
||||
msgstr "ปฏิบัติ"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: model:ir.ui.menu,name:hr_attendance.menu_hr_time_tracking
|
||||
msgid "Time Tracking"
|
||||
msgstr "ติดตามเวลา"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: model:ir.actions.act_window,name:hr_attendance.open_view_attendance_reason
|
||||
#: model:ir.ui.menu,name:hr_attendance.menu_open_view_attendance_reason
|
||||
msgid "Attendance Reasons"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_attendance
|
||||
#: selection:hr.attendance.month,month:0
|
||||
msgid "November"
|
||||
msgstr "พฤศจิกายน"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: view:hr.attendance.error:0
|
||||
msgid "Bellow this delay, the error is considered to be voluntary"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_attendance
|
||||
#: field:hr.attendance.error,max_delay:0
|
||||
msgid "Max. Delay (Min)"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_attendance
|
||||
#: field:hr.attendance.error,end_date:0
|
||||
#: field:hr.attendance.week,end_date:0
|
||||
msgid "Ending Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_attendance
|
||||
#: selection:hr.attendance.month,month:0
|
||||
msgid "September"
|
||||
msgstr "กันยายน"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: view:hr.action.reason:0
|
||||
msgid "Attendance reasons"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_attendance
|
||||
#: model:ir.model,name:hr_attendance.model_hr_attendance_week
|
||||
msgid "Print Week Attendance Report"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_attendance
|
||||
#: model:ir.model,name:hr_attendance.model_hr_config_settings
|
||||
msgid "hr.config.settings"
|
||||
msgstr "hr.config.settings"
|
||||
|
||||
#. module: hr_attendance
|
||||
#. openerp-web
|
||||
#: code:addons/hr_attendance/static/src/js/attendance.js:36
|
||||
#, python-format
|
||||
msgid "Click to Sign In at %s."
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_attendance
|
||||
#: field:hr.action.reason,action_type:0
|
||||
msgid "Action Type"
|
||||
msgstr "ชนิดการทำงาน"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: selection:hr.attendance.month,month:0
|
||||
msgid "May"
|
||||
msgstr "พฤษภาคม"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: code:addons/hr_attendance/hr_attendance.py:161
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You tried to %s with a date anterior to another event !\n"
|
||||
"Try to contact the HR Manager to correct attendances."
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_attendance
|
||||
#: selection:hr.attendance.month,month:0
|
||||
msgid "December"
|
||||
msgstr "ธันวาคม"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: view:hr.attendance.error:0
|
||||
#: view:hr.attendance.month:0
|
||||
#: view:hr.attendance.week:0
|
||||
msgid "Cancel"
|
||||
msgstr "ยกเลิก"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: report:report.hr.timesheet.attendance.error:0
|
||||
msgid "Operation"
|
||||
msgstr "ปฏิบัติการ"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: report:report.hr.timesheet.attendance.error:0
|
||||
msgid ""
|
||||
"(*) A negative delay means that the employee worked more than encoded."
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_attendance
|
||||
#: view:hr.attendance.error:0
|
||||
#: view:hr.attendance.month:0
|
||||
#: view:hr.attendance.week:0
|
||||
msgid "or"
|
||||
msgstr "หรือ"
|
||||
|
||||
#. module: hr_attendance
|
||||
#: help:hr.attendance,action_desc:0
|
||||
msgid ""
|
||||
"Specifies the reason for Signing In/Signing Out in case of extra hours."
|
||||
msgstr ""
|
|
@ -0,0 +1,232 @@
|
|||
# Thai translation for openobject-addons
|
||||
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
|
||||
"PO-Revision-Date: 2013-06-15 17:09+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Thai <th@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: 2013-06-16 04:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16667)\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
|
||||
#: field:hr.contract,trial_date_start:0
|
||||
msgid "Trial Start Date"
|
||||
msgstr "วันที่เริ่มต้นการทดลอง"
|
||||
|
||||
#. module: hr_contract
|
||||
#: field:hr.employee,vehicle:0
|
||||
msgid "Company Vehicle"
|
||||
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
|
||||
#: 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
|
||||
#: view:hr.employee: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
|
||||
#: field:hr.employee,children:0
|
||||
msgid "Number of Children"
|
||||
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
|
||||
#: field:hr.contract,advantages:0
|
||||
msgid "Advantages"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_contract
|
||||
#: view:hr.contract:0
|
||||
msgid "Work Permit"
|
||||
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
|
||||
#: view:hr.employee:0
|
||||
msgid "Medical Exam"
|
||||
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
|
||||
#: view:hr.contract:0
|
||||
#: 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
|
||||
#: view:hr.employee: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.contract:0
|
||||
msgid "Salary and Advantages"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_contract
|
||||
#: field:hr.contract,job_id:0
|
||||
msgid "Job Title"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_contract
|
||||
#: constraint:hr.contract:0
|
||||
msgid "Error! Contract start-date must be less than contract end-date."
|
||||
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
|
||||
#: field:hr.contract,visa_no:0
|
||||
msgid "Visa No"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_contract
|
||||
#: field:hr.employee,vehicle_distance:0
|
||||
msgid "Home-Work Dist."
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_contract
|
||||
#: field:hr.employee,place_of_birth:0
|
||||
msgid "Place of Birth"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_contract
|
||||
#: view:hr.contract:0
|
||||
msgid "Trial Period Duration"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_contract
|
||||
#: view:hr.contract:0
|
||||
msgid "Duration"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_contract
|
||||
#: field:hr.contract,visa_expire:0
|
||||
msgid "Visa Expire Date"
|
||||
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 ""
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,669 @@
|
|||
# Thai translation for openobject-addons
|
||||
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:04+0000\n"
|
||||
"PO-Revision-Date: 2013-06-17 06:13+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Thai <th@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: 2013-06-18 05:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16673)\n"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: model:ir.actions.act_window,help:hr_timesheet.act_analytic_cost_revenue
|
||||
msgid ""
|
||||
"<p>\n"
|
||||
" No activity yet on this contract.\n"
|
||||
" </p><p>\n"
|
||||
" In OpenERP, contracts and projects are implemented using\n"
|
||||
" analytic account. So, you can track costs and revenues to "
|
||||
"analyse\n"
|
||||
" your margins easily.\n"
|
||||
" </p><p>\n"
|
||||
" Costs will be created automatically when you register "
|
||||
"supplier\n"
|
||||
" invoices, expenses or timesheets.\n"
|
||||
" </p><p>\n"
|
||||
" Revenues will be created automatically when you create "
|
||||
"customer\n"
|
||||
" invoices. Customer invoices can be created based on sale "
|
||||
"orders\n"
|
||||
" (fixed price invoices), on timesheets (based on the work "
|
||||
"done) or\n"
|
||||
" on expenses (e.g. reinvoicing of travel costs).\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: code:addons/hr_timesheet/report/user_timesheet.py:44
|
||||
#: code:addons/hr_timesheet/report/users_timesheet.py:77
|
||||
#, python-format
|
||||
msgid "Wed"
|
||||
msgstr "พุธ"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: view:hr.sign.out.project:0
|
||||
msgid "(Keep empty for current_time)"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: view:hr.analytic.timesheet:0
|
||||
msgid "Group By..."
|
||||
msgstr "จัดกลุ่มตาม..."
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: model:ir.actions.act_window,help:hr_timesheet.action_hr_timesheet_sign_in
|
||||
msgid ""
|
||||
"Employees can encode their time spent on the different projects. A project "
|
||||
"is an analytic account and the time spent on a project generate costs on the "
|
||||
"analytic account. This feature allows to record at the same time the "
|
||||
"attendance and the timesheet."
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: field:hr.employee,uom_id:0
|
||||
msgid "Unit of Measure"
|
||||
msgstr "หน่วยของการวัด"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: field:hr.employee,journal_id:0
|
||||
msgid "Analytic Journal"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: view:hr.sign.out.project:0
|
||||
msgid "Stop Working"
|
||||
msgstr "หยุดทำงาน"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: model:ir.actions.act_window,name:hr_timesheet.action_hr_timesheet_employee
|
||||
#: model:ir.ui.menu,name:hr_timesheet.menu_hr_timesheet_employee
|
||||
msgid "Employee Timesheet"
|
||||
msgstr "เวลาทำงาน พนักงาน"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: view:hr.analytic.timesheet:0
|
||||
#: model:ir.ui.menu,name:hr_timesheet.menu_hr_timesheet_reports
|
||||
msgid "Timesheet"
|
||||
msgstr "เวลาทำงาน"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: code:addons/hr_timesheet/wizard/hr_timesheet_print_employee.py:43
|
||||
#, python-format
|
||||
msgid "Please define employee for this user!"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: code:addons/hr_timesheet/report/user_timesheet.py:44
|
||||
#: code:addons/hr_timesheet/report/users_timesheet.py:77
|
||||
#, python-format
|
||||
msgid "Mon"
|
||||
msgstr "จัน"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: view:hr.sign.in.project:0
|
||||
msgid "Sign in"
|
||||
msgstr "ลงชื่อเข้าใช้"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: code:addons/hr_timesheet/report/user_timesheet.py:44
|
||||
#: code:addons/hr_timesheet/report/users_timesheet.py:77
|
||||
#, python-format
|
||||
msgid "Fri"
|
||||
msgstr "ศุกร์"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: view:hr.analytic.timesheet:0
|
||||
#: model:ir.actions.act_window,name:hr_timesheet.act_hr_timesheet_line_evry1_all_form
|
||||
#: model:ir.ui.menu,name:hr_timesheet.menu_hr_working_hours
|
||||
msgid "Timesheet Activities"
|
||||
msgstr "กิจกรรม เวลาทำงาน"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: field:hr.sign.out.project,analytic_amount:0
|
||||
msgid "Minimum Analytic Amount"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: view:hr.analytical.timesheet.employee:0
|
||||
msgid "Monthly Employee Timesheet"
|
||||
msgstr "รายเดือน เวลาทำงานพนักงาน"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: view:hr.sign.out.project:0
|
||||
msgid "Work done in the last period"
|
||||
msgstr "งานที่ทำทั้งหมดในระยะเวลาสุดท้าย"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: field:hr.sign.in.project,name:0
|
||||
#: field:hr.sign.out.project,name:0
|
||||
msgid "Employees name"
|
||||
msgstr "ชื่อพนักงาน"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: field:hr.sign.out.project,account_id:0
|
||||
msgid "Project / Analytic Account"
|
||||
msgstr "โครงการ /วิเคราะห์ บัญชี"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: model:ir.model,name:hr_timesheet.model_hr_analytical_timesheet_users
|
||||
msgid "Print Employees Timesheet"
|
||||
msgstr "พิมพ์ เวลาทำงาน พนักงาน"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: code:addons/hr_timesheet/wizard/hr_timesheet_sign_in_out.py:132
|
||||
#, python-format
|
||||
msgid "Please define employee for your user."
|
||||
msgstr "กรุณากำหนดพนักงานสำหรับผู้ใช้ของคุณ"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: model:ir.actions.act_window,name:hr_timesheet.act_analytic_cost_revenue
|
||||
msgid "Costs & Revenues"
|
||||
msgstr "ค่าใช้จ่ายและรายได้"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: code:addons/hr_timesheet/report/user_timesheet.py:44
|
||||
#: code:addons/hr_timesheet/report/users_timesheet.py:77
|
||||
#, python-format
|
||||
msgid "Tue"
|
||||
msgstr "อังคาร"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: model:ir.model,name:hr_timesheet.model_account_analytic_account
|
||||
msgid "Analytic Account"
|
||||
msgstr "วิเคราะห์บัญชี"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: view:account.analytic.account:0
|
||||
msgid "Costs and Revenues"
|
||||
msgstr "ค่าใช้จ่ายและรายได้"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: code:addons/hr_timesheet/hr_timesheet.py:150
|
||||
#: code:addons/hr_timesheet/hr_timesheet.py:155
|
||||
#: code:addons/hr_timesheet/hr_timesheet.py:186
|
||||
#: code:addons/hr_timesheet/hr_timesheet.py:188
|
||||
#: code:addons/hr_timesheet/wizard/hr_timesheet_print_employee.py:43
|
||||
#, python-format
|
||||
msgid "Warning!"
|
||||
msgstr "คำเตือน!"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: field:hr.analytic.timesheet,partner_id:0
|
||||
msgid "Partner"
|
||||
msgstr "พาร์ทเนอร์"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: code:addons/hr_timesheet/report/user_timesheet.py:44
|
||||
#: code:addons/hr_timesheet/report/users_timesheet.py:77
|
||||
#, python-format
|
||||
msgid "Sat"
|
||||
msgstr "เสาร์"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: code:addons/hr_timesheet/report/user_timesheet.py:44
|
||||
#: code:addons/hr_timesheet/report/users_timesheet.py:77
|
||||
#, python-format
|
||||
msgid "Sun"
|
||||
msgstr "อาทิตย์"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: xsl:hr.analytical.timesheet:0
|
||||
msgid "Sum"
|
||||
msgstr "ผลรวม"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: view:hr.analytic.timesheet:0
|
||||
msgid "Analytic account"
|
||||
msgstr "วิเคราะห์บัญชี"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: model:ir.actions.act_window,help:hr_timesheet.act_hr_timesheet_line_evry1_all_form
|
||||
msgid ""
|
||||
"<p class=\"oe_view_nocontent_create\">\n"
|
||||
" Click to record activities.\n"
|
||||
" </p><p>\n"
|
||||
" You can register and track your workings hours by project "
|
||||
"every\n"
|
||||
" day. Every time spent on a project will become a cost in "
|
||||
"the\n"
|
||||
" analytic accounting/contract and can be re-invoiced to\n"
|
||||
" customers if required.\n"
|
||||
" </p>\n"
|
||||
" "
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: view:hr.analytical.timesheet.employee:0
|
||||
#: view:hr.analytical.timesheet.users:0
|
||||
msgid "Print"
|
||||
msgstr "พิมพ์"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: help:account.analytic.account,use_timesheets:0
|
||||
msgid "Check this field if this project manages timesheets"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: view:hr.analytical.timesheet.users:0
|
||||
msgid "Monthly Employees Timesheet"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: code:addons/hr_timesheet/report/user_timesheet.py:41
|
||||
#: code:addons/hr_timesheet/report/users_timesheet.py:73
|
||||
#: selection:hr.analytical.timesheet.employee,month:0
|
||||
#: selection:hr.analytical.timesheet.users,month:0
|
||||
#, python-format
|
||||
msgid "July"
|
||||
msgstr "กรกฎาคม"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: field:hr.sign.in.project,date:0
|
||||
#: field:hr.sign.out.project,date_start:0
|
||||
msgid "Starting Date"
|
||||
msgstr "วันที่เริ่ม"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: code:addons/hr_timesheet/wizard/hr_timesheet_sign_in_out.py:77
|
||||
#, python-format
|
||||
msgid "Please define cost unit for this employee."
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: help:hr.employee,product_id:0
|
||||
msgid "Specifies employee's designation as a product with type 'service'."
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: code:addons/hr_timesheet/hr_timesheet.py:188
|
||||
#, python-format
|
||||
msgid ""
|
||||
"No analytic account is defined on the project.\n"
|
||||
"Please set one or we cannot automatically fill the timesheet."
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: view:hr.analytic.timesheet:0
|
||||
msgid "Total cost"
|
||||
msgstr "รวมค่าใช้จ่าย"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: code:addons/hr_timesheet/hr_timesheet.py:186
|
||||
#, python-format
|
||||
msgid ""
|
||||
"No 'Analytic Journal' is defined for employee %s \n"
|
||||
"Define an employee for the selected user and assign an 'Analytic Journal'!"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: code:addons/hr_timesheet/report/user_timesheet.py:41
|
||||
#: code:addons/hr_timesheet/report/users_timesheet.py:73
|
||||
#: selection:hr.analytical.timesheet.employee,month:0
|
||||
#: selection:hr.analytical.timesheet.users,month:0
|
||||
#, python-format
|
||||
msgid "September"
|
||||
msgstr "กันยายน"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: code:addons/hr_timesheet/report/user_timesheet.py:41
|
||||
#: code:addons/hr_timesheet/report/users_timesheet.py:73
|
||||
#: selection:hr.analytical.timesheet.employee,month:0
|
||||
#: selection:hr.analytical.timesheet.users,month:0
|
||||
#, python-format
|
||||
msgid "December"
|
||||
msgstr "ธันวาคม"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: field:hr.analytical.timesheet.users,employee_ids:0
|
||||
msgid "employees"
|
||||
msgstr "พนักงาน"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: field:hr.analytical.timesheet.employee,month:0
|
||||
#: field:hr.analytical.timesheet.users,month:0
|
||||
msgid "Month"
|
||||
msgstr "เดือน"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: field:hr.sign.out.project,info:0
|
||||
msgid "Work Description"
|
||||
msgstr "รายละเอียดการทำงาน"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: view:hr.analytical.timesheet.employee:0
|
||||
#: view:hr.analytical.timesheet.users:0
|
||||
#: view:hr.sign.in.project:0
|
||||
#: view:hr.sign.out.project:0
|
||||
msgid "or"
|
||||
msgstr "หรือ"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: xsl:hr.analytical.timesheet:0
|
||||
msgid "Timesheet by Employee"
|
||||
msgstr "บันทึกเวลา โดยพนักงาน"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: model:ir.actions.report.xml,name:hr_timesheet.report_user_timesheet
|
||||
msgid "Employee timesheet"
|
||||
msgstr "บันทึกเวลาของพนักงาน"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: model:ir.actions.act_window,name:hr_timesheet.action_hr_timesheet_sign_in
|
||||
#: model:ir.actions.act_window,name:hr_timesheet.action_hr_timesheet_sign_out
|
||||
msgid "Sign in / Sign out by project"
|
||||
msgstr "เข้าสู่ระบบ / ออกจากระบบ โดยโครงการ"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: model:ir.actions.act_window,name:hr_timesheet.action_define_analytic_structure
|
||||
msgid "Define your Analytic Structure"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: code:addons/hr_timesheet/wizard/hr_timesheet_sign_in_out.py:146
|
||||
#: view:hr.sign.in.project:0
|
||||
#, python-format
|
||||
msgid "Sign in / Sign out"
|
||||
msgstr "เข้าสู่ระบบ / ออกจากระบบ"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: view:hr.sign.in.project:0
|
||||
msgid "(Keep empty for current time)"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: field:account.analytic.account,use_timesheets:0
|
||||
#: view:hr.employee:0
|
||||
msgid "Timesheets"
|
||||
msgstr "ตารางเวลา"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: model:ir.actions.act_window,help:hr_timesheet.action_define_analytic_structure
|
||||
msgid ""
|
||||
"You should create an analytic account structure depending on your needs to "
|
||||
"analyse costs and revenues. In OpenERP, analytic accounts are also used to "
|
||||
"track customer contracts."
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: field:hr.analytic.timesheet,line_id:0
|
||||
msgid "Analytic Line"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: code:addons/hr_timesheet/report/user_timesheet.py:41
|
||||
#: code:addons/hr_timesheet/report/users_timesheet.py:73
|
||||
#: selection:hr.analytical.timesheet.employee,month:0
|
||||
#: selection:hr.analytical.timesheet.users,month:0
|
||||
#, python-format
|
||||
msgid "August"
|
||||
msgstr "สิงหาคม"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: code:addons/hr_timesheet/hr_timesheet.py:155
|
||||
#, python-format
|
||||
msgid ""
|
||||
"No analytic journal defined for '%s'.\n"
|
||||
"You should assign an analytic journal on the employee form."
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: code:addons/hr_timesheet/report/user_timesheet.py:41
|
||||
#: code:addons/hr_timesheet/report/users_timesheet.py:73
|
||||
#: selection:hr.analytical.timesheet.employee,month:0
|
||||
#: selection:hr.analytical.timesheet.users,month:0
|
||||
#, python-format
|
||||
msgid "June"
|
||||
msgstr "มิถุนายน"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: field:hr.sign.in.project,state:0
|
||||
#: field:hr.sign.out.project,state:0
|
||||
msgid "Current Status"
|
||||
msgstr "สถานะปัจจุบัน"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: view:hr.analytic.timesheet:0
|
||||
msgid "Date"
|
||||
msgstr "วันที่"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: code:addons/hr_timesheet/report/user_timesheet.py:41
|
||||
#: code:addons/hr_timesheet/report/users_timesheet.py:73
|
||||
#: selection:hr.analytical.timesheet.employee,month:0
|
||||
#: selection:hr.analytical.timesheet.users,month:0
|
||||
#, python-format
|
||||
msgid "November"
|
||||
msgstr "พฤศจิกายน"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: field:hr.sign.out.project,date:0
|
||||
msgid "Closing Date"
|
||||
msgstr "ปิดวันที่"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: code:addons/hr_timesheet/report/user_timesheet.py:41
|
||||
#: code:addons/hr_timesheet/report/users_timesheet.py:73
|
||||
#: selection:hr.analytical.timesheet.employee,month:0
|
||||
#: selection:hr.analytical.timesheet.users,month:0
|
||||
#, python-format
|
||||
msgid "October"
|
||||
msgstr "ตุลาคม"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: code:addons/hr_timesheet/report/user_timesheet.py:41
|
||||
#: code:addons/hr_timesheet/report/users_timesheet.py:73
|
||||
#: selection:hr.analytical.timesheet.employee,month:0
|
||||
#: selection:hr.analytical.timesheet.users,month:0
|
||||
#, python-format
|
||||
msgid "January"
|
||||
msgstr "มกราคม"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: code:addons/hr_timesheet/report/user_timesheet.py:44
|
||||
#: code:addons/hr_timesheet/report/users_timesheet.py:77
|
||||
#, python-format
|
||||
msgid "Thu"
|
||||
msgstr "พฤหัสบดี"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: view:hr.sign.in.project:0
|
||||
#: view:hr.sign.out.project:0
|
||||
msgid "Sign In/Out by Project"
|
||||
msgstr "ลงซื่อ เข้า/ออก ตามโครงการ"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: model:ir.model,name:hr_timesheet.model_hr_analytical_timesheet_employee
|
||||
msgid "Print Employee Timesheet & Print My Timesheet"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: field:hr.sign.in.project,emp_id:0
|
||||
#: field:hr.sign.out.project,emp_id:0
|
||||
msgid "Employee ID"
|
||||
msgstr "หมายเลข พนักงาน"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: view:hr.analytical.timesheet.users:0
|
||||
msgid "Period"
|
||||
msgstr "คาบ"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: view:hr.sign.out.project:0
|
||||
msgid "General Information"
|
||||
msgstr "ข้อมูลทั่วไป"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: view:hr.analytical.timesheet.employee:0
|
||||
#: view:hr.analytical.timesheet.users:0
|
||||
#: view:hr.sign.in.project:0
|
||||
#: view:hr.sign.out.project:0
|
||||
msgid "Cancel"
|
||||
msgstr "ยกเลิก"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: xsl:hr.analytical.timesheet_users:0
|
||||
#: model:ir.actions.act_window,name:hr_timesheet.action_hr_timesheet_users
|
||||
#: model:ir.actions.report.xml,name:hr_timesheet.report_users_timesheet
|
||||
#: model:ir.ui.menu,name:hr_timesheet.menu_hr_timesheet_users
|
||||
msgid "Employees Timesheet"
|
||||
msgstr "เวลาทำงาน พนักงาน"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: view:hr.analytic.timesheet:0
|
||||
msgid "Information"
|
||||
msgstr "รายละเอียด"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: field:hr.analytical.timesheet.employee,employee_id:0
|
||||
#: model:ir.model,name:hr_timesheet.model_hr_employee
|
||||
msgid "Employee"
|
||||
msgstr "พนักงาน"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: view:hr.sign.in.project:0
|
||||
msgid ""
|
||||
"Employees can encode their time spent on the different projects they are "
|
||||
"assigned on. A project is an analytic account and the time spent on a "
|
||||
"project generates costs on the analytic account. This feature allows to "
|
||||
"record at the same time the attendance and the timesheet."
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: field:hr.sign.in.project,server_date:0
|
||||
#: field:hr.sign.out.project,server_date:0
|
||||
msgid "Current Date"
|
||||
msgstr "วันที่ปัจจุบัน"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: model:ir.model,name:hr_timesheet.model_hr_analytic_timesheet
|
||||
msgid "Timesheet Line"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: view:hr.analytic.timesheet:0
|
||||
#: field:hr.employee,product_id:0
|
||||
msgid "Product"
|
||||
msgstr "ผลิตภัณฑ์"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: view:hr.analytic.timesheet:0
|
||||
msgid "Users"
|
||||
msgstr "ผู้ใช้"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: code:addons/hr_timesheet/report/user_timesheet.py:41
|
||||
#: code:addons/hr_timesheet/report/users_timesheet.py:73
|
||||
#: selection:hr.analytical.timesheet.employee,month:0
|
||||
#: selection:hr.analytical.timesheet.users,month:0
|
||||
#, python-format
|
||||
msgid "May"
|
||||
msgstr "พฤษภาคม"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: view:hr.analytic.timesheet:0
|
||||
msgid "Total time"
|
||||
msgstr "เวลารวม"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: view:hr.sign.in.project:0
|
||||
msgid "(local time on the server side)"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: model:ir.model,name:hr_timesheet.model_hr_sign_in_project
|
||||
msgid "Sign In By Project"
|
||||
msgstr "เข้าสู่ระบบตามโครงการ"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: code:addons/hr_timesheet/report/user_timesheet.py:41
|
||||
#: code:addons/hr_timesheet/report/users_timesheet.py:73
|
||||
#: selection:hr.analytical.timesheet.employee,month:0
|
||||
#: selection:hr.analytical.timesheet.users,month:0
|
||||
#, python-format
|
||||
msgid "February"
|
||||
msgstr "กุมภาพันธ์"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: model:ir.model,name:hr_timesheet.model_hr_sign_out_project
|
||||
msgid "Sign Out By Project"
|
||||
msgstr "ลงชื่อออก ตามโครงการ"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: code:addons/hr_timesheet/hr_timesheet.py:150
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Please create an employee for this user, using the menu: Human Resources > "
|
||||
"Employees."
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: view:hr.analytical.timesheet.users:0
|
||||
msgid "Employees"
|
||||
msgstr "พนักงาน"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: code:addons/hr_timesheet/report/user_timesheet.py:41
|
||||
#: code:addons/hr_timesheet/report/users_timesheet.py:73
|
||||
#: selection:hr.analytical.timesheet.employee,month:0
|
||||
#: selection:hr.analytical.timesheet.users,month:0
|
||||
#, python-format
|
||||
msgid "March"
|
||||
msgstr "มีนาคม"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: code:addons/hr_timesheet/report/user_timesheet.py:41
|
||||
#: code:addons/hr_timesheet/report/users_timesheet.py:73
|
||||
#: selection:hr.analytical.timesheet.employee,month:0
|
||||
#: selection:hr.analytical.timesheet.users,month:0
|
||||
#, python-format
|
||||
msgid "April"
|
||||
msgstr "เมษายน"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: code:addons/hr_timesheet/wizard/hr_timesheet_sign_in_out.py:77
|
||||
#: code:addons/hr_timesheet/wizard/hr_timesheet_sign_in_out.py:132
|
||||
#, python-format
|
||||
msgid "User Error!"
|
||||
msgstr ""
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: view:hr.sign.in.project:0
|
||||
msgid "Start Working"
|
||||
msgstr "เริ่มทำงาน"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: field:hr.analytical.timesheet.employee,year:0
|
||||
#: field:hr.analytical.timesheet.users,year:0
|
||||
msgid "Year"
|
||||
msgstr "ปี"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: view:hr.analytic.timesheet:0
|
||||
msgid "Duration"
|
||||
msgstr "ระยะเวลา"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: view:hr.analytic.timesheet:0
|
||||
msgid "Accounting"
|
||||
msgstr "บัญชี"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: xsl:hr.analytical.timesheet:0
|
||||
#: xsl:hr.analytical.timesheet_users:0
|
||||
msgid "Total"
|
||||
msgstr "รวม"
|
||||
|
||||
#. module: hr_timesheet
|
||||
#: view:hr.sign.out.project:0
|
||||
msgid "Change Work"
|
||||
msgstr "เปลี่ยนงาน"
|
File diff suppressed because it is too large
Load Diff
|
@ -17,7 +17,7 @@ chat in real time. It support several chats in parallel.
|
|||
'security/ir.model.access.csv',
|
||||
'security/im_security.xml',
|
||||
],
|
||||
'depends' : ['base'],
|
||||
'depends' : ['base', 'web'],
|
||||
'js': ['static/src/js/*.js'],
|
||||
'css': ['static/src/css/*.css'],
|
||||
'qweb': ['static/src/xml/*.xml'],
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
import base64
|
||||
|
||||
import openerp
|
||||
from openerp import SUPERUSER_ID
|
||||
import openerp.addons.web.http as oeweb
|
||||
from openerp.addons.web.controllers.main import content_disposition
|
||||
|
||||
|
@ -20,3 +23,18 @@ class MailController(oeweb.Controller):
|
|||
headers=[('Content-Type', 'application/octet-stream'),
|
||||
('Content-Disposition', content_disposition(filename, req))])
|
||||
return req.not_found()
|
||||
|
||||
@oeweb.jsonrequest
|
||||
def receive(self, req):
|
||||
""" End-point to receive mail from an external SMTP server. """
|
||||
dbs = req.jsonrequest.get('databases')
|
||||
for db in dbs:
|
||||
message = dbs[db].decode('base64')
|
||||
try:
|
||||
registry = openerp.registry(db)
|
||||
with registry.cursor() as cr:
|
||||
mail_thread = registry['mail.thread']
|
||||
mail_thread.message_process(cr, SUPERUSER_ID, None, message)
|
||||
except psycopg2.Error:
|
||||
pass
|
||||
return True
|
||||
|
|
|
@ -20,7 +20,6 @@
|
|||
##############################################################################
|
||||
|
||||
import marketing_campaign
|
||||
import res_partner
|
||||
import report
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
|
|
@ -59,7 +59,6 @@ input segments, workflow.
|
|||
'marketing_campaign_view.xml',
|
||||
'marketing_campaign_data.xml',
|
||||
'marketing_campaign_workflow.xml',
|
||||
'res_partner_view.xml',
|
||||
'report/campaign_analysis_view.xml',
|
||||
'security/marketing_campaign_security.xml',
|
||||
'security/ir.model.access.csv'
|
||||
|
|
|
@ -1,41 +0,0 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
from openerp.osv import fields,osv
|
||||
|
||||
class res_partner(osv.osv):
|
||||
_inherit = 'res.partner'
|
||||
|
||||
_columns = {
|
||||
'workitem_ids': fields.one2many('marketing.campaign.workitem',
|
||||
'partner_id', 'Workitems',
|
||||
readonly=True),
|
||||
}
|
||||
|
||||
def copy(self, cr, uid, id, default={}, context=None):
|
||||
default.update({
|
||||
'workitem_ids': [],
|
||||
})
|
||||
return super(res_partner, self).copy(cr, uid, id, default=default, context=context)
|
||||
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<!-- Partners inherited form -->
|
||||
<record id="view_workitem_partner_info_form" model="ir.ui.view">
|
||||
<field name="name">res.partner.workitem.info.inherit</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="inherit_id" ref="base.view_partner_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//page[@name='page_history']" position="attributes">
|
||||
<attribute name="invisible">False</attribute>
|
||||
</xpath>
|
||||
<xpath expr="//page[@name='page_history']" position="inside">
|
||||
<group name="grp_campaign" string="Campaigns">
|
||||
<field name="workitem_ids" colspan="4" nolabel="1"/>
|
||||
</group>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
@ -51,7 +51,7 @@ class pos_config(osv.osv):
|
|||
'journal_ids' : fields.many2many('account.journal', 'pos_config_journal_rel',
|
||||
'pos_config_id', 'journal_id', 'Available Payment Methods',
|
||||
domain="[('journal_user', '=', True ), ('type', 'in', ['bank', 'cash'])]",),
|
||||
'shop_id' : fields.many2one('sale.shop', 'Shop',
|
||||
'warehouse_id' : fields.many2one('stock.warehouse', 'Warehouse',
|
||||
required=True),
|
||||
'journal_id' : fields.many2one('account.journal', 'Sale Journal',
|
||||
domain=[('type', '=', 'sale')],
|
||||
|
@ -70,6 +70,7 @@ class pos_config(osv.osv):
|
|||
"to customize the reference numbers of your orders."),
|
||||
'session_ids': fields.one2many('pos.session', 'config_id', 'Sessions'),
|
||||
'group_by' : fields.boolean('Group Journal Items', help="Check this if you want to group the Journal Items by Product while closing a Session"),
|
||||
'pricelist_id': fields.many2one('product.pricelist','Pricelist', required=True)
|
||||
}
|
||||
|
||||
def _check_cash_control(self, cr, uid, ids, context=None):
|
||||
|
@ -112,15 +113,21 @@ class pos_config(osv.osv):
|
|||
res = self.pool.get('account.journal').search(cr, uid, [('type', '=', 'sale')], limit=1)
|
||||
return res and res[0] or False
|
||||
|
||||
def _default_shop(self, cr, uid, context=None):
|
||||
res = self.pool.get('sale.shop').search(cr, uid, [])
|
||||
def _default_warehouse(self, cr, uid, context=None):
|
||||
user = self.pool.get('res.users').browse(cr, uid, uid, context)
|
||||
res = self.pool.get('stock.warehouse').search(cr, uid, [('company_id', '=', user.company_id.id)], limit=1, context=context)
|
||||
return res and res[0] or False
|
||||
|
||||
def _default_pricelist(self, cr, uid, context=None):
|
||||
res = self.pool.get('product.pricelist').search(cr, uid, [('type', '=', 'sale')], limit=1, context=context)
|
||||
return res and res[0] or False
|
||||
|
||||
_defaults = {
|
||||
'state' : POS_CONFIG_STATE[0][0],
|
||||
'shop_id': _default_shop,
|
||||
'warehouse_id': _default_warehouse,
|
||||
'journal_id': _default_sale_journal,
|
||||
'group_by' : True,
|
||||
'pricelist_id': _default_pricelist
|
||||
}
|
||||
|
||||
def set_active(self, cr, uid, ids, context=None):
|
||||
|
@ -306,7 +313,7 @@ class pos_session(osv.osv):
|
|||
# the .xml files as the CoA is not yet installed.
|
||||
jobj = self.pool.get('pos.config')
|
||||
pos_config = jobj.browse(cr, uid, config_id, context=context)
|
||||
context.update({'company_id': pos_config.shop_id.company_id.id})
|
||||
context.update({'company_id': pos_config.warehouse_id.company_id.id})
|
||||
if not pos_config.journal_id:
|
||||
jid = jobj.default_get(cr, uid, ['journal_id'], context=context)['journal_id']
|
||||
if jid:
|
||||
|
@ -333,7 +340,7 @@ class pos_session(osv.osv):
|
|||
bank_values = {
|
||||
'journal_id' : journal.id,
|
||||
'user_id' : uid,
|
||||
'company_id' : pos_config.shop_id.company_id.id
|
||||
'company_id' : pos_config.warehouse_id.company_id.id
|
||||
}
|
||||
statement_id = self.pool.get('account.bank.statement').create(cr, uid, bank_values, context=context)
|
||||
bank_statement_ids.append(statement_id)
|
||||
|
@ -594,7 +601,7 @@ class pos_order(osv.osv):
|
|||
_columns = {
|
||||
'name': fields.char('Order Ref', size=64, required=True, readonly=True),
|
||||
'company_id':fields.many2one('res.company', 'Company', required=True, readonly=True),
|
||||
'shop_id': fields.related('session_id', 'config_id', 'shop_id', relation='sale.shop', type='many2one', string='Shop', store=True, readonly=True),
|
||||
'warehouse_id': fields.related('session_id', 'config_id', 'warehouse_id', relation='stock.warehouse', type='many2one', string='Warehouse', store=True, readonly=True),
|
||||
'date_order': fields.datetime('Order Date', readonly=True, select=True),
|
||||
'user_id': fields.many2one('res.users', 'Salesman', help="Person who uses the the cash register. It can be a reliever, a student or an interim employee."),
|
||||
'amount_tax': fields.function(_amount_all, string='Taxes', digits_compute=dp.get_precision('Point Of Sale'), multi='all'),
|
||||
|
@ -638,8 +645,7 @@ class pos_order(osv.osv):
|
|||
session_ids = self._default_session(cr, uid, context)
|
||||
if session_ids:
|
||||
session_record = self.pool.get('pos.session').browse(cr, uid, session_ids, context=context)
|
||||
shop = self.pool.get('sale.shop').browse(cr, uid, session_record.config_id.shop_id.id, context=context)
|
||||
return shop.pricelist_id and shop.pricelist_id.id or False
|
||||
return session_record.config_id.pricelist_id and session_record.config_id.pricelist_id.id or False
|
||||
return False
|
||||
|
||||
_defaults = {
|
||||
|
@ -690,8 +696,8 @@ class pos_order(osv.osv):
|
|||
'auto_picking': True,
|
||||
}, context=context)
|
||||
self.write(cr, uid, [order.id], {'picking_id': picking_id}, context=context)
|
||||
location_id = order.shop_id.warehouse_id.lot_stock_id.id
|
||||
output_id = order.shop_id.warehouse_id.lot_output_id.id
|
||||
location_id = order.warehouse_id.lot_stock_id.id
|
||||
output_id = order.warehouse_id.lot_output_id.id
|
||||
|
||||
for line in order.lines:
|
||||
if line.product_id and line.product_id.type == 'service':
|
||||
|
|
|
@ -84,7 +84,7 @@
|
|||
<page string="Extra Info">
|
||||
<group string="General Information">
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
<field name="shop_id" widget="selection"/>
|
||||
<field name="warehouse_id" widget="selection" groups="stock.group_locations"/>
|
||||
<field name="user_id"/>
|
||||
<field name="pricelist_id" groups="product.group_sale_pricelist" domain="[('type','=','sale')]"/>
|
||||
<field name="picking_id" readonly="1"/>
|
||||
|
@ -769,12 +769,16 @@
|
|||
</header>
|
||||
|
||||
<sheet>
|
||||
<group>
|
||||
<field name="name"/>
|
||||
<field name="shop_id" widget="selection" groups="stock.group_locations" />
|
||||
<field name="journal_id" widget="selection" />
|
||||
<field name="sequence_id" readonly="1" groups="base.group_no_one" />
|
||||
<field name="group_by" groups="account.group_account_user" />
|
||||
<label for="name" class="oe_edit_only"/>
|
||||
<h1>
|
||||
<field name="name"/>
|
||||
</h1>
|
||||
<group col="4">
|
||||
<field name="warehouse_id" widget="selection" groups="stock.group_locations" />
|
||||
<field name="pricelist_id" groups="product.group_sale_pricelist"/>
|
||||
<field name="journal_id" widget="selection"/>
|
||||
<field name="group_by" groups="account.group_account_user"/>
|
||||
<field name="sequence_id" readonly="1" groups="base.group_no_one"/>
|
||||
</group>
|
||||
<separator string="Available Payment Methods" colspan="4"/>
|
||||
<field name="journal_ids" colspan="4" nolabel="1">
|
||||
|
@ -809,7 +813,7 @@
|
|||
<field name="arch" type="xml">
|
||||
<tree string="Point of Sale Configuration" colors="grey:state == 'inactive'">
|
||||
<field name="name" />
|
||||
<field name="shop_id" />
|
||||
<field name="warehouse_id" groups="stock.group_locations"/>
|
||||
<field name="state" />
|
||||
</tree>
|
||||
</field>
|
||||
|
@ -823,7 +827,7 @@
|
|||
<field name="name" />
|
||||
<filter string="Active" domain="[('state', '=', 'active')]" />
|
||||
<filter string="Inactive" domain="[('state', '=', 'inactive')]" />
|
||||
<field name="shop_id" />
|
||||
<field name="warehouse_id" groups="stock.group_locations" />
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
@ -41,7 +41,7 @@ class pos_order_report(osv.osv):
|
|||
'price_total':fields.float('Total Price', readonly=True),
|
||||
'total_discount':fields.float('Total Discount', readonly=True),
|
||||
'average_price': fields.float('Average Price', readonly=True,group_operator="avg"),
|
||||
'shop_id':fields.many2one('sale.shop', 'Shop', readonly=True),
|
||||
'warehouse_id':fields.many2one('stock.warehouse', 'Warehouse', readonly=True),
|
||||
'company_id':fields.many2one('res.company', 'Company', readonly=True),
|
||||
'nbr':fields.integer('# of Lines', readonly=True),
|
||||
'product_qty':fields.integer('# of Qty', readonly=True),
|
||||
|
@ -69,7 +69,7 @@ class pos_order_report(osv.osv):
|
|||
s.partner_id as partner_id,
|
||||
s.state as state,
|
||||
s.user_id as user_id,
|
||||
s.shop_id as shop_id,
|
||||
s.warehouse_id as warehouse_id,
|
||||
s.company_id as company_id,
|
||||
s.sale_journal as journal_id,
|
||||
l.product_id as product_id
|
||||
|
@ -80,7 +80,7 @@ class pos_order_report(osv.osv):
|
|||
group by
|
||||
to_char(s.date_order, 'dd-MM-YYYY'),to_char(s.date_order, 'YYYY'),to_char(s.date_order, 'MM'),
|
||||
to_char(s.date_order, 'YYYY-MM-DD'), s.partner_id,s.state,
|
||||
s.user_id,s.shop_id,s.company_id,s.sale_journal,l.product_id,s.create_date
|
||||
s.user_id,s.warehouse_id,s.company_id,s.sale_journal,l.product_id,s.create_date
|
||||
having
|
||||
sum(l.qty * u.factor) != 0)""")
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
<field name="month" invisible="1"/>
|
||||
<field name="partner_id" invisible="1"/>
|
||||
<field name="product_id" invisible="1"/>
|
||||
<field name="shop_id" invisible="1"/>
|
||||
<field name="warehouse_id" invisible="1"/>
|
||||
<!--<field name="journal_id" invisible="1"/>-->
|
||||
<field name="company_id" invisible="1" groups="base.group_multi_company"/>
|
||||
<field name="nbr" sum="# of Lines"/>
|
||||
|
|
|
@ -75,7 +75,7 @@
|
|||
<para style="terp_default_Centre_9">[[ address and display_address(address)]]</para>
|
||||
<para style="terp_default_Centre_9">Tel : [[ address and address.phone ]]</para>
|
||||
<para style="terp_default_Centre_9">User : [[ o.user_id.name ]]</para>
|
||||
<para style="terp_default_Centre_9">Shop : [[ o.shop_id.name ]]</para>
|
||||
<para style="terp_default_Centre_9">Warehouse : [[ o.warehouse_id.name ]]</para>
|
||||
<para style="terp_default_Centre_9">Date : [[ o.date_order ]]</para>
|
||||
<para style="P4">
|
||||
<font color="white"> </font>
|
||||
|
|
|
@ -8,7 +8,7 @@ access_account_journal_pos_user,account.journal pos_user,account.model_account_j
|
|||
access_account_move_pos_user,account.move pos_user,account.model_account_move,group_pos_user,1,1,1,0
|
||||
access_account_account_pos_user,account.account pos_user,account.model_account_account,group_pos_user,1,0,0,0
|
||||
access_stock_picking_pos_user,stock.picking pos_user,stock.model_stock_picking,group_pos_user,1,1,1,1
|
||||
access_sale_shop_pos_user,sale.shop pos_user,sale.model_sale_shop,group_pos_user,1,0,0,0
|
||||
access_stock_warehouse_pos_user,stock.warehouse pos_user,stock.model_stock_warehouse,group_pos_user,1,0,0,0
|
||||
access_pos_order_stock_worker,pos.order stock_worker,model_pos_order,stock.group_stock_user,1,0,0,0
|
||||
access_stock_move_pos_user,stock.move pos_user,stock.model_stock_move,group_pos_user,1,1,1,1
|
||||
access_report_sales_by_user_pos,report.sales.by.user.pos,model_report_sales_by_user_pos,group_pos_user,1,0,0,0
|
||||
|
|
|
|
@ -142,7 +142,7 @@ function openerp_pos_models(instance, module){ //module is instance.point_of_sal
|
|||
|
||||
return self.fetch(
|
||||
'pos.config',
|
||||
['name','journal_ids','shop_id','journal_id',
|
||||
['name','journal_ids','warehouse_id','journal_id','pricelist_id',
|
||||
'iface_self_checkout', 'iface_led', 'iface_cashdrawer',
|
||||
'iface_payment_terminal', 'iface_electronic_scale', 'iface_barscan', 'iface_vkeyboard',
|
||||
'iface_print_via_proxy','iface_cashdrawer','state','sequence_id','session_ids'],
|
||||
|
@ -157,7 +157,7 @@ function openerp_pos_models(instance, module){ //module is instance.point_of_sal
|
|||
self.iface_self_checkout = !!pos_config.iface_self_checkout;
|
||||
self.iface_cashdrawer = !!pos_config.iface_cashdrawer;
|
||||
|
||||
return self.fetch('sale.shop',[],[['id','=',pos_config.shop_id[0]]]);
|
||||
return self.fetch('stock.warehouse',[],[['id','=',pos_config.warehouse_id[0]]]);
|
||||
}).then(function(shops){
|
||||
self.set('shop',shops[0]);
|
||||
|
||||
|
@ -174,7 +174,7 @@ function openerp_pos_models(instance, module){ //module is instance.point_of_sal
|
|||
['name', 'list_price','price','pos_categ_id', 'taxes_id', 'ean13',
|
||||
'to_weight', 'uom_id', 'uos_id', 'uos_coeff', 'mes_type', 'description_sale', 'description'],
|
||||
[['sale_ok','=',true],['available_in_pos','=',true]],
|
||||
{pricelist: self.get('shop').pricelist_id[0]} // context for price
|
||||
{pricelist: self.get('pos_config').pricelist_id[0]} // context for price
|
||||
);
|
||||
}).then(function(products){
|
||||
self.db.add_products(products);
|
||||
|
|
|
@ -112,7 +112,7 @@ class pos_return(osv.osv_memory):
|
|||
source_stock_id = property_obj.get(cr, uid, 'property_stock_customer', 'res.partner', context=context).id
|
||||
cr.execute("SELECT s.id FROM stock_location s, stock_warehouse w "
|
||||
"WHERE w.lot_stock_id=s.id AND w.id=%s ",
|
||||
(order_id.shop_id.warehouse_id.id,))
|
||||
(order_id.warehouse_id.id,))
|
||||
res = cr.fetchone()
|
||||
location_id = res and res[0] or None
|
||||
new_picking = picking_obj.copy(cr, uid, order_id.picking_id.id, {'name':'%s (return)' % order_id.name,
|
||||
|
@ -205,7 +205,7 @@ class add_product(osv.osv_memory):
|
|||
stock_dest_id = property_obj.get(cr, uid, 'property_stock_customer', 'res.partner', context=context).id
|
||||
cr.execute("SELECT s.id FROM stock_location s, stock_warehouse w "
|
||||
"WHERE w.lot_stock_id=s.id AND w.id=%s ",
|
||||
(order_id.shop_id.warehouse_id.id,))
|
||||
(order_id.warehouse_id.id,))
|
||||
res=cr.fetchone()
|
||||
location_id=res and res[0] or None
|
||||
prod_id=prod_obj.browse(cr, uid, prod, context=context)
|
||||
|
@ -268,7 +268,7 @@ class add_product(osv.osv_memory):
|
|||
stock_dest_id = property_obj.get(cr, uid, 'property_stock_customer', 'res.partner', context=context).id
|
||||
cr.execute("SELECT s.id FROM stock_location s, stock_warehouse w "
|
||||
" WHERE w.lot_stock_id=s.id AND w.id=%s ",
|
||||
(order_id.shop_id.warehouse_id.id,))
|
||||
(order_id.warehouse_id.id,))
|
||||
res=cr.fetchone()
|
||||
location_id=res and res[0] or None
|
||||
|
||||
|
|
|
@ -11,7 +11,6 @@ access_account_move,account.move,account.model_account_move,portal.group_portal,
|
|||
access_account_move_line,account.move.line,account.model_account_move_line,portal.group_portal,1,0,0,0
|
||||
access_account_move_reconcile,account.move.reconcile,account.model_account_move_reconcile,portal.group_portal,1,0,0,0
|
||||
access_account_fiscalyear,account.sequence.fiscalyear,account.model_account_sequence_fiscalyear,portal.group_portal,1,0,0,0
|
||||
access_sale_shop,sale.shop,sale.model_sale_shop,portal.group_portal,1,0,0,0
|
||||
access_product_list,product.pricelist,product.model_product_pricelist,portal.group_portal,1,0,0,0
|
||||
access_res_partner,res.partner,base.model_res_partner,portal.group_portal,1,0,0,0
|
||||
access_account_tax,account.tax,account.model_account_tax,portal.group_portal,1,0,0,0
|
||||
|
|
|
|
@ -32,6 +32,7 @@
|
|||
<separator/>
|
||||
<filter string="Deadlines" context="{'deadline_visible': False}" domain="[('date_deadline','<>',False)]"
|
||||
help="Show only tasks having a deadline" icon="terp-gnome-cpu-frequency-applet+"/>
|
||||
<field name="partner_id"/>
|
||||
<field name="project_id"/>
|
||||
<field name="user_id"/>
|
||||
<group expand="0" string="Group By...">
|
||||
|
|
|
@ -4,28 +4,20 @@
|
|||
|
||||
<!-- Partners inherited form -->
|
||||
<record id="view_task_partner_info_form" model="ir.ui.view">
|
||||
<field name="name">res.partner.task.info.inherit</field>
|
||||
<field name="name">res.partner.task.buttons</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="inherit_id" ref="base.view_partner_form"/>
|
||||
<field name="priority" eval="50"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//page[@name='page_history']" position="attributes">
|
||||
<attribute name="invisible">False</attribute>
|
||||
</xpath>
|
||||
<xpath expr="//page[@name='page_history']" position="inside">
|
||||
<group name="grp_task" string="Tasks">
|
||||
<field name="task_ids" colspan="4" nolabel="1">
|
||||
<tree string="Tasks" editable="bottom">
|
||||
<field name="name"/>
|
||||
<field name="user_id"/>
|
||||
<field name="date_deadline"/>
|
||||
<field name="state" invisible="1"/>
|
||||
<button name="do_open" states="pending,draft,done,cancelled" string="Start Task" type="object" icon="gtk-media-play" help="For changing to open state" invisible="context.get('set_visible',False)"/>
|
||||
<button name="action_close" states="draft,pending,open" string="Done" type="object" icon="terp-dialog-close" help="For changing to done state"/>
|
||||
</tree>
|
||||
</field>
|
||||
</group>
|
||||
<xpath expr="//div[@name='buttons']" position="inside">
|
||||
<button class="oe_inline" type="action"
|
||||
name="%(action_view_task)d"
|
||||
string="Tasks"
|
||||
context="{'search_default_partner_id': active_id, 'default_partner_id': active_id}"
|
||||
groups="project.group_project_user" />
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -283,22 +283,6 @@
|
|||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_project_feature_filter" model="ir.ui.view">
|
||||
<field name="name">Project Issue - Feature Tracker Search</field>
|
||||
<field name="model">project.issue</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Feature Tracker Search">
|
||||
<field name="name" string="Feature description"/>
|
||||
<field name="date"/>
|
||||
<field name="state" groups="base.group_no_one"/>
|
||||
<filter icon="terp-check" domain="[('state','in',('open','draft'))]" help="Current Features" name="current_feature"/>
|
||||
<filter icon="terp-camera_test" domain="[('state','=','open')]" help="Open Features"/>
|
||||
<field name="user_id"/>
|
||||
<field name="project_id" string="Project"/>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="act_project_project_2_project_issue_all" model="ir.actions.act_window">
|
||||
<field name="res_model">project.issue</field>
|
||||
<field name="view_type">form</field>
|
||||
|
@ -384,16 +368,33 @@
|
|||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_view_issues" model="ir.actions.act_window">
|
||||
<field name="res_model">project.issue</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="name">Issues</field>
|
||||
<field name="view_mode">kanban,tree,form,calendar,graph</field>
|
||||
<field name="help" type="html">
|
||||
<p>
|
||||
The OpenERP issues tacker allows you to efficiantly manage things
|
||||
like internal requests, software development bugs, customer
|
||||
complaints, project troubles, material breakdowns, etc.
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- res.partner -->
|
||||
<record model="ir.ui.view" id="res_partner_issues_button_view">
|
||||
<field name="name">res.partner.issues.button.view</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="inherit_id" ref="base.view_partner_form" />
|
||||
<field name="priority" eval="10"/>
|
||||
<field name="priority" eval="50"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//div[@name='buttons']" position="inside">
|
||||
<button type="action" string="Issues" attrs="{'invisible': [('customer', '=', False)]}"
|
||||
name="%(act_project_project_2_project_issue_all)d" context="{'search_default_partner_id': active_id, 'default_partner_id': active_id}" groups="project.group_project_user"/>
|
||||
<button class="oe_inline" type="action" string="Issues"
|
||||
attrs="{'invisible': [('customer', '=', False)]}"
|
||||
name="%(action_view_issues)d"
|
||||
context="{'search_default_partner_id': active_id, 'default_partner_id': active_id}"
|
||||
groups="project.group_project_user"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
@ -40,7 +40,6 @@ class sale_report(osv.osv):
|
|||
'product_uom_qty': fields.float('# of Qty', readonly=True),
|
||||
|
||||
'partner_id': fields.many2one('res.partner', 'Partner', readonly=True),
|
||||
'shop_id': fields.many2one('sale.shop', 'Shop', readonly=True),
|
||||
'company_id': fields.many2one('res.company', 'Company', readonly=True),
|
||||
'user_id': fields.many2one('res.users', 'Salesperson', readonly=True),
|
||||
'price_total': fields.float('Total Price', readonly=True),
|
||||
|
@ -79,7 +78,6 @@ class sale_report(osv.osv):
|
|||
to_char(s.date_order, 'YYYY-MM-DD') as day,
|
||||
s.partner_id as partner_id,
|
||||
s.user_id as user_id,
|
||||
s.shop_id as shop_id,
|
||||
s.company_id as company_id,
|
||||
extract(epoch from avg(date_trunc('day',s.date_confirm)-date_trunc('day',s.create_date)))/(24*60*60)::decimal(16,2) as delay,
|
||||
s.state,
|
||||
|
@ -103,7 +101,6 @@ class sale_report(osv.osv):
|
|||
s.date_confirm,
|
||||
s.partner_id,
|
||||
s.user_id,
|
||||
s.shop_id,
|
||||
s.company_id,
|
||||
s.state,
|
||||
s.pricelist_id,
|
||||
|
|
|
@ -13,7 +13,6 @@
|
|||
<field name="year" invisible="1"/>
|
||||
<field name="day" invisible="1"/>
|
||||
<field name="month" invisible="1"/>
|
||||
<field name="shop_id" invisible="1"/>
|
||||
<field name="company_id" invisible="1" groups="base.group_multi_company"/>
|
||||
<field name="partner_id" invisible="1"/>
|
||||
<field name="product_id" invisible="1"/>
|
||||
|
@ -58,7 +57,6 @@
|
|||
<field name="product_id"/>
|
||||
<field name="user_id"/>
|
||||
<group expand="0" string="Extended Filters...">
|
||||
<field name="shop_id"/>
|
||||
<field name="categ_id"/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
</group>
|
||||
|
@ -70,7 +68,6 @@
|
|||
<filter string="Category of Product" icon="terp-stock_symbol-selection" name="Category" context="{'group_by':'categ_id'}"/>
|
||||
<filter string="Analytic Account" icon="terp-folder-green" context="{'group_by':'analytic_account_id'}" groups="analytic.group_analytic_accounting"/>
|
||||
<filter string="Status" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/>
|
||||
<filter string="Shop" icon="terp-go-home" context="{'group_by':'shop_id'}"/>
|
||||
<filter string="Company" icon="terp-go-home" groups="base.group_multi_company" context="{'group_by':'company_id'}"/>
|
||||
<filter string="Day" icon="terp-go-today" context="{'group_by':'day'}" help="Ordered date of the sales order"/>
|
||||
<filter string="Month" name="order_month" icon="terp-go-month" context="{'group_by':'month'}" help="Ordered month of the sales order"/>
|
||||
|
|
|
@ -28,21 +28,6 @@ from openerp.tools import DEFAULT_SERVER_DATE_FORMAT, DEFAULT_SERVER_DATETIME_FO
|
|||
import openerp.addons.decimal_precision as dp
|
||||
from openerp import netsvc
|
||||
|
||||
class sale_shop(osv.osv):
|
||||
_name = "sale.shop"
|
||||
_description = "Sales Shop"
|
||||
_columns = {
|
||||
'name': fields.char('Shop Name', size=64, required=True),
|
||||
'payment_default_id': fields.many2one('account.payment.term', 'Default Payment Term', required=True),
|
||||
'pricelist_id': fields.many2one('product.pricelist', 'Pricelist'),
|
||||
'project_id': fields.many2one('account.analytic.account', 'Analytic Account', domain=[('parent_id', '!=', False)]),
|
||||
'company_id': fields.many2one('res.company', 'Company', required=False),
|
||||
}
|
||||
_defaults = {
|
||||
'company_id': lambda s, cr, uid, c: s.pool.get('res.company')._company_default_get(cr, uid, 'sale.shop', context=c),
|
||||
}
|
||||
|
||||
|
||||
class sale_order(osv.osv):
|
||||
_name = "sale.order"
|
||||
_inherit = ['mail.thread', 'ir.needaction_mixin']
|
||||
|
@ -54,16 +39,6 @@ class sale_order(osv.osv):
|
|||
},
|
||||
}
|
||||
|
||||
def onchange_shop_id(self, cr, uid, ids, shop_id, context=None):
|
||||
v = {}
|
||||
if shop_id:
|
||||
shop = self.pool.get('sale.shop').browse(cr, uid, shop_id, context=context)
|
||||
if shop.project_id.id:
|
||||
v['project_id'] = shop.project_id.id
|
||||
if shop.pricelist_id.id:
|
||||
v['pricelist_id'] = shop.pricelist_id.id
|
||||
return {'value': v}
|
||||
|
||||
def copy(self, cr, uid, id, default=None, context=None):
|
||||
if not default:
|
||||
default = {}
|
||||
|
@ -176,17 +151,15 @@ class sale_order(osv.osv):
|
|||
result[line.order_id.id] = True
|
||||
return result.keys()
|
||||
|
||||
def _get_default_shop(self, cr, uid, context=None):
|
||||
company_id = self.pool.get('res.users').browse(cr, uid, uid, context=context).company_id.id
|
||||
shop_ids = self.pool.get('sale.shop').search(cr, uid, [('company_id','=',company_id)], context=context)
|
||||
if not shop_ids:
|
||||
raise osv.except_osv(_('Error!'), _('There is no default shop for the current user\'s company!'))
|
||||
return shop_ids[0]
|
||||
def _get_default_company(self, cr, uid, context=None):
|
||||
company_id = self.pool.get('res.users')._get_company(cr, uid, context=context)
|
||||
if not company_id:
|
||||
raise osv.except_osv(_('Error!'), _('There is no default company for the current user!'))
|
||||
return company_id
|
||||
|
||||
_columns = {
|
||||
'name': fields.char('Order Reference', size=64, required=True,
|
||||
readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}, select=True),
|
||||
'shop_id': fields.many2one('sale.shop', 'Shop', required=True, readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}),
|
||||
'origin': fields.char('Source Document', size=64, help="Reference of the document that generated this sales order request."),
|
||||
'client_order_ref': fields.char('Customer Reference', size=64),
|
||||
'state': fields.selection([
|
||||
|
@ -246,16 +219,16 @@ class sale_order(osv.osv):
|
|||
'invoice_quantity': fields.selection([('order', 'Ordered Quantities')], 'Invoice on', help="The sales order will automatically create the invoice proposition (draft invoice).", required=True, readonly=True, states={'draft': [('readonly', False)]}),
|
||||
'payment_term': fields.many2one('account.payment.term', 'Payment Term'),
|
||||
'fiscal_position': fields.many2one('account.fiscal.position', 'Fiscal Position'),
|
||||
'company_id': fields.related('shop_id','company_id',type='many2one',relation='res.company',string='Company',store=True,readonly=True)
|
||||
'company_id': fields.many2one('res.company', 'Company'),
|
||||
}
|
||||
_defaults = {
|
||||
'date_order': fields.date.context_today,
|
||||
'order_policy': 'manual',
|
||||
'company_id': _get_default_company,
|
||||
'state': 'draft',
|
||||
'user_id': lambda obj, cr, uid, context: uid,
|
||||
'name': lambda obj, cr, uid, context: '/',
|
||||
'invoice_quantity': 'order',
|
||||
'shop_id': _get_default_shop,
|
||||
'partner_invoice_id': lambda self, cr, uid, context: context.get('partner_id', False) and self.pool.get('res.partner').address_get(cr, uid, [context['partner_id']], ['invoice'])['invoice'],
|
||||
'partner_shipping_id': lambda self, cr, uid, context: context.get('partner_id', False) and self.pool.get('res.partner').address_get(cr, uid, [context['partner_id']], ['delivery'])['delivery'],
|
||||
'note': lambda self, cr, uid, context: self.pool.get('res.users').browse(cr, uid, uid, context=context).company_id.sale_note
|
||||
|
|
|
@ -19,20 +19,6 @@
|
|||
<field name="object">sale.order</field>
|
||||
</record>
|
||||
|
||||
<!-- Resource: sale.shop -->
|
||||
<record id="sale_shop_1" model="sale.shop">
|
||||
<field name="company_id" ref="base.main_company"/>
|
||||
<field name="payment_default_id" ref="account.account_payment_term_net"/>
|
||||
<field name="pricelist_id" ref="product.list0"/>
|
||||
|
||||
<!-- Copy the name of any company. Without demo data this will yield
|
||||
the main company name, which is correct. With demo data it will
|
||||
be random, but it does not matter much -->
|
||||
<field model="res.company" name="name" search="[]" use="name"/>
|
||||
</record>
|
||||
|
||||
<function eval="('default',False,'shop_id', [('sale.order', False)], sale_shop_1, True, False, False, False, True)" id="sale_default_set" model="ir.values" name="set"/>
|
||||
|
||||
<!-- notify all employees of module installation -->
|
||||
<record model="mail.message" id="module_install_notification">
|
||||
<field name="model">mail.group</field>
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
<field name="partner_id" ref="base.res_partner_2"/>
|
||||
<field name="partner_invoice_id" ref="base.res_partner_2"/>
|
||||
<field name="partner_shipping_id" ref="base.res_partner_2"/>
|
||||
<field name="shop_id" ref="sale_shop_1"/>
|
||||
<field name="user_id" ref="base.user_demo"/>
|
||||
<field name="pricelist_id" ref="product.list0"/>
|
||||
</record>
|
||||
|
@ -45,7 +44,6 @@
|
|||
<field name="partner_id" ref="base.res_partner_7"/>
|
||||
<field name="partner_invoice_id" ref="base.res_partner_address_13"/>
|
||||
<field name="partner_shipping_id" ref="base.res_partner_address_13"/>
|
||||
<field name="shop_id" ref="sale_shop_1"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field name="pricelist_id" ref="product.list0"/>
|
||||
<field name="order_policy">manual</field>
|
||||
|
@ -75,7 +73,6 @@
|
|||
<field name="partner_id" ref="base.res_partner_14"/>
|
||||
<field name="partner_invoice_id" ref="base.res_partner_14"/>
|
||||
<field name="partner_shipping_id" ref="base.res_partner_14"/>
|
||||
<field name="shop_id" ref="sale_shop_1"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field name="pricelist_id" ref="product.list0"/>
|
||||
<field name="order_policy">manual</field>
|
||||
|
@ -105,7 +102,6 @@
|
|||
<field name="partner_id" ref="base.res_partner_15"/>
|
||||
<field name="partner_invoice_id" ref="base.res_partner_address_25"/>
|
||||
<field name="partner_shipping_id" ref="base.res_partner_address_25"/>
|
||||
<field name="shop_id" ref="sale_shop_1"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field name="pricelist_id" ref="product.list0"/>
|
||||
</record>
|
||||
|
@ -154,7 +150,6 @@
|
|||
<field name="partner_id" ref="base.res_partner_2"/>
|
||||
<field name="partner_invoice_id" ref="base.res_partner_2"/>
|
||||
<field name="partner_shipping_id" ref="base.res_partner_2"/>
|
||||
<field name="shop_id" ref="sale_shop_1"/>
|
||||
<field name="user_id" ref="base.user_demo"/>
|
||||
<field name="pricelist_id" ref="product.list0"/>
|
||||
</record>
|
||||
|
@ -193,7 +188,6 @@
|
|||
<field name="partner_id" ref="base.res_partner_18"/>
|
||||
<field name="partner_invoice_id" ref="base.res_partner_18"/>
|
||||
<field name="partner_shipping_id" ref="base.res_partner_18"/>
|
||||
<field name="shop_id" ref="sale_shop_1"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field name="pricelist_id" ref="product.list0"/>
|
||||
</record>
|
||||
|
@ -261,7 +255,6 @@
|
|||
<field name="partner_id" ref="base.res_partner_15"/>
|
||||
<field name="partner_invoice_id" ref="base.res_partner_address_25"/>
|
||||
<field name="partner_shipping_id" ref="base.res_partner_address_25"/>
|
||||
<field name="shop_id" ref="sale_shop_1"/>
|
||||
<field name="user_id" ref="base.user_demo"/>
|
||||
<field name="pricelist_id" ref="product.list0"/>
|
||||
<field name="order_policy">manual</field>
|
||||
|
|
|
@ -3,7 +3,6 @@
|
|||
<data>
|
||||
<!-- Resource: sale.order -->
|
||||
<record id="test_order_1" model="sale.order">
|
||||
<field name="shop_id" ref="sale_shop_1"/>
|
||||
<field model="product.pricelist" name="pricelist_id" search="[]"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
<field model="res.partner" name="partner_id" search="[]"/>
|
||||
|
|
|
@ -13,59 +13,6 @@
|
|||
|
||||
<menuitem id="base.menu_product" name="Products" parent="base.menu_base_partner" sequence="9"/>
|
||||
|
||||
|
||||
<record id="view_shop_form" model="ir.ui.view">
|
||||
<field name="name">sale.shop</field>
|
||||
<field name="model">sale.shop</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Sales Shop" version="7.0">
|
||||
<label for="name" class="oe_edit_only"/>
|
||||
<h1><field name="name"/></h1>
|
||||
<group name="shop">
|
||||
<group>
|
||||
<field name="payment_default_id"/>
|
||||
<field domain="[('type','=','sale')]" name="pricelist_id" groups="product.group_sale_pricelist"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="project_id" groups="analytic.group_analytic_accounting"/>
|
||||
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
|
||||
</group>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_shop_tree" model="ir.ui.view">
|
||||
<field name="name">sale.shop</field>
|
||||
<field name="model">sale.shop</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Sales Shop">
|
||||
<field name="name"/>
|
||||
<field name="pricelist_id" groups="product.group_sale_pricelist"/>
|
||||
<field name="project_id" groups="analytic.group_analytic_accounting"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_shop_form" model="ir.actions.act_window">
|
||||
<field name="name">Shop</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">sale.shop</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="view_id" ref="view_shop_tree"/>
|
||||
<field name="help" type="html">
|
||||
<p class="oe_view_nocontent_create">
|
||||
Click to define a new sale shop.
|
||||
</p><p>
|
||||
Each quotation or sales order must be linked to a shop. The
|
||||
shop also defines the warehouse from which the products will be
|
||||
delivered for each particular sales.
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record id="view_sale_order_calendar" model="ir.ui.view">
|
||||
<field name="name">sale.order.calendar</field>
|
||||
<field name="model">sale.order</field>
|
||||
|
@ -160,7 +107,6 @@
|
|||
</group>
|
||||
<group>
|
||||
<field name="date_order"/>
|
||||
<field name="shop_id" groups="base.group_no_one" on_change="onchange_shop_id(shop_id, context)" widget="selection"/>
|
||||
<field name="client_order_ref"/>
|
||||
<field domain="[('type','=','sale')]" name="pricelist_id" groups="product.group_sale_pricelist" on_change="onchange_pricelist_id(pricelist_id,order_line)"/>
|
||||
<field name="currency_id" invisible="1"/>
|
||||
|
@ -178,13 +124,13 @@
|
|||
<group>
|
||||
<field name="state" invisible="1" />
|
||||
<field name="product_id"
|
||||
context="{'partner_id':parent.partner_id, 'quantity':product_uom_qty, 'pricelist':parent.pricelist_id, 'shop':parent.shop_id, 'uom':product_uom}"
|
||||
context="{'partner_id':parent.partner_id, 'quantity':product_uom_qty, 'pricelist':parent.pricelist_id, 'uom':product_uom}"
|
||||
groups="base.group_user"
|
||||
on_change="product_id_change(parent.pricelist_id, product_id, product_uom_qty, product_uom, product_uos_qty, product_uos, name, parent.partner_id, False, True, parent.date_order, False, parent.fiscal_position, False, context)"/>
|
||||
<label for="product_uom_qty"/>
|
||||
<div>
|
||||
<field
|
||||
context="{'partner_id':parent.partner_id, 'quantity':product_uom_qty, 'pricelist':parent.pricelist_id, 'shop':parent.shop_id, 'uom':product_uom}"
|
||||
context="{'partner_id':parent.partner_id, 'quantity':product_uom_qty, 'pricelist':parent.pricelist_id, 'uom':product_uom}"
|
||||
name="product_uom_qty" class="oe_inline"
|
||||
on_change="product_id_change(parent.pricelist_id,product_id,product_uom_qty,product_uom,product_uos_qty,product_uos,name,parent.partner_id, False, False, parent.date_order, False, parent.fiscal_position, True, context)"/>
|
||||
<field name="product_uom" groups="product.group_uom" class="oe_inline oe_no_button"
|
||||
|
@ -222,12 +168,12 @@
|
|||
<field name="state" invisible="1"/>
|
||||
<field name="th_weight" invisible="1"/>
|
||||
<field name="product_id"
|
||||
context="{'partner_id':parent.partner_id, 'quantity':product_uom_qty, 'pricelist':parent.pricelist_id, 'shop':parent.shop_id, 'uom':product_uom}"
|
||||
context="{'partner_id':parent.partner_id, 'quantity':product_uom_qty, 'pricelist':parent.pricelist_id, 'uom':product_uom}"
|
||||
groups="base.group_user"
|
||||
on_change="product_id_change(parent.pricelist_id, product_id, product_uom_qty, product_uom, product_uos_qty, product_uos, name, parent.partner_id, False, True, parent.date_order, False, parent.fiscal_position, False, context)"/>
|
||||
<field name="name"/>
|
||||
<field name="product_uom_qty"
|
||||
context="{'partner_id':parent.partner_id, 'quantity':product_uom_qty, 'pricelist':parent.pricelist_id, 'shop':parent.shop_id, 'uom':product_uom}"
|
||||
context="{'partner_id':parent.partner_id, 'quantity':product_uom_qty, 'pricelist':parent.pricelist_id, 'uom':product_uom}"
|
||||
on_change="product_id_change(parent.pricelist_id, product_id, product_uom_qty, product_uom, product_uos_qty, product_uos, name, parent.partner_id, False, False, parent.date_order, False, parent.fiscal_position, True, context)"/>
|
||||
<field name="product_uom"
|
||||
on_change="product_uom_change(parent.pricelist_id, product_id, product_uom_qty, product_uom, product_uos_qty, product_uos, name, parent.partner_id, False, False, parent.date_order, context)"
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
||||
access_sale_shop,sale.shop,model_sale_shop,base.group_user,1,0,0,0
|
||||
access_sale_order,sale.order,model_sale_order,base.group_sale_salesman,1,1,1,0
|
||||
access_sale_order_line,sale.order.line,model_sale_order_line,base.group_sale_salesman,1,1,1,1
|
||||
access_sale_order_line_accountant,sale.order.line accountant,model_sale_order_line,account.group_account_user,1,1,0,0
|
||||
|
@ -19,7 +18,6 @@ access_res_partner_sale_user,res.partner.sale.user,base.model_res_partner,base.g
|
|||
access_res_partner_sale_manager,res.partner.sale.manager,base.model_res_partner,base.group_sale_manager,1,1,1,0
|
||||
access_product_template_sale_user,product.template sale use,product.model_product_template,base.group_sale_salesman,1,0,0,0
|
||||
access_product_product_sale_user,product.product sale use,product.model_product_product,base.group_sale_salesman,1,0,0,0
|
||||
access_sale_shop_manager,account.journal sale order.user,model_sale_shop,base.group_sale_manager,1,1,1,1
|
||||
access_account_fiscalyear_user,account.fiscalyear.user,account.model_account_fiscalyear,base.group_sale_salesman,1,0,0,0
|
||||
access_account_tax_user,account.tax.user,account.model_account_tax,base.group_sale_salesman,1,0,0,0
|
||||
access_ir_attachment_sales,ir.attachment.sales,base.model_ir_attachment,base.group_sale_salesman,1,1,1,0
|
||||
|
@ -29,8 +27,6 @@ access_res_partner_bank_type_field_user,res.partner.bank.type.field.user,base.mo
|
|||
access_product_uom_user,product.uom.user,product.model_product_uom,base.group_sale_salesman,1,0,0,0
|
||||
access_product_pricelist_sale_user,product.pricelist.sale.user,product.model_product_pricelist,base.group_sale_salesman,1,0,0,0
|
||||
access_account_account_salesman,account_account salesman,account.model_account_account,base.group_sale_salesman,1,0,0,0
|
||||
access_sale_shop_sale_user,sale.shop.sale.user,model_sale_shop,base.group_sale_salesman,1,0,0,0
|
||||
access_sale_shop_sale_manager,sale.shop.sale.manager,model_sale_shop,base.group_sale_manager,1,1,1,1
|
||||
access_product_uom_categ_sale_manager,product.uom.categ salemanager,product.model_product_uom_categ,base.group_sale_manager,1,1,1,1
|
||||
access_product_uom_sale_manager,product.uom salemanager,product.model_product_uom,base.group_sale_manager,1,1,1,1
|
||||
access_product_ul_sale_manager,product.ul salemanager,product.model_product_ul,base.group_sale_manager,1,1,1,1
|
||||
|
|
|
|
@ -78,13 +78,6 @@
|
|||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.rule" id="sale_shop_comp_rule">
|
||||
<field name="name">Sale Shop multi-company</field>
|
||||
<field name="model_id" ref="model_sale_shop"/>
|
||||
<field name="global" eval="True"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
|
||||
<!-- Multi - Salesmen sales order assignation rules -->
|
||||
|
||||
<record id="sale_order_personal_rule" model="ir.rule">
|
||||
|
|
|
@ -38,14 +38,4 @@ class sale_order_line(osv.osv):
|
|||
return create_ids
|
||||
|
||||
|
||||
class sale_order(osv.osv):
|
||||
_inherit = "sale.order"
|
||||
|
||||
def onchange_shop_id(self, cr, uid, ids, shop_id, context=None):
|
||||
# Remove the project_id from the result of super() call, if any, as this field is not in the view anymore
|
||||
res = super(sale_order, self).onchange_shop_id(cr, uid, ids, shop_id, context=context)
|
||||
if res.get('value',{}).get('project_id'):
|
||||
del(res['value']['project_id'])
|
||||
return res
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
|
|
@ -1,14 +1,3 @@
|
|||
-
|
||||
Make sure the main company has at least one shop.
|
||||
-
|
||||
!python {model: sale.shop}: |
|
||||
company_id = self.pool.get('res.users')._get_company(cr, uid, context=context)
|
||||
shop_ids = self.search(cr, uid, [('company_id', '=', company_id)])
|
||||
if not shop_ids:
|
||||
# take a shop, and assign it to the user's company
|
||||
shop_ids = self.search(cr, uid, [])
|
||||
if shop_ids:
|
||||
self.write(cr, uid, [shop_ids[0]], {'company_id': company_id})
|
||||
-
|
||||
I open the wizard "Make sales".
|
||||
-
|
||||
|
|
|
@ -95,7 +95,6 @@ class crm_make_sale(osv.osv_memory):
|
|||
'origin': _('Opportunity: %s') % str(case.id),
|
||||
'section_id': case.section_id and case.section_id.id or False,
|
||||
'categ_ids': [(6, 0, [categ_id.id for categ_id in case.categ_ids])],
|
||||
'shop_id': make.shop_id.id,
|
||||
'partner_id': partner.id,
|
||||
'pricelist_id': pricelist,
|
||||
'partner_invoice_id': partner_addr['invoice'],
|
||||
|
@ -140,18 +139,12 @@ class crm_make_sale(osv.osv_memory):
|
|||
}
|
||||
return value
|
||||
|
||||
def _get_shop_id(self, cr, uid, ids, context=None):
|
||||
cmpny_id = self.pool.get('res.users')._get_company(cr, uid, context=context)
|
||||
shop = self.pool.get('sale.shop').search(cr, uid, [('company_id', '=', cmpny_id)])
|
||||
return shop and shop[0] or False
|
||||
|
||||
_columns = {
|
||||
'shop_id': fields.many2one('sale.shop', 'Shop', required=True),
|
||||
'partner_id': fields.many2one('res.partner', 'Customer', required=True, domain=[('customer','=',True)]),
|
||||
'close': fields.boolean('Mark Won', help='Check this to close the opportunity after having created the sales order.'),
|
||||
}
|
||||
_defaults = {
|
||||
'shop_id': _get_shop_id,
|
||||
'close': False,
|
||||
'partner_id': _selectPartner,
|
||||
}
|
||||
|
|
|
@ -10,7 +10,6 @@
|
|||
<form string="Convert to Quotation" version="7.0">
|
||||
<group col="4">
|
||||
<field name="partner_id" required="1"/>
|
||||
<field name="shop_id" required="1" widget="selection" groups="stock.group_locations"/>
|
||||
<field name="close"/>
|
||||
</group>
|
||||
<footer>
|
||||
|
|
|
@ -23,7 +23,6 @@
|
|||
partner_invoice_id: base.res_partner_address_7
|
||||
partner_shipping_id: base.res_partner_address_7
|
||||
pricelist_id: product.list0
|
||||
shop_id: sale.sale_shop_1
|
||||
-
|
||||
I confirm the sale order
|
||||
-
|
||||
|
|
|
@ -83,7 +83,6 @@
|
|||
partner_shipping_id: base.res_partner_address_7
|
||||
picking_policy: direct
|
||||
pricelist_id: product.list0
|
||||
shop_id: sale.sale_shop_1
|
||||
-
|
||||
I confirm the sale order
|
||||
-
|
||||
|
|
|
@ -57,7 +57,6 @@ You can choose flexible invoicing methods:
|
|||
'report/sale_report_view.xml',
|
||||
'process/sale_stock_process.xml',
|
||||
],
|
||||
'data': ['sale_stock_data.xml'],
|
||||
'demo_xml': ['sale_stock_demo.xml'],
|
||||
'test': ['test/cancel_order_sale_stock.yml',
|
||||
'test/picking_order_policy.yml',
|
||||
|
|
|
@ -27,6 +27,7 @@ class sale_report(osv.osv):
|
|||
_columns = {
|
||||
'shipped': fields.boolean('Shipped', readonly=True),
|
||||
'shipped_qty_1': fields.integer('Shipped', readonly=True),
|
||||
'warehouse_id': fields.many2one('stock.warehouse', 'Warehouse',readonly=True),
|
||||
'state': fields.selection([
|
||||
('draft', 'Quotation'),
|
||||
('waiting_date', 'Waiting Schedule'),
|
||||
|
@ -57,8 +58,8 @@ class sale_report(osv.osv):
|
|||
to_char(s.date_order, 'YYYY-MM-DD') as day,
|
||||
s.partner_id as partner_id,
|
||||
s.user_id as user_id,
|
||||
s.shop_id as shop_id,
|
||||
s.company_id as company_id,
|
||||
s.warehouse_id as warehouse_id,
|
||||
extract(epoch from avg(date_trunc('day',s.date_confirm)-date_trunc('day',s.create_date)))/(24*60*60)::decimal(16,2) as delay,
|
||||
s.state,
|
||||
t.categ_id as categ_id,
|
||||
|
@ -83,7 +84,7 @@ class sale_report(osv.osv):
|
|||
s.date_confirm,
|
||||
s.partner_id,
|
||||
s.user_id,
|
||||
s.shop_id,
|
||||
s.warehouse_id,
|
||||
s.company_id,
|
||||
s.state,
|
||||
s.shipped,
|
||||
|
|
|
@ -7,9 +7,20 @@
|
|||
<field name="inherit_id" ref="sale.view_order_product_tree"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="product_uom_qty" position="after">
|
||||
<field name="warehouse_id" invisible="1"/>
|
||||
<field name="shipped_qty_1" sum="Shipped"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_order_product_search_sale_stock_inherit" model="ir.ui.view">
|
||||
<field name="name">sale.report.search.sale.stock</field>
|
||||
<field name="model">sale.report</field>
|
||||
<field name="inherit_id" ref="sale.view_order_product_search"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//group/filter[@string='Status']" position="after">
|
||||
<filter string="Warehouse" context="{'group_by':'warehouse_id'}"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
|
@ -50,9 +50,6 @@ class sale_configuration(osv.osv_memory):
|
|||
'group_mrp_properties': fields.boolean('Product properties on order lines',
|
||||
implied_group='sale.group_mrp_properties',
|
||||
help="Allows you to tag sales order lines with properties."),
|
||||
'group_multiple_shops': fields.boolean("Manage multiple shops",
|
||||
implied_group='stock.group_locations',
|
||||
help="This allows to configure and use multiple shops."),
|
||||
'module_project_timesheet': fields.boolean("Project Timesheet"),
|
||||
'module_project_mrp': fields.boolean("Project MRP"),
|
||||
}
|
||||
|
|
|
@ -59,12 +59,6 @@
|
|||
<label for="group_mrp_properties"/>
|
||||
</div>
|
||||
</div>
|
||||
<xpath expr="//div[@name='module_sale_margin']" position="before">
|
||||
<div>
|
||||
<field name="group_multiple_shops" class="oe_inline"/>
|
||||
<label for="group_multiple_shops"/>
|
||||
</div>
|
||||
</xpath>
|
||||
<field name="group_invoice_so_lines" position="replace">
|
||||
<field name="group_invoice_so_lines" on_change="onchange_invoice_methods(group_invoice_so_lines, group_invoice_deli_orders)" class="oe_inline"/>
|
||||
</field>
|
||||
|
|
|
@ -27,13 +27,6 @@ from openerp.tools.translate import _
|
|||
import pytz
|
||||
from openerp import SUPERUSER_ID
|
||||
|
||||
class sale_shop(osv.osv):
|
||||
_inherit = "sale.shop"
|
||||
_columns = {
|
||||
'warehouse_id': fields.many2one('stock.warehouse', 'Warehouse'),
|
||||
}
|
||||
|
||||
|
||||
class sale_order(osv.osv):
|
||||
_inherit = "sale.order"
|
||||
|
||||
|
@ -70,9 +63,16 @@ class sale_order(osv.osv):
|
|||
vals.update({'invoice_quantity': 'order'})
|
||||
if vals['order_policy'] == 'picking':
|
||||
vals.update({'invoice_quantity': 'procurement'})
|
||||
order = super(sale_order, self).create(cr, uid, vals, context=context)
|
||||
order = super(sale_order, self).create(cr, uid, vals, context=context)
|
||||
return order
|
||||
|
||||
def _get_default_warehouse(self, cr, uid, context=None):
|
||||
company_id = self.pool.get('res.users')._get_company(cr, uid, context=context)
|
||||
warehouse_ids = self.pool.get('stock.warehouse').search(cr, uid, [('company_id', '=', company_id)], context=context)
|
||||
if not warehouse_ids:
|
||||
raise osv.except_osv(_('Error!'), _('There is no warehouse defined for current company.'))
|
||||
return warehouse_ids[0]
|
||||
|
||||
# This is False
|
||||
def _picked_rate(self, cr, uid, ids, name, arg, context=None):
|
||||
if not ids:
|
||||
|
@ -140,11 +140,13 @@ class sale_order(osv.osv):
|
|||
'picking_ids': fields.one2many('stock.picking.out', 'sale_id', 'Related Picking', readonly=True, help="This is a list of delivery orders that has been generated for this sales order."),
|
||||
'shipped': fields.boolean('Delivered', readonly=True, help="It indicates that the sales order has been delivered. This field is updated only after the scheduler(s) have been launched."),
|
||||
'picked_rate': fields.function(_picked_rate, string='Picked', type='float'),
|
||||
'warehouse_id': fields.many2one('stock.warehouse', 'Warehouse', required=True),
|
||||
'invoice_quantity': fields.selection([('order', 'Ordered Quantities'), ('procurement', 'Shipped Quantities')], 'Invoice on',
|
||||
help="The sales order will automatically create the invoice proposition (draft invoice).\
|
||||
You have to choose if you want your invoice based on ordered ", required=True, readonly=True, states={'draft': [('readonly', False)]}),
|
||||
}
|
||||
_defaults = {
|
||||
'warehouse_id': _get_default_warehouse,
|
||||
'picking_policy': 'direct',
|
||||
'order_policy': 'manual',
|
||||
'invoice_quantity': 'order',
|
||||
|
@ -162,6 +164,14 @@ class sale_order(osv.osv):
|
|||
|
||||
return osv.osv.unlink(self, cr, uid, unlink_ids, context=context)
|
||||
|
||||
def onchange_warehouse_id(self, cr, uid, ids, warehouse_id, context=None):
|
||||
val = {}
|
||||
if warehouse_id:
|
||||
warehouse = self.pool.get('stock.warehouse').browse(cr, uid, warehouse_id, context=context)
|
||||
if warehouse.company_id:
|
||||
val['company_id'] = warehouse.company_id.id
|
||||
return {'value': val}
|
||||
|
||||
def action_view_delivery(self, cr, uid, ids, context=None):
|
||||
'''
|
||||
This function returns an action that display existing delivery orders of given sales order ids. It can either be a in a list or in a form view, if there is only one delivery order to show.
|
||||
|
@ -297,7 +307,7 @@ class sale_order(osv.osv):
|
|||
or line.product_uom_qty,
|
||||
'product_uos': (line.product_uos and line.product_uos.id)\
|
||||
or line.product_uom.id,
|
||||
'location_id': order.shop_id.warehouse_id.lot_stock_id.id,
|
||||
'location_id': order.warehouse_id.lot_stock_id.id,
|
||||
'procure_method': line.type,
|
||||
'move_id': move_id,
|
||||
'company_id': order.company_id.id,
|
||||
|
@ -305,8 +315,8 @@ class sale_order(osv.osv):
|
|||
}
|
||||
|
||||
def _prepare_order_line_move(self, cr, uid, order, line, picking_id, date_planned, context=None):
|
||||
location_id = order.shop_id.warehouse_id.lot_stock_id.id
|
||||
output_id = order.shop_id.warehouse_id.lot_output_id.id
|
||||
location_id = order.warehouse_id.lot_stock_id.id
|
||||
output_id = order.warehouse_id.lot_output_id.id
|
||||
return {
|
||||
'name': line.name,
|
||||
'picking_id': picking_id,
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data noupdate="1">
|
||||
|
||||
<!-- Resource: sale.shop -->
|
||||
<record id="sale.sale_shop_1" model="sale.shop">
|
||||
<field name="warehouse_id" ref="stock.warehouse0"/>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
|
@ -3,21 +3,37 @@
|
|||
<data noupdate="1">
|
||||
|
||||
<record id="sale.sale_order_1" model="sale.order">
|
||||
<field name="warehouse_id" ref="stock.warehouse0"/>
|
||||
<field name="order_policy">prepaid</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record id="sale.sale_order_2" model="sale.order">
|
||||
<field name="warehouse_id" ref="stock.warehouse0"/>
|
||||
</record>
|
||||
|
||||
<record id="sale.sale_order_3" model="sale.order">
|
||||
<field name="warehouse_id" ref="stock.warehouse0"/>
|
||||
</record>
|
||||
|
||||
<record id="sale.sale_order_4" model="sale.order">
|
||||
<field name="warehouse_id" ref="stock.warehouse0"/>
|
||||
<field name="order_policy">prepaid</field>
|
||||
</record>
|
||||
|
||||
<record id="sale.sale_order_5" model="sale.order">
|
||||
<field name="warehouse_id" ref="stock.warehouse0"/>
|
||||
<field name="order_policy">picking</field>
|
||||
</record>
|
||||
|
||||
<record id="sale.sale_order_6" model="sale.order">
|
||||
<field name="warehouse_id" ref="stock.warehouse0"/>
|
||||
<field name="order_policy">picking</field>
|
||||
</record>
|
||||
|
||||
<record id="sale.sale_order_8" model="sale.order">
|
||||
<field name="warehouse_id" ref="stock.warehouse0"/>
|
||||
</record>
|
||||
|
||||
<!-- Confirm some Sale Orders-->
|
||||
<workflow action="order_confirm" model="sale.order" ref="sale.sale_order_1"/>
|
||||
<workflow action="order_confirm" model="sale.order" ref="sale.sale_order_5"/>
|
||||
|
|
|
@ -2,31 +2,6 @@
|
|||
<openerp>
|
||||
<data>
|
||||
|
||||
<record id="view_sale_shop_form_inherit" model="ir.ui.view">
|
||||
<field name="name">sale.shop.inherit.form</field>
|
||||
<field name="model">sale.shop</field>
|
||||
<field name="inherit_id" ref="sale.view_shop_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//group[@name='shop']" position="before">
|
||||
<label for="warehouse_id" class="oe_edit_only"/>
|
||||
<h2><field name="warehouse_id" required="1"/></h2>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_shop_tree_inherit" model="ir.ui.view">
|
||||
<field name="name">sale.shop.sale.stock</field>
|
||||
<field name="model">sale.shop</field>
|
||||
<field name="inherit_id" ref="sale.view_shop_tree"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="name" position="after">
|
||||
<field name="warehouse_id"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<menuitem action="sale.action_shop_form" id="menu_action_shop_form" parent="base.menu_base_config" sequence="35" groups="stock.group_locations"/>
|
||||
|
||||
<record id="view_order_form_inherit" model="ir.ui.view">
|
||||
<field name="name">sale.order.form.sale.stock</field>
|
||||
<field name="model">sale.order</field>
|
||||
|
@ -48,17 +23,20 @@
|
|||
<field name="state" position="replace">
|
||||
<field name="state" widget="statusbar" statusbar_visible="draft,sent,progress,invoiced,done" statusbar_colors='{"shipping_except":"red","invoice_except":"red","waiting_date":"blue"}'/>
|
||||
</field>
|
||||
<field name="shop_id" position="replace">
|
||||
<field name="shop_id" on_change="onchange_shop_id(shop_id)" widget="selection" groups="stock.group_locations"/>
|
||||
</field>
|
||||
<field name="company_id" position="replace">
|
||||
<field name="company_id" readonly="True"/>
|
||||
</field>
|
||||
<field name="fiscal_position" position="after">
|
||||
<field name="warehouse_id" on_change="onchange_warehouse_id(warehouse_id)" widget="selection" groups="stock.group_locations"/>
|
||||
</field>
|
||||
<field name="product_id" position="replace">
|
||||
<field name="product_id"
|
||||
context="{'partner_id':parent.partner_id, 'quantity':product_uom_qty, 'pricelist':parent.pricelist_id, 'shop':parent.shop_id, 'uom':product_uom}"
|
||||
context="{'partner_id':parent.partner_id, 'quantity':product_uom_qty, 'pricelist':parent.pricelist_id, 'uom':product_uom}"
|
||||
groups="base.group_user"
|
||||
on_change="product_id_change(parent.pricelist_id,product_id,product_uom_qty,product_uom,product_uos_qty,product_uos,name,parent.partner_id, False, True, parent.date_order, product_packaging, parent.fiscal_position, False, context)"/>
|
||||
</field>
|
||||
<field name="product_uom_qty" position="replace">
|
||||
<field context="{'partner_id':parent.partner_id, 'quantity':product_uom_qty, 'pricelist':parent.pricelist_id, 'shop':parent.shop_id, 'uom':product_uom}"
|
||||
<field context="{'partner_id':parent.partner_id, 'quantity':product_uom_qty, 'pricelist':parent.pricelist_id, 'uom':product_uom}"
|
||||
name="product_uom_qty" class="oe_inline"
|
||||
on_change="product_id_change(parent.pricelist_id,product_id,product_uom_qty,product_uom,product_uos_qty,product_uos,name,parent.partner_id, False, False, parent.date_order, product_packaging, parent.fiscal_position, True, context)"/>
|
||||
</field>
|
||||
|
@ -78,7 +56,7 @@
|
|||
groups="sale.group_mrp_properties"/>
|
||||
</xpath>
|
||||
<xpath expr="//page[@string='Order Lines']/field[@name='order_line']/form[@string='Sales Order Lines']/group/group/field[@name='tax_id']" position="before">
|
||||
<field name="product_packaging" context="{'partner_id':parent.partner_id, 'quantity':product_uom_qty, 'pricelist':parent.pricelist_id, 'shop':parent.shop_id, 'uom':product_uom}" on_change="product_packaging_change(parent.pricelist_id, product_id, product_uom_qty, product_uom, parent.partner_id, product_packaging, True, context)" domain="[('product_id','=',product_id)]" groups="product.group_stock_packaging" />
|
||||
<field name="product_packaging" context="{'partner_id':parent.partner_id, 'quantity':product_uom_qty, 'pricelist':parent.pricelist_id, 'uom':product_uom}" on_change="product_packaging_change(parent.pricelist_id, product_id, product_uom_qty, product_uom, parent.partner_id, product_packaging, True, context)" domain="[('product_id','=',product_id)]" groups="product.group_stock_packaging" />
|
||||
</xpath>
|
||||
<xpath expr="//page[@string='Order Lines']/field[@name='order_line']/form[@string='Sales Order Lines']/div/field[@name='invoice_lines']" position="after">
|
||||
<label for="move_ids"/>
|
||||
|
|
|
@ -63,8 +63,8 @@
|
|||
assert picking.note == sale_order.note,"Note is not correspond with sale order."
|
||||
assert picking.invoice_state == (sale_order.order_policy=='picking' and '2binvoiced') or 'none',"Invoice policy is not correspond with sale order."
|
||||
assert len(picking.move_lines) == len(sale_order.order_line), "Total move of delivery order are not corresposning with total sale order lines."
|
||||
location_id = sale_order.shop_id.warehouse_id.lot_stock_id.id
|
||||
output_id = sale_order.shop_id.warehouse_id.lot_output_id.id
|
||||
location_id = sale_order.warehouse_id.lot_stock_id.id
|
||||
output_id = sale_order.warehouse_id.lot_output_id.id
|
||||
for move in picking.move_lines:
|
||||
order_line = move.sale_line_id
|
||||
sale_order_date = self.date_to_datetime(cr, uid, sale_order.date_order, context)
|
||||
|
|
|
@ -205,7 +205,6 @@ class product_product(osv.osv):
|
|||
|
||||
location_obj = self.pool.get('stock.location')
|
||||
warehouse_obj = self.pool.get('stock.warehouse')
|
||||
shop_obj = self.pool.get('sale.shop')
|
||||
|
||||
states = context.get('states',[])
|
||||
what = context.get('what',())
|
||||
|
@ -215,11 +214,6 @@ class product_product(osv.osv):
|
|||
if not ids:
|
||||
return res
|
||||
|
||||
if context.get('shop', False):
|
||||
warehouse_id = shop_obj.read(cr, uid, int(context['shop']), ['warehouse_id'])['warehouse_id'][0]
|
||||
if warehouse_id:
|
||||
context['warehouse'] = warehouse_id
|
||||
|
||||
if context.get('warehouse', False):
|
||||
lot_id = warehouse_obj.read(cr, uid, int(context['warehouse']), ['lot_stock_id'])['lot_stock_id'][0]
|
||||
if lot_id:
|
||||
|
@ -372,7 +366,6 @@ class product_product(osv.osv):
|
|||
"In a context with a single Warehouse, this includes "
|
||||
"goods stored in the Stock Location of this Warehouse, or any "
|
||||
"of its children.\n"
|
||||
"In a context with a single Shop, this includes goods "
|
||||
"stored in the Stock Location of the Warehouse of this Shop, "
|
||||
"or any of its children.\n"
|
||||
"Otherwise, this includes goods stored in any Stock Location "
|
||||
|
@ -387,7 +380,6 @@ class product_product(osv.osv):
|
|||
"In a context with a single Warehouse, this includes "
|
||||
"goods stored in the Stock Location of this Warehouse, or any "
|
||||
"of its children.\n"
|
||||
"In a context with a single Shop, this includes goods "
|
||||
"stored in the Stock Location of the Warehouse of this Shop, "
|
||||
"or any of its children.\n"
|
||||
"Otherwise, this includes goods stored in any Stock Location "
|
||||
|
|
|
@ -75,17 +75,5 @@
|
|||
<field name="product_id" ref="product.product_product_9"/>
|
||||
</record>
|
||||
|
||||
<record id="sale_shop2" model="sale.shop">
|
||||
<field name="name">Chicago Shop</field>
|
||||
<field name="warehouse_id" ref="stock.stock_warehouse_shop0"/>
|
||||
<field name="company_id" ref="stock.res_company_1"/>
|
||||
<field model="account.payment.term" name="payment_default_id" search="[]"/>
|
||||
</record>
|
||||
<record id="sale_shop3" model="sale.shop">
|
||||
<field name="name">Birmingham shop</field>
|
||||
<field name="warehouse_id" ref="stock.stock_warehouse_shop1"/>
|
||||
<field name="company_id" ref="stock.res_company_2"/>
|
||||
<field model="account.payment.term" name="payment_default_id" search="[]"/>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
|
@ -0,0 +1,25 @@
|
|||
# Thai translation for openobject-addons
|
||||
# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-12-21 17:06+0000\n"
|
||||
"PO-Revision-Date: 2013-06-17 05:48+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Thai <th@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: 2013-06-18 05:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16673)\n"
|
||||
|
||||
#. module: web_shortcuts
|
||||
#. openerp-web
|
||||
#: code:addons/web_shortcuts/static/src/xml/web_shortcuts.xml:21
|
||||
#, python-format
|
||||
msgid "Add / Remove Shortcut..."
|
||||
msgstr "เพิ่ม / ลบ ทางลัด ..."
|
Loading…
Reference in New Issue