mazzy, спасибо, появился повод посмотреть в сторону VSS... Пока ничего не понятно, но может шеф даст указ разобраться.
Пока получился вот такое текст:
X++:
UtilElements _UtilElements;
Issi_utilversionwritetrack tmptable;
treenode node;
TimeOfDay TimeFrom, TimeTo;
;
#OCCRetryCount
if (! this.validate())
throw error("");
try
{
// ttsbegin;
if ( DateFrom <= str2date('01-01-1901',123) && DateTo <= str2date('01-01-1901',123))
{
DateFrom = systemdateget();
DateTo = systemdateget();
TimeFrom = timenow() - 360;
TimeTo = timenow();
}
else
{
TimeFrom = str2time('00:00:00');
TimeTo = str2time('23:59:59');
}
while select _utilelements where
((_utilElements.CreatedDate <= DateTo &&
_utilElements.CreatedDate >= DateFrom ) &&
(_utilElements.CreatedTime <= TimeTo &&
_utilElements.CreatedTime >= TimeFrom )) ||
(( _utilElements.ModifiedDate <= DateTo &&
(_utilElements.ModifiedDate >= DateFrom ) &&
(_utilElements.ModifiedTime <= TimeTo &&
_utilElements.ModifiedTime >= TimeFrom ))
)
{
tmptable.RecordType = enum2Value(_utilElements.RecordType);
tmptable.Name = _utilElements.Name;
tmptable.ParentId = utilElements.ParentId;
tmptable.parentName = xUtilElements::parentName(_utilElements);
tmptable.SaveCount = _utilElements.SaveCount;
tmptable.Version = _utilElements.version;
tmptable.BaseVersion = _utilElements.baseVersion;
tmptable.UtilLevel = enum2Value(_utilElements.utilLevel);
node = xUtilElements::getnode(_utilElements);
tmptable.Path = (node)?node.treeNodePath():'';
if ( _utilElements.ModifiedBy == '')
tmptable.UtilModifiedBy = _utilElements.CreatedBy;
else
tmptable.UtilModifiedBy = _utilElements.ModifiedBy;
if ( (_utilElements.ModifiedDate) <= str2date('01-01-1901',123))
tmptable.UtilModifiedDate = _utilElements.CreatedDate;
else tmptable.UtilModifiedDate = _utilElements.ModifiedDate;
if ( (_utilElements.ModifiedTime) == str2time('00:00:00'))
tmptable.UtilModifiedTime = _utilElements.CreatedTime;
else tmptable.UtilModifiedTime = _utilElements.ModifiedTime;
tmptable.UtilRecId = _utilElements.RecId;
tmptable.insert();
}
Все это дело батчим каждые 10 мин... а-ля лог . Тупо конечно, но пока ничего другого в голову не лезет.