Auto Manufacturing Journal-

Discussion in 'Free Source Codes' started by Devendra_Rawat, Dec 17, 2023.

    
  1. Devendra_Rawat

    Devendra_Rawat Well-Known Member





    Pass a Manufacturing Journal Entry in Tally Automatically whenever there is shortage of Product that is Sold.



    Solution to "No Entries in voucher" Error


    Steps:

    1. Create Final Product(Stock Item)
    2. Create Components, Assemblies (Raw Materials) (Stock Items)
    3. Configure BOM for Final Product Item.
    4. Create Manufacturing Journal Voucher Type.
    5. Procure Raw Materials/Components and Purchase Entry in Tally.
    6. Pass Manufacturing Journal Entry in Tally, which will create Final Product.
    7. Pass Sale Entry in Tally.


    What this TDL Does:

    1. It Removes the need to pass manual Manufacturing Journal entry every item a product is Sold.

    2. You just have to pass the sale entry and Manufacturing Journal Entry will be passed automatically by the TDL.

    3. You don’t need to worry about the negative stock of final product.

    Code:
    
    
    
    [Collection: MJ_BOMComponentList]
     
        ParmVar        : pvStockItemName    : String    : ##FinItemVar
    
        Title        : $$LocaleString:"BoM List"                                ;;; Table Title for Component List
        Type        : MultiComponentList : StockItem
        Childof        : ##pvStockItemName
    
        Fetch        : ComponentListName, ComponentBasicQty
        Fetch        : MultiComponentItemList.StockitemName, MultiComponentItemList.GodownName
        Fetch        : MultiComponentItemList.ActualQty, MultiComponentItemList.AddlCostAllocPerc, MultiComponentItemList.NatureofItem
    
     
     
    [System : variable]
                                                                           
        mfgvchDate  : ""
        mfgvchNum    : ""
        mfgVCHID    : ""
     
    [Variable : mfgvchDate]
     
        Type    : Date
     
    [Variable : mfgvchNum]
     
        Type    : String
     
    [Variable : mfgVCHID]
     
        Type    : String
    
    [Variable: mfgVchIdUpdated]
        Type: Logical
        Persistent: No
        Default:   No
    
    
    
    [#Report    : Voucher]
        Variable    : mfgvchDate ,     mfgvchNum,     mfgVCHID
        Set    : mfgVchDate : $Date
        Set : mfgVchNum    : $VOucherNumber
        Set    : mfgVchID    :  $$SPrintF:@@VCHMasterID:$MasterID
     
         
    [#Form : Sales Color]
        On    : Form Accept : Yes : Call : MJ_GetVchId
        On    : Form Accept : Yes : Form Accept
        On    : Form Accept : Yes : Call :  Create Auto Mfg Voucher
     
    
    [Function    : MJ_GetVchId]
        Variable    : TempStr : String
        0020    : IF    : $$InCreateMode
        0030    :     SET    : TempStr    : $Cmpvchid:Company:##SVCurrentCompany;$$CollectionField:$MasterId:@@LastItem:CompanyVouchers
        0040    :     SET    :  mfgVchID    : "ID:" + ##TempStr
    ;    0045    :    Create Target
        0050    : ELSE
    ;    0055    :     Save Target
        0060    :     SET    :  mfgVchID    : $$SPrintF:@@VCHMasterID:$MasterID
        0070    : END IF
         
    [Collection : mfgvchmain_src]
    
        Parm Var    : vVchMasterIDVar    : String    : ##mfgVCHID
        Object        : Voucher    :   ##vVchMasterIDVar
        Fetch        : MasterId, Date, Amount, LedgerName, PartyLedgerName, VoucherNumber, BasicShipVesselNo
        Fetch        : InventoryEntries.BatchAllocations.*
    
    [Collection :MultipleEntryManuJrnlColl]
     
                Parm Var: VchMasterIDVar    : String    : ##mfgVCHID
     
                Source Collection    : mfgvchmain_src
                Fetch    : MasterId, Date, Amount, LedgerName, PartyLedgerName, VoucherNumber, BasicShipVesselNo, VoucherSourceGodown
                Compute : FinItemNew : $StockitemName
                Compute : FinQtyNew  : $ActualQty
                Compute    : MfgGodown    : $GODOWNNAME; VoucherSourceGodown
                Walk    : InventoryEntries
                Is ODBC Table    : Yes
    
    [Function : Create Auto Mfg Voucher]
     
        Variable: TempStr        : String
     
     
        030 : Query Box : " Do you want to post \n Auto Manufacturing Voucher" : Yes : No
        040 : If : $$LastResult=Yes
        050    : Log:$$String:##mfgVCHID + " Hi Dev"
    
        060 : CALL : MultipleEntryManuJrnlFunc
        070 : END if
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    
    [Collection:MultipleEntryManuJrnlColl1Src]
        Type        : MultiComponentList    : StockItem
        Child Of: ##FinItemVar
     
        Fetch    : MultiComponentItemList.*
     
    [Collection:MultipleEntryManuJrnlColl1]
        Source Collection : MultipleEntryManuJrnlColl1Src
        Walk    : MultiComponentItemList
    ;    By    :    StockItemname
    
        Fetch : *.*,*
        Fetch    : ComponentListName, ComponentBasicQty
        Fetch    : MultiComponentItemList.StockitemName, MultiComponentItemList.GodownName
        Fetch    : MultiComponentItemList.ActualQty, MultiComponentItemList.AddlCostAllocPerc, MultiComponentItemList.NatureofItem
        ;Filter : WithSameProdName
        Is ODBC Table: Yes
    
    [System:Formulae]
        WithSameProdName:$FinItemNew=##FinItemVar
    
    
    [Function: MultipleEntryManuJrnlFunc]
     
        Variable: VoucherId        : String
     
        Variable : FinItemVar : String
        Variable : FinItemQtyVar : Quantity
        Variable : ManufactGdwnVar: String
     
        Variable : RawMaterialVar : String
        Variable : RawMaterialQtyVar : String
     
        Variable    : strRate : String
     
    ;    001    : Save Target
        005 : Walk Collection : MultipleEntryManuJrnlColl
        010 : Log: "walkng multientrymanujrnl"
     
        020 : Set : FinItemVar    : $FinItemNew
        030 : Set : FinItemQtyVar : $FinQtyNew
        035 : Set : ManufactGdwnVar:$MfgGodown
        040    :    Do If: ($$IsEmptyCollection:MJ_BOMComponentList) : Msg Box:##FinItemVar: "Empty BOM, Can not Create Voucher"
        045    :    Do If: ($$IsEmptyCollection:MJ_BOMComponentList) : Continue
    
    ;    060 : Log:$$String:"item:"+##FinItemVar
    ;    070 : Log:$$String:"qty:"+ $$String:##FinItemQtyVar
    ;    080 : Log:$$String:"gowdown:"+##ManufactGdwnVar
     
        050 : SET : SVViewName : $$SysName:ConsVchView;AcctgVchView;$$SysName:MulConsVchView
        055    : Set : SVVoucherType :   $$VchTypeMfgJrnl
        060 : Set : VoucherMode   : $$SysName:AsMfgJournal
    
        070 : NEW OBJECT : Voucher
    
    ;    070 : SET : SVViewName : $$SysName:AcctgVchView
    ;    080 : SET : InvoicingModeFlag : No
        085    : SET : InventoryVch     : Yes
        088 : SET : AccountsVch     : No
        090 : SET : PayrollVch : NO
    ; (($$IsEqual:##SVViewName:($$SysName:InvVchView)) OR ($$IsEqual:##SVViewName:($$SysName:ConsVchView)) OR ($$IsEqual:##SVViewName:($$SysName:MulConsVchView)))
     
     
        100 : SET VALUE : Date : $Date  ;;;;;#DateforVoucherLine;##SVCurrentDate
    ;    110 : SET VALUE : VoucherTypeName : "Manufacturing Journal"
        120 : SET VALUE : IsInvoice : "No"
        130 : SET VALUE : PERSISTEDVIEW : "Multi Consumption Voucher View";##SVViewName
        140 : Set Value : DESTINATIONGODOWN :  "Main Location"   ;;;;##ManufactGdwnVar
        150 : Set Value : VOUCHERDESTINATIONGODOWN :"Main Location"   ;;;##ManufactGdwnVar
        160 : Set Value : VOUCHERSOURCEGODOWN : "Main Location"  ;;;; ##ManufactGdwnVar
        170 : Set Value : DIFFACTUALQTY : "No"
        180 : Set Value : ISMSTFROMSYNC : "No"
        190 : Set Value : ASORIGINAL : "No"
        200 : Set Value : AUDITED : "No"
        210 : Set Value : FORJOBCOSTING : "Yes"
        220 : Set Value : ISOPTIONAL : "No"
        230 : Set Value : EFFECTIVEDATE : $Date ;;#DateforVoucherLine
     
        240    : Call: MfgInvIn
        250    : Call: MfgInvOut
        270 : Create Target
    ;    280    : Call    :  MJ_DisplayEntry
        350    : End Walk
        360    : Set: SVVoucherType : $$VchTypeSales
     
    [Function: MJ_DisplayEntry]
    
        Variable: TempStr        : String
     
        10    :     SET    : TempStr    : $Cmpvchid:Company:##SVCurrentCompany;$$CollectionField:$MasterId:@@LastItem:CompanyVouchers
        20    :     SET    : VoucherID    : "ID:" + ##TempStr
        30    : IF : (NOT $$IsEmpty:##VoucherID )
        50  :         Alter : Voucher     
        60    : End If
     
    
    [Function    : MfgInvIn]
        010 : Insert Collection object : INVENTORYENTRIESIN       ;inventoryentriesin
        020 : Log:"inserting inv entries in"
     
        030 : Set target: INVENTORYENTRIESIN
        040 : SET VALUE : STOCKITEMNAME : $$String:##FinItemVar
        050 : Set Value : BOMNAME        : $$CollectionField:$ComponentListName:1:MJ_BOMComponentList
    ;    060 : Set Value : Godownname    : ##ManufactGdwnVar
        070 : Set Value : ACTUALQTY : $$TgtObject:$$AsQty:##FinItemQtyVar
        080 : Set Value : BILLEDQTY : $$TgtObject:$$AsQty:##FinItemQtyVar
    ;    090    : Set Value    : Amount : -400
        100 : Set Value : ISDEEMEDPOSITIVE : "Yes"
        110 : Set Value : ISLASTDEEMEDPOSITIVE : "Yes"
        120 : Set Value : ISSCRAP : "No"
    ;    130 : Set Value : Rate : $$AsRate:##strRate
        140    : Call: MfgInvInBatch
        150    : Set Target    : ..
     
    [Function    : MfgInvInBatch]
     
        010 : INSERT COLLECTION OBJECT : BATCHALLOCATIONS
        020    : Set Target    :  BATCHALLOCATIONS
        030 : Log    :"Inv Ent In Inserting batch  allocations"
        040 : Set Value : GODOWNNAME : "Main Location"    ;;;; ##ManufactGdwnVar
        050 : Set Value : BATCHNAME : "Primary Batch"
        060 : Set Value : DYNAMICCSTISCLEARED : "No"
        070    : Set Value : INDENTNO: "Not Applicable"
        080 : Set Value : ORDERNO: "Not Applicable"
        090    : Set Value : TRACKINGNUMBER: "Not Applicable"
        100    : Set Value : ACTUALQTY : $$TgtObject:$$AsQty:##FinItemQtyVar
        110 : Set Value : BILLEDQTY : $$TgtObject:$$AsQty:##FinItemQtyVar
    ;    120    : Set Value    : Amount : -400
        130    : Reset Value        : DynamicCstNo     
        140    : Reset Value        : DynamicCstParentItem
        150 : SET TARGET : ..
    
    [Function    : MfgInvOut]
            010 : Walk Collection : MultipleEntryManuJrnlColl1
            020 :     Insert collection object : INVENTORYENTRIESOUT            ;InventoryEntriesOut
            030 :     SEt TARGET : INVENTORYENTRIESOUT
            040 :     Log: "Inv Ent Out " + $$String:$$LoopIndex
            050    :     Set : RawMaterialVar    : $Stockitemname
            060 :     Set : RawMaterialQtyVar : $ActualQty * ##FinItemQtyVar ;;;$RawMaterialQty
        ;    070 :     Log    :##RawMaterialVar
        ;    080 :     Log    :##RawMaterialQtyVar
            090 :     SET VALUE : STOCKITEMNAME : ##RawMaterialVar
            100 :     SET VALUE : ACTUALQTY : $$TgtObject:$$AsQty:##RawMaterialQtyVar * -1
            110 :     SET VALUE : BilledQty : $$TgtObject:$$AsQty:##RawMaterialQtyVar * -1 ;($actualQty *## SSFunctonAutoJrnlNumToCal)
        ;    120    :     Set Value    : Amount : 200
            130 :     Set Value : ISDEEMEDPOSITIVE : "No"
            140 :     Set Value : ISLASTDEEMEDPOSITIVE : "No"
            150 :     Set Value : ISAUTONEGATE : "No"
            160 :     Set Value : ISCUSTOMSCLEARANCE : "No"
            170 :     Set Value : ISTRACKCOMPONENT : "No"
            180 :     Set Value : ISTRACKPRODUCTION : "No"
            190 :     Set Value : ISPRIMARYITEM : "No"
            200 :     Set Value : ISSCRAP : "No"
            220    :     Call: MfgInvOutBatch
            230    :     Set Target: ..
            240    : End Walk
         
        [Function    : MfgInvOutBatch]
            005 : Log    :"Inv Ent Out Inserting batch  allocations"
            010 : INSERT COLLECTION OBJECT : BATCHALLOCATIONS
            020    : Set Target    :  BATCHALLOCATIONS
            030 : Set Value : GODOWNNAME : "Main Location"
            040 : Set Value : BATCHNAME : "Primary Batch"
            050 : Set Value : DYNAMICCSTISCLEARED : "No"
            060 : Set Value : INDENTNO: "Not Applicable"
            070 : Set Value : ORDERNO: "Not Applicable"
            080 : Set Value : TRACKINGNUMBER: "Not Applicable"
            090 : Set Value : ACTUALQTY :  $$TgtObject:$$AsQty:##RawMaterialQtyVar *-1
            100 : Set Value : BILLEDQTY :  $$TgtObject:$$AsQty:##RawMaterialQtyVar *-1
        ;    110 : Set: strRate : "200.00/PCS"
        ;    120 : Set Value : Rate : $$AsRate:##strRate
            120    : Reset Value        : DynamicCstNo     
            130    : Reset Value        : DynamicCstParentItem
    ;        140    : Set Value    : Amount : 200
            150 : Set Target : ..
         
         
     
    
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;;;        Modification In Voucher Screen
    ;;
    ;;
    
    [#Line: SJ MfdItem]
    ;;    Fields  : Info Field, MVCH StockItem, Simple Field, MVCH BOMName, MVCH BOMNameStorage, Simple Prompt, MVCH Godown, Colon Field, MVCH ActualQty, MVCH BilledQty, MfgVch BOMCompBaseQty
        Local     : Field : Simple Field : Invisible    : NO
        Local    : Field    : MVCH BOMName : Invisible    : No
    
    

    Improved Version of the TDL here
    Code:
    
    
    
    
    
    [Collection: MJ_BOMComponentList]
       
        ParmVar        : pvStockItemName    : String    : ##FinItemVar
    
        Title        : $$LocaleString:"BoM List"                                ;;; Table Title for Component List 
        Type        : MultiComponentList : StockItem
        Childof        : ##pvStockItemName
    
        Fetch        : ComponentListName, ComponentBasicQty
        Fetch        : MultiComponentItemList.StockitemName, MultiComponentItemList.GodownName
        Fetch        : MultiComponentItemList.ActualQty, MultiComponentItemList.AddlCostAllocPerc, MultiComponentItemList.NatureofItem
    
       
    [System : variable]
                                                                             
        mfgvchDate  : ""
        mfgvchNum    : ""
        mfgVCHID    : ""
       
    [Variable : mfgvchDate]
       
        Type    : Date
       
    [Variable : mfgvchNum]
       
        Type    : String
       
    [Variable : mfgVCHID]
       
        Type    : String
    
    [Variable: mfgVchIdUpdated]
        Type: Logical
        Persistent: No
        Default:   No
    
    
    
    [#Report    : Voucher]
        Variable    : mfgvchDate ,     mfgvchNum,     mfgVCHID
        Set    : mfgVchDate : $Date
        Set : mfgVchNum    : $VOucherNumber
        Set    : mfgVchID    :  $$SPrintF:@@VCHMasterID:$MasterID
       
           
    [#Form : Sales Color]
        On    : Form Accept : Yes : Call : MJ_GetVchId
        On    : Form Accept : Yes : Form Accept
        On    : Form Accept : Yes : Call :  Create Auto Mfg Voucher
       
    
    [Function    : MJ_GetVchId]
        Variable    : TempStr : String
        0020    : IF    : $$InCreateMode
        0030    :     SET    : TempStr    : $Cmpvchid:Company:##SVCurrentCompany;$$CollectionField:$MasterId:@@LastItem:CompanyVouchers
        0040    :     SET    :  mfgVchID    : "ID:" + ##TempStr
    ;    0045    :    Create Target
        0050    : ELSE
    ;    0055    :     Save Target
        0060    :     SET    :  mfgVchID    : $$SPrintF:@@VCHMasterID:$MasterID
        0070    : END IF
           
    [Collection : mfgvchmain_src]
    
        Parm Var    : vVchMasterIDVar    : String    : ##mfgVCHID
        Object        : Voucher    :   ##vVchMasterIDVar
        Fetch        : MasterId, Date, Amount, LedgerName, PartyLedgerName, VoucherNumber, BasicShipVesselNo
        Fetch        : InventoryEntries.BatchAllocations.*
    
    [Collection :MultipleEntryManuJrnlColl]
       
                Parm Var: VchMasterIDVar    : String    : ##mfgVCHID
       
                Source Collection    : mfgvchmain_src
                Fetch    : MasterId, Date, Amount, LedgerName, PartyLedgerName, VoucherNumber, BasicShipVesselNo, VoucherSourceGodown 
                Compute : FinItemNew : $StockitemName
                Compute : FinQtyNew  : $ActualQty
                Compute    : MfgGodown    : $GODOWNNAME; VoucherSourceGodown 
                Walk    : InventoryEntries 
                Is ODBC Table    : Yes
    
    [Function : Create Auto Mfg Voucher]
       
        Variable: TempStr        : String
       
        030 : Query Box : " Do you want to post \n Auto Manufacturing Voucher" : Yes : No
        040 : If : $$LastResult=Yes
        050    : Log:$$String:##mfgVCHID + " Hi Dev"
    
        060 : CALL : MultipleEntryManuJrnlFunc
        070 : END if
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    
    [Collection:MultipleEntryManuJrnlColl1Src]
        Type        : MultiComponentList    : StockItem
        Child Of: ##FinItemVar
       
        Fetch    : MultiComponentItemList.*
       
    [Collection:MultipleEntryManuJrnlColl1]
        Source Collection : MultipleEntryManuJrnlColl1Src
        Walk    : MultiComponentItemList
    ;    By    :    StockItemname
    
        Fetch : *.*,*
        Fetch    : ComponentListName, ComponentBasicQty
        Fetch    : MultiComponentItemList.StockitemName, MultiComponentItemList.GodownName
        Fetch    : MultiComponentItemList.ActualQty, MultiComponentItemList.AddlCostAllocPerc, MultiComponentItemList.NatureofItem
        ;Filter : WithSameProdName
        Is ODBC Table: Yes
    
    [System:Formulae]
        WithSameProdName:$FinItemNew=##FinItemVar
    
    
    [Function: MultipleEntryManuJrnlFunc]
       
        Variable: VoucherId        : String
       
        Variable : FinItemVar : String
        Variable : FinItemQtyVar : Quantity
        Variable : ManufactGdwnVar: String
       
        Variable : RawMaterialVar : String
        Variable : RawMaterialQtyVar : String
       
        Variable    : vStockValue : Quantity
        Variable    : vTBalClosing: Amount
       
    ;    001    : Save Target
        005 : Walk Collection : MultipleEntryManuJrnlColl
        010 : Log: "walkng multientrymanujrnl"
       
        020 : Set : FinItemVar    : $FinItemNew
        030 : Set : FinItemQtyVar : $FinQtyNew
        035 : Set : ManufactGdwnVar:$MfgGodown
        040    :    Do If: ($$IsEmptyCollection:MJ_BOMComponentList) : Msg Box:##FinItemVar: "Empty BOM, Can not Create Voucher"
        045    :    Do If: ($$IsEmptyCollection:MJ_BOMComponentList) : Continue
    
    ;    060 : Log:$$String:"item:"+##FinItemVar
    ;    070 : Log:$$String:"qty:"+ $$String:##FinItemQtyVar
    ;    080 : Log:$$String:"gowdown:"+##ManufactGdwnVar
       
        050 : SET : SVViewName : $$SysName:MulConsVchView;AcctgVchView;$$SysName:MulConsVchView
        055    : Set : SVVoucherType :   $$VchTypeMfgJrnl
        060 : Set : VoucherMode   : $$SysName:AsMfgJournal
    
        070 : NEW OBJECT : Voucher
    
    ;    070 : SET : SVViewName : $$SysName:AcctgVchView
    ;    080 : SET : InvoicingModeFlag : No
        085    : SET : InventoryVch     : Yes
        088 : SET : AccountsVch     : No
        090 : SET : PayrollVch : NO 
    ; (($$IsEqual:##SVViewName:($$SysName:InvVchView)) OR ($$IsEqual:##SVViewName:($$SysName:ConsVchView)) OR ($$IsEqual:##SVViewName:($$SysName:MulConsVchView)))
       
       
        100 : SET VALUE : Date : $Date  ;;;;;#DateforVoucherLine;##SVCurrentDate
    ;    110 : SET VALUE : VoucherTypeName : "Manufacturing Journal"
        120 : SET VALUE : IsInvoice : "No"
        130 : SET VALUE : PERSISTEDVIEW : "Multi Consumption Voucher View";##SVViewName
        140 : Set Value : DESTINATIONGODOWN :  "Main Location"   ;;;;##ManufactGdwnVar
        150 : Set Value : VOUCHERDESTINATIONGODOWN :"Main Location"   ;;;##ManufactGdwnVar 
        160 : Set Value : VOUCHERSOURCEGODOWN : "Main Location"  ;;;; ##ManufactGdwnVar
        170 : Set Value : DIFFACTUALQTY : "No"
        180 : Set Value : ISMSTFROMSYNC : "No"
        190 : Set Value : ASORIGINAL : "No"
        200 : Set Value : AUDITED : "No"
        210 : Set Value : FORJOBCOSTING : "Yes"
        220 : Set Value : ISOPTIONAL : "No"
        230 : Set Value : EFFECTIVEDATE : $Date ;;#DateforVoucherLine
       
        240    : Call: MfgInvIn
        250    : Call: MfgInvOut
    ;    255:   CALL    : MFGVoucherAutoFillCostTrack:17258:##FinItemVar
        270 : Create Target
    ;    280    : Call    :  MJ_DisplayEntry
        350    : End Walk
       
        370    : Set: SVVoucherType : $$VchTypeSales
       
    
       
    [Function: MJ_DisplayEntry] 
    
        Variable: TempStr        : String
       
        10    :     SET    : TempStr    : $Cmpvchid:Company:##SVCurrentCompany;$$CollectionField:$MasterId:@@LastItem:CompanyVouchers
        20    :     SET    : VoucherID    : "ID:" + ##TempStr
        30    : IF : (NOT $$IsEmpty:##VoucherID ) 
        50  :         Alter : Voucher       
        60    : End If
       
    
    [Function    : MfgInvIn]
        010 : Insert Collection object : INVENTORYENTRIESIN       ;inventoryentriesin
        020 : Log:"inserting inv entries in"
       
        030 : Set target: INVENTORYENTRIESIN
        040 : SET VALUE : STOCKITEMNAME : $$String:##FinItemVar
        050 : Set Value : BOMNAME        : $$CollectionField:$ComponentListName:1:MJ_BOMComponentList
    ;    060 : Set Value : Godownname    : ##ManufactGdwnVar
        070 : Set Value : ACTUALQTY : $$TgtObject:$$AsQty:##FinItemQtyVar
        080 : Set Value : BILLEDQTY : $$TgtObject:$$AsQty:##FinItemQtyVar
    ;    090    : Set Value    : Amount : -400
        100 : Set Value : ISDEEMEDPOSITIVE : "Yes"
        110 : Set Value : ISLASTDEEMEDPOSITIVE : "Yes"
        120 : Set Value : ISSCRAP : "No"
    ;    130 : Set Value : Rate : $$AsRate:##strRate 
        140    : Call: MfgInvInBatch
        150    : Set Target    : ..
       
    [Function    : MfgInvInBatch]
       
        010 : INSERT COLLECTION OBJECT : BATCHALLOCATIONS
        020    : Set Target    :  BATCHALLOCATIONS
        030 : Log    :"Inv Ent In Inserting batch  allocations"
        040 : Set Value : GODOWNNAME : "Main Location"    ;;;; ##ManufactGdwnVar
        050 : Set Value : BATCHNAME : "Primary Batch"
        060 : Set Value : DYNAMICCSTISCLEARED : "No"
    ;    070    : Set Value : INDENTNO: "Not Applicable"
    ;    080 : Set Value : ORDERNO: "Not Applicable"
    ;    090    : Set Value : TRACKINGNUMBER: "Not Applicable"
        100    : Set Value : ACTUALQTY : $$TgtObject:$$AsQty:##FinItemQtyVar
        110 : Set Value : BILLEDQTY : $$TgtObject:$$AsQty:##FinItemQtyVar
    ;    120    : Set Value    : Amount : -400
    ;    130    : Reset Value        : DynamicCstNo       
    ;    140    : Reset Value        : DynamicCstParentItem
        150 : SET TARGET : ..
    
    [Function    : MfgInvOut]
            Variable    : vValRate : Rate
           
            010 : Walk Collection : MultipleEntryManuJrnlColl1
            020 :     Insert collection object : INVENTORYENTRIESOUT            ;InventoryEntriesOut
            030 :     SEt TARGET : INVENTORYENTRIESOUT
            040 :     Log: "Inv Ent Out " + $$String:$$LoopIndex
            050    :     Set : RawMaterialVar    : $Stockitemname
            060 :     Set : RawMaterialQtyVar : $ActualQty * ##FinItemQtyVar ;;;$RawMaterialQty
        ;    070 :     Log    :##RawMaterialVar
        ;    080 :     Log    :##RawMaterialQtyVar
            090 :     SET VALUE : STOCKITEMNAME : ##RawMaterialVar
            100 :     SET VALUE : ACTUALQTY : $$TgtObject:$$AsQty:##RawMaterialQtyVar * -1
            105 :     SET VALUE : BilledQty : $$TgtObject:$$AsQty:##RawMaterialQtyVar * -1 ;($actualQty *## SSFunctonAutoJrnlNumToCal)
            110 : Set: vStockValue : $$CurrentValue:$StkClBalance:StockItem:##RawMaterialVar
            115 : Set: vTBalClosing    : $$CurrentValue:$TBalClosing:StockItem:##RawMaterialVar
            116    : Log: $$BaseValue:##vTBalClosing/##vStockValue;##vStockValue
            120    : Set: vValRate : $$BaseValue:##vTBalClosing/##vStockValue
            125 : Set Value : Rate : $$AsRate:##vValRate
            130    : Set Value    : Amount : $$AsAmount:$$Number:##RawMaterialQtyVar*$$Number:##vValRate
       
            135 :     Set Value : ISDEEMEDPOSITIVE : "No"
            140 :     Set Value : ISLASTDEEMEDPOSITIVE : "No"
            150 :     Set Value : ISAUTONEGATE : "No"
            160 :     Set Value : ISCUSTOMSCLEARANCE : "No"
            170 :     Set Value : ISTRACKCOMPONENT : "No"
            180 :     Set Value : ISTRACKPRODUCTION : "No"
            190 :     Set Value : ISPRIMARYITEM : "No"
            200 :     Set Value : ISSCRAP : "No"
            220    :     Call: MfgInvOutBatch
            230    :     Set Target: ..
            240    : End Walk
           
        [Function    : MfgInvOutBatch]
           
            005 : Log    :"Inv Ent Out Inserting batch  allocations"
            010 : INSERT COLLECTION OBJECT : BATCHALLOCATIONS
            020    : Set Target    :  BATCHALLOCATIONS
            030 : Set Value : GODOWNNAME : "Main Location"
            040 : Set Value : BATCHNAME : "Primary Batch"
            050 : Set Value : DYNAMICCSTISCLEARED : "No"
        ;    060 : Set Value : INDENTNO: "Not Applicable"
        ;    070 : Set Value : ORDERNO: "Not Applicable"
        ;    080 : Set Value : TRACKINGNUMBER: "Not Applicable"
            090 : Set Value : ACTUALQTY :  $$TgtObject:$$AsQty:##RawMaterialQtyVar *-1
            100 : Set Value : BILLEDQTY :  $$TgtObject:$$AsQty:##RawMaterialQtyVar *-1
            110 : Set: vStockValue : $$CurrentValue:$StkClBalance:StockItem:##RawMaterialVar
            115 : Set: vTBalClosing    : $$CurrentValue:$TBalClosing:StockItem:##RawMaterialVar
            120    : Set: vValRate : $$BaseValue:##vTBalClosing/##vStockValue
            125 : Set Value : Rate : $$AsRate:##vValRate
            130    : Set Value    : Amount : $$AsAmount:$$Number:##RawMaterialQtyVar*$$Number:##vValRate
        ;    135    : Reset Value        : DynamicCstNo       
        ;    140    : Reset Value        : DynamicCstParentItem
            150 : Set Target : ..
           
             
    
    
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;;;        Modification In Voucher Screen
    ;;
    ;;
    
    [#Line: SJ MfdItem]
    ;;    Fields  : Info Field, MVCH StockItem, Simple Field, MVCH BOMName, MVCH BOMNameStorage, Simple Prompt, MVCH Godown, Colon Field, MVCH ActualQty, MVCH BilledQty, MfgVch BOMCompBaseQty
        Local     : Field : Simple Field : Invisible    : NO
        Local    : Field    : MVCH BOMName : Invisible    : No
    
     
    Last edited: Jan 2, 2024


  2. rajiv jaiswal

    rajiv jaiswal Member


    Great Tdl
     


  3. Himanshu-2002

    Himanshu-2002 Active Member


    One question sir,

    What did you reset the UDFs - DynamicCstNo, DynamicCstParentItem in Batch Allocations Function?
     


  4. Devendra_Rawat

    Devendra_Rawat Well-Known Member


    I don't think that has any effect on working, it was written during the hit and trial .. and forgot to remove..
     


Share This Page