Последняя версия DataExpress 26.8.17

Изображение Скачать | Изображение Что нового? | Демо

DX Хранилище файлов альтернативный вариант

Расширение функционала и существующих возможностей программы с помощью модулей расширений и плагинов от сторонних разработчиков.

Модератор: Разработчики расширений

Pozharskiy1991
Интересующийся
Сообщения: 100
Зарегистрирован: 31 май 2024, 15:07
Откуда: МО, Пушкино
Благодарил (а): 39 раз
Поблагодарили: 26 раз

DX Хранилище файлов альтернативный вариант

Сообщение Pozharskiy1991 » 04 июл 2026, 17:29

FileKeeper
Автор: Pozharskiy1991
Версия: 0.1


Описание
Расширение FileKeeper добавляет на форму кнопки для работы с файловым хранилищем. Позволяет прикреплять файлы к записям, открывать хранилище, вести учёт файлов и управлять ими.

Расширение является развитием идеи, заложенной в действии «DX Хранилище файлов».


Возможности
  • Добавление одного или нескольких файлов к записи
  • Открытие хранилища с просмотром всех файлов записи
  • Счётчик файлов на кнопке (включается/отключается)
  • Диалог переименования файла перед добавлением
  • Проверка дубликатов (по имени и дате изменения)
  • Автоматическое создание уникальных имён при конфликтах
  • Удаление исходных файлов после копирования (опционально)
  • Фильтрация файлов по расширениям
  • Динамический путь: базовая папка + подпапка (выражение)
  • Безопасные имена: недопустимые символы заменяются на "_"
  • Папка по умолчанию: "Хранилище файлов" в рабочей директории
  • Обновление запросов после операций с файлами
  • Сохранение позиции в запросе
  • Поддержка представлений vtGridOnly
  • Автоматическое удаление файлов при отмене редактирования


Как это работает
  1. Добавьте действие «Настройка хранилища файлов» на форму
  2. В таблице «Кнопки хранилища» укажите кнопки и их действия:
    • Добавить файл — кнопка для добавления файлов
    • Открыть хранилище — кнопка для просмотра хранилища
    • Счётчик — показывать ли количество файлов (Да/Нет)
  3. Настройте путь к папке назначения:
    • Базовая папка — основная папка для хранения (если не указана — создаётся «Хранилище файлов» в рабочей директории)
    • Подпапка (выражение) — динамическая часть пути, например: [Год]\[Месяц] или [Контрагент]
  4. При необходимости задайте выражение для имени файла
  5. Настройте дополнительные параметры (удаление исходников, диалог переименования, фильтр расширений и др.)


Настройка

Основные параметры:
  • Кнопки хранилища — таблица с кнопками и их действиями
    • Действие — «Добавить файл» или «Открыть хранилище»
    • Кнопка — компонент TdxButton на форме
    • Счётчик — показывать количество файлов на кнопке (Да/Нет)
  • Описание записи в хранилище — выражение для поля «Описание записи»

Путь к папке назначения:
  • Базовая папка — выбирается вручную через диалог. Если не указана — создаётся папка «Хранилище файлов» в рабочей директории программы.
  • Подпапка (выражение) — динамическая часть пути. Недопустимые символы заменяются на "_".

Имя файла:
  • Имя нового файла (выражение) — можно задать фиксированное имя или выражение (например, [Номер] + "_" + [Дата])
  • Исходное расширение — добавлять расширение исходного файла к новому имени

Дополнительные настройки:
  • Удалять исходные файлы — удалять файлы после копирования
  • Диалог изменения имени файла — показывать диалог для изменения имени файла перед добавлением
  • Список расширений — фильтр файлов, например: *.jpg;*.png;*.pdf
  • Разрешить дубликаты — разрешать добавление файлов с одинаковыми именами
  • Редактировать запись при нажатии — автоматически переводить запись в режим редактирования

Обновление запросов:
  • Запрос для обновления — выбирается запрос для автоматического обновления после операций с файлами
  • Сохранять позицию в запросе — после обновления позиция восстанавливается


Примеры выражений

Для подпапки:
  • [Год] — 2026
  • [Год] + "\" + [Месяц] — 2026\Январь
  • [Контрагент] — ООО_Ромашка (кавычки заменятся на _)
  • [ТипДокумента] + "\" + [Номер] — Договоры\Д-001

Для имени файла:
  • [Номер] + "_" + [Дата] — Д-001_2026-01-15
  • "Договор_" + [Номер] — Договор_001


Особенности
  • Безопасные пути и имена — все пути и имена файлов очищаются от недопустимых символов (\ / : * ? " < > |)
  • Уникальные имена — при конфликте имён автоматически создаётся уникальное имя (файл(1).txt)
  • Проверка дубликатов — сравнение по имени файла и дате изменения
  • Защита от занятости — проверка на занятость файла другим процессом
  • Удаление при отмене — файлы автоматически удаляются при отмене редактирования записи
  • Обновление запросов — выбранный запрос обновляется после добавления файлов или закрытия хранилища
  • vtGridOnly — поддержка представлений формы vtGridOnly


Примечания
  • Каждая кнопка может использоваться только один раз (проверка на дубликаты)
  • Если базовая папка не указана — используется «Хранилище файлов» в рабочей директории
  • Недопустимые символы в путях и именах заменяются на "_"
  • Файлы без расширения сохраняются с исходным именем без расширения
  • При копировании сохраняется дата изменения файла
  • В базе данных должна быть форма FileStore из демо версии или из расширения "DX Хранилище файлов". Можно добавить объединением проекта.
Вложения
FileKeeper.rar
(19.73 КБ) 30 скачиваний
FileKeeper-DEMO.rar
(133.03 КБ) 24 скачивания

Теги:

Вернуться в «Каталог расширений»