Ограничение на размер прикрепляемых к карточке файлов

Михаил Захаров

Часто приходит вопрос - можно ли ограничить размер прикрепляемого к карточке файла? Цель понятна. Даже если используется FileStream администрировать базу в сотни гигабайт, большую часть из которых составляют отсканированные в 2400 dpi *.bmp картинки мягко говоря не удобно.

В текущих версиях через настройки такого ограничения выставить нельзя (требование зафиксировано). Однако, почему бы не попробовать делать проверку в скрипте на какое-либо событие?

Итак, где же хранится размер файла? Структура прикрепления файлов к карточкам документов (внутренний, входящий, исходящий, универсальный) следующая:

Карточка документа -- Список файлов -- Карточка файла -- Карточка файла с версиями -- Файл.

чертой обозначена ссылка.

Карточка "Список файлов" хранит ссылки на карточки файлов, поэтому в ней навряд-ли хранится размер. Поэтому, смотрим на схему карточки файла. Вот удача! В секции "Основная информация" есть поле FileSize. Обытным путем устанавливаем, что это поле хранит размер в килобайтах. Остается только написать скрипт, который будет по ссылкам из списка файлов получать карточки файлов и суммировать размер.

Данный скрипт нужно разместить на событие "Закрытие" карточки. Если размер файлов превышен, карточка не будет закрываться.

Страница сайта http://test.interface.ru
Оригинал находится по адресу http://test.interface.ru/home.asp?artId=21520