Имя: Пароль:
1C
 
v8: Оптимизация хранилища дополнительной информации
0 peton
 
31.05.11
09:47
Доброе время суток!
Подскажите, пожалуйста, как в справочнике Хранилище дополнительной информации можно определить размер файла не открывая его? Допустим, добавить еще одну колонку с размером.
УПП 1.2.38.1
Спасибо!
1 forforumandspam
 
31.05.11
09:58
2 peton
 
31.05.11
10:39
(1) Извиняюсь, но пока с программированием туговато=(
а как это добавить еще одной колонкой в справочник в форму списка?
3 forforumandspam
 
31.05.11
10:42
Стаж: 2 г. 9 мес.  О_о
4 peton
 
31.05.11
10:54
Время регистрации на сайте ничего не говорит о способностях, не всегда приходилось заниматься с 1Ской.
Сейчас в базе появилось полно договоров с прикрепленными файлами. И дело в том, что пользователи не всегда грамотно сканируют документы! Есть и .bmp и рисунки вставленные в .doc
Вообщем, хотел отсортировать справочник по размерам файлов и наиболее тяжелые отредактировать или удалить.
5 peton
 
31.05.11
10:57
Да и не только для меня будет полезной данная информация!
Странно, что 1Сники до этого не добавили такой реквизит в этот справочник.
6 forforumandspam
 
31.05.11
11:06
Э-э-ээх. Держи. Модуль объекта справочника "ХранилищеДополнительнойИнформации".


Процедура ПередЗаписью(Отказ)
   ДанныеBase64 = Base64Строка(Хранилище.Получить());
   РазмерДанных = (СтрДлина(ДанныеBase64)-2*(СтрЧислоСтрок(ДанныеBase64)-1))/4*3;
   РазмерДанных = РазмерДанных - ?(Прав(ДанныеBase64,1) = "=",1,0) - ?(Прав(ДанныеBase64,2) = "==",1,0);
КонецПроцедуры
7 peton
 
31.05.11
11:32
(6) Спасибо!
Все заработало=)
8 forforumandspam
 
31.05.11
11:40
(7) Только это, по-моему, размер сжатых данных.
9 n0ther
 
31.05.11
11:43
(0) я сделал проверку перед добавлением файла


   Если ПолученныйФайл.Размер()>5242880 Тогда
       Сообщить ("Ошибка при добавлении файла. Размер файла должен быть меньше 5Мб",СтатусСообщения.Важное);
       Сообщить ("Попробуйте заархивировать файл или сохранить в другом формате",СтатусСообщения.Информация);
       Возврат;
   КонецЕсли;
10 n0ther
 
31.05.11
11:44
(4) а уже добавленные, если не подходит алгоритм (6) можно выгружать в файл и проверять размер созданного файла. нагрузка  конечно большая будет, если файло многа
11 peton
 
31.05.11
12:07
(10) уже добавленные можно перезаписать групповой обработкой справочников и документов;)

(6)Процедура не работает если Вид данных стоит Изображение.
Ошибка при вызове метода контекста (Base64Строка): Несоответствие типов (параметр номер '1')Ошибка при вызове метода контекста (Base64Строка): Несоответствие типов (параметр номер '1')

Но и так большенство документов уже обработал=)