Товарищи, есть такая проблема.
Когда нажимаешь на кнопку копировать в реестре записей, то открывается карточка, ты меняешь название и другие поля, и ты по сути делаешь новую версию старой карточки.
Можно ли делать такое с файлами? Т.е ты по сути копируешь файл, меняешь его название и делаешь новую версию, оставляя старую (Файл1 -> Копировать -> Открывается Карточка файла -> Изменение -> Сохранение -> На детали файлы остаются Файл1 и Файл1.2)

Нравится

2 комментария

Можно сделать, например, так:

1) Создать новый ActionMenuItem в окне wnd_FilesDetailGridArea (например, с названием amiCopy). Создать для него обработчик события OnExecute.

2) Думаю, смысл копирования есть только для объектов с типом "Файл". Все остальные (ссылки, URL и т.д.) будут ссылаться на одно и то же место, поэтому нет смысла в их дублировании. Следовательно, в обработчик amiCopyOnExecute добавляем такой код:

function amiCopyOnExecute(ActionMenuItem, Sender) {
	var ItemTypeID = dlData.Dataset.Values('ItemTypeID');
	if (ItemTypeID == ft_File) {
		CopyFilesDetailRecord();
	}
}

3) Осталось создать функцию CopyFilesDetailRecord:

function CopyFilesDetailRecord() {
	var Dataset = dlData.Dataset;
	var FileID = Dataset.Values('ID');
	var NewFileID = ProcessCopyFile(FileID);
	RefreshDataset(Dataset);
	Dataset.Locate('ID', NewFileID);
	ProcessEditFileProperties();
}

Спасибо, Олег!
Очень выручили :)

Показать все комментарии