Куда же деваются файлы из 1С

23.05.24

База данных - Администрирование СУБД

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

Описываю возникший кейс. 

Пользователи добавили прикрепленные файлы к проекту договора. Через день база пишет "Не удалось открыть файл "Данные недоступны, т.к. возможно файл был очищен как ненужный или удален антивирусной программой". 

 

 

Понятно, что первое, что я сделал - наехал на админов, что файлы были, а теперь их нет. И т.к. это не первый подобный случай, то они поставили логирование. Как же мне было стыдно, что после включения логирования выяснилось, что файлы удаляет пользователь службы 1С.

Вот результаты логирования:

 

 

Что мы получили из логов, учитывая, что у нас тьма баз и все под одним пользователям - дату удаления файла. 

Начали шерстить все журналы регистрации, что же произошло в эту секунду. 

Нашли, что это было типовое фоновое задание по удалению помеченных на удаление объектов. 

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

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

Разворачиваем копию, где файлы ещё живы, открываем присоединенные файлы и там вроде всё норм, но ставим галочку "Показывать помеченные файлы", и уже картина становится понятна:

 

 

Получается, у нас 2 элемента справочника Файлы, которые ссылаются на один и тот же файл на диске. 

У нас типовая 1С (по подсистеме работы с файлами), и она позволяет это делать.

Получается, при удалении помеченного файла система очищает и сам файл. И второй файл теперь пустой!

Тут несколько вариантов решения, которые хорошо, чтобы 1С реализовала в коробке - или не давать создавать файлы с одним именем, или хотя бы при удалении проверять, что есть другой элемент справочника с ссылкой на тот же файл. Я пока закомментировал удаление файла из каталога при пометке на удаление файла.

 

См. также

Администрирование СУБД Сервера Системный администратор Россия Бесплатно (free)

Доброго дня, коллеги. Рубрика - администрирование серверов 1С: Предприятие. Все еще остались живые сервера на платформе Windows, а в связи с этим и необходимость их обслуживать. На продуктивной среде, понятное дело, все должно работать, как часы, без всяких перезапусков и желательно 24/7, хотя для многих, скорее всего, это сферический коньв в вакуумен и большой техдолг по рефакторингу до такого результата. Поэтому скрипт, который приведу ниже, будет полезен не только на тестовых серверах, где идет активная разработка и эксперименты, которые могут выводить из строя службу сервера 1С, но и на продуктивных системах, описанных выше (да, с техдолгом, который почти невозможно устранить, и поэтому применяется костылирование с регулярным перезапуском службы).

23.07.2024    2835    mefalcon    12    

2

Администрирование СУБД Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

В статье описала свой опыт аудита 1С базы, порядок действий + статьи, которые сильно помогли в работе.

14.07.2024    6279    limonen    15    

19

Администрирование СУБД Платформа 1С v8.3 Россия Бесплатно (free)

Безопасное полное удаление пользователей из конфигураций 1С.

25.06.2024    979    It-digit    5    

1

Администрирование СУБД Системный администратор Платформа 1С v8.3 Бесплатно (free)

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

24.05.2024    1756    Kernelbug    9    

20

Администрирование СУБД Системный администратор Платформа 1С v8.3 Бесплатно (free)

Краткое описание шагов по установке, настройке и применению инструмента 1С:Исполнитель на операционной системе РедОС, а также по борьбе с некоторыми возникающими ошибками.

06.05.2024    906    artemusII    0    

1

Администрирование СУБД Системный администратор Программист Платформа 1С v8.3 Бесплатно (free)

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

25.04.2024    2884    virustam    33    

12

Администрирование СУБД Системный администратор Платформа 1С v8.3 1С:Бухгалтерия 3.0 Россия Бесплатно (free)

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

24.04.2024    1727    Yan_Malyakov    0    

3
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. METAL 299 23.05.24 19:20 Сейчас в теме
Круто! Спасибо за опыт расследования и изящное решение!

наехал на админов,... они поставили логирование

