dr_catalog_pricelist release

This commit is contained in:
Sergey Korobkov 2025-02-18 13:08:42 +03:00
parent 20a94b3f26
commit da2c25fca3
23 changed files with 1120 additions and 0 deletions

BIN
dr_catalog_pricelist/.DS_Store vendored Normal file

Binary file not shown.

View File

@ -0,0 +1 @@
from . import report, wizard

View File

@ -0,0 +1,24 @@
{
# Module information
'name': 'Catalog Pricelist Report',
'sequence': 100,
"license": "AGPL-3",
'category': 'Report',
'author': "devrave",
'website': "http://www.devrave.xyz",
'summary': 'Generate the Product Catalog Report.',
'description': 'Product Catalog report with Image and \
Stock Availability and Incoming Stock.\
Catalog Product, Barcode, Image catalog report.',
'version': '17.0.1.0.0',
# Dependencies
'depends': ['sale_management', 'stock', 'purchase'],
# Views
'data': ['security/ir.model.access.csv',
'wizard/catalog_pricelist_wizard_view.xml',
'report/catalog_report_view.xml',
'report/report_registration.xml',
],
}

View File

@ -0,0 +1,332 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * dr_catalog_pricelist
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-03-12 10:42+0000\n"
"PO-Revision-Date: 2024-03-12 10:42+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: dr_catalog_pricelist
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_main_report
msgid "<span style=\"font-size:8pt;\">Unit(s)</span>"
msgstr ""
#. module: dr_catalog_pricelist
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__image
msgid "Add Logo In Report"
msgstr ""
#. module: dr_catalog_pricelist
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_pricelist_wizard_form_view
msgid "Advanced"
msgstr ""
#. module: dr_catalog_pricelist
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_pricelist_wizard_form_view
msgid "Advanced Options"
msgstr ""
#. module: dr_catalog_pricelist
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__attribute_bg_color
msgid "Attribute background Color"
msgstr ""
#. module: dr_catalog_pricelist
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_main_report
msgid "Attributes"
msgstr ""
#. module: dr_catalog_pricelist
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_main_report
msgid "Available:"
msgstr ""
#. module: dr_catalog_pricelist
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__barcode_height
msgid "Barcode Height"
msgstr ""
#. module: dr_catalog_pricelist
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__barcode_type
msgid "Barcode Type"
msgstr ""
#. module: dr_catalog_pricelist
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__barcode_width
msgid "Barcode Width"
msgstr ""
#. module: dr_catalog_pricelist
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_pricelist_wizard_form_view
msgid "Cancel"
msgstr "Отмена"
#. module: dr_catalog_pricelist
#: model:ir.actions.act_window,name:dr_catalog_pricelist.action_catalog_pricelist_wizard
#: model:ir.model,name:dr_catalog_pricelist.model_catalog_pricelist_report_wizard
msgid "Catalog Pricelist Report"
msgstr ""
#. module: dr_catalog_pricelist
#: model:ir.model,name:dr_catalog_pricelist.model_report_dr_catalog_pricelist_catalog_report
msgid "Catalog report."
msgstr ""
#. module: dr_catalog_pricelist
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__codabar
msgid "Codabar"
msgstr ""
#. module: dr_catalog_pricelist
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__codell
msgid "Code11"
msgstr ""
#. module: dr_catalog_pricelist
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__code128
msgid "Code128"
msgstr ""
#. module: dr_catalog_pricelist
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__create_uid
msgid "Created by"
msgstr "Менеджер"
#. module: dr_catalog_pricelist
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__create_date
msgid "Created on"
msgstr "Дата создания"
#. module: dr_catalog_pricelist
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_main_report
msgid "Currency:"
msgstr "Валюта:"
#. module: dr_catalog_pricelist
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__custom_title
msgid "Custom Title"
msgstr ""
#. module: dr_catalog_pricelist
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_main_report
msgid "Description"
msgstr "Описание"
#. module: dr_catalog_pricelist
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__display_name
msgid "Display Name"
msgstr ""
#. module: dr_catalog_pricelist
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__ean13
msgid "EAN13"
msgstr ""
#. module: dr_catalog_pricelist
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__ean8
msgid "EAN8"
msgstr ""
#. module: dr_catalog_pricelist
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__valid_until
msgid "Expiration Date"
msgstr "Действителен до"
#. module: dr_catalog_pricelist
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_main_report
msgid "Expiration Date:"
msgstr "Действителен до:"
#. module: dr_catalog_pricelist
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__extended39
msgid "Extended39"
msgstr ""
#. module: dr_catalog_pricelist
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__extended93
msgid "Extended93"
msgstr ""
#. module: dr_catalog_pricelist
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__fim
msgid "FIM"
msgstr ""
#. module: dr_catalog_pricelist
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__id
msgid "ID"
msgstr ""
#. module: dr_catalog_pricelist
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_main_report
msgid "Incoming:"
msgstr ""
#. module: dr_catalog_pricelist
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__language_id
msgid "Language"
msgstr "Язык"
#. module: dr_catalog_pricelist
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard____last_update
msgid "Last Modified on"
msgstr ""
#. module: dr_catalog_pricelist
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__write_uid
msgid "Last Updated by"
msgstr ""
#. module: dr_catalog_pricelist
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__write_date
msgid "Last Updated on"
msgstr ""
#. module: dr_catalog_pricelist
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__msi
msgid "MSI"
msgstr ""
#. module: dr_catalog_pricelist
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_pricelist_wizard_form_view
msgid "Main Settings"
msgstr ""
#. module: dr_catalog_pricelist
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__postnet
msgid "Postnet"
msgstr ""
#. module: dr_catalog_pricelist
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__pricelist_id
msgid "Pricelist"
msgstr ""
#. module: dr_catalog_pricelist
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__pricelist_date
msgid "Pricelist Date"
msgstr ""
#. module: dr_catalog_pricelist
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_main_report
msgid "Pricelist Date:"
msgstr ""
#. module: dr_catalog_pricelist
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_main_report
msgid "Prices"
msgstr ""
#. module: dr_catalog_pricelist
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_pricelist_wizard_form_view
msgid "Print"
msgstr ""
#. module: dr_catalog_pricelist
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__print_attributes
msgid "Print Attributes"
msgstr ""
#. module: dr_catalog_pricelist
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__available_quantity
msgid "Print Available Quantity"
msgstr ""
#. module: dr_catalog_pricelist
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__barcode_print
msgid "Print Barcode"
msgstr ""
#. module: dr_catalog_pricelist
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__print_brands
msgid "Print Brands"
msgstr ""
#. module: dr_catalog_pricelist
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__print_images
msgid "Print Image"
msgstr ""
#. module: dr_catalog_pricelist
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__incoming_quantity
msgid "Print Incoming Quantity"
msgstr ""
#. module: dr_catalog_pricelist
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_pricelist_wizard_form_view
msgid "Print Options"
msgstr ""
#. module: dr_catalog_pricelist
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_main_report
msgid "Product"
msgstr ""
#. module: dr_catalog_pricelist
#: model:ir.actions.report,name:dr_catalog_pricelist.action_catalog_report
msgid "Product Catalog"
msgstr ""
#. module: dr_catalog_pricelist
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__qr
msgid "QR"
msgstr ""
#. module: dr_catalog_pricelist
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__qty_1
msgid "Qty 1"
msgstr ""
#. module: dr_catalog_pricelist
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__qty_2
msgid "Qty 2"
msgstr ""
#. module: dr_catalog_pricelist
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__qty_3
msgid "Qty 3"
msgstr ""
#. module: dr_catalog_pricelist
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_pricelist_wizard_form_view
msgid "Quantities"
msgstr ""
#. module: dr_catalog_pricelist
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_pricelist_wizard_form_view
msgid "Settings"
msgstr ""
#. module: dr_catalog_pricelist
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__standard39
msgid "Standard39"
msgstr ""
#. module: dr_catalog_pricelist
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__standard93
msgid "Standard93"
msgstr ""
#. module: dr_catalog_pricelist
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__usps_4stater
msgid "USPS_4Stater"
msgstr ""
#. module: dr_catalog_pricelist
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_main_report
msgid "Unit(s)"
msgstr "Штук"
#. module: dr_catalog_pricelist
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__i2of5
msgid "i2of5"
msgstr ""

