Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Сохранение внешнего отчета в хранилище          
Constantus Подменю пользователя
сообщение 31.01.22, 13:20
Сообщение #1

Ветеран
*******
Группа: Пользователи
Сообщений: 962
Спасибо сказали: 8 раз
Рейтинг: 0

Приветствую, Форумчане!
УПП, полный перепис, адаптация под УФ

Имеется справочник "НастройкиВыгрузки".
В справочнике есть реквизиты:
"ПутьКФайлу" (строка)
"ВнешнийОтчет" (тип: ХранилищеЗначения)

На форме справочника есть кнопка выбора внешнего отчета "Выбрать отчет": открывает диалог выбора файла, выбирает внешний отчет. Код нажатия кнопки:

&НаКлиенте
Процедура ВыбратьОтчет(Команда)
ЗначениеВозврата = ВыбратьФайл ();
ИмяФайлаЗнешнейОбработки = ЗначениеВозврата.ПолноеИмяФайлаОбработки;
Объект.ПутьКФайлу = ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(ИмяФайлаВнешнейОбработки));
ВыбратьОтчетНаСервере();
КонецПроцедуры


Зачем-то используется процедура

Процедура ВыбратьОтчетНаСервере()

ОтчетДвоичныеДанные = ПолучитьИзВременногоХранилища(Объект.ПутьКФайлу);
ПутьКЗнешнемуФайлу = ПолучитьИмяЗременногоФайла (" . erf ");

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

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


перед записью справочника:

&НаСервере
Процедура ПередЗалисью (Отказ)

Если НЕ ПустаяСтрока(ПутьКФайлу) Тогда
ВнешнийОтчет = ПолучитьИзВременногоХранилища(ПутьКФайлу);
УдалитьИзВременногоХранилища(ПутьКФайлу);
ПутьКФайлу = "";
КонецЕсли;

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


Проблема заключается в том, что реквизит "ВнешнийОтчет" сохраняется только после 3-х кратного выбора файла внешней обработки. Т.е. нужно 3-жды выбрать обработку и сохранить, и тогда "ВнешнийОтчет" принимает какое-то значение (показывает отладчик как двоичные данные FF 00 DD...)

Никак не могу понять почему нужно выбрать и сохранить 3-и раза. Подскажите, что может быть?

andr_andrey Подменю пользователя
сообщение 31.01.22, 13:59
Сообщение #2

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 635
Спасибо сказали: 171 раз
Рейтинг: 136.4

Constantus @ Сегодня, 13:20 * ,
ПоместитьВоВременнсеХранилище - это опечатка?


Signature
#define private public
enum BOOL { FALSE, TRUE, FILENOTFOUND } is made my day

Constantus Подменю пользователя
сообщение 31.01.22, 14:32
Сообщение #3

Ветеран
*******
Группа: Пользователи
Сообщений: 962
Спасибо сказали: 8 раз
Рейтинг: 0

andr_andrey @ Сегодня, 17:59 * ,
Да. Опечатка.

Vofka Подменю пользователя
сообщение 31.01.22, 17:10
Сообщение #4

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13988
Из: Киев
Спасибо сказали: 4562 раз
Рейтинг: 3690.8

Constantus, в ПоместитьВоВременноеХранилище кажется вторым параметром можно передать идентификатор формы. Если этого не делать, то после того, как закончится серверный вызов, нету гарантий, что во временном хранилище будет то, что вы туда ложили чуть ранее.

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 01.11.24, 1:45
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!