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

Ошибка в 1С 8.3.11 ПолучитьИмяВременногоФайла при работе с веб клиентом

Автор damir-it, 27 авг 2018, 14:27

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

damir-it

Привет Всем
Обновили конфигурацию с версии 8.2 на 8.3 , есть регистр сведений "ПрикрепленныеФайлы" для хранения файлов в ХранилищеЗначений, в обычном режиме файлы свободно сохраняются и открываются, а вот при открытии в веб клиенте сразу выскакивает окно с ошибкой Процедура или функция с указанным именем не определена
(ПолучитьИмяВременногоФайла) опыта в разработке пока мало подскажите где подправить?
вот полный код модуля формы:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
   ЗаписьЗнч = РеквизитФормыВЗначение("Запись");
   Если ЗаписьЗнч.Файл.Получить() <> Неопределено Тогда
      Элементы.ОткрытьФайл.Видимость = Истина;
   Иначе
      Элементы.ОткрытьФайл.Видимость = Ложь;
   КонецЕсли;
   Если ЗаписьЗнч.Файл.Получить() <> Неопределено Тогда
      Если Не РольДоступна(Метаданные.Роли.ПолныеПрава) Тогда
         Элементы.Период.ТолькоПросмотр = Истина;
         Элементы.Владелец.ТолькоПросмотр = Истина;
         Элементы.Комментарий.ТолькоПросмотр = Истина;
         Элементы.Автор.ТолькоПросмотр = Истина;
      КонецЕсли;
   КонецЕсли;
   КонецПроцедуры

&НаСервере
Процедура ЗагрузитьФайл(Файл)
   ЗаписьЗнч = РеквизитФормыВЗначение("Запись");
   ЗаписьЗнч.Файл = Новый ХранилищеЗначения(ПолучитьИзВременногоХранилища(Файл), Новый СжатиеДанных(9));
   ЗначениеВРеквизитФормы(ЗаписьЗнч, "Запись");
   ЗаписьЗнч.Записать();
   ЭтаФорма.Прочитать();
КонецПроцедуры

&НаСервере
Функция РольДоступнаПолныеПрава()
   Возврат РольДоступна(Метаданные.Роли.ПолныеПрава);
КонецФункции

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

&НаСервере
Функция ВыгрузитьФайл()
   ЗаписьЗнч = РеквизитФормыВЗначение("Запись");
   Возврат ПоместитьВоВременноеХранилище(ЗаписьЗнч.Файл.Получить());
КонецФункции

&НаКлиенте
Процедура ОткрытьФайл(Команда)
          
   файлВремХр = ВыгрузитьФайл();
   ИмяВрФайла = ПолучитьИмяВременногоФайла(Запись.ИмяФайла);
   ПолучитьФайл(файлВремХр, ИмяВрФайла, Ложь);
   ЗапуститьПриложение(ИмяВрФайла);
КонецПроцедуры

&НаКлиенте
Процедура ПриОткрытии(Отказ)
   
   Если Элементы.ОткрытьФайл.Видимость И Не РольДоступнаПолныеПрава() Тогда
      ОткрытьФайл(Неопределено);
      ЭтаФорма.Закрыть();
   КонецЕсли;
   Если Не ЗначениеЗаполнено(Запись.ИмяФайла) Тогда
      Запись.Автор=НазначитьАвтора();
      Попытка
         //Запись.Владелец = ЭтаФорма.ВладелецФормы.Родитель.Документ;
         //Запись.Автор=ПолучитьАвтора();
      Исключение
         
      КонецПопытки;
   КонецЕсли;
КонецПроцедуры
С Уважением Дамир


Golickoff

&НаКлиенте
Процедура ОткрытьФайл(Команда)
   
   файлВремХр = ВыгрузитьФайл();
   ИмяВрФайла = ПолучитьИмяВременногоФайла(Запись.ИмяФайла);
   ПолучитьФайл(файлВремХр, ИмяВрФайла, Ложь);
   ЗапуститьПриложение(ИмяВрФайла);

КонецПроцедуры

меняем на
&НаКлиенте
Процедура ОткрытьФайл(Команда)
   #Если ВебКлиент Тогда
        Возврат;
    #Иначе
   файлВремХр = ВыгрузитьФайл();
   ИмяВрФайла = Выполнить("ПолучитьИмяВременногоФайла(Запись.ИмяФайла)");
   ПолучитьФайл(файлВремХр, ИмяВрФайла, Ложь);
   ЗапуститьПриложение(ИмяВрФайла);
    #КонецЕсли
КонецПроцедуры
Правило поведения на форуме №6: Не следует пытаться привлечь внимание к своему сообщению ... рассылкой персональных сообщений и/или электронных писем отдельным участникам форума с просьбой ответить в теме.

damir-it

Цитата: Golickoff от 28 авг 2018, 02:14
&НаКлиенте
Процедура ОткрытьФайл(Команда)
   
   файлВремХр = ВыгрузитьФайл();
   ИмяВрФайла = ПолучитьИмяВременногоФайла(Запись.ИмяФайла);
   ПолучитьФайл(файлВремХр, ИмяВрФайла, Ложь);
   ЗапуститьПриложение(ИмяВрФайла);

КонецПроцедуры

меняем на
&НаКлиенте
Процедура ОткрытьФайл(Команда)
   #Если ВебКлиент Тогда
        Возврат;
    #Иначе
   файлВремХр = ВыгрузитьФайл();
   ИмяВрФайла = Выполнить("ПолучитьИмяВременногоФайла(Запись.ИмяФайла)");
   ПолучитьФайл(файлВремХр, ИмяВрФайла, Ложь);
   ЗапуститьПриложение(ИмяВрФайла);
    #КонецЕсли
КонецПроцедуры

выдало ошибку ИмяВрФайла =<<?>> Выполнить("ПолучитьИмяВременногоФайла(Запись.ИмяФайла)"); (Проверка: Сервер)
{РегистрСведений.ПрикрепленныеФайлы.Форма.ФормаЗаписи.Форма(68,14)}: Ожидается символ ';'

Sy4a

Цитата: damir-it от 30 авг 2018, 08:11ИмяВрФайла = Выполнить("ПолучитьИмяВременногоФайла(Запись.ИмяФайла)");
на

ИмяВрФайла="";
Выполнить("ИмяВрФайла = ПолучитьИмяВременногоФайла(Запись.ИмяФайла)");



Теги:

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

Рейтинг@Mail.ru

Поиск