View File

@ -0,0 +1,343 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * dr_catalog_pricelist
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-03-12 10:42+0000\n"
"PO-Revision-Date: 2024-03-12 10:42+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: ru\n"
"Plural-Forms: \n"
#. module: dr_catalog_pricelist
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_main_report
msgid "<span style=\"font-size:8pt;\">Unit(s)</span>"
msgstr "<span style=\"font-size:8pt;\">шт.</span>"
#. module: dr_catalog_pricelist
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__image
msgid "Add Logo In Report"
msgstr "Добавить логотип в отчет"
#. module: dr_catalog_pricelist
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_pricelist_wizard_form_view
msgid "Advanced"
msgstr "Дополнительные"
#. module: dr_catalog_pricelist
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_pricelist_wizard_form_view
msgid "Advanced Options"
msgstr "Дополнительные опции"
#. module: dr_catalog_pricelist
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__attribute_bg_color
msgid "Attribute background Color"
msgstr "Цвет фона атрибута"
#. module: dr_catalog_pricelist
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_main_report
msgid "Attributes"
msgstr "Атрибуты"
#. module: dr_catalog_pricelist
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_main_report
msgid "Available:"
msgstr "Доступно:"
#. module: dr_catalog_pricelist
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_main_report
msgid "Forecasted:"
msgstr "Прогноз:"
#. module: dr_catalog_pricelist
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__barcode_height
msgid "Barcode Height"
msgstr "Высота штрих-кода"
#. module: dr_catalog_pricelist
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__barcode_type
msgid "Barcode Type"
msgstr "Тип штрих-кода"
#. module: dr_catalog_pricelist
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__barcode_width
msgid "Barcode Width"
msgstr "Ширина штрих-кода"
#. module: dr_catalog_pricelist
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_pricelist_wizard_form_view
msgid "Cancel"
msgstr "Отмена"
#. module: dr_catalog_pricelist
#: model:ir.actions.act_window,name:dr_catalog_pricelist.action_catalog_pricelist_wizard
#: model:ir.model,name:dr_catalog_pricelist.model_catalog_pricelist_report_wizard
msgid "Catalog Pricelist Report"
msgstr "Коммерческое предложение"
#. module: dr_catalog_pricelist
#: model:ir.model,name:dr_catalog_pricelist.model_report_dr_catalog_pricelist_catalog_report
msgid "Catalog report."
msgstr ""
#. module: dr_catalog_pricelist
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__codabar
msgid "Codabar"
msgstr ""
#. module: dr_catalog_pricelist
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__codell
msgid "Code11"
msgstr ""
#. module: dr_catalog_pricelist
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__code128
msgid "Code128"
msgstr ""
#. module: dr_catalog_pricelist
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__create_uid
msgid "Created by"
msgstr "Создано пользователем"
#. module: dr_catalog_pricelist
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__create_date
msgid "Created on"
msgstr "Дата создания"
#. module: dr_catalog_pricelist
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_main_report
msgid "Currency:"
msgstr "Валюта:"
#. module: dr_catalog_pricelist
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__custom_title
msgid "Custom Title"
msgstr "Заголовок"
#. module: dr_catalog_pricelist
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_main_report
msgid "Description"
msgstr "Описание"
#. module: dr_catalog_pricelist
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__display_name
msgid "Display Name"
msgstr "Отображаемое имя"
#. module: dr_catalog_pricelist
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__ean13
msgid "EAN13"
msgstr "EAN13"
#. module: dr_catalog_pricelist
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__ean8
msgid "EAN8"
msgstr "EAN8"
#. module: dr_catalog_pricelist
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__valid_until
msgid "Expiration Date"
msgstr "Срок действия"
#. module: dr_catalog_pricelist
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_main_report
msgid "Expiration Date:"
msgstr "Срок действия:"
#. module: dr_catalog_pricelist
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__extended39
msgid "Extended39"
msgstr ""
#. module: dr_catalog_pricelist
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__extended93
msgid "Extended93"
msgstr ""
#. module: dr_catalog_pricelist
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__fim
msgid "FIM"
msgstr ""
#. module: dr_catalog_pricelist
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__id
msgid "ID"
msgstr ""
#. module: dr_catalog_pricelist
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_main_report
msgid "Incoming:"
msgstr ""
#. module: dr_catalog_pricelist
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__language_id
msgid "Language"
msgstr "Язык"
#. module: dr_catalog_pricelist
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard____last_update
msgid "Last Modified on"
msgstr "Исправлено"
#. module: dr_catalog_pricelist
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__write_uid
msgid "Last Updated by"
msgstr "Обновил"
#. module: dr_catalog_pricelist
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__write_date
msgid "Last Updated on"
msgstr "Обновлено"
#. module: dr_catalog_pricelist
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__msi
msgid "MSI"
msgstr ""
#. module: dr_catalog_pricelist
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_pricelist_wizard_form_view
msgid "Main Settings"
msgstr "Основные настройки"
#. module: dr_catalog_pricelist
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__postnet
msgid "Postnet"
msgstr ""
#. module: dr_catalog_pricelist
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__pricelist_id
msgid "Pricelist"
msgstr "Прайс-лист"
#. module: dr_catalog_pricelist
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__pricelist_date
msgid "Pricelist Date"
msgstr "Дата КП"
#. module: dr_catalog_pricelist
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_main_report
msgid "Pricelist Date:"
msgstr "Дата КП:"
#. module: dr_catalog_pricelist
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_main_report
msgid "Prices"
msgstr "Цены"
#. module: dr_catalog_pricelist
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_pricelist_wizard_form_view
msgid "Print"
msgstr "Печать"
#. module: dr_catalog_pricelist
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__print_attributes
msgid "Print Attributes"
msgstr "Печать атрибутов"
#. module: dr_catalog_pricelist
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__available_quantity
msgid "Print Available Quantity"
msgstr "Печатать доступное кол-во"
#. module: dr_catalog_pricelist
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__forecasted_quantity
msgid "Print Forecasted Quantity"
msgstr "Печатать прогнозируемое кол-во"
#. module: dr_catalog_pricelist
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__barcode_print
msgid "Print Barcode"
msgstr "Печать штрих-кода"
#. module: dr_catalog_pricelist
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__print_brands
msgid "Print Brands"
msgstr "Печать брендов"
#. module: dr_catalog_pricelist
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__print_images
msgid "Print Image"
msgstr "Печать изображения"
#. module: dr_catalog_pricelist
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__incoming_quantity
msgid "Print Incoming Quantity"
msgstr "Печатать ожидаемое кол-во"
#. module: dr_catalog_pricelist
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_pricelist_wizard_form_view
msgid "Print Options"
msgstr "Настройки печати"
#. module: dr_catalog_pricelist
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_main_report
msgid "Product"
msgstr "Наименование"
#. module: dr_catalog_pricelist
#: model:ir.actions.report,name:dr_catalog_pricelist.action_catalog_report
msgid "Product Catalog"
msgstr "Каталог продукции"
#. module: dr_catalog_pricelist
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__qr
msgid "QR"
msgstr "QR"
#. module: dr_catalog_pricelist
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__qty_1
msgid "Qty 1"
msgstr "Кол-во 1"
#. module: dr_catalog_pricelist
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__qty_2
msgid "Qty 2"
msgstr "Кол-во 2"
#. module: dr_catalog_pricelist
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__qty_3
msgid "Qty 3"
msgstr "Кол-во 3"
#. module: dr_catalog_pricelist
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_pricelist_wizard_form_view
msgid "Quantities"
msgstr "Количество"
#. module: dr_catalog_pricelist
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_pricelist_wizard_form_view
msgid "Settings"
msgstr "Настройки"
#. module: dr_catalog_pricelist
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__standard39
msgid "Standard39"
msgstr "Стандарт39"
#. module: dr_catalog_pricelist
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__standard93
msgid "Standard93"
msgstr "Стандарт93"
#. module: dr_catalog_pricelist
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__usps_4stater
msgid "USPS_4Stater"
msgstr ""
#. module: dr_catalog_pricelist
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_main_report
msgid "Unit(s)"
msgstr "шт."
#. module: dr_catalog_pricelist
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__i2of5
msgid "i2of5"
msgstr ""

