|
УТ11.4 Создание элементов справочника НоменклатураПрисоединенныеФайлы | ☑ | ||
---|---|---|---|---|
0
Мимохожий Однако
02.11.19
✎
19:19
|
Слепил функцию
Функция СоздатьПрикрФайлНаСервере(ПутьКФайлу,Том,НомеклатураСсылка) Спр=Справочники.НоменклатураПрисоединенныеФайлы.СоздатьЭлемент(); Спр.ВладелецФайла=НомеклатураСсылка; Спр.Автор=ПараметрыСеанса.ТекущийПользователь; Спр.ДатаСоздания=ТекущаяДата(); спр.ТипХраненияФайла=Перечисления.ТипыХраненияФайлов.ВТомахНаДиске; Спр.ПутьКФайлу=ПутьКФайлу; Спр.Том=Том; Спр.Описание=ПутьКФайлу; Спр.Расширение="jpg"; Попытка Спр.Записать(); Сообщить("Записан "+Спр.Ссылка+" "+" "+Том+ПутьКФайлу+" "+НомеклатураСсылка); Исключение Сообщить("При записи "+Спр.Ссылка+"//Ошибка:"+ОписаниеОшибки()); КонецПопытки; Возврат спр.Ссылка; КонецФункции Не удалось открыть файл: .jpg который присоединен к: Присоединен к Номенклатура : --- по причине: двоичные данные файла были удалены. Возможно, файл очищен как ненужный или удален антивирусной программой. Обратитесь к администратору. ... Путь к файлу - это имя файла без расширения. Файл реально существует. Режим хранения - на диске в каталоге Том .. Подскажите, что я мог забыть в коде или лишнее? |
|||
1
ДенисЧ
02.11.19
✎
19:32
|
ПутьКФайлу - это _полное_ имя файла? Он точно есть, точно такой, как написано?
|
|||
2
Мимохожий Однако
02.11.19
✎
19:46
|
(1) Нет. Не полное имя. Сейчас попробую с полным именем.
|
|||
3
Cyberhawk
02.11.19
✎
19:55
|
Пользуйся программный интерфейсом этой подсистемы, иначе хапнешь горюшка
|
|||
4
Мимохожий Однако
02.11.19
✎
20:00
|
(3) Ткни носом, куда смотреть. )) С удовольствием посмотрю
|
|||
5
Мимохожий Однако
02.11.19
✎
20:21
|
Нашёл общие модули ПрисоединенныеФайлы*
У всех процедур и функций комментарий //Устарела )) |
|||
6
Мимохожий Однако
02.11.19
✎
20:34
|
ага. Есть еще общие модули РаботаСФайлами*. Как интересно...
(3) Спасибо) |
|||
7
rozer76
02.11.19
✎
21:40
|
(3) +1
|
|||
8
Мимохожий Однако
03.11.19
✎
09:15
|
Нашёл функцию РаботаСФайлами.СоздатьФайлНаОсновеФайлаНаДиске(ВладелецФайлов, ПутьКФайлуНаДиске);
Параметр // ВладелецФайлов - ОпределяемыйТип.ВладелецПрисоединенныхФайлов - папка файлов или объект, к которому // требуется прикрепить добавляемый файл. У меня есть НоменклатураСсылка. Как преобразовать НоменклатураСсылка во ВладелецФайлов? |
|||
9
Провинциальный 1сник
03.11.19
✎
09:32
|
(3) Угу..напомнило анекдот про совет раввина невесте относительно одежды в первую брачную ночь.. Так вот, "кстати, тебя это тоже касается")
|
|||
10
Мимохожий Однако
03.11.19
✎
10:09
|
(8) С этим справился
ТипСтр=Новый ОписаниеТипов(Метаданные.ОпределяемыеТипы.ВладелецПрисоединенныхФайлов.Тип); ВладелецФайлов=ТипСтр.ПривестиЗначение(НоменклатураСсылка); |
|||
11
Мимохожий Однако
03.11.19
✎
13:47
|
Разрулил. Окончательный код.
Функция СоздатьПрикрФайлНаСервере(Знач Результат,Знач Выборка) ПутьКФайлу=СтрЗаменить(Результат.ПолноеИмяФайла,Результат.Том.ПолныйПутьWindows,""); ТипСтр=Новый ОписаниеТипов(Метаданные.ОпределяемыеТипы.ВладелецПрисоединенныхФайлов.Тип); ВладелецФайлов=ТипСтр.ПривестиЗначение(Выборка.Ссылка); СуществующийФайл=Новый Файл(Результат.ПолноеИмяФайла); Спр=Справочники.НоменклатураПрисоединенныеФайлы.СоздатьЭлемент(); Спр.Наименование=Результат.ИмяФайла; Спр.ВладелецФайла=ВладелецФайлов; Спр.Автор=ПараметрыСеанса.ТекущийПользователь; Спр.ИндексКартинки=РаботаСФайламиСлужебныйКлиентСервер.ПолучитьИндексПиктограммыФайла(Неопределено); Спр.СтатусИзвлеченияТекста=Перечисления.СтатусыИзвлеченияТекстаФайлов.Извлечен; Спр.ТипХраненияФайла=Перечисления.ТипыХраненияФайлов.ВТомахНаДиске; Спр.ПутьКФайлу=ПутьКФайлу; //Здесь путь файла без Тома Спр.Том=Результат.Том.Том; Спр.Описание="Картинка "+ПутьКФайлу; Спр.Расширение="jpg"; Спр.Заполнить(Неопределено); Спр.ДатаМодификацииУниверсальная= СуществующийФайл.ПолучитьУниверсальноеВремяИзменения(); Спр.Размер=СуществующийФайл.Размер(); Спр.ДатаСоздания=СуществующийФайл.ПолучитьВремяИзменения(); Спр.Изменил=ПараметрыСеанса.ТекущийПользователь; Попытка Спр.Записать(); Сообщить("Записан "+Результат.ИмяФайла+" --> "+ВладелецФайлов); Возврат спр.Ссылка; Исключение Сообщить("При записи "+Результат.ИмяФайла+" --> "+ ВладелецФайлов+" ?"+ОписаниеОшибки()); Возврат Неопределено; КонецПопытки; КонецФункции .. Исправил ошибки: -в реквизит Том надо было передавать СправочникСсылка.Тома -в реквизит ВладелецФайла передал нужный тип (по факту СправочникСсылка. Номенклатура -добавил заполнение реквизитов с параметрами файла на диске -в реквизит ПутьКФайлу надо было передавать полный путь к файлу без пути к тому После этого заработало. ... В БСП были функции работы с файлами (справочник Файлы), но я не смог прикрутить к справочнику НоменклатураПрикрепленныеФайлы. Поэтому вернулся к первоначальному коду и правил его ... для меня этот квест завершён |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |