Настройка хранения файлов в томах 1с
При работе с сервисами 1С-Отчетность и 1С-ЭДО входящая и исходящая корреспонденция (письма, документы и пр.) при отправке и получении сохраняется в информационной базе. Также в базе хранятся документы произвольного формата, прикреплённые пользователями к различным справочникам и документам (например, к актам, договорам). Со временем происходит значительное увеличение объёма базы. Это мешает комфортной работе с ней, а также может привести к потере работоспособности вышеуказанных сервисов.
Для решения этой проблемы в программах "1С:Предприятие" реализованы следующие возможности:
1. Настройка, позволяющая сразу сохранять файлы 1С-Отчетности, 1С-ЭДО и пр. в отдельную папку на диске (или на сервере). Файлы не будут сохраняться в информационной базе изначально, но будут доступны из программы так же, как если бы они хранились в базе.
2. Выгрузка уже сохраненной в информационной базе корреспонденции 1С-Отчетностис помощью специальной обработки в архив на диске. Файлы архива будут удалены из информационной базы (с возможностью восстановления, если это потребуется) и станут недоступны из программы.
Хранение файлов в томах на диске
Для настройки первой возможности в разделе "Администрирование"перейдите по гиперссылке "Настройки работы с файлами".
В открывшейся форме установите флажок "Хранить файлы в томах на диске".
При появлении предупреждения, что нужно настроить тома (папки), нажмите"ОК". Перейдите по гиперссылке "Тома хранения файлов".
В появившейся форме настройки томов нажмите кнопку "Создать" для создания нового тома. Укажите наименование тома и путь для хранения файлов.
Для этого перейдите из раздела "Администрирование" по гиперссылке "Обслуживание". Затем перейдите по гиперссылке "Регламентные и фоновые задания".
После переноса файлов в тома необходимо выполнить реструктуризацию (сжатие) таблиц информационной базы для уменьшения ее физического размера. Для этого откройте программу в режиме "Конфигуратор", выберите пункт меню "Администрирование" - "Тестирование и исправление". При работе с файловой базой установите флажок "Сжатие таблиц информационной базы".
При работе с клиент-серверным вариантом базы – флажок "Реструктуризация таблиц информационной базы".
Часто возникает необходимость хранить присоединенные файлы где-нибудь на сетевом диске, чтобы как-то сократить рост размера базы.
К большому сожалению, приходится изобретать велосипед, т.к. в УПП 1.3 (заметьте, версия продается и поддерживается) НЕТ! хранения файлов вне базы.
Да, эта возможность уже реализована в УПП 1.3 для электронных документов, а все остальное по-прежнему хранится в базе.
"Допилок" этой функциональности много, есть и платные. Предлагаю свой варинат велосипеда. Версия рабочая, проверялась на УПП 1.3.72.3.
Включим хранение файлов в томах на диске
Добавим в справочник "ХранилищеДополнительнойИнформации" два реквизита:
ИмяФайлаВТоме (тип "Строка(50)")
НомерВерсии (тип "Число(10)")
В модуле объекта справочника "ХранилищеДополнительнойИнформации" пишем код (реквизит "Хранилище" очистим, а данные сохраним на диск). Использована типовая процедура "ФайловыеФункции.ДобавитьНаДиск", которая позволит также контролировать размер файла и запишет в имя файла на диске версию:
Далее в каком-либо общем модуле (в моем случае общий модуль "wowikОбщийМодуль") добавляем функцию:
Далее ищем глобальным поиском выражение "Хранилище.Получить()":
в большинстве случаев замена проста:
Но в некоторых случаях сложнее, например в процедуре "ОтображениеИзображения()" формы "ФормаИзображения" справочника "ХранилищеДополнительнойИнформации":
Отображение картинок поправили, теперь переходим к сохранению и открытию внешних файлов:
в общем модуле "РаботаСФайлами" исправляем:
в общем модуле "ФайловыеФункции" ставим "попытку":
Возможно, еще где-то придется что-то закомментировать. Далее все решается отладкой уже в конфигурации.
Лицензия на сервер + 100 рабочих мест. Электронная поставка.
Настройка и доработка 1С:Документооборот для борьбы с ошибками. Гарантия на все результаты работ.
Оперативные консультации по 1С. Не тратьте время - мы поможем решить проблему любой сложности.
Идеально подходит для средних, крупных компаний и холдингов со сложным документооборотом
Типовой функционал, встроенный в прикладные решения 1С
Чтобы массив документов и файлов «не перерос» возможности штатных специалистов, их следует оснастить инструментом работы с данным бизнес-процессом – программой автоматизации документооборота «1С:Документооборот», где помимо официальных документов, можно работать и с прикрепленными файлами. Это могут быть приложения к различным входящим, исходящим, внутренним документам в виде текстовых документов или таблиц, архивов, изображений, аудио или видеофайлов, и т.п.
Файлы в 1С Документооборот
Системой предусмотрены следующие варианты хранения:
1. В самой базе. То есть все загруженные в программу файлы хранятся в таблицах СУБД: если база файловая – в файле *.dt, а в клиент-серверной помещаются в хранилище СУБД.
Преимущества этого варианта:
- Все файлы в одном месте (в ИБ);
- Безопасность данных;
- Резервное копирование осуществляется стандартным способом.
- Все документы и их версии хранятся в ИБ, что приводит к ее быстрому росту;
- Большой объем ИБ приводит к снижению производительности программы.
2. В томах на диске. Здесь сами файлы будут в каталогах файловой системы, а в СУБД будут находится лишь ссылки на них. Каталоги с документами могут находиться на жестком диске, сервере или размещаться на компьютере в локальной сети.
Преимущества такого хранения:
- Объем ИБ значительно уменьшается;
- С ИБ быстрее работать;
- Размер тома ограничивается только объемом жесткого диска;
- Резервная копия ИБ делается отдельно от копии файлового тома.
К недостаткам можно отнести расположение ИБ и файлов в разных местах, что сказывается на контроле доступа и, в конечном итоге, на безопасности данных.
Настройки хранения в ИБ
Определение места хранения производится в разделе «Настройки и администрирование», зайдя в информационную базу с правами администратора. Далее проходим «Настройки программы-Работа с файлами».
Рис.1 Настройки программы-Работа с файлами
Рис.2 Работа с файлами
Если в настройке не установлена галочка «Хранить файлы в томах на диске», то они будут храниться в информационной базе.
Рис.3 Настройка работы с файлами
До тех пор, пока хоть один том не будет указан, система будет хранить файлы непосредственно в ИБ.
Тома хранения файлов в 1С Документооборот
Перейдя по гиперссылке «Тома хранения файлов», производим их настройку.
Рис.5 Тома хранения файлов
Файлы можно сгруппировать в определенную структуру по папкам. Нажав кнопку «Создать группу», задаем структуру папок.
Рис.6 Создание группы
При создании папок тома необходимо создать папку и задать ей права системного пользователя, от имени которого запускается и работает служба сервера 1С:Предприятия. Создадим для примера папку «1C_Tom» и выполним ее настройку, щелкнув правой кнопкой мышки и открыв меню «Свойства» по кнопке «Расширенная настройка».
Рис.7 Расширенная настройка
Устанавливаем галочку «Открыть общий доступ к этой папке» и нажимаем «Разрешения».
Рис.8 Разрешения
Далее указываем имя пользователя, под которым работает сервер 1С, и отмечаем все права – полный доступ, чтение, изменение.
Рис.9 Указание имени пользователя
Сетевое имя папки указывается в настройках тома, куда будут сохраняться наши файлы документов.
Рис.10 Сетевое имя папки
Создадим том хранения файлов – кнопка «Создать».
Рис.11 Создание тома хранения файлов
В настройке тома указывается его наименование, группа, к которой он будет принадлежать, и сетевой путь. Если поле «Максимальный размер» не заполнять, то размер тома будет не ограничен.
Рис.12 Максимальный размер
После сохранения настройки в окне «Тома хранения файлов» будет отображено имя тома и его путь.
Рис.13 Имя тома и его путь
Если создано несколько групп, то настройки томов выполняются для всех их.
Рис.14 Сохранение настроек
При необходимости можно настроить правила размещения для каждого тома по кнопке «Правила размещения файлов». В открывшемся окне (кнопка «Добавить») делаем настройку правил.
Рис.15 Правила размещения файлов
Можно установить галочку «Правило по умолчанию» или задать условие, установить отбор.
Рис.16 Создание правила
Рис.17 Правило в списке
В качестве условия отбора может быть установлено: автор, зашифрован, подписан ЭП и другие условия.
Рис.18 Условия отбора
При указании правил размещения обязательно должно быть прописано правило без условий – правило «По умолчанию». Оно используется, если файлы не удовлетворяют указанным другим условиям. С помощью кнопок «Переместить вверх» и «Переместить вниз» можно менять местами правила или перетащив строки мышкой.
Рис.19 Перемещение правил в списке
Редактирование файлов и работа с ними в 1С:Документооборот
Для просмотра списка всех файлов, созданных в «1С:Документооборот», можно воспользоваться разделом «Файлы». Они прикреплены к карточкам входящих/исходящих/внутренних документов и доступны в разделе «Документы и файлы». Также, при необходимости, пользователь может воспользоваться разделом «Все файлы».
Рис.20 Все файлы
В этих разделах можно увидеть информацию о местоположении файла, его авторе, дате создания, размере.
Рис.21 Информация о файле
Рис.22 Список всех файлов
Открыть карточку для редактирования можно или двойным щелчком мышки, или правой кнопкой, далее нажать «Изменить» или «F2» на клавиатуре.
Рис.23 Открытие карточки для редактирования
Рис.24 Изменение данных файла
Открыв файл для редактирования, нажимаем кнопку «Редактировать», в результате чего будет открыт документ. Дальнейшая работа по редактированию одинакова в обоих журналах.
Рис.25 Редактирование файла
Файл, который редактируется, выделен зеленым цветом. И если сотрудник забыл завершить редактирование, администратору можно его отменить – кнопка «Отменить редактирование».
Рис.26 Отмена редактирования
Поэтому после окончания редактирования сотрудник должен завершить его по одноименной кнопке для сохранения изменений в системе. И только после этого файл будет доступен другим пользователям.
Рис.27 Закончить редактирование
При сохранении изменений можно оставить комментарий, что было изменено.
Рис.28 Сохранение изменений
В меню «Версии» можно посмотреть, какие изменения, кто и когда вносил в файл.
Рис.29 Вкладка версии
Если было несколько изменений, можно посмотреть их отличия (команда «Показать отличия»), а если были найдены ошибки, то можно вернуться к одной из версий, нажав кнопку «Сделать активно» или выбрав команду контекстного меню «Сделать активной».
Рис.30 Сделать активно
Программа «1С:Документооборот» позволяет пользователю работать с различными типами файлов, хранить их, систематизирует их, обеспечивает быстрый поиск и постоянный доступ к ним.
Файловая база данных, в которой хранится информация обо всех вносимых изменениях в конфигурацию, называется ее хранилищем.
Как работать с хранилищем конфигурации 1С 8.3
Через хранилище может вестись коллективная работа разработчиков с конфигурацией. При этом можно посмотреть, кем и когда были внесены те или иные изменения. При подключении к хранилищу, все метаданные из него загружаются в базу.
Разработчики, создавая собственные объекты метаданных, чтобы не возникло ситуации одновременного изменения объекта в хранилище, могут воспользоваться возможностью его захвата. После окончания работы над объектом, он перемещается обратно в хранилище, и метка захвата снимается. В любой момент можно восстановить предыдущую версию конфигурации из ее хранилища. Благодаря этому осуществляется контроль доступа к объектам конфигурации при ее разработке или модификации, и тем самым обеспечивается синхронная работа разработчиков.
Рассмотрим, как происходит такая работа на примере «1С:Бухгалтерия 8.3».
Установка сервера хранилища конфигурации 1С
Если в хранилище будут работать несколько человек, удобнее располагать удаленное хранилище на сервере с доступом через интернет. При этом следует отследить, чтобы платформа была одинакова на всех компьютерах, с которых будет осуществляться работа. При установке платформы необходимо выбрать установку компоненты – «Сервер хранилища конфигураций 1С:Предприятия».
Рис.1 Сервер хранилища конфигураций 1С:Предприятия
Если платформа уже была установлена, то добавить компоненту надо в разделе «Программы и компоненты», нажав кнопку «Изменить» и выделив нужную платформу.
Рис.2 Программы и компоненты
Следуя по шагам помощника установки, идем далее.
После окончания установки нам нужно зарегистрировать сервер. Файл службы находится в каталоге «bin» установленной платформы - crserver.exe.
Рис.3 crserver.exe
Для регистрации службы воспользуемся командной строкой. Вызываем ее, введя в строке поиска кнопки «cmd».
Рис.4 Вызываем ее, введя в строке поиска кнопки «cmd»
Для регистрации службы сервера хранилища конфигурации, в командной строке пишем: "C:\Program Files (x86)\1cv8\8.3.13.1513\bin\crserver.exe" -instsrvc -d "C:\1С Хранилище".
- 8.3.13.1213 – каталог с нашей платформой и далее путь к файлу crserver.exe.
- С:\1С Хранилище – это путь к папке, которую мы создали для хранилища конфигурации (для примера).
Рис.5 Наполнение командной строки
Если все правильно написано, то в окне «Службы (локальные)» у нас появится наша служба (найти этот раздел можно поиском в Панели управления).
Рис.6 Окно «Службы (локальные)»
Нажимаем гиперссылку «Запустить службу», чтобы она заработала. Тип запуска – «Установлено автоматически».
Далее мы создадим хранилище.
Создание хранилища конфигурации 1С
Откроем нашу базу в режиме Конфигуратора и в пункте меню Хранилища выберем команду создания.
Рис.7 Создание хранилища конфигурации
Указываем путь, где будет располагаться хранилище. Это может быть локальный компьютер, компьютер в сети, сервере или веб-сервере. Пример локального пути – С:\1С Хранилище.
Рис.8 Указываем путь, где будет располагаться хранилище
Или можно указать его сетевое имя (при этом не забудьте открыть доступ к папке).
Рис.9 Можно указать его сетевое имя
Если хранилище располагается на сервере, путь указывается в формате: tcp://192.168.0.100/Хранилище конфигурации 1.
Рис.10 Если хранилище располагается на сервере, путь такой
Где 192.168.0.100 – IP компьютера (в нашем примере).
Далее мы пишем имя каталога нашего хранилища (например, «Хранилище конфигурации 1»). При создании на сервере хранилища база будет находиться: С:\1С Хранилище\Хранилище конфигурации 1.
Выбрав удобный вариант размещения хранилища, нажимаем кнопку «Далее», указываем имя пользователя и устанавливаем пароль.
Рис.11 Указываем имя пользователя и устанавливаем пароль
После нажатия кнопки «Ок» начнется процесс создания хранилища конфигурации.
Рис.12 Начнется процесс создания хранилища конфигурации
По окончании процесса, программа предложит подключиться к хранилищу (подтверждаем действие).
Рис.13 Предложение подключиться к хранилищу
Как подключиться к хранилищу конфигурации 1С 8.3
В нашем пункте меню выбираем команду подключения.
Рис.14 В нашем пункте меню выбираем команду подключения
При этом текущая конфигурация заменяется конфигурацией из хранилища. На вопрос программы о подключении отвечаем – «Да».
Рис.15 При этом текущая конфигурация заменяется конфигурацией из хранилища
При подключении к хранилищу указываем файловый каталог или адрес удаленного хранилища, вводим данные пользователя.
Рис.16 При подключении к хранилищу указываем файловый каталог или адрес удаленного хранилища, вводим данные пользователя
Рис.17 Подключение конфигурации к хранилищу успешно завершено
Отключиться от хранилища можно в том же разделе через команду «Отключиться от хранилища».
Рис.18 Отключиться от хранилища
Платформа 1С:Предприятие 8.3 предоставляет большой выбор инструментов для работы с файлами. В данной статье будут рассмотрены основные функции по работе с файлами.
Поиск файлов
Для поиска файлов во встроенном языке существует метод НайтиФайлы, метод доступен в Тонком клиенте, веб-клиенте, мобильном клиенте, через сервер, толстый клиент, а также внешнее соединение, мобильное приложение (клиент) и мобильное приложение (сервер).
Метод принимает на вход путь к каталогу, в котором будет производиться поиск, маска имени для поиска файлов, флаг – «Искать в подкаталогах»:
Функция возвращает массив, элементы которого объекты типа Файл.
В результате работы алгоритма будут выведены имена всех doc-файлов, содержащихся на диске C:\. Если последний параметр указать «истина», будут найдены все файлы во всех подчиненных каталогах. Несколько дополнительных слов по маске поиска, в ОС Windows допускается использовать символы «*» – любые символы в любом количестве и «?» – любой один символ. Сочетать несколько масок недопустимо. В других ОС (Linux, macOS, iOS, Android) маску можно задавать более гибко, подробнее можно посмотреть в справке по языку.
Объект «Файл»
Объект Файл является основным объектом для работы с файлом. Конструктор объекта принимает полное имя файла.
- Имя
- ИмяБезРасширения
- ПолноеИмя
- Путь
- Расширение
- НачатьПолучениеВремениИзменения
- НачатьПолучениеКартинкиПредставленияФайлаБиблиотекиМобильногоУстройства
- НачатьПолучениеНевидимости
- НачатьПолучениеРазмера
- НачатьПолучениеТолькоЧтения
- НачатьПолучениеУниверсальногоВремениИзменения
- НачатьПроверкуСуществования
- НачатьПроверкуЭтоКаталог
- НачатьПроверкуЭтоФайл
- НачатьУстановкуВремениИзменения
- НачатьУстановкуНевидимости
- НачатьУстановкуТолькоЧтения
- НачатьУстановкуУниверсальногоВремениИзменения
- ПолучитьВремяИзменения
- ПолучитьКартинкуПредставленияФайлаБиблиотекиМобильногоУстройства
- ПолучитьНевидимость
- ПолучитьПредставлениеФайлаБиблиотекиМобильногоУстройства
- ПолучитьТолькоЧтение
- ПолучитьУниверсальноеВремяИзменения
- Размер
- Существует
- УстановитьВремяИзменения
- УстановитьНевидимость
- УстановитьТолькоЧтение
- УстановитьУниверсальноеВремяИзменения
- ЭтоКаталог
- ЭтоФайл
Некоторые методы по своей сути делают одно и то же действие, например, НачатьУстановкуТолькоЧтения и УстановитьТолькоЧтение. Методы, которые начинаются с «Начать*», предназначены для работы в асинхронном режиме, они доступны только на клиентах, а вот их «братья» доступны и на сервере. При работе на клиенте с файлами рекомендуется использовать асинхронные методы, однако методы без префикса «Начать» также доступны на клиенте. При использовании таких методов в веб-клиенте нужно будет подключать расширение по работе с файлами (как это сделать, будет рассмотрено ниже в статье).
Пример кода работы с объектом Файл:
Данный код устанавливает признак только чтения у всех файлов “*.doc” на диске C:\.
Пример этого же алгоритма, но с использованием асинхронных методов:
Писать асинхронный код очень неудобно, он получается громоздкий, но именно асинхронный подход надо применять, а особенно – при разработке для web клиента.
Работа с файлами в клиент-серверной архитектуре
При работе в клиент-серверной архитектуре мы не можем работать с файлом на сервере, который был выбран на клиенте, т.к. сервер и клиент – это физически две разных машины. Чтобы решить эту проблему, мы должны передать файл из клиента на сервер, используя временное хранилище.
Пример синхронного кода:
Для передачи файлов существуют также такие асинхронные методы, как:
- НачатьПомещениеФайла
- НачатьПомещениеФайлов
Вместо функции ПолучитьИзВременногоХранилища также можно использовать функцию ПолучитьФайл.
Работа с файлами в web-клиенте
Для работы с файлами в веб-клиенте необходимо расширение работы с файлами, делается это функциями:
- НачатьУстановкуРасширенияРаботыСФайлами
- НачатьПодключениеРасширенияРаботыСФайламиЗавершение
- УстановитьРасширениеРаботыСФайлами
- ПодключитьРасширениеРаботыСФайлами
В БСП (подсистема ПодключаемоеОборудование) уже есть метод, который использует указанные выше функции.
Если у вас используется web клиент, рекомендуется использовать следующую конструкцию:
Читайте также: