Доброго времени суток. Столкнулся со следующей задачей:
При копировании операции в разделе продажи, чтобы менялась "дата От:" на текущую, а также копировались права доступа.
У меня совсем нет опыта в работе с Terrasoft, поэтому прошу помощи профессионалов.
1. Для того, чтобы при копировании поменялось значение поля, нужно в обработчике события OnDatasetAfterAppend датасета даталинка прописать такой код:
if (BaseDBEdit.IsCopy) {
//TO DO присвоение нужного значения полю
}
2. Для копирования прав доступа нужно в обработчике кнопки OK прописать вызов функции копирования прав доступа CopyRight:
function btnOKOnClick(Control) {
scr_BaseDBEdit.btnOKOnClick(Control);
if (Self.Attributes('IsCopy')) {
var RecordID = Self.Attributes('RecordID');
CopyRight(Self.Attributes('SourceRecordID'), RecordID);
}
}
function CopyRight(OldRecordID, NewRecordID) {
var InsertSelectQuery = GetSingleItemByCode('isq_CopyRight');
var Columns = InsertSelectQuery.SelectQuery.Columns;
var ConstColumn = Columns.ItemsByAlias('NewRecordID');
ConstColumn.ColumnValue = NewRecordID;
SetParameterValue(InsertSelectQuery.Parameters, 'OldRecordID', OldRecordID);
SetParameterValue(InsertSelectQuery.Parameters, 'MyAdminUnitID',
Connector.CurrentUser.ID);
try {
InsertSelectQuery.Execute();
}
catch(e) {
CatchException(e);
}
}
где isq_CopyRight - сервис InsertSelect Query, который Вы можете реализовать самостоятельно по аналогии с подобным сервисом, структуру которого можно увидеть на скриншоте в прикрепленном к данному посту файлу.