Thursday, February 25, 2021

NAV/BC - Simple Manufacturing Flow and setup

  • Receive Raw Materials
  • Use BLUE location without bins, no restrictions
  • Setup Boms, Work Centers
  • Create a new production order
    • Navigate to Released Production Order>click New
  • Enter source item, qty, location BLUE>Process>Refresh Production Order>OK
    • Print Prod. Order Job Card - If collecting data from the floor
    • Print Mat. Requisition-Give to picker if doing manual picking
    • Preview Shortage List-Identify if there are any stock shortages that would prevent production
  • Line>Production Journal
    • Enter Consumption Quantity
      • Assign Lots
    • Enter Output Quantity
    • Post
  • Post Scrap or damage adjustments
    • Item Journal>Select Production number to apply to (custom)
  • Review Variances
    • Order>Statistics
    • Report>Prod. Order Summary (displays applied scrap item journals)
  • Finish Production Order
    • Process>Change Status>Finished, Update Costs

VSCODE-AL Object Designer - Hover or Mouse Over opens new windows automatically

  • Click on Settings
  • Search for Use Internal Navigation
  • Set "Use Internal Navigation" to Off

Monday, February 22, 2021

NAV / BC AL - How to insert records easily

 procedure ICHInsertICHLine(var Parent: code[20]; Cat: code[20]; Itm: code[30]; Desc: text[100]; Ind: Integer)

    var
        ICH: Record "Item Category Hierarchy";
    begin
        ICH.reset; //make sure it's clean
        ICH.Init(); //Start fresh line
        ich.Validate("Parent Category", Parent); //Set all the key fields first
        ich.Validate(code, Cat); //Set all the key fields first
        ich.Validate(ItemNo, Itm); //Set all the key fields first
        ICH.Insert; //Insert those
        ich.Validate(Description, Desc); //Finish off all the others
        ich.Validate(Indentation, Ind); //Finish off all the others
        ich.Modify(TRUE); //Modify the final record

    end;

LS Central - Implementing Lot numbers and Expiries

 https://help.lscentral.lsretail.com/Content/Resources/Documents%20for%20download/Older%20Documentation/Item%20Tracking%20Quick%20Guide%20LS%20Retail%20NAV%206.1.pdf 

  1. Expiry dates are supported by the system, from receiving straight through to sales and retail, and are controlled by Lot numbers.
  2. The expiry date and lot number are stored on each Item Ledger Entry, and are easily filtered and sorted from this page.
    1. Any additional alerts or reporting would be custom
  3. Lot numbers can be enabled for specific items. If you are using item templates, a template for example "Snacks" can be setup to enable lot numbers so that all items in future created using this template will have lot numbers automatically enabled
  4. Existing stock would need to be adjusted out, lot tracking enabled, then stock put back in with a lot number and expiration date for each item you wish to enable lot tracking for.
  5. Enabling lot numbers will have a significant impact on all processes directly related to inventory for those items. The system will require/prompt for the user to enter a lot number for Receiving (Put away), Shipping (Picking), Transfers, Returns, Backoffice Sales, Retail Sales
    1. If an item does not already have a barcode for the lot number, the item would have to be labeled, OR the user would have to manually enter the lot number, OR we would have the system default to the oldest lot for sales only. All other transactions would require a specific lot number
    2. When receiving the stock, or entering positive stock adjustments, the lot number would have to be entered, and the related expiration date would have to be filled in. This means that the expiration dates would be heavily reliant on physical processes being in place to check the actual expiry dates on the items upon receiving them.
    3. The expiration date itself could be used as the lot number, but then you would need to label the item accordingly to allow the lot number to be scanned if the existing lot number is not the expiration date
  6. Complications
    1. When receiving goods, if there are multiple lots or expiries mixed together, users will tend to miss this and assume the entire shipment is the same lot and expiry. The stock would need to be separated, scrutinized, then received and stored as separate lots with separate expiration dates.
    2. When picking goods, the exact lot numbers would need to be entered. If a physical mistake is made, it can be very time consuming to reverse and correct the lot number. Physical storage and visibility of lot numbers, as well as picker/packer/delivery discipline becomes very important.
    3. When doing stock counts, lots and expiration dates would need to be checked, and entered accordingly.
ALTERNATIVES
  • Item Age Composition Report - Value or Quantity
    • This report will give you an idea of how old inventory is based on the date its was received
    • This does not track exact expiration dates, however, it has no impact on the system or processes, and can be used immediately
  • Expiring Goods Physical Warehouse Policies
    • Implement a sticker system with a red label to clearly identify any goods in the warehouse expiring in the next X months
    • Immediately label any goods that come in with a short expiry date
    • Define warehouse and store policies to always pull/push those cases first

Thursday, February 18, 2021

NAV/BC - How to email statements to multiple customers with different emails

  • Complete SMTP setup
  • On customer card>General>Document Sending Profile
    • Setup and select a profile configured to email
      • Email = Yes (Prompt for settings)
      • Attachment = PDF
      • File = PDF 
  • Navigate>Customer>Document Layouts MUST be configured with specific emails per document, per customer
    • Note, the email address of the customer and contact ARE NOT USED
  • Default statement report is R1316
    • C8800 Custom Layout Reporting
  • Click on Report>Statement
    • Enter starting and ending date
    • Report Output = Email
    • Tick print although email is missing
  • A zip file is generated with all statements if it cannot email

Error "You cannot send the email, would you like to download the attachment"
  • Ensure you use R1316
  • Run the "Setup Email" wizard, then NEVER TOUCH the SMTP Setup screen again

NAV / BC AL Extension fields missing after publish

 Add Applicationarea = All to all fields

Tuesday, February 16, 2021

NAV AL - Flowfield example

 tableextension 50017 "Item Journal Line Ext" extends "Item Journal Line"

{
    fields
    {
        field(50000; StdCost; Decimal)
        {
            FieldClass = FlowField;
            CalcFormula = Lookup(Item."Standard Cost" WHERE ("No."=FIELD("Item No.")));
           
        }
    }
}

Monday, February 15, 2021

Peachtree - How to connect to ODBC

  • Create External user and password 
    • Login as admin
    • User>Setup user security
    • Data Access/Crystal Reports
    • Access from outside Sage 50
      • With the following login info
      • Set a password
      • Username is always Peachtree
  • Create odbc - use external user and password


BC/NAV - Assembly - How to pick specific lots for assemblies

  Turn off Create Movements Automatically field in the Assembly Setup to require manual movements for assembly picks.

Monday, February 1, 2021

SSIS - Create Dynamic Data Connections for NAV/BC

https://www.sqlservercentral.com/articles/creating-a-robust-ssis-development-environment-using-the-ssis-catalog

  • Right click data connection>Parameterize
  • On the top, select "ConnectionString"
    • The value field will show the entire connection string
    • Put the entire thing into a parameter
    • Switch the ConnectionString property to use a parameter
  • Now you can update your parameter value with the exact connection string you want the connection to use.
  • On each data connection, you can also go to Properties>Expressions
    • Here you can use a variable as a connectionstring