Объект тип СсылкаНаФайл

1. PitMal 8 03.05.24 09:33 Сейчас в теме
Прошу помощи сообщества...., процедура НачатьПомещениеФайлов(<ОписаниеОповещенияОЗавершении>, <ПомещаемыеФайлы>, <Интерактивно>, <УникальныйИдентификаторФормы>, <ОписаниеОповещенияПередНачаломПомещенияФайлов>, <ОписаниеОповещенияОХодеВыполнения>). Параметр <ПомещаемыеФайлы> может содержать массив объектов типа ОписаниеПередаваемогоФайла, или массив объектов типа СсылкаНаФайл, или объект типа ДиалогВыбораФайла или Строка.
Вопрос: как создать объект типа СсылкаНаФайл ?
По теме из базы знаний
Найденные решения
10. PitMal 8 07.05.24 18:06 Сейчас в теме
(8) Удалось реализовать, сегодня обратил внимание на свойство списка формы регистра сведений "СпособПеретаскиванияФайлов" было Файл, изменил на Ссылка на файл. Так начал работать необходимый вариант синтаксиса, файлы на web клиенте загружаются без расширения работы с файлами, для web клиента отключил проверку размера файла, буду разбираться как реализовать для web.
#Если не ВебКлиент тогда
Если ПомещаемыйФайл.Файл.расширение = ".exe" тогда
	ОтказОтПомещенияФайла = Истина;
КонецЕсли;
ОбъемМБ = ПолучитьОграничениеОбъемаФайла();
Если ПомещаемыйФайл.Размер() > ОбъемМБ * 1024 * 1024 Тогда
ПоказатьПредупреждение( , "Размер файла " + "(" + ПомещаемыйФайл.Размер() + ") " + ПомещаемыйФайл.Имя + " (" + ПомещаемыйФайл.ИдентификаторФайла + ") превышает 5MB. Загрузка остановлена.");
ОтказОтПомещенияФайла = Истина; 
КонецЕсли;
#КонецЕсли
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. PitMal 8 03.05.24 11:41 Сейчас в теме
(2) Читал, реализовал, перетаскивание нескольких файлов через цикл, потом переделал по рекомендации с использованием НачатьПомещениеФайлаНаСервер,
Вопрос очень узкий: Вопрос: как создать объект типа СсылкаНаФайл ?
Сам ответ не нашел....
4. Sashares 35 03.05.24 11:52 Сейчас в теме
(3)
В синтакс-помощнике не написано, что у ссылки на файл есть конструктор, значит интерактивно его создание не предусмотрено, данный тип приходит из платформенных методов в результате работы.
5. soft_wind 03.05.24 11:57 Сейчас в теме
у меня вообще это написано
Не рекомендуется использовать, начиная с версии 8.3.15.

