how to filter based on selected stock room ?

chercm
Mega Sage

Stockroom -> alm_stockroom

Consumable -> alm_consumable

 

i tried to use this qualifier on the consumable but i kept getting everything not the one specified to the selected stock room 

 

javascript: "install_status=6^stockroom=" + current.getValue('stockroom');
3 ACCEPTED SOLUTIONS

Hi @chercm ,

 

It should be u_stockroom. Replace with u_ for stockroom n check.

 

Thanks,

Danish

View solution in original post

@chercm It is a custom field change your reference qualifier to this.

 

javascript : "install_status=6^stockroom=" + current.u_stockroom;

 

Thanks,
Anvesh

View solution in original post

Hi @chercm 

What I understood is you are expecting to deduct the stock when a Catalog Task is closed.

 

Try creating a business rule like the one below.

 

Name: Deduct asset quantity from stock

Table: sc_task

Advanced: True

 

When to Run Section:

When: After

Insert: True

Update: True

 

Conditions:

Asset :: is Not Empty

Stock Room :: is Not Empty

State :: Changes to :: Closed Complete

 

 

Advanced Section:

 

Script:

 

(function executeRule(current, previous){

var almGr = new GlideRecord('alm_asset');

almGr.addQuery('sys_id', current.u_reference_1);

almGr.query();

if(almGr.next()){

   var quantity= almGr.getValue('quantity');

   var req_quantity= current.request_item.quantity;

   try{

      quantity = quantity - req_quantity;

      if(quantity >= 0){

         almGr.setValue('quantity', quantity);

         almGr.update();

      } else{

         gs.addErrorMessage('Available quantity is less than the requested quantity, unable to update the stock.');

      }

   }catch(ex){

      gs.addErrorMessage('Unexpected Error:' + ex.message);

   }

}

 

}

 

)(current, previous)

 

 

Please mark my answer helpful and accept as solution if it helped you 👍

Thanks,
Anvesh

View solution in original post

32 REPLIES 32

chercm
Mega Sage

@AnveshKumar M 

 

here is the properties 

 

Screenshot 2023-10-06 at 10.02.45 AM.png

Hi @chercm ,

 

It should be u_stockroom. Replace with u_ for stockroom n check.

 

Thanks,

Danish

@chercm It is a custom field change your reference qualifier to this.

 

javascript : "install_status=6^stockroom=" + current.u_stockroom;

 

Thanks,
Anvesh

chercm
Mega Sage

@AnveshKumar M @Danish Bhairag2 

not sure whether you can help with this ?

if i have a field called: Request item.Quantity and the user set to 1, how can i deduct from the selected stockroom when i close the ticket ?

@chercm  you can create an after Insert / update business rule on the ticket table which have condition like 

State :: changes to :: closed complete 

 

And in the script, you can glide the table based on stock room and asset then get the quantity value into a variable and deduct the value and set the quantity field to deducted value then update.

 

If you can give the details of these fields on which table these quantity, ritm, user etc fields are located with screen shots we can help in detail.

 

And please mark my answer as solution as the original Query is already answered 👍

Thanks,
Anvesh