Skip to Content
Menu
This question has been flagged
2 Replies
3094 Views

I have set the main currency to PKR and I don't deal with any other currency. But when i try to install the POS module i get the following error

"Error:
Odoo Server Error

Traceback (most recent call last):
  File "D:\Projects\Odoo\Odoo-13\odoo-13.0\odoo\tools\convert.py", line 712, in parse
    self._tag_root(de)
  File "D:\Projects\Odoo\Odoo-13\odoo-13.0\odoo\tools\convert.py", line 674, in _tag_root
    f(rec)
  File "D:\Projects\Odoo\Odoo-13\odoo-13.0\odoo\tools\convert.py", line 674, in _tag_root
    f(rec)
  File "D:\Projects\Odoo\Odoo-13\odoo-13.0\odoo\tools\convert.py", line 577, in _tag_record
    record = model._load_records([data], self.mode == 'update')
  File "D:\Projects\Odoo\Odoo-13\odoo-13.0\odoo\models.py", line 4104, in _load_records
    records = self._load_records_create([data['values'] for data in to_create])
  File "D:\Projects\Odoo\Odoo-13\odoo-13.0\odoo\models.py", line 4018, in _load_records_create
    return self.create(values)
  File "<decorator-gen-164>", line 2, in create
  File "D:\Projects\Odoo\Odoo-13\odoo-13.0\odoo\api.py", line 317, in _model_create_single
    return self.browse().concat(*(create(self, vals) for vals in arg))
  File "D:\Projects\Odoo\Odoo-13\odoo-13.0\odoo\api.py", line 317, in <genexpr>
    return self.browse().concat(*(create(self, vals) for vals in arg))
  File "d:\projects\odoo\odoo-13\odoo-13.0\addons\point_of_sale\models\pos_config.py", line 461, in create
    pos_config = super(PosConfig, self).create(values)
  File "<decorator-gen-3>", line 2, in create
  File "D:\Projects\Odoo\Odoo-13\odoo-13.0\odoo\api.py", line 335, in _model_create_multi
    return create(self, [arg])
  File "D:\Projects\Odoo\Odoo-13\odoo-13.0\odoo\models.py", line 3746, in create
    records = self._create(data_list)
  File "D:\Projects\Odoo\Odoo-13\odoo-13.0\odoo\models.py", line 3852, in _create
    cr.execute(query, params)
  File "D:\Projects\Odoo\Odoo-13\odoo-13.0\odoo\sql_db.py", line 168, in wrapper
    return f(self, *args, **kwargs)
  File "D:\Projects\Odoo\Odoo-13\odoo-13.0\odoo\sql_db.py", line 245, in execute
    res = self._obj.execute(query, params)
psycopg2.errors.NotNullViolation: null value in column "pricelist_id" violates not-null constraint
DETAIL:  Failing row contains (1, Shop, 16, null, 1, null, null, null, null, null, null, null, f, t, null, subtotal, null, null, null, null, null, null, null, t, dbc70b84-b703-49dd-9706-109372019e34, 73, 74, null, 1, 1, 71, 70, null, null, null, null, null, null, null, f, null, null, null, null, null, null, null, null, null, null, null, null, 1, 2020-09-13 10:01:36.730635, 1, 2020-09-13 10:01:36.730635).