в своих обработках использую
	Если РежимСинхронныхВызовов Тогда
		лкРезультат = ПоместитьФайл(АдресВО, ПутьФА,,Ложь,ЭтаФорма.УникальныйИдентификатор);
		//АдресаВО.Вставить(ИмяАдресаВО, АдресВО);
		//лкИмяОбработки = ПодключитьВнешнююОбработку(АдресВО);
		лкРезультат = Новый Структура("Адрес", АдресВО);
		ОбработчикОповещения(лкРезультат, лкПараметры);
	Иначе
		Выполнить("
			|лкОповещение = Новый ОписаниеОповещения(""ОбработчикОповещения"", ЭтаФорма, лкПараметры);
			|НачатьПомещениеФайлаНаСервер(лкОповещение,,, АдресВО, ПутьФА, ЭтаФорма.УникальныйИдентификатор);");
	КонецЕсли; 
Показать
6. PitMal 8 03.05.24 16:18 Сейчас в теме
(5) не очень понятно..., это сделать не возможно? тогда каким образом предусмотрено добавление файлов перетаскиванием? Использую прцедуру РегистрСведенийСписокПеретаскивание(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка, Строка, Поле)
ПраметрыПеретаскивания - тип Массив из объектов типа файл или файл в зависимости от того один или несколько файлов тянем.
В этой процедуре вызываю НачатьПомещениеФайлов(ОбработкаОкончанияЗагрузки,ПомещаемыеФайлы,ложь,ЭтотОбъект,ОбработкаНачалаЗагрузки);
и что передать при вызове процедуры, в "ПомещаемыеФайлы" синтакис помошник говорит : "Параметр <ПомещаемыеФайлы> указывается в зависимости от значения параметра <Интерактивно>:
Если параметр <Интерактивно> имеет значение Истина, параметр <ПомещаемыеФайлы> может быть не задан или должен иметь тип ДиалогВыбораФайла.
Если параметр <Интерактивно> имеет значение Ложь, то параметр <ПомещаемыеФайлы> должен быть задан и иметь тип Строка или массив объектов типа ОписаниеПередаваемогоФайла, или массив объектов типа СсылкаНаФайл." и где взять ссылку на файл ?
7. spacecraft 03.05.24 17:00 Сейчас в теме
(6) разные варианты сделаны. Никто не заставляет делать через массив объектов типа СсылкаНаФайл.
Как вариант получения:
НачатьПомещениеФайловНаСервер(<ОписаниеОповещенияОЗавершении>, <ОписаниеОповещенияОХодеВыполнения>, <ОписаниеОповещенияПередНачалом>, <ОписанияПередаваемыхФайлов>, <УникальныйИдентификаторФормы>)

<ОписаниеОповещенияПередНачалом> (необязательный)
Тип: ОписаниеОповещения.
Содержит описание процедуры, которая будет вызвана непосредственно перед началом помещения файлов во временное хранилище. Оповещение будет вызвано со следующими параметрами:
<ПомещаемыеФайлы> - тип: Массив. Массив элементов типа СсылкаНаФайл, готовых к помещению во временное хранилище.
<ОтказОтПомещенияВсехФайлов> - тип: Булево. Признак отказа от дальнейшего помещения всех файлов. Если в теле процедуры-обработчика установить данному параметру значение Истина, то помещение всех файлов будет отменено (в этом случае никакие другие оповещения вызваны не будут). Значение по умолчанию: Ложь. Возвращаемый параметр.
<ДополнительныеПараметры> - Значение, которое было указано при создании объекта ОписаниеОповещения.
8. spacecraft 03.05.24 18:08 Сейчас в теме
(6) ну и использовать вариант синтаксиса с <ОписанияПередаваемыхФайлов>.
Как то так:
МассивОписанийФайлов = Новый Массив;
Для Каждого ДанныеФайла Из МассивФайлов Цикл
    МассивОписанийФайлов.Добавить(Новый ОписаниеПередаваемогоФайла(ДанныеФайла.ПолноеИмя));
КонецЦикла;
9. PitMal 8 04.05.24 02:28 Сейчас в теме
(8) Спасибо, за вариант, сам функционал уже реализован , на осталась неудовлетворенность, например не могу реализовать вариант синтаксиса (согласно синтаксис помощника):
Вариант синтаксиса: По ссылке на файл
Синтаксис:
НачатьПомещениеФайлаНаСервер(<ОписаниеОповещенияОЗавершении>, <ОписаниеОповещенияОХодеВыполнения>, <ОписаниеОповещенияПередНачалом>, <Адрес>, <СсылкаНаФайл>, <УникальныйИдентификаторФормы>)
Параметры:
<ОписаниеОповещенияОЗавершении> (необязательный)
Тип: ОписаниеОповещения.
Содержит описание процедуры, которая будет вызвана в случае успешного помещения файлов, а так же процедуры, которая будет в случае возникновения ошибки.

Если передаваемый файл не будет найден на диске, то возникнет исключение.
После успешного завершения помещения файла процедура, заданная в параметре
<ОписаниеОповещенияОЗавершении>, будет вызвана со следующими параметрами:
<ОписаниеПомещенногоФайла> - тип: ОписаниеПомещенногоФайла, Неопределено. Описание помещенного во временное хранилище файла, либо Неопределено, если помещение файла было отменено.
<ДополнительныеПараметры> - значение, которое было указано при создании объекта ОписаниеОповещения.
<ОписаниеОповещенияОХодеВыполнения> (необязательный)
Тип: ОписаниеОповещения.
Содержит описание процедуры, которая будет вызвана несколько раз по мере помещения файла. Количество раз и время вызова не определено строго. Оповещение будет вызвано со следующими параметрами:
<ПомещаемыйФайл> - тип: СсылкаНаФайл. Ссылка на файл, помещаемый во временное хранилище.
<Помещено> - тип: Число. Процент помещенной части файла.
<ОтказОтПомещенияФайла> - тип: Булево. Признак отказа от дальнейшего помещения файла. Если в теле процедуры-обработчика установить данному параметру значение Истина, то помещение файла будет отменено. Значение по умолчанию: Ложь. Возвращаемый параметр.
<ДополнительныеПараметры> - Значение, которое было указано при создании объекта ОписаниеОповещения.
<ОписаниеОповещенияПередНачалом> (необязательный)
Тип: ОписаниеОповещения.
Содержит описание процедуры, которая будет вызвана непосредственно перед началом помещения файла во временное хранилище. Оповещение будет вызвано со следующими параметрами:
<ПомещаемыйФайл> - тип: СсылкаНаФайл. Ссылка на файл, готовый к помещению во временное хранилище.
<ОтказОтПомещенияФайла> - тип: Булево. Признак отказа от дальнейшего помещения файла. Если в теле процедуры-обработчика установить данному параметру значение Истина, то помещение файла будет отменено (в этом случае никакие другие оповещения вызваны не будут). Значение по умолчанию: Ложь. Возвращаемый параметр.
<ДополнительныеПараметры> - Значение, которое было указано при создании объекта ОписаниеОповещения.
<Адрес> (необязательный)
Тип: Строка.
Содержит адрес файла во временном хранилище, по которому должен быть помещен файл с диска. Если не задан или является пустой строкой, то будет создан новый файл.
<СсылкаНаФайл> (обязательный)
Тип: СсылкаНаФайл.
Ссылка на файл.
<УникальныйИдентификаторФормы> (необязательный)
Тип: УникальныйИдентификатор.
Уникальный идентификатор формы, который можно получить с помощью свойства УникальныйИдентификатор формы клиентского приложения. Файл помещается во временное хранилище и автоматически удаляется после удаления объекта формы.
Если параметр не указан, то помещенное значение будет удалено после очередного запроса сервера из общего модуля, при контекстном и неконтекстном серверном вызове из формы, при серверном вызове из модуля команды или при получении формы.
Описание варианта метода:
Начинает помещение файла, заданного ссылкой на файл, из локальной файловой системы во временное хранилище.
В веб-клиенте расширение работы с файлами не требуется.
10. PitMal 8 07.05.24 18:06 Сейчас в теме
(8) Удалось реализовать, сегодня обратил внимание на свойство списка формы регистра сведений "СпособПеретаскиванияФайлов" было Файл, изменил на Ссылка на файл. Так начал работать необходимый вариант синтаксиса, файлы на web клиенте загружаются без расширения работы с файлами, для web клиента отключил проверку размера файла, буду разбираться как реализовать для web.
#Если не ВебКлиент тогда
Если ПомещаемыйФайл.Файл.расширение = ".exe" тогда
	ОтказОтПомещенияФайла = Истина;
КонецЕсли;
ОбъемМБ = ПолучитьОграничениеОбъемаФайла();
Если ПомещаемыйФайл.Размер() > ОбъемМБ * 1024 * 1024 Тогда
ПоказатьПредупреждение( , "Размер файла " + "(" + ПомещаемыйФайл.Размер() + ") " + ПомещаемыйФайл.Имя + " (" + ПомещаемыйФайл.ИдентификаторФайла + ") превышает 5MB. Загрузка остановлена.");
ОтказОтПомещенияФайла = Истина; 
КонецЕсли;
#КонецЕсли
Показать
Оставьте свое сообщение

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