Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
12 дек 2024, 08:36

Не работает функция ПоместитьФайл

Автор mahaidor, 13 апр 2014, 13:10

0 Пользователей и 1 гость просматривают эту тему.

mahaidor

Здравствуйте. Работаю в 1с 8.3.4437
Решил реализовать загрузку изображений в элементы справочников через общий модуль, так как есть несколько справочников для которых требуется загрузка рисунков. Алгоритм в модуле формы справочника работает, а если его реализовывать в общем модуле, то 1с ругается типа функция ПоместитьФайл неопределена. Ниже код:

        Процедура ОбработкаСозданияФормыНаСервере (Рисунок,ФайлРисунка,РазмерРисунка) Экспорт
      Рисунок = ПолучитьНавигационнуюСсылку(ФайлРисунка, "Файл");
              РазмерРисунка = РазмерКартинки.АвтоРазмер;
         КонецПроцедуры
--------------------------------------------------
Процедура ЗагрузитьКартинку(Рисунок,ФайлРисунка) Экспорт
ИмяФайла = "";
        ПутьФайла = "";
//Вызываем Диалоговое окно и помещаем файл изображения из локальной файловой системы во временное хранилище
Если ПоместитьФайл(ПутьФайла, , ИмяФайла, Истина) = Истина Тогда
//в строковый реквизит "Рисунок" нашей формы сохраняем ссылку на изображение во временном хранилище
Рисунок = ПутьФайла;
//для создания нового элемента в Справочнике Файлы и записи картинки в его реквизите Файл
//переходим на сервер с помощью вызова серверной процедуры
УстановитьКартинку(Рисунок,ФайлРисунка);
КонецЕсли;
//условие ЕСЛИ нужно для того, чтобы если пользователь отказался от выбора файла
//мы не вызывали серверную процедуру УстановитьКартинку()
КонецПроцедуры
----------------------------------------------------------------------------------
Процедура УстановитьКартинку(Рисунок,ФайлРисунка) Экспорт
НовыйФайлКартинки = Справочники.Файлы.СоздатьЭлемент();
//в реквизит СправочникаФайлы Файл помещаем выбранную ранее Картинку
НовыйФайлКартинки.Файл = Новый ХранилищеЗначения(ПолучитьИзВременногоХранилища(Рисунок));
Рисунок = ПоместитьВоВременноеХранилище(НовыйФайлКартинки.Файл.Получить());
//записываем новый элемент справочника Файлы
НовыйФайлКартинки.Записать();

//устанавливаем значение реквизита Картинка Справочника Сотрудники
ФайлРисунка = НовыйФайлКартинки.Ссылка;
КонецПроцедуры

mahaidor

Ошибку эту решил, добавив соответствующие директивы: &НаКлиенте и &НаСервере

Но теперь ругается на Процедуру УстановитьКартинку, типа неопределена.
Добавлено: 13 апр 2014, 13:24


Убрал директиву перед процедурой УстановитьКартинку, ошибка исправилась, но теперь 1с ругается, что не может найти конструктор ХранилищаЗначения
Добавлено: 13 апр 2014, 14:14


Чудно, это в режиме отладки не видит конструктор хранилищазначения, а если напрямую запустить режим пользователя, то все у меня работает

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск