Created or Edited -> User input of Item Details.Part_No -> ItemDetails_Partno_Validations
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
}



Comments