На здоровье:
X++:
static void tks_repPickingRoute_changeDocPackage_log(Args _args)
{
FromDate fromDate = 01\01\2015;
ToDate toDate = 31\12\2018;
FromDateTime fromDateTime = DateTimeUtil::newDateTime(fromDate , str2time('0:00'));
ToDateTime toDateTime = DateTimeUtil::newDateTime(toDate , str2time('23:59:59'));
// UserId userId = "rugry";
SysDataBaseLog dbLog;
List list;
ListEnumerator li;
container c;
FieldId fieldId;
AnyType oldValue;
AnyType newValue;
WMSPickingRoute pickingRoute;
;
info(strfmt("%1#%2#%3#%4#%5#%6#%7",
"Заказ",
"Отгрузочная накладная",
"Автор",
"Изменено на",
"Изменено с",
"Автор модификации",
"Дата модификации"));
while select dbLog
order by createdDateTime
where dbLog.table == tablenum(WMSPickingRoute)
&& dbLog.LogType == DatabaseLogType::Update
// && dbLog.createdBy == userId
&& (dbLog.createdDateTime >= fromDateTime)
&& (dbLog.createdDateTime <= toDateTime)
join pickingRoute
where pickingRoute.RecId == dbLog.LogRecId
{
list = dbLog.getDataAslist();
li = list.getEnumerator();
while (li.moveNext())
{
c = li.current();
fieldId = fieldExt2Id(conpeek(c,1));
if (fieldId == fieldnum(WMSPickingRoute, WMDDocPackageId))
{
[fieldId, newValue, oldValue] = c;
if (newValue != oldValue)
{
info(strfmt("%1#%2#%3#%4#%5#%6#%7",
pickingRoute.transRefId,
pickingRoute.pickingRouteID,
UserInfoHelp::userName(pickingRoute.CreatedBy),
newValue,
oldValue,
UserInfoHelp::userName(dbLog.CreatedBy),
DateTimeUtil::date(DateTimeUtil::applyTimeZoneOffset(dbLog.createdDateTime, DateTimeUtil::getUserPreferredTimeZone()))));
}
}
}
}
}