BIN
dr_catalog_pricelist/report/.DS_Store vendored Normal file

Binary file not shown.

View File

@ -0,0 +1 @@
from . import catalog_report_parser

View File

@ -0,0 +1,81 @@
from odoo import api, models
from odoo.tools import float_round
class CatalogReport(models.AbstractModel):
"""Catalog report."""
_name = 'report.dr_catalog_pricelist.catalog_report'
_description = "Catalog report."
def _get_categorie_data(self, products, product_quantities, pricelist):
categ_lst = []
categories_data = self.env['product.category']
for product in products:
categories_data |= product.categ_id
for category in categories_data:
products_categ = products.filtered(
lambda product: product.categ_id == category)
prices = {}
for categ_product in products_categ:
prices[categ_product.id] = dict.fromkeys(
product_quantities, 0.0)
for quantity in product_quantities:
prices[categ_product.id][quantity] = self._get_price_data(
pricelist, categ_product, quantity)
categ_lst.append({
'category': category,
'products': products_categ,
'prices': prices,
})
return categ_lst
def _quantity(self, data):
"""Get Product Quantity."""
form = data and data.get('form') or {}
return sorted([form[key] for key in form if key.startswith('qty') and
form[key]])
@api.model
def _get_report_values(self, docids, data = None):
rate = 0.0
pricelist = False
symbol = ''
currency_name = ''
lang = zip(self.env['res.lang'].browse(data['form']['language_id']))
docs = self.env['product.product'].browse(data.get('ids')).with_context(lang = lang)
product_quantities = self._quantity(data)
if data['form']['pricelist_id']:
pricelist = self.env['product.pricelist'].browse(
data['form']['pricelist_id'][0])
currency_name = pricelist and \
pricelist.currency_id.name or False
symbol = pricelist.currency_id.symbol or False
return {
'doc_ids': docs,
'doc_model': 'product.product',
'docs': docs,
'test': data,
'rate': rate or 00,
'symbol': symbol or False,
'currency_name': currency_name or False,
'lang': lang,
'data': dict(
data,
quantities = product_quantities,
categories_data = self._get_categorie_data(
docs, product_quantities, pricelist)
),
}
def _get_price_data(self, pricelist, prod, qty):
sale_price = self.env[
'decimal.precision'].precision_get('Product Price')
price = {}
if pricelist:
price = pricelist._get_product_price(prod, qty, False)
if not price:
price = prod.list_price
return float_round(price, precision_digits = sale_price)

