Monday, February 18, 2019

NAV Extensions - Extend a Table

tableextension 50100 ExtCus extends 18
{
fields
{
field(50100; LongName; Text[50])
{
Caption = 'Long Name';
}
}
}

Sunday, February 17, 2019

Agile meetings

  • Define Allowances and Consequence
    • Allowed bad behaviour x times, then consequences
  •  
  • Adapt all the time
  • Empower your team members
  • Tell your story
  • Always Try to achieve happiness. Believe that it is possible.
  •  
  • Weekly, generally Friday to recap the week
    • Good News
      • What did you achieve? 
      • What worked?
    • Bad News
      • What got stuck/delayed/blocked?
      • What didn't work?
    • Next Steps
      • Goals to achieve for the next week based on feedback
      • Improve/Maintain the good
      • Adjust,abandon, or try new approaches for the bad

Thursday, February 14, 2019

NAV Object Ranges

https://community.dynamics.com/business/b/businesscentraldevitpro/archive/2018/10/17/which-object-ranges-can-we-use-with-microsoft-dynamics-365-business-central

SCRUM Basics and VSTS


  • Capture requirements, build FDD
    • Capture User stories
      • [Role:]As a Purchasing Agent i need to 
      • [Requirement:] see Total Sales from all Stores 
      • [Reason:] to make better purchasing decisions
      • Generate Requirements
        • Discuss and agree on acceptance criteria
          • Build test cases to identify all error handling points
        • Generate Tasks
          • Assign tasks to team members
          • Team members Enter expected times for completion against each task
      • Missed Tasks are added as new Requirements>Tasks and linked to the original requirement
  • Every morning, 15 minute stand up meeting
  • Each person will answer 3 questions
    • What did you achieve?
      • Task was Completed? Delayed? Blocked?
      • Log entry created in activity log for all team members per day
      • All completed work is reviewed and confirmed before status updated
      • Task status/hours updated
    • What do you expect to complete today? (Exit Criteria)
    • Scrum master sends recap email to document and guide team members

NAV Extensions - NAV 2018+ and Dynamics 365 Business Central - How to make an extension

Dynamics 365 Business Central uses Extensions V2 (All previous versions must be upgraded to v2 to work on Business central)

  • Download Business Central On-Premise from Partnersource
  • Install Business Central On-Premise
  • Import developer license
    • Import-NAVServerLicense BC160 -LicenseData ([Byte[]]$(Get-Content -Path "fin.flf" -Encoding Byte))
  • Enable Developer Service
    • Business Central Administration>Development>Tick Enable Developer Service Endpoint
  • Ensure windows user is setup as Super in Company
  • Download and install Visual Studio Code
    • https://code.visualstudio.com/
    • Click Extensions (Last icon on the top left list, square icon)
      • Search for AL
      • Select AL Language>Install
      • Restart VB Code
      • View>Command Palette>AL:Go!
      • Select Path to store solution
      • Select Launch.json
        • Change "name" from Your own server to server instance name ("BC130")
        • Change "server" to true address path ("http://localhost:8080")
        • Add "port" = 7049
        • Authentication = "Windows"
        • Enable download Symbols
          • View>Command Palette> AL:Download Symbols
        • Add TranlsationFile
          • in app.json
          • Change line "runtime": "2.3"
          • to "runtime": "2.1"
          • After this line,
          • Add line
            • ,"features": ["TranslationFile"]
        • save
      • Publish Extension to environment
        • F5 or AL:Publish
        • Resolve NetFx40_LegacySecurityPolicy error
          • C:\Program Files\Microsoft Dynamics 365 Business Central\130\Service
          • Edit Microsoft.Dynamics.Nav.Server.exe.config in notepad as administrator
          • Find     <NetFx40_LegacySecurityPolicy enabled="true" />
          • change to     <NetFx40_LegacySecurityPolicy enabled="false" />
          • Restart nav service
      • Web client opens with published extension
    • If you try to publish again, you may get the error "cannot synchronize because a newer version is already synchronized"
Sample working launch.json
{
"version": "1.0.0.1",
"configurations": [
{
"type": "al",
"request": "launch",
"name": "BC130",
"server": "http://mypc:8080",
"serverInstance": "BC130",
"port": 7049,
"authentication": "Windows",
"startupObjectId": 22,
"startupObjectType": "Page",
"breakOnError": true
}
]
}

Monday, February 11, 2019

Barcode Fonts Code 128, Code 39

http://www.barcodelink.net/barcode-font.php



  • Free 3 of 9
    • Must use * before and after
    • * + 12345 + *
    • Example *12345* scans as 12345
    • Ensure Bold, Italics, etc. are turned off
    • For SSRS the formula looks like
      • ="*"+Fields!Barcode.Value+"*"
  • Code128
    • Does not work without encoder