Разноуровневое хранение присоединенных файлов (расширение конфигурации 1С Предприятие 8.3 подойдет для любых типовых конфигураций)

20 мая 2021 года в онлайн формате пройдет Форум пользователей 1С:Документооборота. Когда, как не сейчас, намекнуть разработчикам на возможные улучшения в конфигурациях (если по-честному, просто совпало). Всем известно, что хранить файлы на диске, не лучшая с точки зрения скорости, надежности и безопасности затея. Но если хранить файлы в базе 1С, то база увеличивается на порядок. Хотелось бы всего и сразу, но в типовых конфигурациях это не реализовано. Данная разработка исправляет это упущение. Интересующихся прошу под кат...

Арт.: 1429666

Image 10.png
Image 9.png
Image 8.png
Image 7.png
Image 6.png
Image 5.png
Image 4.png
Image 3.png
Image 2.png
Image 12.png
Image 11.png
1427781020_1446807679.gif
Без названия.png
Image 1.png
Image 10.png
Image 9.png
Image 8.png
Image 7.png
Image 6.png
Image 5.png
Image 4.png
Image 3.png
Image 2.png
Image 12.png
Image 11.png
1427781020_1446807679.gif
Без названия.png
Image 1.png
Лицензия

3600 руб.

Техподдержка

1500 руб.

Эпиграф:

Всё, что есть прекрасного в этой жизни,
либо аморально, либо незаконно,
либо приводит к ожирению.

© Оскар Уайльд

Понятно, что впихнуть невпихуемое не получится. Но вполне возможно вынести присоединенные файлы из базы 1С не на файловые тома хранения, а в СУБД. Это снизит скорость доступа, но вернет  надежность и безопасность.
Примерно раз в год, на Инфостарте и/или на сайтах франчайзи появляются разработки, осуществляющие перенос файлов в СУБД.
Чего в них не хватает? Они (те которые я видел) переносят либо все, либо ничего. Хотя весь мир заодинэсья давно уже знает, что такое разноуровневое хранение.
Когда "горячие" данные (к которым идет постоянное обращение) остаются на быстром СХД, а "холодные" уходят на более медленное, зато более дешевое по накладным расходам хранения.
Данная разработка как раз и реализует подобный подход.
Запись присоединенных файлов всегда происходит типовыми механизмами в базу 1С, это обеспечивает скорость и надежность.
Далее, вручную или регламентным заданием по произвольному отбору эти данные могут быть в нерабочее время перемещены в ADODB совместимую СУБД и оттуда уже читаются может быть вообще никогда.

Для того, чтобы понять, какие файлы переносить, в расширении предусмотрено ведение статистики обращения к файлам.
С нее и рекомендуется начать работу.

Что получается в результате работы разработки:
Часть присоединенных файлов хранится в базе 1С, часть во внешнем хранилище. 
Все это происходит прозрачно для пользователя.

Безопасность и надежность внешнего хранения обеспечивается обезличенным хранением, вычислением хеш-функции как в момент переноса файла (в этот же момент происходит контрольное считывание файла и сверка CRC), так и средствами СУБД.

Кроме того реализованы возможности сверки CRC в любой момент по всему объему хранения и при считывании файла из СУБД по запросу 1С.

При этом полностью соблюдается лицензионное соглашение 1С о неизменности структуры хранения базы данных 1С.

Внимание!

В виде расширения под типовые конфигурации разработка в рабочих базах не проверялась, поэтому вы должны осознавать и принимать ответственность за свои данные.
В частности обязательно сделать/делать бекапы базы 1С и СУБД.


Возможности разработки можно посмотреть на видео:

Что нужно знать и уметь делать самостоятельно для корректного использования обработки:

1. Уметь пользоваться и знать что такое ADO/ODBC.

2. Уметь пользоваться и иметь настроенную базу 1С (типовой или близкой к типовой конфигурации, список проверенных ниже по тексту), уметь подключать внешние обработки

3. Знать, что такое двоичные данные

4. Знать, что такое присоединенные файлы 1С

5. Уметь делать бэкапы и восстанавливаться из них

6. Обработка проверена на редакциях:
 для России:

  1. Документооборот 8 КОРП, редакция 2.1 (2.1.28.12)

работа на редакциях отличающихся вторым октетом (после первой точки) или выпущенных ранее 6 месяцев от указанных, не гарантируется и возврат денег по этой причине не производится 

Также возможна, но не обязательно реализуема автором, адаптация под любую имеющуюся у пользователя типовую или нетиповую конфигурацию. 

Требований к хранилищу СУБД нет,  главное чтобы оно поддерживало ADODB.
Полностью проверены:

  • Microsoft Access
  • Microsoft SQL

Установка и использование обработки:

  1. Обработка выполнена с использованием управляемых форм, соответственно, для конфигураций с обычным интерфейсом требует для работы включения в конфигурацию либо запуска в управляемом интерфейсе.
  2. Может использоваться платформа  8.3.12.х и старше

7. Код открыт и может быть доработан вами самостоятельно.

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

9. Очень важная информация! Техподдержка сайта и разработчик это разные люди.

  • Техподдержка сайта в рабочее время ответит вам на вопросы связанные с приобретением обработки любым удобным для вас способом общения.
  • Разработчик ответит только в электронном виде. Срок ответа может достигать 24 часов в рабочие дни. Поэтому желательно, чтобы возникшая проблема была описана достаточно понятно. Это в ваших интересах.
  • Все дополнительные работы разработчиком производятся в нерабочее время.
  • Для предложений по улучшению и изменению функционала есть комментарии к этой публикации.
  • Так же разработчик никак не связан ни с 1С, ни с Microsoft , поэтому предусмотреть все возможные случаи использования обработки у него не получается. Спокойно опишите возникшую проблему и спокойно попробуем ее решить.

Внимание!

Если вы не поняли полностью или частично написанных выше строк, для внедрения обработки вам нужно обратиться к специалисту или подождать пока сама фирма 1С реализует нечто подобное в типовых конфигурациях.

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

Обработка продолжает серию публикаций.
Ошибки и предупреждения журнала регистрации. Для любой типовой конфигурации 1С: Предприятие 8.3

Постановка задачи:

Необходима реализация в 1С разноуровневого хранения присоединенных файлов.

Решение:

Расширение конфигурации, внешняя обработка 1С, которые реализуют этот функционал. 
Внимание! 
Предполагается для начала аккуратное заполнение всех необходимых файлов в 1С.
Файлы нулевой длины не переносятся.

Порядок работы:
Не забываем про бэкап!

Подключаем расширение конфигурации и убираем флажок безопасного режима.

Подключаем обработку и отчет в 1С как внешние - рекомендуемый вариант действий.

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


По этой статистике можно построить запрос переноса файлов во внешнее хранилище.
Например все старше 1 года и не открывавшиеся в течении этого года.

Перенос файлов осуществляется внешней обработкой, ее можно для безопаасности не подключать в базу 1С.



Демо-настройки позволяют проверить основные моменты на файловых базах и 1 файле

Что в поставке публикации:

  • обработки 1С
  • скрипт создания БД Microsoft SQL
  • текстовый файл с настройками на всякий случай

Пример хранения файлов в СУБД

Пример информации о хранении файлов - регистр сведений 1С

Небольшая статистика

Документооборот 8 КОРП, редакция 2.1 (2.1.28.12) 476 файлов размером 25 Мб

  ПолучитьНавигационнуюСсылку ВоВременномХранилище Все файлы в 1С ПолучитьНавигационнуюСсылку ВоВременномХранилище  Все файлы в хранилище Длительность переноса файлов во внешнее хранилище Длительность возврата файлов в базу 1С
Microsoft Access Driver={Microsoft Access Driver (*.mdb, *.accdb)} 2 270 630 318
SQL EXPRESS Driver={ODBC Driver 17 for SQL Server} 2 238 511 252
SQL EXPRESS Driver={SQL Server} 2 235 531 253
MS SQL  Driver={SQL Server} 2 76 196 114
SQL EXPRESS Driver={SQL Server}
ADODB.Stream
2 12 31 15
         
         

 

UPD 26.04.2021 : Перешел на ADODB.Stream вместо потоков 1С при работе с двоичными данными и получил прирост скорости кратно

Расширение в поставке заменено.

Требования к запуску расширения:

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

 

Установка и использование расширения:

  1. Расширение выполнено с использованием управляемых форм.
  2. Может использоваться платформа  8.3.16.х и старше

 

         Поддержка отчета, лицензирование:

  1. Расширение не имеет ограничений по периоду действия, количеству организаций и информационных баз.
  2. При возникновении вопросов по работе с отчетом, их можно обсудить в комментариях к публикации, личных сообщениях либо по e-mail, указанному в письме с отчетом.
  3. Не верю, что кто то этого может не знать, но специально для ИТ партнеров ОЗОН
    Разработка защищена авторским правом! То, что вы его скачали, не означает, что вы можете его бесплатно распространять на сайте ОЗОН и где бы то ни было.
