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

1. belovnv 14.11.19 10:53 Сейчас в теме
Здравствуйте! Есть необходимость переноса файлов из справочника присоединенных файлов в справочник "Файлы" ERP, как это можно реализовать?
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
14. belovnv 14.11.19 14:31 Сейчас в теме
Решение проблемы:
1. Пишем запрос к регистру сведений присоединенные файлы где обходим нужные нам файлы.
2. В выборке обрабатываем хранимый файл:
ХВ = Выборка.ХранимыйФайл.Получить();
Адрес = ПоместитьВоВременноеХранилище(ХВ);

3. После создаем структуру для процедуры типовой РаботаСФайламиСлужебныйВызовСервера.СоздатьФайлСВерсией(Объект.Спецификация, СведенияОФайле);, где 1 параметром передаем спецификацию, а 2 структуру:
СведенияОФайле.Вставить("АдресВременногоХранилищаФайла", Адрес);
СведенияОФайле.Вставить("ВремяИзменения", Выборка.ПрисоединенныйФайл.ДатаСоздания);
СведенияОФайле.Вставить("ВремяИзмененияУниверсальное", Выборка.ПрисоединенныйФайл.ДатаСоздания);
СведенияОФайле.Вставить("ЗаписатьВИсторию", Истина);
СведенияОФайле.Вставить("ИмяБезРасширения", Выборка.ПрисоединенныйФайл.Наименование);
СведенияОФайле.Вставить("РасширениеБезТочки", Выборка.ПрисоединенныйФайл.Расширение);
СведенияОФайле.Вставить("ХранитьВерсии", Истина);		
СведенияОФайле.Вставить("Автор", "Автор");
СведенияОФайле.Вставить("Зашифрован", Ложь);
Показать

И уаля!)
Остальные ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
6. lefthander 14.11.19 11:22 Сейчас в теме
(1)Сначала присоединенные файлы сохранить на диск, затем добавить их в справочник файлы.
Это долго и неудобно. Можно написать обработку которая все это сделает.
9. dhurricane 14.11.19 11:51 Сейчас в теме
(1) Уточните, пожалуйста, все таки откуда и куда нужно перенести файлы?

Например, в ERP 2.4.7.141 есть библиотечная процедура переноса файлов:
РаботаСФайлами.ИзменитьСправочникХраненияФайлов(ВладелецФайлов, ИмяСправочника);
Но как я понимаю, она сохраняет за файлом его прежнего владельца. Подходит ли Вам это?
11. dhurricane 14.11.19 12:04 Сейчас в теме
(1) Если же Вам требуется "свалить" все присоединенные файлы в одну "кучу", отвязав их от прежнего владельца, рассмотрите следующие процедуры и функции:
// получение массива всех присоединенных файлов
РаботаСФайлами.ЗаполнитьПрисоединенныеФайлыКОбъекту(ВладелецФайла, Файлы);

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

// присоединение файла к новому владельцу или папке с файлами
РаботаСФайлами.ДобавитьФайл(ПараметрыФайла, АдресФайлаВоВременномХранилище);
2. user633533_encantado 11 14.11.19 11:05 Сейчас в теме
1. Справочников присоединенных файлов много. У вас какой-то конкретный ?
2. Владельцем файла в справочнике файлы могут быть только некоторые объекты, а не что угодно.
3. belovnv 14.11.19 11:09 Сейчас в теме
(2) Разницы то же нету, в данном случае справочник Ресурсные спецификации присоединенные файлы
4. user633533_encantado 11 14.11.19 11:10 Сейчас в теме
(3) вы пункт 2 читали в моем первом посте ?

А вообще какая-то нелепая задача.
5. konyashkingn 2 14.11.19 11:19 Сейчас в теме +0.5 $m
(4) ну ладно, раз вы так считаете, что нелепая задача, тогда делать ее не будем. Спасибо, что открыли нам глаза!)
8. user633533_encantado 11 14.11.19 11:43 Сейчас в теме
(5)
(7)
Ладно, убедили, не нелепая.

А по существу решения, что мешает просто скопировать элементы справочника в справочник файлы. А потом пометить скопированные на удаление.
10. lefthander 14.11.19 11:54 Сейчас в теме
(8)Нет такого функционала. Так же как не скопировать элемент одного справочника в элемент другого. Можно только через сохранить на диск и в другом справочнике добавить с диска. Просто я в ЕРП работаю, знаю. Надо в бухгалтерию глянуть как там.
12. user633533_encantado 11 14.11.19 12:32 Сейчас в теме
(10) Самому написать. На диск сохранять то зачем, файлы хранятся в хранилище значения в виде двоичных данных, их и копировать.
13. lefthander 14.11.19 14:23 Сейчас в теме
7. lefthander 14.11.19 11:29 Сейчас в теме
(4)Нормальная задача, есть присоединенные файлы к куче объектов, а в ЕРП есть хранилище файлов без привязки к объектам.
14. belovnv 14.11.19 14:31 Сейчас в теме
Решение проблемы:
1. Пишем запрос к регистру сведений присоединенные файлы где обходим нужные нам файлы.
2. В выборке обрабатываем хранимый файл:
ХВ = Выборка.ХранимыйФайл.Получить();
Адрес = ПоместитьВоВременноеХранилище(ХВ);

3. После создаем структуру для процедуры типовой РаботаСФайламиСлужебныйВызовСервера.СоздатьФайлСВерсией(Объект.Спецификация, СведенияОФайле);, где 1 параметром передаем спецификацию, а 2 структуру:
СведенияОФайле.Вставить("АдресВременногоХранилищаФайла", Адрес);
СведенияОФайле.Вставить("ВремяИзменения", Выборка.ПрисоединенныйФайл.ДатаСоздания);
СведенияОФайле.Вставить("ВремяИзмененияУниверсальное", Выборка.ПрисоединенныйФайл.ДатаСоздания);
СведенияОФайле.Вставить("ЗаписатьВИсторию", Истина);
СведенияОФайле.Вставить("ИмяБезРасширения", Выборка.ПрисоединенныйФайл.Наименование);
СведенияОФайле.Вставить("РасширениеБезТочки", Выборка.ПрисоединенныйФайл.Расширение);
СведенияОФайле.Вставить("ХранитьВерсии", Истина);		
СведенияОФайле.Вставить("Автор", "Автор");
СведенияОФайле.Вставить("Зашифрован", Ложь);
Показать

И уаля!)
Оставьте свое сообщение
Вакансии
Программист 1С
Казань
зарплата от 150 000 руб.
Полный день

Разработчик 1С
Москва
зарплата от 200 000 руб. до 300 000 руб.
Полный день

Программист 1С (удаленно)
Самара
зарплата от 230 000 руб. до 230 000 руб.
Полный день

Руководитель группы разработки 1С
Москва
зарплата от 250 000 руб. до 250 000 руб.
Полный день

Специалист техподдержки
Санкт-Петербург
зарплата от 100 руб. до 150 руб.
Полный день