During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "D:\Projects\Odoo\Odoo-13\odoo-13.0\odoo\http.py", line 624, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)
  File "D:\Projects\Odoo\Odoo-13\odoo-13.0\odoo\http.py", line 310, in _handle_exception
    raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
  File "D:\Projects\Odoo\Odoo-13\odoo-13.0\odoo\tools\pycompat.py", line 14, in reraise
    raise value
  File "D:\Projects\Odoo\Odoo-13\odoo-13.0\odoo\http.py", line 669, in dispatch
    result = self._call_function(**self.params)
  File "D:\Projects\Odoo\Odoo-13\odoo-13.0\odoo\http.py", line 350, in _call_function
    return checked_call(self.db, *args, **kwargs)
  File "D:\Projects\Odoo\Odoo-13\odoo-13.0\odoo\service\model.py", line 94, in wrapper
    return f(dbname, *args, **kwargs)
  File "D:\Projects\Odoo\Odoo-13\odoo-13.0\odoo\http.py", line 339, in checked_call
    result = self.endpoint(*a, **kw)
  File "D:\Projects\Odoo\Odoo-13\odoo-13.0\odoo\http.py", line 915, in __call__
    return self.method(*args, **kw)
  File "D:\Projects\Odoo\Odoo-13\odoo-13.0\odoo\http.py", line 515, in response_wrap
    response = f(*args, **kw)
  File "d:\projects\odoo\odoo-13\odoo-13.0\addons\web\controllers\main.py", line 1326, in call_button
    action = self._call_kw(model, method, args, kwargs)
  File "d:\projects\odoo\odoo-13\odoo-13.0\addons\web\controllers\main.py", line 1314, in _call_kw
    return call_kw(request.env[model], method, args, kwargs)
  File "D:\Projects\Odoo\Odoo-13\odoo-13.0\odoo\api.py", line 387, in call_kw
    result = _call_kw_multi(method, model, args, kwargs)
  File "D:\Projects\Odoo\Odoo-13\odoo-13.0\odoo\api.py", line 374, in _call_kw_multi
    result = method(recs, *args, **kwargs)
  File "<decorator-gen-59>", line 2, in button_immediate_install
  File "D:\Projects\Odoo\Odoo-13\odoo-13.0\odoo\addons\base\models\ir_module.py", line 72, in check_and_log
    return method(self, *args, **kwargs)
  File "D:\Projects\Odoo\Odoo-13\odoo-13.0\odoo\addons\base\models\ir_module.py", line 463, in button_immediate_install
    return self._button_immediate_function(type(self).button_install)
  File "D:\Projects\Odoo\Odoo-13\odoo-13.0\odoo\addons\base\models\ir_module.py", line 573, in _button_immediate_function
    modules.registry.Registry.new(self._cr.dbname, update_module=True)
  File "D:\Projects\Odoo\Odoo-13\odoo-13.0\odoo\modules\registry.py", line 86, in new
    odoo.modules.load_modules(registry._db, force_demo, status, update_module)
  File "D:\Projects\Odoo\Odoo-13\odoo-13.0\odoo\modules\loading.py", line 423, in load_modules
    loaded_modules, update_module, models_to_check)
  File "D:\Projects\Odoo\Odoo-13\odoo-13.0\odoo\modules\loading.py", line 315, in load_marked_modules
    perform_checks=perform_checks, models_to_check=models_to_check
  File "D:\Projects\Odoo\Odoo-13\odoo-13.0\odoo\modules\loading.py", line 225, in load_module_graph
    load_data(cr, idref, mode, kind='data', package=package, report=report)
  File "D:\Projects\Odoo\Odoo-13\odoo-13.0\odoo\modules\loading.py", line 68, in load_data
    tools.convert_file(cr, package.name, filename, idref, mode, noupdate, kind, report)
  File "D:\Projects\Odoo\Odoo-13\odoo-13.0\odoo\tools\convert.py", line 736, in convert_file
    convert_xml_import(cr, module, fp, idref, mode, noupdate, report)
  File "D:\Projects\Odoo\Odoo-13\odoo-13.0\odoo\tools\convert.py", line 803, in convert_xml_import
    obj.parse(doc.getroot())
  File "D:\Projects\Odoo\Odoo-13\odoo-13.0\odoo\tools\convert.py", line 721, in parse
    exc_info[2]
  File "D:\Projects\Odoo\Odoo-13\odoo-13.0\odoo\tools\pycompat.py", line 13, in reraise
    raise value.with_traceback(tb)
  File "D:\Projects\Odoo\Odoo-13\odoo-13.0\odoo\tools\convert.py", line 712, in parse
    self._tag_root(de)
  File "D:\Projects\Odoo\Odoo-13\odoo-13.0\odoo\tools\convert.py", line 674, in _tag_root
    f(rec)
  File "D:\Projects\Odoo\Odoo-13\odoo-13.0\odoo\tools\convert.py", line 674, in _tag_root
    f(rec)
  File "D:\Projects\Odoo\Odoo-13\odoo-13.0\odoo\tools\convert.py", line 577, in _tag_record
    record = model._load_records([data], self.mode == 'update')
  File "D:\Projects\Odoo\Odoo-13\odoo-13.0\odoo\models.py", line 4104, in _load_records
    records = self._load_records_create([data['values'] for data in to_create])
  File "D:\Projects\Odoo\Odoo-13\odoo-13.0\odoo\models.py", line 4018, in _load_records_create
    return self.create(values)
  File "<decorator-gen-164>", line 2, in create
  File "D:\Projects\Odoo\Odoo-13\odoo-13.0\odoo\api.py", line 317, in _model_create_single
    return self.browse().concat(*(create(self, vals) for vals in arg))
  File "D:\Projects\Odoo\Odoo-13\odoo-13.0\odoo\api.py", line 317, in <genexpr>
    return self.browse().concat(*(create(self, vals) for vals in arg))
  File "d:\projects\odoo\odoo-13\odoo-13.0\addons\point_of_sale\models\pos_config.py", line 461, in create
    pos_config = super(PosConfig, self).create(values)
  File "<decorator-gen-3>", line 2, in create
  File "D:\Projects\Odoo\Odoo-13\odoo-13.0\odoo\api.py", line 335, in _model_create_multi
    return create(self, [arg])
  File "D:\Projects\Odoo\Odoo-13\odoo-13.0\odoo\models.py", line 3746, in create
    records = self._create(data_list)
  File "D:\Projects\Odoo\Odoo-13\odoo-13.0\odoo\models.py", line 3852, in _create
    cr.execute(query, params)
  File "D:\Projects\Odoo\Odoo-13\odoo-13.0\odoo\sql_db.py", line 168, in wrapper
    return f(self, *args, **kwargs)
  File "D:\Projects\Odoo\Odoo-13\odoo-13.0\odoo\sql_db.py", line 245, in execute
    res = self._obj.execute(query, params)
