Friday, March 11, 2016

Dynamics NAV - Purchase Invoice - When posting a purchase invoice, the corresponding G/L lines do not display the line description from the Purchase Invoice

  • C90 Purch.-Post , and C91 Purch.-Post(Yes/No) control this function
  • Search for
GenJnlLine.Description := "Posting Description";

  • Replace with
//        GenJnlLine.Description := "Posting Description";
 GenJnlLine.Description := PurchLine."Description";

Thursday, March 10, 2016

Dynamics GP - Field Service Demo

  • Setup
    • Field Service Setup - Mark Create Equipment from POP, SOP, MOP
    • Set Items as returnable under Service Extensions to allow return lines
  • Create Equipment
    • Purchase order - 2-A3284A (Serial, Buy)
      • Receive serialized stock to WAREHOUSE
      • GP will create Equipment after posting receipt with status of INSTOCK
    • Sales Order (Can create contract from here if necessary)
      • Sell Serialized item
      • GP will update Equipment after posting sale with status of INSTALL
      • GP will update the equipment with the new customer information
      • SOP Number drillback will not work if Equipment is created from purchase
    • Create Contract
  • Create Work Orders
    • Create work order for equipment support
    • Assign tech
    • Request Stock
      • Parts - Order Qty
    • Assign Stock
      • Inventory Requirements - Create Purchase Order / Transfer Order
      • Inventory Requirements - Create Transfers
        • Pick and Ship Transfer to receive stock in Tech WH
    • Dispatch Tech
    • Update Parts as Invoiced or Returned
    • Complete Work Order
    • Close work order - Enter closing Date
    • RMA Receiving - Receive Returned stock back to Warehouse
  • Bill customer
    • Service Call Billing

ParseString UDF Function for SQL

/****** Object:  UserDefinedFunction [dbo].[BI_parseString]    Script Date: 03/10/2016 11:52:38 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

/* Let's create our parsing function... */
CREATE FUNCTION [dbo].[BI_parseString]
(
          @stringToParse VARCHAR(8000)
        , @delimiter     CHAR(1)
)
RETURNS @parsedString TABLE (stringValue VARCHAR(128))
AS
/*********************************************************************************
    Name:       dba_parseString_udf

    Author:     Michelle Ufford, http://sqlfool.com

    Purpose:    This function parses string input using a variable delimiter.

    Notes:      Two common delimiter values are space (' ') and comma (',')

    Date        Initials    Description
    ----------------------------------------------------------------------------
    2011-05-20  MFU         Initial Release
*********************************************************************************
Usage:
    SELECT *
FROM dba_parseString_udf(<string>, <delimiter>);

Test Cases:

    1.  multiple strings separated by space
        SELECT * FROM dbo.dba_parseString_udf('  aaa  bbb  ccc ', ' ');

    2.  multiple strings separated by comma
        SELECT * FROM dbo.dba_parseString_udf(',aaa,bbb,,,ccc,', ',');
*********************************************************************************/
BEGIN

    /* Declare variables */
    DECLARE @trimmedString  VARCHAR(8000);

    /* We need to trim our string input in case the user entered extra spaces */
    SET @trimmedString = LTRIM(RTRIM(@stringToParse));

    /* Let's create a recursive CTE to break down our string for us */
    WITH parseCTE (StartPos, EndPos)
    AS
    (
        SELECT 1 AS StartPos
            , CHARINDEX(@delimiter, @trimmedString + @delimiter) AS EndPos
        UNION ALL
        SELECT EndPos + 1 AS StartPos
            , CharIndex(@delimiter, @trimmedString + @delimiter , EndPos + 1) AS EndPos
        FROM parseCTE
        WHERE CHARINDEX(@delimiter, @trimmedString + @delimiter, EndPos + 1) <> 0
    )

    /* Let's take the results and stick it in a table */
    INSERT INTO @parsedString
    SELECT SUBSTRING(@trimmedString, StartPos, EndPos - StartPos)
    FROM parseCTE
    WHERE LEN(LTRIM(RTRIM(SUBSTRING(@trimmedString, StartPos, EndPos - StartPos)))) > 0
    OPTION (MaxRecursion 8000);

    RETURN;
END

GO


Wednesday, March 9, 2016

Dynamics NAV - LS Retail - POS Internal functions

All POS Internal functions are stored in C99001570 POS Transaction

Other Functions are located in C99008900 POS Functions

Dynamics NAV - LS Retail - Calculate Statement - Multiple safe entry lines are duplicated

This happens when the [Trans_ Safe Entry] table has duplicates for whatever reason.

To resolve it, delete the duplicated records out of the [Trans_ Safe Entry] table





 

 
SELECT * FROM [Safe Statement Line] where [Statement No_] ='000099'

SELECT * FROM [Trans_ Safe Entry] where [Store No_] = 'SS' and [Statement Code] = 'MYSTMT' and [Tender Type] in (13,14) order by timestamp

select * FROM [Trans_ Safe Entry] where [Transaction No_] >= 16943 and [Transaction No_] < 16951 and [POS Terminal No_] = 'SS02'

delete FROM [Trans_ Safe Entry] where [Transaction No_] >= 16943 and [Transaction No_] < 16951 and [POS Terminal No_] = 'SS02'

Dynamics NAV - LS Retail - POS - The record is not open

There is another instance of the Run Client running on the machine, ether another user is logged on, or a previous instance has not closed completely.

Kill any nav instances in the task manager, or restart the machine.

Friday, March 4, 2016

Outlook Runs Slowly - Not Responding - No Plugins

The pst file most likely needs to be repaired

https://support.office.com/en-US/article/Repair-Outlook-Data-Files-pst-and-ost-64842a0a-658a-4324-acc6-ef0a6e3567cd


  • Close Outlook
  • Run C:\Program Files\Microsoft Office 15\root\office15\scanpst.exe
    • "C:\Program Files\Microsoft Office\root\Office16\SCANPST.EXE"
  • Repair any errors
  • If you get the error "Quit outlook and all mail related applications" just wait for about 20 seconds, then try again. Outlook takes some time to actually release the files after you've closed it.