Uncaught Error: Assertion failed: Expecting an unsigned number

Tags: #<Tag:0x00007efc61656170>

I am getting this error while copy pasting some rows in handsontable

error msg:-

image

my settings for handsontable :-

var settings = {
dataSchema:
{
COUNTRY_CODE: null,
CUST_ACCOUNT_NBR: null,
DPA_QTY: null,
SKU: null,
VPN: null,
DPA_NUMBER: null,
DPA_VALID_FROM: null,
DPA_VALID_TO: null,
RESULT: null
},
colHeaders: [“CustCountryCode”, “CustAccountNbr”, “DPA Max. Qty”, “SKU”, “MfrPartNbr”, “DPA #”, “DPA Valid From”, “DPA Valid Till”, “Result”],
columns: [{
// 2
data: ‘COUNTRY_CODE’,
type: ‘text’
},
{
// 3
data: ‘CUST_ACCOUNT_NBR’,
type: ‘text’
},
{
// 4
data: ‘DPA_QTY’,
type: ‘numeric’,
renderer: qtyRenderer
},
{
// 5
data: ‘SKU’,
type: ‘text’,
renderer: “skuFieldRenderer”
},
{
// 5
data: ‘VPN’,
type: ‘text’,
renderer: “skuFieldRenderer”
},
{
// 6
data: ‘DPA_NUMBER’,
type: ‘text’,
validator: function (value, callback) {
if (value != null && value.length != 0) {
//CHANGE VALIDATION ( && value.length != 8 )
value.length != 8 ? callback(false) : callback(true);
} else {
callback(true);
}
},
renderer: tooltipsRenderer
},
{
// 7
data: ‘DPA_VALID_FROM’,
type: ‘date’,
dateFormat: ‘DD.MM.YYYY’,
correctFormat: true,
//dateFormat: ‘DD.MM.YYYY’,
renderer: dateRenderer
},
{
// 8
data: ‘DPA_VALID_TO’,
type: ‘date’,
dateFormat: ‘DD.MM.YYYY’,
correctFormat: true,
//dateFormat: ‘DD.MM.YYYY’,
renderer: dateRenderer
},
{
// result
data: ‘RESULT’,
type: ‘text’,
readOnly: true
}],
stretchH: “all”,
minSpareRows: 1,
startRows: 1,
autoColumnSize: false,
autoRowSize: false,
colWidths: 125, //colWidths,//colWidths: [13,8,13,8,15,15,20,20]
rowHeights: 23,
rowHeaders: true,
manualColumnResize: true,
manualRowResize: true,
viewportRowRenderingOffset: ‘auto’,
selectionMode: ‘multiple’,
contextMenu: {
callback: function (key, selection, clickEvent) {
if (key == ‘remove_row’) {
self.removeSelectedRow();
}
}
},
className: ‘htMiddle’,
beforeRemoveRow: self.beforeRemoveRow,
//beforeChange: self.beforeChange,
//afterChange: self.afterChange,
afterOnCellMouseDown: function (event, coords) {
if (coords.col == 3) // Column 18 of my table
{
let rowdata = this.getSourceDataAtRow(coords.row); // row number and column number
//console.log($id); // testing the results
if (rowdata.hasOwnProperty(“matched_items”) == true) {
if (rowdata.matched_items.length > 1) {
self.position.push(coords.row, coords.col);
var data = self.hotBonanzaTable.getSourceDataAtRow(coords.row);
var openFundsValue = 0;
if ($.fn.DataTable.isDataTable(’#invoiceLinesTable’)) {
$(’#invoiceLinesTable’).DataTable().destroy();
$(’#invoiceLinesTable’).empty();
}
$(’#invoiceLinesTable’).DataTable({
“processing”: true,
“serverSide”: false,
“paging”: true,
“destroy”: true,
“pageLength”: 15,
“responsive”: false,
“stateSave”: false,
“lengthChange”: false,
“autoWidth”: true,
“jQueryUI”: false,
“scrollY”: “100%”,
“scrollX”: “100%”,
“dom”: ‘tip’,
“deferRender”: true,
“data”: data.matched_items,
“order”: [1], // [5, “desc”]
“columns”: [
{
“title”: “SKU”, “data”: “sku”, “sortable”: false
},
{
“title”: “VPN”,
“data”: ‘vpn’, “sortable”: false
},
{
“data”: “product_description”, “title”: “DESCRIPTION”, “sortable”: false
},
{
“data”: “crc_code”, “title”: “CRC CODE”, “sortable”: false
},
{
“data”: “crc_customer_code”, “title”: “CRC CUST. CODE”, “sortable”: false
},
{
“data”: “product_class”, “title”: “CLASS”, “sortable”: false
},
{
“data”: “vendor”, “title”: “VENDOR”, “sortable”: false
},
{
“data”: “vendor_nbr”, “title”: “#”, “sortable”: false
}
],
“drawCallback”: function (settings) {
//$(’[rel=“tooltip”]’).tooltip();
console.clear();
},
“initComplete”: function (settings, json) {

                                }
                            });
                            $('#selectSkus').modal('show');
                        }
                    }
                } // puts a border around the clicked ROW
            },
            cells: function (row, col, prop, value) {
                var cellProperties = {};

                if (prop == "VPN") {
                    var data = this.instance.getSourceDataAtRow(row);
                    if (typeof data != 'undefined' && data != null) {
                        if (data.VPN == "Invalid VPN") {  //-------------Only Intel 
                            cellProperties['renderer'] = "skuFieldRenderer";
                            //cellProperties.readOnly = true;
                        }
                    }
                }
                if (prop == "RESULT") {
                    var data = this.instance.getSourceDataAtRow(row);
                    if (typeof data != 'undefined' && data != null) {
                        if (data.RESULT == "SUCCESS") {  //-------------Only Intel 
                            cellProperties.renderer = resultRenderer;
                            //cellProperties.readOnly = true;
                        } else if (data.RESULT == "DUPLICATE ENTRY") {
                            cellProperties.renderer = resultRenderer;
                            //cellProperties.readOnly = true;
                        }
                    }
                }
                if (prop == "CUST_ACCOUNT_NBR") {
                    var data = this.instance.getSourceDataAtRow(row);
                    if (typeof data != 'undefined' && data != null) {
                        if (data.CUST_ACCOUNT_NBR == "0") {  //-------------Only Intel 
                            cellProperties.renderer = custNbrQtyRenderer;
                            //cellProperties.readOnly = true;
                        }
                    }
                }
                if (prop == "DPA_QTY") {
                    var data = this.instance.getSourceDataAtRow(row);
                    if (typeof data != 'undefined' && data != null) {
                        if (data.DPA_QTY == "0") {  //-------------Only Intel 
                            cellProperties.renderer = custNbrQtyRenderer;
                            //cellProperties.readOnly = true;
                        }
                    }
                }

                return cellProperties;
            }

        };

using handsontable 8.3.1 in my workplace i was using 1.16.0 it works there but for performance issues i thought of upgrading the version but copy paste breaks due to this error any ideas?

Hi @aniket.jagdale

It is hard to tell what can be the cause as your error is thrown by a minified file.

However, we can exclude

  • custom beforeChange/afterChange actions (commented out)
  • custom beforeCopy/afterCopy actions (not applied)
  • custom beforePaste/afterPaste actions (not applied)

An update from Handsontable v1.16.0 to 8.3.1. created a couple of vulnerable places (I’m thinking about possible breaking changes). Please check the release notes for those version between 1.16.0 and 8.3.1 (especially major versions) https://handsontable.com/docs/8.3.1/tutorial-release-notes.html

If you will not find anything that changed and has to be adjusted in your implementation please contact me at support@handsontable.com and we will go into the implementation details. Personally, I would comment out the cells logic and check if the issue is still replicable.

ok i’ll try and let you know :slight_smile:

Hi @aniket.jagdale

I just wanted to ask if the idea work for you?

I guess that 3 weeks without a reply can ensure me that everything works well. However, if there’s anything I can do for you @aniket.jagdale feel free to send me an email at support@handsontable.com.