Не работает сохранение файла (НачатьПолучениеФайлов) на веб-клиенте (IE)

1. Vida 15 18.06.19 18:00 Сейчас в теме
Добрый день!

На тонком клиенте работает отлично, а на веб-клиенте хоть файл и создается, но он пустой.
И еще почему-то выводится диалог подтверждающий сохранение (приложила), хотя по коду нигде вызова диалога нет, это IE самовольничает.

Мои переменные
1) МассивФайлов состоящий из структуры:
Имя (просто название без пути)
Хранение (адрес указывающий на значение во временном хранилище)

2)КаталогЭкспортаДокументов путь куда должно сохраняться состоит из выбранного в диалоге и "\", если не хватает

Вот кусок кода
ПолучаемыеФайлы = Новый Массив;    
Для Сч = 0 По МассивФайлов.Количество() - 1 Цикл
                
ОписаниеПередаваемогоФайла = Новый ОписаниеПередаваемогоФайла(МассивФайлов[Сч].Имя, МассивФайлов[Сч].Хранение);                
ПолучаемыеФайлы.Добавить(ОписаниеПередаваемогоФайла);
        
КонецЦикла;
ОповещениеОЗавершении = Новый ОписаниеОповещения("ВыполнитьПослеПолученияФайлов", ЭтотОбъект);                        
НачатьПолучениеФайлов(ОповещениеОЗавершении, ПолучаемыеФайлы, КаталогЭкспортаДокументов, Ложь);
Показать


При написании кода опиралась на публикацию: https://forum.infostart.ru/forum9/topic219236/

Прошу подсказок.
Прикрепленные файлы:
Вознаграждение за ответ
Показать полностью
Найденные решения
8. Sashares 34 19.06.19 10:48 Сейчас в теме +0.14 $m
(1) Вы там потом нигде адрес временного хранилища не очищаете, в которых файлы лежат, например, после приложенного тут кода?
Либо может при помещении во временное хранилище не указываете ГУИД?
19. acanta 19.06.19 23:35 Сейчас в теме +0.14 $m
В другом браузере? Замер производительности на веб клиенте возможен?
21. acanta 19.06.19 23:44 Сейчас в теме
Хром? Edge? Версия Виндоус?
Остальные ответы
Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
3. spacecraft 19.06.19 10:39 Сейчас в теме
(1)
Мои переменные
1) МассивФайлов состоящий из структуры:
Имя (просто название без пути)

Читаем СП:
Новый ОписаниеПередаваемогоФайла(<Имя>, <Хранение>)
Параметры:

<Имя> (необязательный)

Тип: Строка.
Положение файла на клиенте.

Имя должно быть полным (с путем расположения файла).
6. Vida 15 19.06.19 10:46 Сейчас в теме
(3)Пробовала и так и так - аналогичный результат.

В том смысле, что если полный путь в ОписаниеПередаваемогоФайла
то в НачатьПолучениеФайлов третий параметр пустой
8. Sashares 34 19.06.19 10:48 Сейчас в теме +0.14 $m
(1) Вы там потом нигде адрес временного хранилища не очищаете, в которых файлы лежат, например, после приложенного тут кода?
Либо может при помещении во временное хранилище не указываете ГУИД?
10. Vida 15 19.06.19 10:54 Сейчас в теме
(8)Точно! При помещении во временное хранилище второй параметр не указывала, сейчас попробую!
13. Vida 15 19.06.19 11:00 Сейчас в теме
(8)У меня несколько файлов в цикле создаются им наверное нужно разные адреса передавать?

Так будет у всех одинаковый:
Новый УникальныйИдентификатор
14. Sashares 34 19.06.19 11:20 Сейчас в теме
(13)
У меня несколько файлов в цикле создаются им наверное нужно разные адреса передавать?

Вы не адрес передаете, а уникальный идентификатор. Это разное.

Можете передать уникальный идентификатор текущей формы.

Новый УникальныйИдентификатор - тоже можно, если будет что то типо
АдресФайла = ПоместитьВоВременноеХранилище(Файл, Новый УникальныйИдентификатор);
17. Vida 15 19.06.19 23:23 Сейчас в теме
(14)Поправила, но результат аналогичный.
Еще для эксперимента, перед ОписаниеПередаваемогоФайла дописала:

ДанныеФайла = ПолучитьИзВременногоХранилища(МассивФайлов[Сч].Хранение);
Сообщить("Размер = "+ДанныеФайла.Размер());

Сообщает нормальный размер, делаю вывод, что с хранилищем все хорошо.

