Page 1 of 1

question on InvoiceTotal from salesOder object

PostPosted: Thu Jun 24, 2021 11:41 pm
by indikad
Jiwa 7.2.1
I have this bit of code where I am expecting the MessageBox to display the Ordered (Inc GST ) Value on sales order window ( bottom right )
However it displays the This Del, (Inc GST ) value.

What am I doing wrong ? Am I using the incorrect property for the Ordered Total ?


Code: Select all
 Public Sub Setup(ByVal JiwaForm As JiwaApplication.IJiwaForm, ByVal Plugin As JiwaApplication.Plugin.Plugin) Implements JiwaApplication.IJiwaFormPlugin.Setup
      If TypeOf JiwaForm Is JiwaSalesUI.SalesOrder.SalesOrderEntryForm  Then         
            Dim SalesOrdForm As JiwaSalesUI.SalesOrder.SalesOrderEntryForm = DirectCast(JiwaForm, JiwaApplication.IJiwaForm)
         _SalesOrderForm = DirectCast(JiwaForm, JiwaSalesUI.SalesOrder.SalesOrderEntryForm)
         AddHandler  SalesOrdForm.SalesOrder.SaveEnding  , AddressOf SalesOrderSaveEnding
        End If
    End Sub
   
   Private Sub SalesOrderSaveEnding( sender As Object ,  e As System.EventArgs )   
      Dim oSalesOrder As JiwaSales.SalesOrder.SalesOrder   = DirectCast( sender , JiwaSales.SalesOrder.SalesOrder )
               MessageBox.Show( "oSalesOrder.InvoiceTotal  = " +  oSalesOrder.InvoiceTotal.ToString() )

Re: question on InvoiceTotal from salesOder object

PostPosted: Fri Jun 25, 2021 8:56 am
by SBarnes
Try


Code: Select all
            decimal DolarsThisDel = 0;   
            foreach(SalesOrderLine line in salesorder.SalesOrderLines)
            {
               DolarsThisDel += line.DiscountedPrice * line.QuantityThisDelivery;
            }         

Re: question on InvoiceTotal from salesOder object

PostPosted: Fri Jun 25, 2021 10:32 am
by indikad
Hi Staurt ,
I was thinking of that however , I am trying to avoid looping to save delays at "Save Ending" event. If I cannot obtain this from a footer level property I'm afraid I may have to do just that.

Re: question on InvoiceTotal from salesOder object  Topic is solved

PostPosted: Fri Jun 25, 2021 10:57 am
by Mike.Sheen
Try the SalesOrderLines.OrderedExGSTTotal. There is also OrderedGSTTotal if you need the inc (ex + tax = inc).

Re: question on InvoiceTotal from salesOder object

PostPosted: Fri Jun 25, 2021 12:06 pm
by indikad
Many thanks Mike. I will try that and update.

Re: question on InvoiceTotal from salesOder object

PostPosted: Tue Jun 29, 2021 11:27 am
by indikad
Updating:

Code: Select all
SalesOrder.SalesOrderLines.OrderedExGSTTotal

gives me the correct value.

As a side question ; I need to obtain the << This Del. (Inc GST) >> value from the footer.
Currently the the most logical place seems to be the property below.
Code: Select all
SalesOrderForm.DeliveredTotalNumericEditor.Value


Is there another property in the <<SalesOrder.SalesOrderLines>> object for this value ? (<< This Del. (Inc GST) >>)

Re: question on InvoiceTotal from salesOder object

PostPosted: Tue Jun 29, 2021 12:37 pm
by nsbandara
You can get sales order livered total by adding freight charge to sales order line delivered total

Code: Select all
decimal deliveredTotalIncGst = SalesOrder.SalesOrderLines.IncGSTTotal ;
if( SalesOrder.OrderType != SalesOrder.SalesOrderOrderTypes.e_SalesOrderOrderTypeForwardOrder &&   SalesOrder.SalesOrderLines.TotalDeliveredQuantity > 0/* if not a forward order and delivery quantity > 0 then add freight charges */)
{
     var history = SalesOrder.SalesOrderHistorys[SalesOrder.SelectedHistoryNo];
     deliveredTotalIncGst = deliveredTotalIncGst + history.CartageCharge1.IncGSTAmount + history.CartageCharge2.IncGSTAmount + history.CartageCharge3.IncGSTAmount
}

Re: question on InvoiceTotal from salesOder object

PostPosted: Tue Jun 29, 2021 1:01 pm
by Mike.Sheen
nsbandara wrote:You can get sales order livered total by adding freight charge to sales order line delivered total

Code: Select all
decimal deliveredTotalIncGst = SalesOrder.SalesOrderLines.IncGSTTotal ;
if( SalesOrder.OrderType != SalesOrder.SalesOrderOrderTypes.e_SalesOrderOrderTypeForwardOrder &&   SalesOrder.SalesOrderLines.TotalDeliveredQuantity > 0/* if not a forward order and delivery quantity > 0 then add freight charges */)
{
     var history = SalesOrder.SalesOrderHistorys[SalesOrder.SelectedHistoryNo];
     deliveredTotalIncGst = deliveredTotalIncGst + history.CartageCharge1.IncGSTAmount + history.CartageCharge2.IncGSTAmount + history.CartageCharge3.IncGSTAmount
}


Yep - this is exactly how the UI displays the delivered Inc-GST in the totals grid.