Welcome to Community Week 2025! Join us to learn, connect, and be recognized as we celebrate the spirit of Community and the power of AI. Get the details  

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

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

i am trying to create a ritm form but what should i enter as the field : what should be displayed and store on the catalog builder ? 

@AnveshKumar M 

 

chercm_0-1696565385337.png

 

@chercm In general it should be better to use reference fields for this kind of scenario. Which will display Display name of the consumable but store the actual reference,  I mean sys ID of the record which will be useful for future reference.

 

But if your requirement is for just a select box with choices you can choose the Display Name (display_name) field for better User Experience.

Thanks,
Anvesh

@AnveshKumar M @Danish Bhairag2 

 

i tried to create RITM form using catalog builder but it is not what i was looking for. how can i design the form with the request name - sys_users and the item requested from alm_consumable and submit button. It should create ritm form and sctask for the assigned team 

 

Screenshot 2023-10-06 at 12.41.12 PM.png

Hi @chercm ,

 

You can create both the fields as a Reference field. Where requestor can select the values which they wish for. Then u can create a flow designer & attach it to your catalog item under process engine tab. Flow designer should include a step for creating a task which will be assigned to the specific team.

 

Thanks,

Danish