Имя: Пароль:
1C
1С v8
Копирование двоичиного файла
0 Soulseller76
 
22.02.19
15:08
Был код в расширении для копирования вложенных файлов из одного документа в другой.

        НоваяСтрокаСправочника = Справочники.бит_кзн_ЗаявкаНаРасходованиеСредствПрисоединенныеФайлы.СоздатьЭлемент();
        ЗаполнитьЗначенияСвойств(НоваяСтрокаСправочника, СтрокаТЗ);
        НоваяСтрокаСправочника.ВладелецФайла = ДокументПланирования;
        НоваяСтрокаСправочника.Записать();

То есть, из документа "Приобретения ТиУ" в "Заявка на расходование ДС" (которая делается на основании первого документа) должны мигрировать вложенные файлы.
Сами файлы - двоичные данные. Ссылки на них хранятся в справочниках "Присоединенные файлы (Приобретение товаров услуг)" и "Присоединенные файлы (Заявка на расходование денежных средств)" соответственно.
Я сначала делаю запрос к первому справочнику и потом в цикле заполняю второй справочник.
Какое-то время этот код работал. А потом (видимо, после обновления) перестал.
Теперь получаю сообщение:

Не удалось открыть файл:
КЛИЕНТЫ.xlsx
который присоединен к:
Присоединен к Заявка на расходование ДС : Заявка на расходование ДС 77КА-006479 от 22.02.2019 15:04:45
по причине: двоичные данные файла были удалены. Возможно, файл очищен как ненужный.
Обратитесь к администратору

Что происходит? Почему не работает? Что я не так делаю?
1 dka80
 
22.02.19
15:22
Судя по префиксам у вас разработка 1БИТ. Наверное, лучше им вопрос задать?
2 Soulseller76
 
22.02.19
15:27
(1) Спросить у них почему мой код не работает? ))))))
Если "руками" я загружаю в документ файл, то они оттуда открываются.
А при копировании - нет. Значит, не функционал не работает, а именно мой код.
Но в чем дело - никак не пойму.
Я сравнивала уже по реквизитно данные - все идеально.
Но один файл открывается (тот, что руками добавила), а второй - нет!!! ((((
3 FIXXXL
 
22.02.19
15:35
(0) точку останова на
НоваяСтрокаСправочника.Записать();
и посмотри ДвоичныеДанные в новом Элементе
4 Вафель
 
22.02.19
16:20
лучше не копировать, а в списке отображать файлы связного документа
5 Soulseller76
 
22.02.19
16:27
(4) То есть, подменить отражение списка при открытии из документа 2?
6 eTmy
 
22.02.19
16:30
Сами файлы где хранятся? в хранилище значений?
7 Вафель
 
22.02.19
16:30
(5) типа того
8 Soulseller76
 
22.02.19
16:31
(6) Да, в базе.
9 eTmy
 
22.02.19
16:36
в (4) правильно вам подсказывают... Зачем копировать объекты и захламлять базу, когда можно держать ссылку на двоичный файл и по ней открывать.
10 Cyberhawk
 
22.02.19
17:11
(9) В БСП для разных типой документов/справочников будет свой справочник присоединенных файлов
11 Soulseller76
 
22.02.19
17:18
(9) В общем, гуглить в направлении - ссылка на двоичные файлы в базе. Верно? )
12 Soulseller76
 
25.02.19
12:36
Все, разобралась.
Мало было писать в справочник. Требовалось добавить запись в РС"ДвоичныеДанныеФайлов".
И сразу все заработало. )