Terrasoft 2.8

Сохранение нескольких файлов на ПК из детали "Файлы"

Подскажите, есть ли возможность(или возможность реализовать) сохранения нескольких выделенных файлов на ПК с тем же именем, с которым они хранятся в Terrasoft(аналогично добавлению).

Спасибо.

Нравится

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

Для реализации данного функционала требуется доработка программного кода системы, в частности процедуры сохранения файла: необходимо, чтобы система учитывала все выбранные в реестре идентификаторы.

1. Откройте в Terrasoft Administrator скрипт scr_FilesDetailGridArea;

2. Найдите функцию function SaveToFile() и замените ее содержимое на следующее:

[javascript]
var IDs = grdData.SelectedIDs.CommaText.split(',');
for(i = 0; i < IDs.length; i++){
var FileName = System.CreateObject('TSObjectLibrary.Value');
var Dat = Services.GetNewItemByUSI('ds_FileInItem');
ApplyDatasetFilter(Dat, 'ID', IDs[i], true);
Dat.Open();
if (Dat('ItemTypeID') != ft_File) {
continue;
}
FileName.Value =
GetFieldValueFromDisabledField(Dat, 'Link');
Dat.Close();
var FileExtension = '.' + ExtractFileExtension(FileName.Value);
var FileFilterValue = '*' + FileExtension;
FileFilterValue = FileFilterValue + '|' + FileFilterValue;
var WindowCaption = "Сохранить файл";
var InitialDir = EmptyStr;
var IsSaving = true;
if (FileName.Value == EmptyStr) {
return;
}
if (!(System.PromptForFileName(FileName, FileFilterValue, FileExtension,
WindowCaption, InitialDir, IsSaving))) {
return;
}
var File = LoadFileFromDatabase(IDs[i],
FileName.Value, false); //
if (!File) {
return;
}
}
[/javascript]

Обратите внимание, в этом случае система будет предлагать задать место сохранения каждого файла отдельно.

Анна, спасибо, а есть возможность сохранять все файлы в выбранный каталог(указать каталог один раз перед сохранением)?

В версиях старше 3.4.1 есть такие функции ядра, а в старых версиях это можно реализовать только вызовом функций shell, то есть, на уровне конфигурации - крайне трудоемко

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