View File

@ -0,0 +1,175 @@
<odoo>
<template id="catalog_report">
<t t-call="web.html_container">
<t t-call="web.external_layout">
<t t-call="dr_catalog_pricelist.catalog_main_report" t-lang="test['form']['language_id']"/>
</t>
</t>
</template>
<template id="catalog_main_report">
<div class="page">
<table class="table table-sm table-borderless mt-4" width="100%">
<tr>
<td width="20%" style="vertical-align: middle">
Currency:
<b>
<span t-out="currency_name"/>
</b>
</td>
<td width="50%" style="vertical-align: middle">
<b>
<center>
<span t-out="test['form']['custom_title']"/>
</center>
</b>
</td>
<td width="30%" style="vertical-align: middle">
<p style="margin-bottom:0">Pricelist Date:
<b>
<span t-out="test['form']['pricelist_date']"/>
</b>
</p>
<p style="margin-bottom:0">Expiration Date:
<b>
<span t-out="test['form']['valid_until']"/>
</b>
</p>
</td>
</tr>
</table>
</div>
<div>
<table class="table table-sm o_main_table table-borderless mt-4" style="width: 100%; table-layout: auto; border-collapse: collapse;">
<thead style="display: table-row-group; text-align:left;">
<tr style="page-break-inside: avoid;">
<th style="border-bottom: 1px solid black;width: 40%;">Product</th>
<th style="border-bottom: 1px solid black;width: 20%;">Description</th>
<!-- <th t-if="test['form']['print_brands']" style="border-bottom: 1px solid black;">Brand
</th> -->
<th t-if="test['form']['print_attributes']" style="border-bottom: 1px solid black;width: 20%;">Attributes
</th>
<th style="border-bottom: 1px solid black;width: 20%;">Prices</th>
</tr>
</thead>
<tbody>
<t t-foreach="data['categories_data']" t-as="categ_data">
<tr style="page-break-inside: avoid;">
<td colspan="100" style="padding-top: 0;padding-bottom: 0">
<strong t-out="categ_data['category'].name"/>
</td>
</tr>
<tr t-foreach="categ_data['products']" t-as="product" style="page-break-inside: avoid;">
<td style="padding: 0 12px 0 0; width: auto;" t-attf-style="text-align:left; font-size:11pt; padding: 0;">
<t t-if="test['form']['print_images']">
<t t-if="product.image_1920">
<img style="float: left;padding: 10px 12px 0 0;" t-att-src="image_data_uri(product.image_1920)" width="80px"/>
</t>
<t t-else="else">
<img style="float: left;padding: 10px 12px 0 0;" src="dr_catalog_pricelist/static/description/no_img.png" width="80px"/>
</t>
</t>
<div style="float: left;width: 40%;padding-top: 0; overflow-x:auto;">
<p t-field="product.display_name"/>
<div>
<t t-if="test['form']['available_quantity']">
Available:
<span t-field="product.qty_available"/>
</t>
<br/>
<t t-if="test['form']['forecasted_quantity']">
Forecasted:
<span t-field="product.incoming_qty"/>
</t>
</div>
</div>
</td>
<td style="padding: 0 12px 0 12px; table-layout: auto" t-attf-style="text-align:left; font-size:11pt; padding: 0;">
<div style="float: left; padding-top: 0;">
<p t-out="product.description_sale"/>
</div>
</td>
<!-- <td t-if="test['form']['print_brands']" style="border-bottom: 1px solid gray;padding: 0 12px 0 12px;">
<div style="float: left;width: 100%;padding-top: 0;">
<p t-out="product.dr_brand_value_id.name"/>
</div>
</td> -->
<td t-if="test['form']['print_attributes']" t-attf-style="text-align:left; font-size:11pt; padding: 0;">
<div style="float: left;max-width: 120px;padding-top: 0;">
<t t-foreach="product.product_template_attribute_value_ids" t-as="line">
<span t-field="line.attribute_id.name"/>:
<span t-field="line.name"/>
<br/>
</t>
</div>
</td>
<td style="text-align:left; font-size:12pt; padding: 0 12px 0 12px;">
<t t-if="test['form']['pricelist_id']">
<t t-set="previous_price" t-value="None" />
<t t-foreach="data['quantities']" t-as="quantity">
<t t-set="current_price" t-value="categ_data['prices'][product.id][quantity]" />
<t t-if="previous_price == None or previous_price != current_price">
<div>
<p style="text-align: left;float:left;width: 50%;margin-bottom:0">
<span style="font-size:8pt;">
<t t-out="quantity"/>
Unit(s)
</span>
</p>
<p style="text-align: left;float:left;width: 50%;margin-bottom:0">
<strong t-out="current_price" t-options="{'widget': 'float','decimal_precision': 'Product Price'}"/>
<span t-out="symbol" style="font-size:10pt"/>
</p>
</div>
</t>
<t t-set="previous_price" t-value="current_price" />
</t>
</t>
<t t-else="else">
<t t-if="test['form']['qty_1']">
<div>
<p style="text-align: left;float:left;width: 50%;margin-bottom:0">
<span t-out="test['form']['qty_1']" style="font-size:10pt"/>
<span style="font-size:8pt;">Unit(s)</span>
</p>
<p style="text-align: right;float:left;width: 50%;margin-bottom:0">
<span t-out="(test['form']['qty_1'] * product.standard_price)" style="font-size:10pt"/>
<span t-out="symbol" style="font-size:10pt"/>
</p>
</div>
</t>
<t t-if="test['form']['qty_2']">
<div>
<p style="text-align: left;float:left;width: 50%;margin-bottom:0">
<span t-out="test['form']['qty_2']" style="font-size:10pt"/>
<span style="font-size:8pt;">Unit(s)</span>
</p>
<p style="text-align: right;float:left;width: 50%;margin-bottom:0">
<span t-out="(test['form']['qty_2'] * product.standard_price)" style="font-size:10pt"/>
<span t-out="symbol" style="font-size:10pt"/>
</p>
</div>
</t>
<t t-if="test['form']['qty_3']">
<div>
<p style="text-align: left;float:left;width: 50%;margin-bottom:0">
<span t-out="test['form']['qty_3']" style="font-size:10pt"/>
<span style="font-size:8pt;">Unit(s)</span>
</p>
<p style="text-align: right;float:left;width: 50%;margin-bottom:0">
<span t-out="(test['form']['qty_3'] * product.standard_price)" style="font-size:10pt"/>
<span t-out="symbol" style="font-size:10pt"/>
</p>
</div>
</t>
</t>
</td>
</tr>
</t>
</tbody>
</table>
</div>
</template>
</odoo>