odoo.tools.convert.ParseError: "null value in column "pricelist_id" violates not-null constraint
DETAIL:  Failing row contains (1, Shop, 16, null, 1, null, null, null, null, null, null, null, f, t, null, subtotal, null, null, null, null, null, null, null, t, dbc70b84-b703-49dd-9706-109372019e34, 73, 74, null, 1, 1, 71, 70, null, null, null, null, null, null, null, f, null, null, null, null, null, null, null, null, null, null, null, null, 1, 2020-09-13 10:01:36.730635, 1, 2020-09-13 10:01:36.730635).
" while parsing file:/d:/projects/odoo/odoo-13/odoo-13.0/addons/point_of_sale/data/point_of_sale_data.xml:2, near
<odoo>
    <data noupdate="1">
        <!-- After closing the PoS, open the dashboard menu -->
        <record id="action_client_pos_menu" model="ir.actions.client">
            <field name="name">Open POS Menu</field>
            <field name="tag">reload</field>
            <field name="params" eval="{'menu_id': ref('menu_point_root')}"/>
        </record>

        <function model="stock.warehouse" name="_create_missing_pos_picking_types"/>

        <record id="product_category_pos" model="product.category">
            <field name="parent_id" ref="product.product_category_1"/>
            <field name="name">PoS</field>
        </record>

        <record id="product_product_tip" model="product.product">
            <field name="name">Tips</field>
            <field name="categ_id" ref="point_of_sale.product_category_pos"/>
            <field name="default_code">TIPS</field>
            <field name="weight">0.01</field>
            <field name="available_in_pos" eval="True"/>
            <field name="taxes_id" eval="[(5,)]"/>
        </record>

        <record model="pos.config" id="pos_config_main">
            <field name="name">Shop</field>
            <field name="barcode_nomenclature_id" ref="barcodes.default_barcode_nomenclature"/>
        </record>

        <record id="product_product_consumable" model="product.product">
            <field name="name">Discount</field>
            <field name="available_in_pos">True</field>
            <field name="standard_price">0.00</field>
            <field name="list_price">0.00</field>
            <field name="weight">0.00</field>
            <field name="type">consu</field>
            <field name="categ_id" ref="point_of_sale.product_category_pos"/>
            <field name="uom_id" ref="uom.product_uom_unit"/>
            <field name="uom_po_id" ref="uom.product_uom_unit"/>
            <field name="default_code">DISC</field>
            <field name="purchase_ok">False</field>
        </record>

        <record id="uom.product_uom_categ_unit" model="uom.category">
            <field name="is_pos_groupable">True</field>
        </record>
        <function model="pos.config" name="post_install_pos_localisation"/>
    </data>
</odoo>"

Avatar
Discard
Best Answer

Troubleshoot installation
When Modern POS is in use and the POS switches offline during a transaction, the following error displays, "Cart version has changed".

Solution: Select to close and continue working. This is a known issue that is currently being investigated. This error does not produce any issues.

Your browser blocks the download pop-up that is generated.

Solution: Select either Allow once or Options for this site > Always allow (or the equivalent commands in the browser that you're using). Then, while the correct register is still selected, select Download again.

The installation package that you must use depends on whether you require offline support. The correct package is automatically selected for download. For the offline package, SQL Server must be installed and must meet the requirements for the offline package.

Solution: If SQL Server isn't already installed (or if it doesn't meet the requirements), installation of a supported version is required. This installation might require an extended period of time and must include the Full-text search feature.

The installation occurs only for the administrator user who ran the installer, but not for any other users.

Solution: The installer generates a desktop icon that is used to install, upgrade, and run Modern POS. This icon is generated for every user on the computer. When a user who must install Modern POS double-clicks this icon, the program is installed. The user can then start to use Modern POS.

SQL Server isn't successfully downloaded and installed through the self-service Modern POS installer.

Solution 1: The installer no longer downloads SQL Server automatically. Download and install a supported version of SQL Server with Full-text search to meet prerequisite installation.
The installation of Modern POS fails, because the registration of performance (perf) counters failed.

Solution: Follow these steps to fix this issue:

Open a Command Prompt window as an administrator.

Enter the following command.

If the system doesn't rebuild the performance counter settings from the system backup, rerun the lodctr /R command.

Rerun the Modern POS installer.

If you're using a downloaded virtual hard disk (VHD) instead of a cloud-hosted environment, the downloader might fail.

Solution 1: In a downloaded VHD, the Azure Storage Emulator must be installed and must be running correctly. Otherwise, the self-service packages can't be downloaded correctly.

Solution 2: A failure might have occurred during the process of integrating the VHD into Microsoft Hyper-V. You must manually edit permissions before the packages can be downloaded correctly. Follow these steps:

In File Explorer, browse to C:\Microsoft Dynamics 365\70\Retail Server.
Right-click the SelfServicePackages folder, and then select Properties.
On the Security tab, select Edit.
In the Permissions for SelfServiceDeployment dialog box, select Add.
In the Select Users, Computers, Service Accounts, or Groups dialog box, select Locations.
In the Locations dialog box, select the first entry in the list (the local computer), and then select OK.
In the Select Users, Computers, Service Accounts, or Groups dialog box, enter the name IIS_IUSRS, and then select Check names. The object name should be changed to IIS_IUSRS. Select OK.
In the Permissions for SelfServiceDeployment dialog box, select the new IIS_ISURS user. Under Permissions for IIS_IUSRS, select Allow for the Full control permission. Select OK.
In the Open permission dialog box, select OK.
The latest iOS version does not support your self-signed certificate.

Solution 1: Utilize a domain and generate a proper domain-based certificate.

Solution 2: Download the open source OpenSSL library and perform the following after completing installation:

Using PowerShell, create a private key for the root Certificate Authority (CA) using a command such as $ openssl genrsa -des3 -out rootCA.key 2048.

You will be prompted for a password, which must be remembered for later usage.

Next, generate the root certificate using a command such as $ openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1024 -out rootCA.pem. There will be a prompt for the password entered previously and some basic certificate information.

Issue the certificate using the previously generated root certificate using a command such as $ openssl x509 -req -in server.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out server.crt -days 500 -sha256 -extfile info.ext. There will be another prompt for the root key password and you will need to specify the number of days that the certificate is valid (500 days in this example).

Generate the IIS certificate using a command such as $ openssl pkcs12 -inkey server.key -in server.crt -export -out server.pfx. This command will request a new password, which will be used later when the certificate is imported.

Open Certmgr.msc and go to Trusted Root Certificate Authorities. Use the Import action to import the previously generated rootCA.pem root CA file.

In the same window, go to Personal and use the Import action to import the previously generated server.pfx.

Next, open the IIS Manager, select the RetailHardwareStationWebSite and select Edit Bindings from the right-most menu.

In the new window, select the HTTPS site binding, and the select Edit. In the final screen, select the newly installed certificate and select OK.

Verify the certificate is correctly being used. In a web browser, go to https:///HardwareStation/ping.

Install the certificate on the iOS device:

Copy the rootCA.pem file and rename the copy to rootCA.crt.
Using OneDrive or another file hosting location, upload the rootCA.crt and server.crt so that they can be downloaded onto the iOS device.
On the iOS device, go to Settings > General > Profiles and select the downloaded profile for the rootCA.crt. Select Install.

Validate that the profile status updates to Verified.Repeat the same process for the server.crt file.

Go to Settings > General > About > Certificate Trust Settings and enable the installed root certificate.

On the iOS device, use the hardware station ping URL specified previously to verify that the certificate is trusted.

Open the POS application in Non-drawer mode and pair to the hardware station as typically performed.


Regards,

Rachel Gomez

Avatar
Discard
Best Answer

You might have deleted the default product category 'All'.

Avatar
Discard
Related Posts Replies Views Activity
0
Mar 17
1559
2
Dec 21
3221
0
Feb 24
2201
5
Dec 24
1057
0
Sep 24
205