Подключение нового объекта конфигурации к подсистеме по работе с файлами

Здравствуйте.

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

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

Решение данной задачи будем осуществлять на конфигурации «1С: Управление торговлей 11.2», но все действия можно применять и к другим конфигурациям, содержащим БСП (ЗУП 3, БУ 3, ERP 2 и т.д.).

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

Снять с поддержки конфигурацию

Редактирование с сохранением поддержки

2. Добавим новый документ с произвольной структурой

Новый документ

3. Добавим копированием новый справочник «БСП_НовыйДокументПрисоединенныеФайлы» и в реквизите «ВладелецФайла» изменим тип на «ДокументСсылка.БСП_НовыйДокумент». Для копирования был выбран справочник «ЗаказКлиентаПрисоединенныеФайлы».

Новый справочник присоединенных файлов

Также не забываем изменить описание и представление объекта.

4. Добавляем в определяемые типы «ВладелецПрисоединенныхФайлов», «ПрисоединенныйФайл», «ПрисоединенныйФайлОбъект» новые объекты.

ПрисоединенныйФайлОбъект

ПрисоединенныйФайлОбъект НовыйТип

ПрисоединенныйФайл

ПрисоединенныйФайл НовыйТип

ВладелецПрисоединенныхФайлов

ВладелецПрисоединенныхФайлов НовыйТип

5. Если необходимо добавить возможность копирования присоединенных файлов при копировании документа, то необходимо в параметры формы документа добавить параметр «ЗначениеКопирования» и сделать его ключевым.

Копирование присоединенных файлов

В модуль формы добавить процедуру «ПриЗаписиНаСервере».

 
&НаСервере
Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
	ПрисоединенныеФайлы.ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи, Параметры);
КонецПроцедуры

6. Для отображения в форме списка наличия прикрепленных файлов необходимо доработать форму списка.

Изменим текст запроса списка

 
ВЫБРАТЬ
	ДокументБСП_НовыйДокумент.Ссылка,
	ДокументБСП_НовыйДокумент.ПометкаУдаления,
	ДокументБСП_НовыйДокумент.Номер,
	ДокументБСП_НовыйДокумент.Дата,
	ДокументБСП_НовыйДокумент.Проведен,
	ДокументБСП_НовыйДокумент.Реквизит1,
	ДокументБСП_НовыйДокумент.Реквизит2,
	ДокументБСП_НовыйДокумент.МоментВремени,
	ВЫБОР
		КОГДА НаличиеПрисоединенныхФайлов.ЕстьФайлы ЕСТЬ NULL 
			ТОГДА 1
		КОГДА НаличиеПрисоединенныхФайлов.ЕстьФайлы
			ТОГДА 0
		ИНАЧЕ 1
	КОНЕЦ КАК ЕстьФайлы
ИЗ
	Документ.БСП_НовыйДокумент КАК ДокументБСП_НовыйДокумент
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НаличиеПрисоединенныхФайлов КАК НаличиеПрисоединенныхФайлов
		ПО ДокументБСП_НовыйДокумент.Ссылка = НаличиеПрисоединенныхФайлов.ОбъектСФайлами

В форму списка добавим колонку «ЕстьФайлы» и изменим настройки отображения.

Наличие прикрепленных файлов

7. Тестирование.

Запускаем режим «1С:Предприятие» и с помощью обработки из набора внешних обработок библиотеки стандартных подсистем «ИнструментыРазработчикаОбновлениеВспомогательныхДанных.epf» обновляем наши новые данные.

Обновление вспомогательных данных

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

Форма документа
Кнопка "Файлы"

Прикрепленный файл
Прикрепленный файл документа

Популярность: 32%

Запись опубликована в рубрике Настройка и оптимизация с метками . Добавьте в закладки постоянную ссылку.