Непонятно почему диалог выводит, ведь делаю НЕ интерактивно...
28. spacecraft 20.06.19 00:22 Сейчас в теме
(1) только сейчас увидел на скрине путь. Никогда не сохраняйте на рабочий стол. Это для windows святое и требует подтверждение.
Попробуйте сохранять в другую папку, которую сами и создайте под своим пользователем. Можно создать новую папку в документы. Для тестирования можно использовать папку Temp
31. Vida 15 20.06.19 01:17 Сейчас в теме
(28)Я пути разные пробовала, все аналогично.
2. Xershi 1479 19.06.19 10:21 Сейчас в теме
Раз файл создается значит код работает. А раз файл пустой, значит данных на сервере нету.
ОписаниеПередаваемогоФайла заполнили не тем чем нужно.
4. Vida 15 19.06.19 10:44 Сейчас в теме
(2)Похоже, непонятно почему он на тонком заполняется чем нужно, а на вебе - нет?
5. spacecraft 19.06.19 10:46 Сейчас в теме
(4) может он на тонком клиенте сам подставляет текущий каталог. В вебе этого по определению нет.
7. Vida 15 19.06.19 10:48 Сейчас в теме
(5)Не поняла, раз файл есть - значит с путями все хорошо, разве нет?
9. spacecraft 19.06.19 10:50 Сейчас в теме
(7) Для НачатьПолучениеФайлов Имя не обязательно должно быть полным. Значит не в этом ошибка.
15. Xershi 1479 19.06.19 14:02 Сейчас в теме
(4) раз обработку скачали. Запустите отладчик и сверьте все параметры.
В ней же работает?
16. Vida 15 19.06.19 23:11 Сейчас в теме
(15)А что скажете про показ диалога?
Он же вроде бы не должен?
Прикрепленные файлы:
26. Xershi 1479 20.06.19 00:12 Сейчас в теме
18. Vida 15 19.06.19 23:31 Сейчас в теме
(15)Что сверять не поняла? Всего 2 параметра

имя - раз пустой создает - значит норм
адрес - раз размер возвращает значит норм:

для эксперимента, перед ОписаниеПередаваемогоФайла дописала:

ДанныеФайла = ПолучитьИзВременногоХранилища(МассивФайлов[Сч].Хранение);
Сообщить("Размер = "+ДанныеФайла.Размер());

Сообщает нормальный размер, делаю вывод, что с хранилищем все хорошо.

к тому же на тонком работает...
Плохое думаю про диалог несанкционированный.

Платформа 8.3.13.1644 нормальная
27. Xershi 1479 20.06.19 00:13 Сейчас в теме
(18) сверять все значения переменных в эталонной обработке с вашим кодом.
29. Xershi 1479 20.06.19 00:23 Сейчас в теме
(18) Для работы метода на веб-клиенте необходимо предварительно подключить расширение работы с файлами.
Я так понял вы его подключили.
Иначе бы даже диалог не вылез.
<Интерактивно> (необязательный)
Тип: Булево.
Истина - задан интерактивный режим, в котором пользователю показывается диалог, в котором он может выбрать локальное расположение файлов.
Ложь - на сервер передается список файлов, описанный в параметре <ПолучаемыеФайлы>.
В интерактивном режиме строка, переданная в параметре <РасположениеФайлов>, рассматривается как начальное значение для выбора пути.

Далее вы указали каталог. Соответствует ли он каталогу на ПК клиента не известно.
Самое простое удалить этот каталог (переменную) и если работает, то код вы правильно написали.
Далее разбираться уже с ТП 1С или обновлять платфомру.
30. Vida 15 20.06.19 01:15 Сейчас в теме
(29) СП я уже до дыр зачитала
Каталог нормальный, тк я его чуть ранее выбираю интерактивно как реквизит формы (пробовала разные, сохраняет в них)
+ опять же создает пустой (где надо)
+ создает правильно на тонком

удалить - вы имеете ввиду чтобы интерактивно выбирать?

Попробовала добавить ваш диалог выбор файла
	
	ДиалогВыбораФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение);

	ДиалогВыбораФайла.Фильтр						= ПолучитьФильтрДиалогаВыбораФайла();
	ДиалогВыбораФайла.Расширение					= "";
	ДиалогВыбораФайла.Заголовок						= НСтр("ru = 'Сохранить файл'");
	ДиалогВыбораФайла.ПредварительныйПросмотр		= Ложь;
	ДиалогВыбораФайла.ИндексФильтра					= 0;
	ДиалогВыбораФайла.ПолноеИмяФайла				= "";
	ДиалогВыбораФайла.ПроверятьСуществованиеФайла	= Ложь;
	ДиалогВыбораФайла.МножественныйВыбор			= Ложь;	
	
	НачатьПолучениеФайлов(ОповещениеОЗавершении, ПолучаемыеФайлы, ДиалогВыбораФайла, Истина);
