Имя: Пароль:
1C
 
выгрузить картинку из 1с
0 andrewrocker
 
08.07.25
19:58
Добрый день, всем!

Не могу выгрузить картинку из 1с через метод ПолучитьИзВременногоХранилища, хотя туда скармливаю навигационную ссылку.

1с выдает крайне странную ошибку "неправильный путь к файлу" на операции ПолучитьИзВременногоХранилища.

В чем может быть причина ? Как это устранить ?
1 andrewrocker
 
08.07.25
19:58
&НаКлиенте
Процедура ВыгрузитьОбразецПодписи(Команда)
    
    АдресРезультата = ПодготовитьКартинку();
    
    Если Не ЗначениеЗаполнено(АдресРезультата) Тогда
        Возврат;
    КонецЕсли;
    
    ПараметрыПолученияФайла = Новый ПараметрыДиалогаПолученияФайлов;
    ПолучитьФайлССервераАсинх(АдресРезультата,Объект.СканПечатиИмяФайла);
    
КонецПроцедуры          

&НаСервере
Функция ПодготовитьКартинку()
    
    АдресКартинки = ПолучитьНавигационнуюСсылку(Объект.Ссылка, "СканПечати");
    ДвоичныеДанныеИзображения = ПолучитьИзВременногоХранилища(АдресКартинки);
    
    Если ДвоичныеДанныеИзображения = Неопределено Тогда
        Сообщение = Новый СообщениеПользователю;
        Сообщение.Текст = "Картинка номенклатуры не загружена";
        Сообщение.Сообщить();
        Возврат Неопределено;
    КонецЕсли;
    
    Картинка = Новый Картинка(ДвоичныеДанныеИзображения);                              
    ОбрабатываемаяКартинка = Новый ОбрабатываемаяКартинка(Картинка);
    Картинка = ОбрабатываемаяКартинка.ПолучитьКартинку();
    ДвоичныеДанныеИзображения = Картинка.ПолучитьДвоичныеДанные();
    Возврат ПоместитьВоВременноеХранилище(ДвоичныеДанныеИзображения, УникальныйИдентификатор);
    
КонецФункции
2 Волшебник
 
08.07.25
20:02
На сервере другие пути к файлам, другой пользователь, другие права.
Навигационная ссылка не является путём к файлу.
3 andrewrocker
 
08.07.25
20:14
(2) да, по этой части я тут несколько иду в роли четвероногого друга - я понимаю этот момент, я ошибку у себя исправить не могу
4 Волшебник
 
08.07.25
20:18
(3) Переходите на обычные формы.
5 andrewrocker
 
08.07.25
20:23
(4) вы знаете, тут столько всего уже в этой нетленке написано, что хочется этих несколько фич добить до приличного юзабилити.

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

у меня всё совсем не решаемо, да?
6 Волшебник
 
08.07.25
20:29
(5) Я ж пошутил. У Вас всё решаемо.
7 Волшебник
 
08.07.25
20:30
Щас спецы по УФ подтянутся и всё решат. Я просто держу ветку в топе.
8 andrewrocker
 
08.07.25
20:33
(7) вы великолепны!
9 DiMel_77
 
08.07.25
22:42
(1) Че за бред у вас в функции ПодготовитьКартинку?
Если я правильно понимаю суть ваших стараний, то должно быть что-то типа:
&НаСервере
Функция ПодготовитьКартинку()
    
    СканПечати = Объект.СканПечати.Получить();

    Если СканПечати = Неопределено Тогда
        
        Сообщение = Новый СообщениеПользователю;
        Сообщение.Текст = "Картинка номенклатуры не загружена";
        Сообщение.Сообщить();
        Возврат Неопределено;

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