Se rendre au contenu
Menu
Cette question a été signalée
2 Réponses
4029 Vues

I have setted a lot on POS screen with some criteria, while setting a lot i need to check whether the lot is available for the product with quantity.

when given quantity is exceed the stock limit, i need to throw popup like 'quantity limit is exceed'. So for that i have customized the "set_quantity" method.

when quantity is exceed i set the orderline quantity to 0(Zero), and also remove lot. It is perfectly working for me..

But my issue is, after setted zero in orderline, if i want to add quantity by clicking numpad it will set the number like old quantity + current quantity

Example:

While set lot i'll give quantity like 1

then, give 5 using numpad, it shows popup message (Quantity limit exceed) and set quantity to 0(zero) -- this is fine

and then i'll give 1 by numpad it will set quantity like 51

so this was my problem after set quantity to (zero) 0, it will not clearing the buffer instead of that it will set "old quantity + current quantity".

To rectify this issue, i would like to call a "resetValue" method by extending the OrderWidget.

set_quantity method:

                  if (lot_quantity < quant)

                   {

                           self.pos.gui.show_popup('alert',{

                             'title': _t('Warning !!!!'),

                             'body': _t(lot_name + ' : Quantity limit is exceed / Lot Not Available '),

                             cancel: function(){

                             var lot_lines = self.pack_lot_lines.sortBy('lot_name').slice(0, 1);

                             self.pack_lot_lines.remove(lot_lines);

                             quant = parseFloat(0);

                             self.quantity = quant;

                             self.quantityStr = '' + self.quantity;

                             if(unit){

                                     if (unit.rounding) {

                                             self.quantity = round_pr(quant, unit.rounding);

                                             var decimals = self.pos.dp['Product Unit of Measure'];

                                             self.quantityStr = formats.format_value(round_di(self.quantity, decimals), { type: 'float', digits: [69,                                                                                                                                                                                         decimals]});

                                         }

                             else {

                                         self.quantity = round_pr(quant, 1);

                                         self.quantityStr = self.quantity.toFixed(0);

                                     }

                         }

                    else{

                             self.quantity = quant;

                             self.quantityStr = '' + self.quantity;

                         }

                    self.trigger('change',self);

                   this.order_widget = new OrderWidget(this,{

                   numpad_state: this.numpad.state,

                 });

         },

      });

  }

Used like this in set_quantity method,

* this.numpad_state.resetValue();

* this.numpad_state.reset();

* this.order_widget.numpad_state.bind('set_value',this.order_widget.set_value , this);

but these are not working..

Can anyone help me how to reset the numpad in POS..

Avatar
Ignorer

Hello Silviaa , I'm working in the same issue raise Warning when quantity exceedd lot quantiy , can i ask you how did you get lot_name ? thank in advance

Meilleure réponse

what the solution you found ?

Avatar
Ignorer
Auteur Meilleure réponse

i found the solution for this issue..

Avatar
Ignorer
Publications associées Réponses Vues Activité
1
juil. 19
9806
3
juil. 25
17116
0
déc. 18
2920
1
oct. 18
6275
1
déc. 17
4859