Показать


Результат аналогичный, и что странно - даже спрашивает все точно так же.
41. Xershi 1479 20.06.19 10:27 Сейчас в теме
(30) переменную очистить.
Писать в 1с и менять платформу я так понял пробовать не стали?
11. spacecraft 19.06.19 10:57 Сейчас в теме
Для веба расширение работы с файлами подключено?
12. Vida 15 19.06.19 10:57 Сейчас в теме
19. acanta 19.06.19 23:35 Сейчас в теме +0.14 $m
В другом браузере? Замер производительности на веб клиенте возможен?
20. Vida 15 19.06.19 23:42 Сейчас в теме
(19)В другом браузере опять расширение подключать...
В этом пока самый лучший результат((
Safari - вообще не пускает. Opera про файлы что-плохое говорит.

С замером грустно: моей квалификации на это не хватает.
21. acanta 19.06.19 23:44 Сейчас в теме
Хром? Edge? Версия Виндоус?
22. Vida 15 19.06.19 23:49 Сейчас в теме
(21)Хром попробовала сейчас тоже не пускает: "Идентификация пользователя не выполнена"

Windows 7
23. Vida 15 19.06.19 23:56 Сейчас в теме
(21)Куда ни плюнь - везде макоси. На них, я так понимаю, расширение для файлов не поставить?
24. acanta 20.06.19 00:00 Сейчас в теме
Не помню. Должно ставится, но настройки для подключения плагина разные.
Мы же говорили о плагине для работы с файлами от 1с?
Или о расширении?
25. Vida 15 20.06.19 00:04 Сейчас в теме
(24)Я знаю только про расширение((
32. acanta 20.06.19 01:22 Сейчас в теме
А код страницы веб клиента он на 1с? Или на html?
33. Vida 15 20.06.19 01:28 Сейчас в теме
(32)Если включить F12?
На html
Прикрепленные файлы:
34. acanta 20.06.19 01:32 Сейчас в теме
Остается надеяться,что все выпускники вузов сегодня изучают язык html и могут определить правильность трансляции кода веб клиента в html без дополнительного получения сертификата "Эксперт по вопросам веб клиентов".
35. Vida 15 20.06.19 01:46 Сейчас в теме
Я уже все, вскрываюсь.
Завтра буду тестировать на компах пользователей.
36. Sashares 34 20.06.19 08:34 Сейчас в теме
В веб клиенте диалог будет всегда. Потому что это веб клиент.
37. Vida 15 20.06.19 09:01 Сейчас в теме
(36)А как-то видоизменить/повлиять на этот диалог можно?
Смущает, что код из (30) показывает точно такой же диалог как и изначально в (1)
38. Sashares 34 20.06.19 09:59 Сейчас в теме
(37)В Веб клиенте диалог при сохранении файлов будет всегда. Убрать его никаким образом не получится.
В 8.3.15 может что - то и можно будет https://wonderland.v8.1c.ru/blog/unifikatsiya-metodov-raboty-s-faylami/
А так, диалог сохранения файлов будет всегда, просто в разных браузерах он будет выглядеть по разному.
39. Sashares 34 20.06.19 10:01 Сейчас в теме
(37)А в чем именно, кроме наличия диалога, у вас осталась проблема?
Файлы сохраняет?
40. Vida 15 20.06.19 10:06 Сейчас в теме
(39)Проблема осталась. Сохраняет файл, но он пустой.
Сейчас наберусь смелости и потестирую на компах/браузерах пользователей.
Позорно сказать: у меня не работает, но давайте посмотрим вдруг у вас заработает.
42. Vida 15 20.06.19 12:07 Сейчас в теме
(39) (41)
Представляете!!!
Проверила у пользователей!
У них работает! Те файл не пустой, а нормальный создается!
Ну вот как теперь отлаживать?!
43. spacecraft 20.06.19 12:12 Сейчас в теме
(42) смотреть брандмауэр, антивирус и т.д. Это уже вопрос не в 1С.
Xershi; Vida; +2 Ответить
44. Vida 15 20.06.19 12:14 Сейчас в теме
(43) Нда... Я 2 ночи не спала... А оно - работает у всех кроме меня!
Ну хоть так!
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот