企业有一个审计请求,以提取给定时间段内 NAV 2016 中所有新创建的供应商的列表。我找不到供应商表的条目创建日期或添加日期。这可能吗?我目前正在为企业提供 [上次修改日期],其中包括何时添加或更新供应商,但他们只想拉取新添加的供应商。
我当前的代码:
SELECT CAST([Last Date Modified] AS DATE) AS 'Last Date Modified'
,[No_]
,[Name]
,[Search Name]
,[Address]
,[Address 2]
,[City]
,[Vendor Posting Group]
,[Country_Region Code]
,[Post Code]
,[County]
,[Vendor Type Code]
FROM [Company].[dbo].[Company$Vendor]
WHERE YEAR([Last Date Modified]) = '2016'
and MONTH([Last Date Modified]) IN ('10','11','12')
ORDER BY [Last Date Modified]
,[No_]
如果您确实激活了更改日志,则以下是一个基本查询,它将获取所有插入到供应商表中的内容:
SELECT
cle.[Primary Key]AS Vendor
, cle.[New Value]
, ven.Name
, CAST(cle.[Date and Time] AS DATE) AS LogDate
, CAST(cle.Time AS TIME(0)) AS LogTime
, cle.[Field No_]
, cle.[Type of Change]
, cle.[User ID]
FROM dbo.[YourCompany$Change Log Entry] cle
left outer JOIN dbo.YourCompany$Vendor ven
ON cle.[Primary Key] = ven.No_
WHERE
cle.[Table No_] = 23
and cle.[Field No_] = 1
AND cle.[Type of Change] = 0
ORDER BY LogDate, LogTime, Vendor
我还在准备一篇关于更改日志的博客文章,该文章应该在下周发布。
如果您没有激活更改日志,则选项为
A. 拉取旧备份并进行比较。
二. 使用其他东西来推断它。例如,查找每个供应商的第一个供应商分类账条目;你会得到一些误报,但可能足以满足审计员,如果你改写他们的请求和交付"所有供应商在2016年10月开始首次使用"。
或者使用您帐户部门的一些信息(他们必须有一些 NAV 之外的记录?如果您使用连续数字序列,则只需确定日期范围内的第一个。
从长远来看,您可以与您的 Dynamics NAV 合作伙伴交谈,并要求他们修改供应商表以标记创建日期/时间。 尽管我通常建议无论如何都要在供应商表上运行更改日志,因为这是审计员经常希望看到的。 出于同样的原因,我也总是包括银行账户表。