Перенос файлов, хранящихся в базе 1С, на диск



Обработка предназначена для конфигураций УТ 11.1,11.2 и им подобным. Переносит файлы, хранящиеся в базе 1С (если в настройках не стоит опция «Хранить файлы в томах на диске»), в определенную папку, заданную там же (в разделе «Тома хранения файлов»). Выгружает прикрепленные файлы справочника Номенклатура.

Если у вас много добавляемых файлов, то база 1С начинает «распухать». Выходом является хранение файлов во внешних томах.

1С: УТ 11-й версии позволяет сделать подобную настройку(Администрирование — Настройки работы с файлами — опция Хранить файлы в томах на диске). Да, вновь присоединяемые файлы начнут сохраняться на диске в указаннной папке. Но что делать с уже существующими файлами, добавленными в 1С? Для это и предназначена текущая обработка. По нажатию одной кнопки она все перенесет автоматом в указанные тома. Выгружает файлы, предназначенные для справочника Номенклатура.

46 Comments

  1. suepifanov

    Спрошу глупый вопрос — на 3-м скрине кнопка «Перенести все файлы в тома» разве не тоже самое делает? сам этой кнопкой не пользовался просто…

    Reply
  2. Vagner_Hate

    (1)Я как-то пытался с ее помощью перенести, нарвался на какую-то ошибку(не помню уже точно какую, что-то с правами), поэтому и решил отдельно обработку сделать.

    Reply
  3. Pskmetall2016

    (2)Добрый день!Будет работать на 1С УТ 11.3?

    Reply
  4. Pskmetall2016

    Напишите ваше сообщение

    (2)Подскажите,пожалуйста,сейчас стандартной обработкой пытаюсь перенести файлы в том,она не видит ни одного файла,почему это может быть?

    Перенести надо файлы -картинки номенклатуры, их очень много,но обработка не видит.

    Reply
  5. Vagner_Hate

    (3) Здравствуйте, на 11.3 не проверял, но думаю должно работать.

    Reply
  6. Vagner_Hate

    (4) Можете уточнить, какая обработка не видит файлы — моя или та, что встроена в 1с?

    Reply
  7. Pskmetall2016

    (6)

    Можете уточнить, какая обработка не видит файлы — моя или та, что встроена в 1с?

    Добрый день!Стандартная не видит.

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

    Reply
  8. Vagner_Hate

    (7)Можем сделать так — я вышлю вам обработку, скажите куда, вы попробуете и потом уже решите, подходит она вам или нет)

    Reply
  9. uyhins

    Проверено на последней конфигурации УТ 11.3. Фотографии успешно выгрузились в Том.

    Reply
  10. corpmad

    Ваша выгружает только со справочника номенклатуры, Переделал под ERP и все файлы, полет нормальный!

    Reply
  11. Vagner_Hate

    (10) Да, спасибо за уточнение, исправлю.

    Reply
  12. realEvgenius

    Народ, кто пользовал? в КА2.2. работает, нет? Стоит брать?

    Так и переносит только номенклатуру?

    Reply
  13. Vagner_Hate

    (12)Под КА2.2 надо дорабатывать скорее всего.

    Reply
  14. realEvgenius

    (13) она только выгружает или еще и пути прописывает… Тоесть, например, картинка номенклатуры хранилась в базе, после обработки, выгрузки картинка так и останется привязанная к номенклатуре?

    Reply
  15. Vagner_Hate

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

    Reply
  16. realEvgenius

    (15) С именем — понятно… Вопрос в другом: Есть номенклатура, у номенклатуры есть картинка, которая хранится в базе, открываешь форму спр-ка Номенклатура, видишь картинку. После того как обработка вытащит картинку на диск, удалит ее их базы, что я увижу, открыв туже номенклатуру? Картинку, которая теперь на диске или пустоту?

    Reply
  17. Vagner_Hate

    (16)Картинка останется, просто место хранения изменится.

    Reply
  18. Vagner_Hate

    Смысл обработки — разгрузить базу 1с от «лишних» данных(в данном случае это картинки), но при этом сохранить функциональность(чтобы картинки точно также можно было просматривать, добавлять, удалять)

    Reply
  19. realEvgenius

    (18) Ок, спасибо! Попробую…

    Reply
  20. realEvgenius

    (18) Хотя, нет… Как попробую… Неизвестно же на КА2.2. будет работать или нет?

    Reply
  21. Vagner_Hate

    Напишите почту, я вам скину, попробуете.

    Reply
  22. realEvgenius

    (21) Заманчиво…

    zueval@mail.ru Сколько стоить будет в случае успеха, куда платить?

    Reply
  23. Vagner_Hate

    Отправил вам на почту.

    Reply
  24. realEvgenius

    Получил обработку…

    Обращаю внимание, что обработка не чистит базу, не удаляет загруженные картинки…

    В базе остаются все картинки, занимают место как и прежде, обработка делает копию на диск и перецепляет пути…

    Элементы справочника «НоменклатураПрисоединенныеФайлы» не удаляются, Хранилише, где лежат бинарники не очищается…

    Удаляются только записи регистра сведений «ПрисоединенныеФайлы». Эти записи нисколько не весят, однако их удаление делает невозможным очистить Хранилище, тоесть бинарники остаются там навсегда, занимают место…

    Все невысказанное — мои выводы, на 100% достоверность не претендую… Возможно я не до конца грамотный, поправьте, кто разбирается в вопросе…

    Сделал свою обработку, которая реально базу чистит…

    Проверил, выгружая ДТ…

    Reply
  25. Vagner_Hate

    (24)Начнем с того, что обработка для УТ 11, а у вас КА 2.2. И я перед тем как БЕСПЛАТНО ее вам предоставить на тестирование писал про то, что с данной конфой не проверялась. Естественно, в разных конфигурациях хранение файлов может быть организованно по-разному.В данном случае так оно и есть, но это не повод писать, что «Обращаю внимание, что обработка не чистит базу, не удаляет загруженные картинки».

    Reply
  26. realEvgenius

    Хранение в УТ11 и КА2 организованно одинаково, было б по-разному, я бы не писал…

    В УТ11 также есть Справочник «НоменклатураПрисоединенныеФайлы», также регистр сведений «ПрисоединенныеФайлы», в реквизите которого «ХранимыйФайл» — собственно и есть ссылка на ХранилищеЗначения, где и сидит файл…

    В части функционала очистки Ваша обрабработка только лишь удаляет записи регистра сведений «ПрисоединенныеФайлы», удаляя связь объекта и хранилища, лишая пользователя возможности в дальнейшем почистить базу. Файл так и остается в хранилище…

    Повод писать, что не чистит, не удаляет и не переносит — достаточно посмотреть код… Также я сделал тестовую «Очистку», чтобы точно убедиться…

    Переименуйте тему из «Перенос файлов, хранящихся в базе 1С, на диск» в «Копирование файлов, хранящихся в базе 1С, на диск»

    В противном случае Вы обманываете пользователей…

    Насчет БЕСПЛАТНО — я бесплатно не просил… И даже предложил денег…

    Reply
  27. Vagner_Hate

    (26)Возьмем типовую конфигурацию УТ 11.2(а точнее 11.2.3.95) В регистре сведений»Присоединенные файлы» имеется одно измерение Присоединенный файл(ОпределяемыйТип.ПрисоединенныйФайл в этот тип в том числе входит и тип справочника «Номенклатура присоединенные файлы») и один ресурс ХранимыйФайл(тип хранилище значения). Так вот, в случае удаления записи данного регистра, данные физически исчезнут из базы, т.к. сами они непосредственно и хранятся в нем. О каком еще хранилище вы ведете речь? Если можете, приведите ссылку на официальную документацию 1с об этом.

    Reply
  28. Vagner_Hate

    +(27)Даже в свойствах данного ресурса указано «Двоичные данные файла»

    Ссылка на скрин: https://yadi.s

    Reply
  29. realEvgenius

    Сейчас еще раз проверю на копии базы… База большая 120 гб… Долго ворочается…

    Если Не против выложу мой модуль, который мне обрезал базу, удалил картинки, и Ваш модуль, от которого эффекта «Разгрузить базу от лишних данных» нет…

    Reply
  30. Vagner_Hate

    (29)Можете выложить свой код, думаю будет наглядней.

    Reply
  31. Vagner_Hate

    +(30)Я могу допустить ситуацию, что по какой-то причине в базе с конфой КА 2.2, данные этого регистра не очистились, тогда да — естественно размер базы не изменится. Но если удалить сами записи регистра, то все, данных файлов больше не будет. Никакого доп

    Reply
  32. Vagner_Hate

    Да, еще момент, я проверял на файловой базе. Возможно в плане хранения файлов на клиент-серверной версии имеются какие-то отличия, поэтому было бы интересно узнать у вас о них.

    Reply
  33. realEvgenius

    (31) «базе с конфой КА 2.2, данные этого регистра не очистились, »

    Записи регистра удалились, с этом проблем нет… Файлы в Хранилище остались…

    Reply
  34. Vagner_Hate

    (33) Поясните, о каком хранилище вы ведете речь.

    Reply
  35. Vagner_Hate

    +(34)Вы видели скрин из УТ 11.2? Там явно указано, что в ресурсе Хранимый файл хранятся именно двоичные данные файла.

    Reply
  36. realEvgenius

    У регистра «ПрисоединенныеФайлы» есть ресурс «ХранимыйФайл», он имеет вид «ХранилищеЗначения».

    Я его сначала очищаю присваивая значение Неопределено, затем удаляю запись регистра.

    Пробовал просто удалить запись регистра, на размер базы, выгружаемой в ДТ никак не повлияло…

    Reply
  37. realEvgenius

    (35) Этот «ХранимыйФал» надо прежде очистить, присвоив ему значение «Неопределено»

    Reply
  38. realEvgenius

    (35) Там явно написано подсказка разработчика «Двоичные данные»… Мы знаем, что только разработчики не пишут… Это — ничего не значит…

    Там не написано, что для удаления двоичных данных достаточно удалить запись регистра.

    Прогнал еще раз обработками…

    Ваша — безрезультатно, если очистить хранилище — база сильно похудела…

    Разница в ДТшках в 40 раз

    Reply
  39. Asaharu

    На месте администрации, обратил бы внимание на эту публикацию. Смысл этой обработки? тем более за 10СМ?

    Штатная обработка переноса файлов (которая есть в БСП) нормально справляется с переносом файлов.

    Если есть ошибка, значит что-то сделали не правильно (могу предположить, что пользователь, под которым крутится 1С не имеет прав доступа для записи в указанный каталог)

    Reply
  40. realEvgenius

    (39) Стандартная обработка не работает с картинками, которые хранятся в базе через регистр «ПрисоединенныеФайлы». Она для чего-то другого нужна, щас так не вспомню… Она у всех показывает «0» файлов. В следующей версии БСП хотели, вродь сделать штатно чтоб работала с Присоединеннымифайлами

    Reply
  41. Asaharu

    Проверил, таки да. Штатная обработка для подсистемы «ПрисоединенныеФайлы» не годится.

    Моя вина, я постоянно работал с подсистемой «РаботаСФайлами», для которой и предназначена обработка переноса файлов. Она проще в плане администрирования была, вот ей и пользуются.

    И все равно, 10СМ за то, что в коде пробежаться по РС «ПрисоединенныеФайлы», получить двоичные данные, добавить файл в том, заполнить Том и Путь для справочника [ * ПрисоединенныеФайлы], много как-то.

    Reply
  42. Vagner_Hate

    (36)Хм..интересно, проверял на файловой и на тот момент точно работало. Т.е. без всяких «доп.телодвижений», достаточно удалить запись и данные файлов из базы пропадут. Значит на клиент-серверной своя особенность.

    Reply
  43. Vagner_Hate

    (37)Честно говоря, в документации по 1с нигде не встречал такого, видимо это из серии «практического опыта»

    Reply
  44. Vagner_Hate

    (41)Может быть, но вывесил тут без цели обогащения) Да и у пользователя всегда есть выбор найти более дешевый аналог.

    Reply
  45. Asaharu

    (44)

    Без цели? ну, ну… Вот кому интересно, вариант за 1СМ с интерфейсом. Перенос присоединенных файлов в тома

    Reply
  46. Vagner_Hate

    (42)Потестировал опять-таки на файловой базе. Как и говорил в самом начале, для окончательного уменьшения размера базы, помогает Тестирование и исправление с флажком Сжатие таблиц информационной базы. В любом случае, после массового удаления данных из базы, это будет полезно для нее самой(аналог — операция дефрагментации в операционной системе)

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *