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

23.05.24

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

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

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

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

 

 

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

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

 

 

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

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

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

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

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

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

 

 

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

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

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

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

 

См. также

Ошибка "Запись не найдена в менеджере имен базы данных" с катастрофическими последствиями и её лечение

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

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

24.05.2024    1200    Kernelbug    6    

18

Установка и примеры использования 1С:Исполнитель на РедОС

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

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

06.05.2024    698    artemusII    0    

1

Нестандартное решение пересчета итогов

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

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

25.04.2024    2500    virustam    32    

12

Идентификация пользователя не выполнена

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

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

24.04.2024    1054    Yan_Malyakov    0    

3

Устранение ошибки выполнения скрипта "Создать сервис RAGENT" в ЦКК

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

В статье показано, как устранить ошибку выполнения скрипта "Создать сервис RAGENT" в системах 1С:Центр контроля качества или в 1С:Центр автоматизации. Будет полезна администраторам ЦКК и ЦА, которые только начали знакомство с этими системами.

18.04.2024    480    artemusII    0    

8

Долгая реструктуризация, замеры времени и очистка Ветис. Розница 2.3

HighLoad оптимизация Администрирование СУБД Системный администратор Платформа 1С v8.3 1С:Розница 2 Розничная и сетевая торговля (FMCG) Россия Бесплатно (free)

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

16.04.2024    547    xKaskadx    4    

2

Установка и получение лицензии на базовую конфигурацию 1С на Mac OS

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

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

11.04.2024    591    pahmutov    0    

3

Установка тонкого клиента 1С на Rasbian (Raspberry Pi 5)

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

После приобретения Raspberry Pi 5 решил проверить, есть ли возможность использования устройства для организации тонкого клиента. В результате столкнулся с особенностью установки 1С: Предприятие 8.3.23 на Raspbian, решением которой я хочу поделиться с сообществом.

07.04.2024    1069    Bessome    4    

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

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

А можете также поделиться, если известно, через какой сервис админы настроили такое логирование?
EvgeniyOlxovskiy; +1 Ответить
5. brolin 24.05.24 09:27 Сейчас в теме
(1)
Средствами СХД. Если шара на Windows - можно включить политику аудита доступа к файлам. Появится соответствующий журнал.
2. Xershi 1496 23.05.24 19:38 Сейчас в теме
А что должна была делать 1С с помеченными на удаление? Оставлять файлы?
Тут как говорится сам д....
Но я не об этом. Раз развернули копию, то в ней нужно заблокировать выполнение регламентных задач. Понятно что по не опытности про это забывают или забивают - выбрать нужное.
А вот про имя файла не совсем понял. Т.е. в копии добавили после такой же файл? Изначально его там не было?
Это что за копия на сервере? И почему один том для разных баз используется?
3. ltfriend 967 24.05.24 08:05 Сейчас в теме
(2) вариант написан в самой статье. Проверять, нет ли ссылки на файл в других элементах справочника и, если нет, то тогда уже удалять.
PAM3000; mrsmrv; +2 Ответить
4. human_new 674 24.05.24 09:13 Сейчас в теме
(2)У нас действительно один том на разные базы, т.к. настроен обмен файлами УТ->БП. Хорошо бы бесшовно через ДО, и он тоже у нас есть, но к УТ его не прикручивали. но все сказанное не имеет отношения к статье, тут речь про один том и то, что пользователи помечают на удаление старый файл и вместо него прикрепляют новый одноименный, а не меняют старый, для меня тоже было открытием.
Andreev.a; +1 Ответить
8. Xershi 1496 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 24 24.05.24 10:34 Сейчас в теме
Получается, у нас 2 элемента справочника Файлы, которые ссылаются на один и тот же файл на диске.

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


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

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

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