Выполнение обработки через на вэб-сервер

1. uriah 21 06.01.25 20:41 Сейчас в теме
При попытке загрузить данные через внешнюю обработку (работа через вэб-сервер), не загружаются файлы в массив. На рисунке показано заполнение массива в файловом варианте.
ЧЯДнеТ?

&НаКлиенте
Процедура ЗавершениеВызовМассивСсылокНаФайлы(ПомещенныеФайлы, ДополнительныеПараметры) Экспорт
    
	Если ПомещенныеФайлы = Неопределено Тогда
		Возврат;
	КонецЕсли;
	Каталог = КаталогВременныхФайлов();
	
	 Объект.ФайлыДляЗагрузки.Очистить();
    Для каждого ПомещенныйФайл Из ПомещенныеФайлы Цикл 
		НаименованиеЗаявки = ПомещенныйФайл.СсылкаНаФайл.Файл.ИмяБезРасширения;
		ИмяФайла = Строка(Новый УникальныйИдентификатор)+ ПомещенныйФайл.СсылкаНаФайл.Имя; 
		Файл     = Строка(Новый УникальныйИдентификатор)+ ПомещенныйФайл.СсылкаНаФайл.Файл;
		АдресФайла = ПомещенныйФайл.Адрес; 
		ДвоичныеДанные = ПолучитьИзВременногоХранилища(АдресФайла);
		ПутьКФайлу = Каталог + ИмяФайла;
		ДвоичныеДанные.Записать(ПутьКФайлу);
		Объект.ФайлыДляЗагрузки.Добавить(ПутьКФайлу,ИмяФайла,Истина);
    КонецЦикла;
Показать
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
11. spacecraft 07.01.25 01:00 Сейчас в теме
(10)
На форме есть таблица значений для заполнения значениями файлов.

(1)
Объект.ФайлыДляЗагрузки.Добавить(ПутьКФайлу,ИмяФайла,Истина);

Что-то не сходится. Вот этот код вообще что делает? Заполняет СписокЗначений.
12. uriah 21 07.01.25 08:00 Сейчас в теме
(11)
Что-то не сходится. Вот этот код вообще что делает? Заполняет СписокЗначений.

СписокЗначений является колонкой таблицы на форме.
13. user2107191 07.01.25 09:31 Сейчас в теме
(12) И где в этом коде имя колонки хотя бы?
2. user2107184 06.01.25 20:45 Сейчас в теме
Чем мотивирует? Или молчит, как партизан?
3. uriah 21 06.01.25 21:00 Сейчас в теме
Ошибка - Индекс за пределами значений. Список значений заполнен, а при чтении в процедуре пустой. Через вэб сервер отладки у меня нет.
4. SlavaKron 06.01.25 21:09 Сейчас в теме
Эти процедуры используются?
НачатьУстановкуРасширенияРаботыСФайлами
НачатьПодключениеРасширенияРаботыСФайлами
https://its.1c.ru/db/pubv8devui/content/249/hdoc
5. uriah 21 06.01.25 21:18 Сейчас в теме
(4) Нет. Они обязательны?
Используется
НачатьПомещениеФайловНаСервер(ЗавершениеВызов,,,ДиалогПомещенияФайлов , ЭтаФорма.УникальныйИдентификатор);

Описание варианта метода:
Начинает помещение файлов, показывая диалог выбора файлов из локальной файловой системы во временное хранилище.
В веб-клиенте расширение работы с файлами не требуется.
6. SlavaKron 06.01.25 21:21 Сейчас в теме
(5)
В веб-клиенте расширение работы с файлами не требуется
Вы используете метод НачатьПомещениеФайловНаСервер? Покажите код, который его вызывает.
7. uriah 21 06.01.25 21:29 Сейчас в теме
&НаКлиенте
Процедура ЗагрузитьФайлы(Команда)
	
	ЗавершениеВызов   = Новый ОписаниеОповещения("ЗавершениеВызов"   , ЭтотОбъект);
        
    Фильтр = "xml файлы |*.xml";
	ДиалогПомещенияФайлов = новый ПараметрыДиалогаПомещенияФайлов("Выберите файлы для загрузки",Истина , Фильтр);
    НачатьПомещениеФайловНаСервер(ЗавершениеВызов,,,ДиалогПомещенияФайлов , ЭтаФорма.УникальныйИдентификатор);
 
КонецПроцедуры 
 
&НаКлиенте
Процедура ЗавершениеВызов(ПомещенныеФайлы, ДополнительныеПараметры) Экспорт
    
    МассивСсылокНаФайлы = Новый Массив;
    
    Если ПомещенныеФайлы = Неопределено Тогда
        Возврат;
    КонецЕсли;

    Для каждого ПереданныйФайл Из ПомещенныеФайлы Цикл
        МассивСсылокНаФайлы.Добавить(ПереданныйФайл.СсылкаНаФайл);
    КонецЦикла;
    
    Если МассивСсылокНаФайлы.Количество() > 0 Тогда
        
        ЗавершениеВызовМассивСсылокНаФайлы = Новый ОписаниеОповещения("ЗавершениеВызовМассивСсылокНаФайлы"   , ЭтотОбъект);
        НачатьПомещениеФайловНаСервер(ЗавершениеВызовМассивСсылокНаФайлы, , ,МассивСсылокНаФайлы , ЭтаФорма.УникальныйИдентификатор);
    КонецЕсли;
    
КонецПроцедуры
Показать
8. SlavaKron 06.01.25 21:50 Сейчас в теме
(7) Зачем вы повторно помещаете файлы на сервер в процедуре ЗавершениеВызов:
Если МассивСсылокНаФайлы.Количество() > 0 Тогда
	ЗавершениеВызовМассивСсылокНаФайлы = Новый ОписаниеОповещения("ЗавершениеВызовМассивСсылокНаФайлы"   , ЭтотОбъект);
	НачатьПомещениеФайловНаСервер(ЗавершениеВызовМассивСсылокНаФайлы, , ,МассивСсылокНаФайлы , ЭтаФорма.УникальныйИдентификатор);
КонецЕсли;
Даже не так, зачем вообще помещать файлы на сервер, если на сервере вы с ними не работаете?
9. uriah 21 06.01.25 22:58 Сейчас в теме
(8) Разные оповещения в процедурах.
10. uriah 21 06.01.25 23:50 Сейчас в теме
(8) Обработка, в файловом и клиент-серверном варианте работает. На форме есть таблица значений для заполнения значениями файлов. При работе в тонком клиенте на веб-сервере эта форма не заполняется значениями. Методом НачатьПомещениеФайловНаСервер эту таблицу удалось заполнить, но теперь перестала работать процедура обработки файлов из таблицы значений.
14. uriah 21 07.01.25 10:55 Сейчас в теме
Похоже, что ошибка здесь.
ДвоичныеДанные.Записать(ПутьКФайлу);
Оставьте свое сообщение

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