Сохранение нескольких файлов на ПК из детали "Файлы"
Подскажите, есть ли возможность(или возможность реализовать) сохранения нескольких выделенных файлов на ПК с тем же именем, с которым они хранятся в Terrasoft(аналогично добавлению).
Спасибо.
Нравится
Для реализации данного функционала требуется доработка программного кода системы, в частности процедуры сохранения файла: необходимо, чтобы система учитывала все выбранные в реестре идентификаторы.
1. Откройте в Terrasoft Administrator скрипт scr_FilesDetailGridArea;
2. Найдите функцию function SaveToFile() и замените ее содержимое на следующее:
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; } }
Обратите внимание, в этом случае система будет предлагать задать место сохранения каждого файла отдельно.
Анна, спасибо, а есть возможность сохранять все файлы в выбранный каталог(указать каталог один раз перед сохранением)?
В версиях старше 3.4.1 есть такие функции ядра, а в старых версиях это можно реализовать только вызовом функций shell, то есть, на уровне конфигурации - крайне трудоемко