Статистика:
Просмотры 15179
Загрузки 4
Рейтинг 9
Создание 23.04.21 13:49
Обновление 23.04.21 13:49
№ Публикации 1429666
Характеристики:
Теги
Рубрики Инструменты администратора БД
Кому Системный администратор
Тип файла Архив с данными
Платформа Платформа 1С v8.3
Конфигурация Конфигурации 1cv8
Операционная система Не имеет значения
Страна Не имеет значения
Отрасль Не имеет значения
Налоги Не имеет значения
Вид учета Не имеет значения
Доступ к файлу Платные (руб)
Код открыт Да
1. vandalsvq 30.04.21 16:22 Сейчас в теме
А с каких пор хранение файлов в файловой системе не самый лучший вариант? Спорный вопрос
2. Техподдержка 30.04.21 18:38
(1)с момента его появления )
EliasShy; +1 Ответить
3. RALIN123 08.08.22 08:58 Сейчас в теме
4. azhilichev 17.08.22 10:15 Сейчас в теме
Это приемлемо работает, когда суммарный объем файлов небольшой. Когда объем файлов начинает измеряться в гигабайтах, хранение их в БД начинает влиять на время создания бэкапов БД.
5. Техподдержка 18.08.22 09:58
(4)
(4)
Это приемлемо работает
что именно приемлемо работает?
6. azhilichev 19.08.22 02:25 Сейчас в теме
(5) Моя ошибка, неправильно понял суть статьи. Вы предлагаете хранить файлы в отдельной БД SQL. Я посчитал, что в базе 1С. Прошу прощения.
7. Silenser 14.09.22 09:21 Сейчас в теме
Приятно, когда предложенная 12 лет назад идея живет и здравствует https://infostart.ru/public/74821/
В качестве предложения: всегда будут случая нарушения консистентности данных, так что этот случай нужно будет выявлять и как то обрабатывать. Нужен отчет, который позволит находить отличия в хранимых ID в базе 1С и внешнем хранилище. Далее либо удалять то, что образовалось лишнее во внешнем источнике, либо сообщать пользователю о необходимости повторной загрузки файла.
8. Техподдержка 14.09.22 12:04
(7)
всегда будут случая нарушения консистентности данных

c чего бы они появились?
9. Silenser 14.09.22 19:28 Сейчас в теме
1. Сбой транзации при помещении данных во внешнее хранилище, когда справочник в систему записался, а во внешнюю базу - нет.
2. Кто-то удалил запись из внешней базы, а справочник с ID остался.
10. Техподдержка 14.09.22 21:13
1. У меня так невозможно
2. Аналогично
11. leonvlas 05.10.22 13:44 Сейчас в теме
Вроде 1с уже смотрит в эту сторону. - такой же подход.
Хранить файлы на диске это круто, до того момента пока не получишь сообщение, что файла уже нет
и кто его удалил отдельная тема и что теперь делась - сказка.
poiskadm; +1 Ответить

Оставьте свое сообщение

См. также

Infostart УДиФ: Управление данными и формами 1С

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на л...

10000 руб.

Ускоренное проведение документов в 1С (x4), устранение ошибок 60/62 счетов и зачет авансов (Бухгалтерия 3.0)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». И...

14400 руб.

PowerTools

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

3600 2880 руб.

SALE! 20%

Система хранения присоединенных файлов в томах на диске

Конфигурация Комплексная автоматизация 1.1 (и УПП 1.3 тоже) хранит файлы и изображения в справочнике Хранилище дополнительной информации в реквизите Хранилище типа ХранилищеЗначений. Та же история с ВложениямиЭлектроннойПочты. Но при этом п...

4200 руб.

Конфигурация Session Monitor

Конфигурация Session Monitor предназначена для мониторинга сервера 1С с целью отслеживания чрезмерной нагрузки от конкретных сеансов и скорости реакции рабочих процессов.

1500 руб.

Автоматическое резервное копирование любой клиент-серверной базы 1С в формате DT с удалением сеансов, архивацией, изменением ...

Данная разработка позволит решить вопрос с резервным копированием Ваших баз в автоматическом режиме, расположенных на сервере 1С. Система умеет ставить блокировки на вход, блокировать фоновые задания, принудительно отключать сеансы пользова...

6000 руб.

Система контроля действий пользователей 1С

Контролируйте, кто и что менял при работе в базах 1С: создание, правки, удаление, поиск потерявшихся данных, вычисление злоумышленников. Подсистема содержит 10 точных отчетов, гибкая настройка контроля. Не тормозит работу, не грузит базу 1С...

14280 руб.

Сжатие (уменьшение) картинок в базе 1С и приведение их к одинаковой ширине

Многие сталкиваются с проблемой когда изображения, находящиеся в базе разные по объему и размерам. Менеджеры могут добавить файлы в очень высоком разрешении, объемом свыше 20 Мегабайт. База данных становится слишком большой, выгрузка на с...

2000 руб.