40 Responses to Подключение нового объекта конфигурации к подсистеме по работе с файлами

  1. Владимир говорит:

    спасибо за толковую статью

  2. Владимир говорит:

    но без указания типа реквизита владелецФайла в справочнике ЭДПрисоединенныеФайлы не завелось (УТ 11.2.3.177 )

    • Сергей Сопелев говорит:

      Здравствуйте. Про версию 11.2.3.177 ничего не могу сказать, т.к. статься писалась по версии 11.2.3.185, возможной что-то доработали к данному релизу.

  3. Светлана говорит:

    Спасибо. В бухгалтерии КОРП 3.1 все работает

  4. Евгений говорит:

    Спасибо. Полезная статья

  5. Mike Frigin говорит:

    Спасибо!
    Одна из немногих статей размещенных в инете (а ищу я настойчиво), по материалам которой можно быстро создать рабочий код.
    Проверено на БСП 2.3.6.196 в ЕРП 2.2.4.
    Еще раз СПАСИБО 🙂

  6. Дмитрий говорит:

    Также необходимо добавить свой документ в ОбщиеКоманды-ПрисоединенииыеФайлыБП

  7. Алексей говорит:

    ERP 2.1.3.143. В документе перехожу к присоединенным файлам, нажимаю кнопку «Добавить», выбираю необходимый файл, кнопка «Открыть» (стандартный диалог выбора файла Windows) и ERP выдает ошибку: «Ошибка при добавлении присоединенного файла «TestFile.txt»: Не заполнен владелец в файле». Вроде делал все по инструкции, есть идею куда смотреть?

    • Сергей Сопелев говорит:

      Могу предположить, что в новом справочнике, где хранятся файлы, например «КакойтоДокументПрисоединенныеФайлы», в реквизите «ВладелецФайла» указан не верный тип документа

      • Алексей говорит:

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

  8. stan.intk говорит:

    Все получилось, своя нетленка, БСП 3.0.2

    Автору — респект…

  9. Яков говорит:

    Добрый день!
    Как появилась кнопка «Файлы»?

    • Сергей Сопелев говорит:

      Добрый день. Данная кнопка появляется автоматически. Пример на сайте создан на версии БСП 2.3.2.72. Если у Вас более новая версия, то возможно есть дополнительные действия.
      Например для 3.0.2 надо в процедуре «ПриСозданииНаСервере» добавить

      
      // СтандартныеПодсистемы.РаботаСФайлами
      ГиперссылкаФайлов = РаботаСФайлами.ГиперссылкаФайлов();
      ГиперссылкаФайлов.Размещение = "КоманднаяПанель";
      РаботаСФайлами.ПриСозданииНаСервере(ЭтотОбъект, ГиперссылкаФайлов);
      // Конец СтандартныеПодсистемы.РаботаСФайлами
      
  10. n говорит:

    Спасибо отличный материал, все получилось, но ее могу разобраться какие права нужно дать пользователю при работе с файлами для нового документа. Например при открытии файлов в документа реализации все ок, при открытии файлов у нового документа нарушение прав доступ, на документ права полные, на созданный справочник присоедененных файлов так же полные права. Чего может не хватать? БП 3.0.68.66

    • Сергей Сопелев говорит:

      Еще в подсистеме работы с файлами используется регистр сведений «ПрисоединенныеФайлы», но это будет как то странно, потому что обычно достаточно прав на справочник и документ.

  11. Лариса говорит:

    Спасибо, все получилось как нужно за считанные минуты для ЗУП 3.1.10.
    Только не смогла сделать, чтобы вместо надписи «Присоединенные файлы» была картинка со скрепкой.

  12. Елена говорит:

    Огромная благодарность за подробное объяснение!!!

  13. Ольга говорит:

    Все получилось в erp,кроме одного- не под полными правами не получается прикрепить файлы(((

    • Сергей Сопелев говорит:

      Здравствуйте. Проверьте права на новый справочник присоединенных файлов, они должны быть такие же как и на основной объект.

      • Ольга говорит:

        Все было, добавила права на справочник версии файлов и все заработало, спасибо!!!

      • Ольга говорит:

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

  14. Ольга говорит:

    Сергей, все получилось, спасибо! А как сделать, чтобы при копировании файлы не копировались в новом документе?

  15. Ольга говорит:

    Сергей подскажите пожалуйста почему файлы не пишутся в регистр сведений НаличиеФайлов?Значок скрепки в форме списка появляется только при наличии записи.

    • Сергей Сопелев говорит:

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

  16. Иван говорит:

    Сергей, спасибо большое за статью, но я столкнулся со следующей ошибкой, при попытке записать файл:
    «Ошибка при добавлении присоединенного файла «Документ Microsoft Word.docx»:
    Запись не верна! Значение поля «Файл» не может быть пустым!: ДвоичныеДанныеФайлов: (Регистр сведений: Двоичные данные файлов)
    »
    С самим файлом все в порядке, в другие справочники, этот файл крепится без проблем.

    • Иван говорит:

      Разорался, неправильно указывал значения в определяемых типах «ПрисоединенныйФайл», «ПрисоединенныйФайлОбъект» ,там нужно указать ссылку на справочник «хранитель» файлов

  17. Евгений говорит:

    Огромная благодарность за материал.
    Все работает. Но почему-то в форме появились две гиперссылки «Файлы».

  18. Елена говорит:

    на версии УТ 11.4.13.57 нет ПрисоединенныеФайлы.ПриЗаписиНаСервере()

  19. Андрей говорит:

    + УНФ 1.6

    • Андрей говорит:

      делал по инструкции.
      в предприятии при попытке добавить файл пишет ошибку
      Ошибка при добавлении присоединенного файла «111.epf»:
      Значение поля «Владелец» не заполнено или заполнено неверно.

  20. Тагир говорит:

    Сергей, спасибо за сэкономленное время!
    УТ 11.4.13.57, всё работает, только регистр сведений называется НаличиеФайлов.

  21. Никита говорит:

    УНФ 1.6.24.92 Работает. Спасибо =)

  22. Иван говорит:

    Большое спасибо, все получилось

Добавить комментарий для Mike Frigin Отменить ответ

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.