[MERGE]upstream

bzr revid: dle@openerp.com-20130620152606-yj5y61799v019yqd
This commit is contained in:
Denis Ledoux 2013-06-20 17:26:06 +02:00
commit b8529b22a8
71 changed files with 6572 additions and 601 deletions

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-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

View File

@ -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>

View File

@ -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

View File

@ -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,
}

View File

@ -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

View File

@ -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',

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-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

View File

@ -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',

View File

@ -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>

View File

@ -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:

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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 ""

View File

@ -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:

View File

@ -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>

View File

@ -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 ""

1912
addons/fleet/i18n/bg.po Normal file

File diff suppressed because it is too large Load Diff

View File

@ -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 ""

View File

@ -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

View File

@ -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

View File

@ -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'],

View File

@ -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

View File

@ -20,7 +20,6 @@
##############################################################################
import marketing_campaign
import res_partner
import report
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -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'

View File

@ -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:

View File

@ -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>

View File

@ -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':

View File

@ -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>

View File

@ -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)""")

View File

@ -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"/>

View File

@ -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>

View File

@ -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

1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
8 access_account_move_pos_user account.move pos_user account.model_account_move group_pos_user 1 1 1 0
9 access_account_account_pos_user account.account pos_user account.model_account_account group_pos_user 1 0 0 0
10 access_stock_picking_pos_user stock.picking pos_user stock.model_stock_picking group_pos_user 1 1 1 1
11 access_sale_shop_pos_user access_stock_warehouse_pos_user sale.shop pos_user stock.warehouse pos_user sale.model_sale_shop stock.model_stock_warehouse group_pos_user 1 0 0 0
12 access_pos_order_stock_worker pos.order stock_worker model_pos_order stock.group_stock_user 1 0 0 0
13 access_stock_move_pos_user stock.move pos_user stock.model_stock_move group_pos_user 1 1 1 1
14 access_report_sales_by_user_pos report.sales.by.user.pos model_report_sales_by_user_pos group_pos_user 1 0 0 0

View File

@ -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);

View File

@ -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

View File

@ -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

1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
11 access_account_move_line account.move.line account.model_account_move_line portal.group_portal 1 0 0 0
12 access_account_move_reconcile account.move.reconcile account.model_account_move_reconcile portal.group_portal 1 0 0 0
13 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
14 access_product_list product.pricelist product.model_product_pricelist portal.group_portal 1 0 0 0
15 access_res_partner res.partner base.model_res_partner portal.group_portal 1 0 0 0
16 access_account_tax account.tax account.model_account_tax portal.group_portal 1 0 0 0

View File

@ -32,6 +32,7 @@
<separator/>
<filter string="Deadlines" context="{'deadline_visible': False}" domain="[('date_deadline','&lt;&gt;',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...">

View File

@ -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>

View File

@ -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>

View File

@ -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,

View File

@ -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"/>

View File

@ -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

View File

@ -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>

View File

@ -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>

View File

@ -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="[]"/>

View File

@ -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)"

View File

@ -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

1 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
2 access_sale_order sale.order model_sale_order base.group_sale_salesman 1 1 1 0
3 access_sale_order_line sale.order.line model_sale_order_line base.group_sale_salesman 1 1 1 1
4 access_sale_order_line_accountant sale.order.line accountant model_sale_order_line account.group_account_user 1 1 0 0
18 access_res_partner_sale_manager res.partner.sale.manager base.model_res_partner base.group_sale_manager 1 1 1 0
19 access_product_template_sale_user product.template sale use product.model_product_template base.group_sale_salesman 1 0 0 0
20 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
21 access_account_fiscalyear_user account.fiscalyear.user account.model_account_fiscalyear base.group_sale_salesman 1 0 0 0
22 access_account_tax_user account.tax.user account.model_account_tax base.group_sale_salesman 1 0 0 0
23 access_ir_attachment_sales ir.attachment.sales base.model_ir_attachment base.group_sale_salesman 1 1 1 0
27 access_product_uom_user product.uom.user product.model_product_uom base.group_sale_salesman 1 0 0 0
28 access_product_pricelist_sale_user product.pricelist.sale.user product.model_product_pricelist base.group_sale_salesman 1 0 0 0
29 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
30 access_product_uom_categ_sale_manager product.uom.categ salemanager product.model_product_uom_categ base.group_sale_manager 1 1 1 1
31 access_product_uom_sale_manager product.uom salemanager product.model_product_uom base.group_sale_manager 1 1 1 1
32 access_product_ul_sale_manager product.ul salemanager product.model_product_ul base.group_sale_manager 1 1 1 1

View File

@ -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">

View File

@ -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:

View File

@ -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".
-

View File

@ -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,
}

View File

@ -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>

View File

@ -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
-

View File

@ -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
-

View File

@ -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',

View File

@ -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,

View File

@ -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>

View File

@ -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"),
}

View File

@ -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>

View File

@ -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,

View File

@ -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>

View File

@ -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"/>

View File

@ -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"/>

View File

@ -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)

View File

@ -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 "

View File

@ -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>

View File

@ -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 "เพิ่ม / ลบ ทางลัด ..."