Добрый день, в базе есть присоединенные файлы привязанные к одному объекту, как мне сделать копию этого файла и привязать к другому объекту?

Пример:
В документе поступления товаров есть файл 11.xls
мне нужно к документу реализация сделать копию этого файла 11.xls и привязать его к этой реализации.

Делаю созданием нового справочника, копирую все данные из исходника и записываю новый справочник присоединенный файл. Сам файл появляется но он пустой, при его открытии система выдает что файл был удален или отчищен.
---
РЕШЕНИЕ:

Переписал типовую процедуру
Процедура СкопироватьПрисоединенныеФайлы(Знач Источник, Знач Получатель) Экспорт

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

Это оказалось более правильным и простым решением, чем заниматься сохранением файла на диск, затем загрузкой удалением и т.д.
---
Увы, сегодня этого нельзя сделать через БСП.
Когда-то это будет реализовано, наверно.
Можно только файл ещё раз прикрепить к другому объекту (будет две копии одного файла).

Только самостоятельно придумать механизм реализации.
Логику можете подсмотреть в linux, где есть файлы и есть ссылки на файлы.
Поиск в интернете: "Символические и жесткие ссылки в Linux"
---
Увы, сегодня этого нельзя сделать через БСП. ЧЕГОЙ_ТО???
Одной строчкой - нельзя.
А вот если разбить процесс исполнения своей хотелки на три последовательных логических действия - то вполне себе можно обойтись тремя строчками кода из БСП.
Даже двумя из БСП, и одной не из БСП.
---
НУ вот пример бы, я только пока вижу вариант сохранить файл на сервере во временную папку затем от туда загрузить его в новый документ и прикрепить.
---
И ты конечно же уже его проверил и реализовал? Или все-таки ждешь какое-то заклинание из одной строчки кода?
---
да хотелось бы заклинание даже из 3х строчек как ты написал, буду благодарен. Так как заниматься копированием файла на жесткий диск такое себе дело.
---
Ну жди тогда. Если не хочешь читать документацию по ссылке из (8).
Ну или реализуй полностью свой вариант алгоритма, который не использует диск.
Делов-то...
---
Не понимаю сложностей
1. Программно получить рандомное имя временного файла (или не получать, а использовать хардкодное)
2. Прочитать по ссылке из Источника ДД (БСП)
3. Сохранить ДД из п.2. в файл с именем из п.1. в темп
4. Добавить рандомный файл из п.3. в Приемник по ссылке (БСП)
5. Удалить рандомный файл из п.3. из темпа. (если он НЕ самоочищающийся)

Пять строчек. ПЯТЬ, КАРЛ!!!
Но можно и исключить 1 и 5 строчки. Останется ТРИ.
---
Фантазёр))

Нужно записать файл.
Нужно удалить файл. (одну из ссылок)
Нужно помечать на удаление файл.

Вообще странная помощь на форуме, когда говорят иди читай, я тебе не скажу.
---
Нужно записать файл. Да, и что? Это как раз и есть строчка НЕ из БСП
Нужно удалить файл. (одну из ссылок) Нет такого в постановке автора. У него есть задача СКОПИРОВАТЬ. А не удалять что-то потом.
Нужно помечать на удаление файл. Читай выше.

То есть ты реально считаешь, что подсказать верное направление - это не помощь. А помощь - это только когда сделать ВМЕСТО.
Верно?
---
помощь это когда помогли быстро решить вопрос) А не сказали вон лопата, вон куча навоза, копай) тут нужно было бы сказать, вот Васильич у него есть трактор , вызови его он за 3 минуты навоз перекинет)

в общем напишу код выложу тут, кому то может пригодится потом)
---
вызови его он за 3 минуты навоз перекинет) И за определенное количество рублей. А бесплатно - могу только посоветовать надеть перчатки перед использованием лопаты.
---
Оттого, что купил точно такой же холодильник как у соседа - соседская водка в холодильнике не появится сама собой.
В присоединенных файлах хранится только описание файла. Самого файла там нет.
А даже если и есть - то при копировании элемента справочника он по любому очищается.

Можешь написать свой механизм копирования элементов справочников присоединенных файлом и заменить им типовой.
---
а что нельзя как то указать этим справочника один и тот же файл из хранилища ?
---
Чтобы при удалении из одного документа он автоматически стал недоступным и во втором? Точно такая цель имеется ввиду?
---
либо скопировать файл в хранилище ?
---
Так может тогда проще просто взять и присоединить этот же файл типовыми средствами к другому документу? Сохранить на диск из существующего справочника, и записать в другой.
---
Буду благодарен за пример =)
---
Открыть документацию по БСП по подсистеме Работа с файлами.
Найти метод подсистемы, который добавит файл в присоединенные.
Получить данные существующего присоединенного файла и передать вместе с остальными параметрами в метод.
Чтобы получить данные тоже есть метод.

https://its.1c.ru/db/bsp3110doc#content:1879:hdoc

Какие сложности то?
---
можно пример пожалуйста?
---
Выше удочка, учитесь ловить рыбу самостоятельно
---
Сообщение было скрыто модератором.
---
РЕШЕНИЕ:

Переписал типовую процедуру
Процедура СкопироватьПрисоединенныеФайлы(Знач Источник, Знач Получатель) Экспорт

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

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