Имя: Пароль:
1C
 
Получить файл из справочника файлов и отправить почтой
0 step
 
21.11.18
13:49
Подскажите, какой путь лучше выбрать.
Не удается получить файл из справочника "Файлы"
Пробовал так:

Функция ВернутьФайл(ИмяФайла)
ЭлементСправочника=Справочники.Файлы.НайтиПоНаименованию(ИмяФайла);    
ФайлВложение=ЭлементСправочника.ПолучитьОбъект();
Адрес=ПоместитьВоВременноеХранилище(ФайлВложение,ЭтаФорма.УникальныйИдентификатор);
Возврат Адрес;
    КонецФункции

Получаю:
Адрес=ПоместитьВоВременноеХранилище(ФайлВложение,ЭтаФорма.УникальныйИдентификатор);
по причине:
Переданное значение не может быть помещено во временное хранилище
1 daixiao_re
 
21.11.18
14:02
файл как кусок двоичных данных типа документа Word и объект справочника Файл - разные вещи. Смотри где у тебя хранится содержимое файла - реквизит с типом ХранилищеЗначения.
2 step
 
21.11.18
14:17
Функция ВернутьФайл(ИмяФайла)
ЭлементСправочника=Справочники.Файлы.НайтиПоНаименованию(ИмяФайла);    
  

ФайлВложение=ЭлементСправочника.ФайлХранилище;
//Адрес=ПоместитьВоВременноеХранилище(ФайлВложение,ЭтаФорма.УникальныйИдентификатор);
Возврат ФайлВложение;
    КонецФункции

Возвращет "ХарнилищеЗначения"
Носам , как я понимаю, путь к файлу я узнать не могу ...

Просто какой то тупик в голове.
3 step
 
21.11.18
14:28
Уже лучше....

Каталог не обнаружен 'e1cib\tempstorage\79b7b7c7-8779-4a74-b742-506e7d869dbc'

получилось так:
Функция ВернутьФайл(ИмяФайла)
ЭлементСправочника=Справочники.Файлы.НайтиПоНаименованию(ИмяФайла);    
  

ФайлВложение=ЭлементСправочника.ФайлХранилище.Получить();
Адрес=ПоместитьВоВременноеХранилище(ФайлВложение,ЭтаФорма.УникальныйИдентификатор);
Возврат Адрес;
    КонецФункции
4 step
 
21.11.18
15:52
Проблема остается. Может кто делал подобное?
Попробовал через ДанныеФайла=РаботаСФайламиКлиент.ДанныеФайла(Адрес);

Тоже не получается....
5 Пес Барбос
 
21.11.18
16:18
Если типовая, то поищи в общих модулях (у меня из ERP)

ПрисоединенныеФайлы.ПолучитьДвоичныеДанныеФайла(...
РаботаСФайлами.ДвоичныеДанныеФайла(...
6 step
 
22.11.18
09:57
Все получилось.
Вдруг кому то пригодиться:

&НаСервере
Функция ВернутьФайл(ИмяФайла)
ЭлементСправочника=Справочники.Файлы.НайтиПоНаименованию(ИмяФайла);    

Файл=РаботаСФайлами.ДвоичныеДанныеФайла(ЭлементСправочника);
Возврат Файл;
    КонецФункции

Кусок кода по отправке письма:

&НаКлиенте
ЭлементФайл= ЭтаФОрма.Объект.ТабличнаяЧасть1.Получить(0);
ПутьКФайлу=ВернутьФайл(ЭлементФайл.Файл);
Письмо.Вложения.Добавить(ПутьКФайлу);
7 step
 
22.11.18
09:57
Спасибо   Пес Барбос !)