А можете также поделиться, если известно, через какой сервис админы настроили такое логирование?
EvgeniyOlxovskiy; +1 Ответить
5. brolin 24.05.24 09:27 Сейчас в теме
(1)
Средствами СХД. Если шара на Windows - можно включить политику аудита доступа к файлам. Появится соответствующий журнал.
2. Xershi 1508 23.05.24 19:38 Сейчас в теме
А что должна была делать 1С с помеченными на удаление? Оставлять файлы?
Тут как говорится сам д....
Но я не об этом. Раз развернули копию, то в ней нужно заблокировать выполнение регламентных задач. Понятно что по не опытности про это забывают или забивают - выбрать нужное.
А вот про имя файла не совсем понял. Т.е. в копии добавили после такой же файл? Изначально его там не было?
Это что за копия на сервере? И почему один том для разных баз используется?
3. ltfriend 968 24.05.24 08:05 Сейчас в теме
(2) вариант написан в самой статье. Проверять, нет ли ссылки на файл в других элементах справочника и, если нет, то тогда уже удалять.
PAM3000; mrsmrv; +2 Ответить
4. human_new 679 24.05.24 09:13 Сейчас в теме
(2)У нас действительно один том на разные базы, т.к. настроен обмен файлами УТ->БП. Хорошо бы бесшовно через ДО, и он тоже у нас есть, но к УТ его не прикручивали. но все сказанное не имеет отношения к статье, тут речь про один том и то, что пользователи помечают на удаление старый файл и вместо него прикрепляют новый одноименный, а не меняют старый, для меня тоже было открытием.
Andreev.a; +1 Ответить
8. Xershi 1508 24.05.24 11:23 Сейчас в теме
(4) т.е. проблема кроется в не очевидном лайфхаке пользователей 1С?
Пользователю 1С не понравился файл он его пометил на удаление, а затем на своем ПК отредактировал и добавил новый этот же файл. Т.е. вместо того чтобы обновить помеченный на удаление?
А разве не должно было создать подпапку с днем добавления в томе? Чтобы такая коллизия не произошла?
Детально не разбирал этот момент, но тут похоже кроме косяка пользователя не доработка со стороны 1С. Напишите тикет в ТП.
Andreev.a; comptr; +2 Ответить
6. brolin 24.05.24 09:28 Сейчас в теме
> Понятно, что первое, что я сделал - наехал на админов

Ну-ну. ))
15. i81khis 25.05.24 10:16 Сейчас в теме
Это у 1Сников с материнским молоком впитано🤣.
Зачем код оптимизировать, добавьте ещё ресурсов...
16. KudelinMB 26.05.24 18:59 Сейчас в теме
(15) Да, очень хорошо писать про оптимизацию кода, когда у тебя ERP на поддержке :)
7. Vasvas05 20 24.05.24 10:34 Сейчас в теме
Получается, у нас 2 элемента справочника Файлы, которые ссылаются на один и тот же файл на диске.

У нас типовая 1С (по подсистеме работы с файлами), и она позволяет это делать.


А это как типовым делаете? По логике так делать нельзя, на практике тоже, когда создаешь новый элемент, он добавляем новый файл на диск с уникальным названием
11. human_new 679 24.05.24 15:31 Сейчас в теме
(7) Проверил, в рамках одного дня при добавлении 1с добавляет новый каталог "/р" например и закинет туда этот файл, но у нас так не работало, 1с не добавляла новый файл, а делала ссылку на имеющийся.
17. PLAstic 295 27.05.24 19:21 Сейчас в теме
Не тому учит автор... Ох, не тому...

Нашёл ошибку - напиши на хотлайн, чай не пираты. Ты поправил - только у себя. Зарегал ошибку - поправят у всех.

И, кстати, что за конфа и версия?
9. KomarovVA 24.05.24 14:10 Сейчас в теме
Имя файла на диске должно содержать уникальный идентификатор, и в регистре путь до файла так же должен его содержать, тогда будут удалены нужные файлы
10. insurgut 207 24.05.24 14:41 Сейчас в теме
Вообще хранение файлов на томах противоречит ссылочной целостности 1С. Тоже были подобные проблемы с томами. Перешли в итоге на хранение файлов в базе. Конечно не для каждой базы это приемлемо.

В свое время когда "боролся" с проблемой хранения файлов в томах - сделал доработку, чтобы файл на том записывался с именем файла = внутреннему идентификатору элемента справочника прикрепленных файлов.
12. Vasvas05 20 24.05.24 16:14 Сейчас в теме
(11) у вас похоже на доработку или очень старая версия БСП, уже давно в конце файла добавляется уникальный идентификатор.
И сами 1с советуют не удалять помеченные на удаление объекты, проще их скрыть.
Самое интересное, что вам еще в 2022 писали об этом, что такая ситуация может быть https://infostart.ru/1c/tools/1738039/
14. Rokov 24.05.24 18:05 Сейчас в теме
(12) можно пруф на совет по не удалению?)
18. Vasvas05 20 03.06.24 20:30 Сейчас в теме
(14)
можно пруф на совет по не удалению?)

какой нужен пруф? Вы сами оцениваете риски свои, ссылку на видео или комментарий, искать долго слишком.

но такой совет есть, на форумах по Документообороту разработчики при выступление советуют не удалять, а скрывать.
Если посмотреть конфигурации 1с Архив, там с удалением еще сложнее сделали.
НО конечно, решать вам, что делать с файлами и тд, и как сильно они мешают и какой плюс от этого получаете, если нет лишних 100Гб, а у нас проще добавить 1Тб на диск, чем потом искать кто удалил.
13. kembrik 10 24.05.24 16:46 Сейчас в теме
Как хорошо что в Элементе "дедупликация" из коробки
Оставьте свое сообщение