View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="paperformat_catalog_report" model="report.paperformat">
<field name="name">Legal Catalog Report</field>
<field name="default" eval="True"/>
<field name="format">A4</field>
<field name="page_height">0</field>
<field name="page_width">0</field>
<field name="orientation">Portrait</field>
<field name="margin_top">50</field>
<field name="margin_bottom">30</field>
<field name="margin_left">7</field>
<field name="margin_right">7</field>
<field name="header_line" eval="False" />
<field name="header_spacing">45</field>
<field name="dpi">90</field>
</record>
<record id="action_catalog_report" model="ir.actions.report">
<field name="model">catalog.pricelist.report.wizard</field>
<field name="name">Product Catalog</field>
<field name="report_type">qweb-pdf</field>
<field name="report_name">dr_catalog_pricelist.catalog_report</field>
<field name="paperformat_id" ref="dr_catalog_pricelist.paperformat_catalog_report"/>
<field name="report_file">dr_catalog_pricelist.catalog_report</field>
</record>
</odoo>

View File

@ -0,0 +1,2 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
dr_catalog_pricelist.access_catalog_pricelist_report_wizard,access_catalog_pricelist_report_wizard,dr_catalog_pricelist.model_catalog_pricelist_report_wizard,base.group_user,1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 dr_catalog_pricelist.access_catalog_pricelist_report_wizard access_catalog_pricelist_report_wizard dr_catalog_pricelist.model_catalog_pricelist_report_wizard base.group_user 1 1 1 1

BIN
dr_catalog_pricelist/static/.DS_Store vendored Normal file

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

BIN
dr_catalog_pricelist/wizard/.DS_Store vendored Normal file

Binary file not shown.

View File

@ -0,0 +1 @@
from . import catalog_pricelist_wizard

View File

@ -0,0 +1,67 @@
from odoo import _, api, fields, models
class CatalogPricelistReport(models.TransientModel):
_name = "catalog.pricelist.report.wizard"
_description = 'Catalog Pricelist Report'
@api.onchange('pricelist_id')
def _onchange_pricelist_id(self):
if self.pricelist_id:
pricelist_item_records = self.env['product.pricelist.item'].search([('pricelist_id', '=', self.pricelist_id.id)])
min_quantities = sorted([record.min_quantity for record in pricelist_item_records])
self.qty_1 = min_quantities[0] if len(min_quantities) >= 1 else 0
self.qty_2 = min_quantities[1] if len(min_quantities) >= 2 else 0
self.qty_3 = min_quantities[2] if len(min_quantities) >= 3 else 0
@api.model
def _lang_get(self):
return self.env["res.lang"].get_installed()
pricelist_id = fields.Many2one('product.pricelist')
language_id = fields.Selection(_lang_get, string="Language", default=lambda self: self.env.user.lang)
custom_title = fields.Char(string="Custom Title")
qty_1 = fields.Integer(default=lambda self: self.qty_1)
qty_2 = fields.Integer(default=lambda self: self.qty_2)
qty_3 = fields.Integer(default=lambda self: self.qty_3)
print_images = fields.Boolean(string="Print Image", default=True)
print_attributes = fields.Boolean(string="Print Attributes", default=False)
attribute_bg_color = fields.Char(string="Attribute background Color")
# barcode_print = fields.Boolean(string="Print Barcode", default=False)
# barcode_type = fields.Selection([('codabar', 'Codabar'),
# ('codell', 'Code11'),
# ('code128', 'Code128'),
# ('ean13', 'EAN13'), ('ean8', 'EAN8'),
# ('extended39', 'Extended39'),
# ('extended93', 'Extended93'),
# ('fim', 'FIM'),
# ('i2of5', 'i2of5'),
# ('msi', 'MSI'),
# ('postnet', 'Postnet'),
# ('qr', 'QR'),
# ('standard39', 'Standard39'),
# ('standard93', 'Standard93'),
# ('usps_4stater', 'USPS_4Stater')],
# default="ean13", string="Barcode Type")
# barcode_height = fields.Integer(string="Barcode Height", default='200')
# barcode_width = fields.Integer(string="Barcode Width", default='50')
available_quantity = fields.Boolean(string="Print Available Quantity")
forecasted_quantity = fields.Boolean(string="Print Forecasted Quantity")
image = fields.Binary(string='Add Logo In Report')
pricelist_date = fields.Date('Pricelist Date', default=lambda self: fields.Date.context_today(self))
valid_until = fields.Date('Expiration Date', default=lambda self: fields.Date.context_today(self))
# print_brands = fields.Boolean(string="Print Brands", default = False)
def print_report(self):
active_ids = self.env.context.get('active_ids', [])
data = self.read()[0]
datas = {
'ids': active_ids,
'model': 'product.product',
'form': data,
}
return self.env.ref(
'dr_catalog_pricelist.action_catalog_report').report_action(
[], data=datas)

View File

@ -0,0 +1,65 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="catalog_pricelist_wizard_form_view" model="ir.ui.view">
<field name="name">Catalog Report Wizard</field>
<field name="model">catalog.pricelist.report.wizard</field>
<field name="arch" type="xml">
<form>
<notebook>
<page string="Settings">
<group>
<group string="Main Settings">
<field name="pricelist_id"/>
<field name="language_id"/>
<field name="custom_title"/>
<field name="pricelist_date"/>
<field name="valid_until"/>
</group>
<group string="Quantities">
<field name="qty_1"/>
<field name="qty_2"/>
<field name="qty_3"/>
</group>
</group>
</page>
<page string="Advanced">
<group>
<group string="Advanced Options">
<field name="available_quantity"/>
<field name="forecasted_quantity"/>
</group>
<group string="Print Options">
<field name="print_images"/>
<!-- <field name="print_brands"/> -->
<field name="print_attributes"/>
<!-- <field name="image" widget="image" attrs="{'invisible': [('print_images', '=', False)]}" nolabel="1" img_width="150" img_height="200"/> -->
</group>
</group>
</page>
<!-- <page string="Barcode">
<group col="2">
<field name="barcode_print"/>
<field name="barcode_type" required="1"/>
<field name="barcode_height" required="1"/>
<field name="barcode_width" required="1"/>
</group>
</page> -->
</notebook>
<footer>
<button name="print_report" string="Print" type="object" class="oe_highlight"/>
<button string='Cancel' special="cancel"/>
</footer>
</form>
</field>
</record>
<record id="action_catalog_pricelist_wizard" model="ir.actions.act_window">
<field name="name">Catalog Pricelist Report</field>
<field name="res_model">catalog.pricelist.report.wizard</field>
<field name="binding_model_id" ref="product.model_product_product"/>
<field name="binding_type">report</field>
<field name="binding_view_types">list</field>
<field name="view_mode">form</field>
<field name="target">new</field>
</record>
</odoo>