Created or Edited -> User input of Item Details.Part_No -> ItemDetails_Partno_Validations

PHOTO EMBED

Tue Jan 07 2025 14:23:50 GMT+0000 (Coordinated Universal Time)

Saved by @Pooja

if(row.Part_No != null)
{
	mat_data = Materials[ID == row.Part_No];
	getcustdet = Customer_Pricing_subform[Part_No == row.Part_No && Customer_Name == input.Customer_Name && sf_Status == "Active"];
	if(getcustdet.count() > 0)
	{
		getcustdet = Customer_Pricing_subform[Part_No == row.Part_No && Customer_Name == input.Customer_Name && sf_Status == "Active"];
		row.Part_Description=getcustdet.Part_Description;
		row.UoM=Materials[ID == getcustdet.Part_No].Primary_UoM;
		//	row.Rate=getcustdet.Price;
		row.Rate=getcustdet.Settled_Price;
		row.Tax=getcustdet.Tax;
		row.Packing_Std=getcustdet.Packaging;
		row.Customer_Part_Code=getcustdet.Customer_Part_Code;
		row.HSN_Code=mat_data.HSN_SAC;
		row.Classification=mat_data.Classification;
	}
	if(getcustdet.count() == 0 && input.Sales_Type == "Tooling" || input.Sales_Type == "Research & Development Charges")
	{
		row.Part_Description=mat_data.ID;
		if(input.Place_of_Supply.Inside_India == "Yes")
		{
			if(input.Place_of_Supply.Short_Name == "UP")
			{
				row.Tax=row.Part_No.GST_Details;
			}
			else
			{
				row.Tax=row.Part_No.IGST_Details;
			}
		}
		//row.Tax=tax_det;
	}
	row.UoM=row.Part_Description.Primary_UoM;
	row.Stock_FG_Qty=ifnull(Inventory[Part_No == row.Part_No].sum(Available_Qty),0.0);
	row.Stock_SFG_Qty=ifnull(Semi_Finished_Goods_Summary[Part_No == row.Part_No && Part_Description == row.Part_Description && Warehouse == input.Warehouse].Available_Qty,0.0);
}
else
{
	row.Part_Description=null;
	row.Remarks_multiline=null;
	row.Rate=null;
	row.Stock_FG_Qty=0.0;
	row.Stock_SFG_Qty=0.0;
}
for each  rec in input.Despatch_Schedule
{
	if(rec.Part_No == row.Part_No)
	{
		rec.Part_No=null;
	}
}
for each  var in input.Item_Details
{
	row.Blocke_Qty=Inventory[Part_No == row.Part_No && Part_Description == row.Part_Description].Block_Qty;
}
if(input.Place_of_Supply.Short_Name != "UP")
{
	if(row.Tax != null)
	{
		if(row.Tax.Tax_Name.startswith("G") == True)
		{
			alert "Tax should be IGST for this customer.Tax configured as " + row.Tax.Tax_Name + "  Pls check";
			row.Tax=null;
		}
	}
}
//set the tax percentage since its same for all the line items
input.TaxP = row.Tax;
if(row.Rate != null && row.Qty != null && row.Tax != null)
{
	get_tax_value = GST_Details[ID == ifnull(row.Tax,"")].Total_Rate;
	Tax_calc = ifnull(row.Qty,0.0) * ifnull(row.Rate,0.0) * ifnull(get_tax_value,0.0) / 100;
	amount_calc = ifnull(row.Qty,0.0) * ifnull(row.Rate,0.0);
	row.Sub_Total=ifnull(amount_calc,0.00);
	row.Tax_Value=Tax_calc;
	row.Total_Amount=ifnull(amount_calc,0.0) + ifnull(Tax_calc,0.0);
	tot = 0.0;
	totqty = 0.0;
	subtot = 0.0;
	for each  rec1 in Item_Details
	{
		tot = tot + ifnull(rec1.Total_Amount,0.0);
		totqty = totqty + ifnull(rec1.Qty,0.0);
		subtot = subtot + ifnull(rec1.Sub_Total,0.0);
	}
	input.Item_Total = tot;
	input.Overall_Total = ifnull(input.Item_Total,0.0) + ifnull(input.Extra_Charge_s_Total,0.0);
	//new field calculation starts here - 1/4/2023
	input.Total_Quantity = ifnull(totqty,0.0);
	input.Gross_Total = ifnull(subtot,0.0);
	input.Gross_with_Discount = ifnull(input.Gross_Total,0.0);
	if(input.Discount_Amount > 0)
	{
		input.Gross_with_Discount = ifnull(input.Gross_Total,0.0) - ifnull(input.Discount_Amount,0.0);
		input.Overall_Total = ifnull(input.Overall_Total,0.0) - ifnull(input.Discount_Amount,0.0);
	}
	else
	{
		input.Gross_with_Discount = ifnull(input.Gross_with_Discount,0.0);
	}
	get_tax_value = GST_Details[ID == ifnull(input.TaxP,"")].Total_Rate;
	if(get_tax_value == 0)
	{
		input.Gross_Value_Tax = 0;
	}
	else
	{
		Tax_calc = ifnull(input.Gross_with_Discount,0.0) * ifnull(get_tax_value,0.0) / 100;
		input.Tax_Total = ifnull(Tax_calc,0.0);
		input.Gross_Value_Tax = ifnull(Tax_calc,0.0);
		input.Gross_Total_with_Discount = ifnull(input.Gross_with_Discount,0.0) + ifnull(input.Gross_Value_Tax,0.0);
	}
	if(input.Packing_Forwarding > 0)
	{
		Tax_calc1 = ifnull(input.Packing_Forwarding,0.0) * ifnull(get_tax_value,0.0) / 100;
		input.PF_Tax_value = ifnull(Tax_calc1,0.0);
		input.PF_Total_with_tax = ifnull(input.Packing_Forwarding,0.0) + ifnull(input.PF_Tax_value,0.0);
	}
	input.Grand_Total = ifnull(input.Gross_Total_with_Discount,0.0) + ifnull(input.PF_Total_with_tax,0.0);
	//new fields calculation ends 
}
content_copyCOPY