Stock Transfer - OnSuccess

PHOTO EMBED

Tue Jan 07 2025 15:37:03 GMT+0000 (Coordinated Universal Time)

Saved by @Pooja

var = 0;
if(isBlank(input.Stock_Transfer_NO.trim()))
{
	var = 1;
	str = thisapp.Common.Number_Function_New("Stock Transfer");
	input.Stock_Transfer_NO = str;
	openUrl("#Form:Alert_Messages?Status=" + "Stktrf" + "&Value=" + input.Stock_Transfer_NO + "&zc_LoadIn=dialog","same window");
}
if(Transfer_Type == "Location Based")
{
	if(input.Source_Rack_Bins != input.Destination_Rack_Bins)
	{
		for each  rec in input.Stock_Details
		{
			des = Inventory[Warehouse == input.Destination_Warehouse && Location_Name == input.Destination_Location && Sub_Location == input.Destination_Sub_Location && Rack_Number == input.Destination_Rack_Bins && Part_No == rec.Part_No];
			src = Inventory[Warehouse == input.Source_Warehouse && Location_Name == input.Source_Location && Sub_Location == input.Source_Sub_Location && Rack_Number == input.Source_Rack_Bins && Part_No == rec.Part_No];
			getuom = Materials[ID == rec.Part_No].Primary_UoM;
			if(des.count() == 1)
			{
				//update
				des.Available_Qty=des.Available_Qty + rec.Transfer_Qty;
				des.Total_Qty=des.Total_Qty + rec.Transfer_Qty;
				src.Available_Qty=src.Available_Qty - rec.Transfer_Qty;
				src.Total_Qty=src.Total_Qty - rec.Transfer_Qty;
			}
			else
			{
				//insert
				insert into Inventory
				[
					Added_User=zoho.loginuser
					Warehouse=input.Destination_Warehouse
					Part_No=rec.Part_No
					Part_Description=rec.Part_Description
					Specification=rec.Specification
					Category=rec.Category
					Sub_Category=rec.Sub_Category
					Total_Qty=rec.Transfer_Qty
					Available_Qty=rec.Transfer_Qty
					Location_Name=input.Destination_Location
					Sub_Location=input.Destination_Sub_Location
					Rack_Number=input.Destination_Rack_Bins
					UOM=getuom
				]
				src.Available_Qty=src.Available_Qty - rec.Transfer_Qty;
				src.Total_Qty=src.Total_Qty - rec.Transfer_Qty;
			}
		}
	}
}
if(Transfer_Type == "Part Based")
{
	for each  sub in input.Stock_Details
	{
		source = Inventory[Part_No == input.Stock_Details.Source_Part_No] sort by Available_Qty desc;
		destination = Inventory[Part_No == input.Stock_Details.Destination_Part_No] sort by Available_Qty desc;
		getuom = Materials[ID == sub.Destination_Part_No].Primary_UoM;
		if(destination.count() == 1)
		{
			destination.Available_Qty=destination.Available_Qty + sub.Transfer_Qty;
			destination.Total_Qty=destination.Total_Qty + sub.Transfer_Qty;
			source.Available_Qty=source.Available_Qty - sub.Transfer_Qty;
			source.Total_Qty=source.Total_Qty - sub.Transfer_Qty;
		}
		else
		{
			insert into Inventory
			[
				Added_User=zoho.loginuser
				Warehouse=sub.Destination_Warehouse
				Part_No=sub.Destination_Part_No
				Part_Description=sub.Destination_Part_Name
				Specification=sub.Specification
				Category=sub.Source_Category
				Sub_Category=sub.Source_Sub_Category
				Total_Qty=sub.Transfer_Qty
				Available_Qty=sub.Transfer_Qty
				Location_Name=sub.Destination_Location
				Sub_Location=sub.Destination_Sub_Location
				Warehouse=sub.Destination_Warehouse
				UOM=getuom
			]
			source.Available_Qty=source.Available_Qty - sub.Transfer_Qty;
			source.Total_Qty=source.Total_Qty - sub.Transfer_Qty;
		}
	}
}
// if(isBlank(input.Transfer_Order_No.trim()))
// {
// 	//lastrec = Stock_Transfer[ID != null && ID != input.ID] sort by ID desc;
// 	//info lastrec.ID + "ORDER" + lastrec.Transfer_Order_No;
// 	lastrec = Stock_Transfer[Transfer_Order_No != null && Transfer_Order_No != ""] sort by Transfer_Order_No desc;
// 	if(lastrec.Transfer_Order_No == null || lastrec.Transfer_Order_No == "")
// 	{
// 		nextid = 1;
// 		//info "yes";
// 	}
// 	else
// 	{
// 		nextid = lastrec.Transfer_Order_No.getSuffix("-").getsuffix("/").toLong() + 1;
// 	}
// }
// input.Transfer_Order_No = "TQ/ST/" + thisapp.financial_year() + "/" + leftpad(nextid.toString(),5).replaceAll(" ","0");
// openUrl("#Form:Alert_Messages?Status=" + "Stktrf" + "&Value=" + input.Transfer_Order_No + "&zc_LoadIn=dialog","same window");
content_copyCOPY