Посмотрите что у вас в SalesTable перед присвоением!
После строчки
X++:
curTime = salesTable.CreatedTime;
добавьте
X++:
info(strfmt('SalesId = %1\nCreatedTime = %2\ncurTime = %3',salesTable.SalesId,time2str(salesTable.createdTime,1,1),int2str(curTime)));
Думаю что-то да прояснится...
А вообще breakpoint; и вперёд... )