Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
17 сен 2021, 20:04

1C 8.x УТ 11 Добавить документ/файл к элементу справочника

Автор a.i.petrov@bk.ru, 12 дек 2016, 14:00

0 Пользователей и 1 гость просматривают эту тему.

a.i.petrov@bk.ru

Добрый день!

Может кто сталкивался?
Хочу в УТ 11.3 в Справочнек Номенклатура к прочим описаниям и картинкам товара добавить файл (pdf).

Есть реквизиты
Файл = Полный путь к файлу с расширением
Элемент = Справочники.Номенклатура(НайтиПоКоду(Код));

Может кто сталкивался? Помогите пожалуйста примером...

Геннадий ОбьГЭС

Цитата: a.i.petrov@bk.ru от 12 дек 2016, 14:00
Есть реквизиты
Файл = Полный путь к файлу с расширением
Нет такого!
Если Вы добавляете, то так и пишите. И где? Можно же добавить дополнительный реквизит, не меняя конфигурацию

Для начала посмотрите в типовой конфигурации УТ11 как используется ФайлКартинки в случае хранения картинки на диске

В УТ11.2.3.229 есть реквизит спр-ка Номенклатура ФайлКартинки с типом СправочникСсылка.НоменклатураПрисоединенныеФайлы.

А в спр-ке НоменклатураПрисоединенныеФайлы есть реквизиты

  • ПутьКФайлу
    Комментарий:
    Дополнительный путь к файлу на диске (в случае если ТипХраненияФайла - на диске)
  • ТипХраненияФайла
    Комментарий:
    Где хранятся файлы - в базе как ХранилищеЗначения или в каталоге на диске
  • Том
    Комментарий:
    Ссылка на том (в случае если ТипХраненияФайла - на диске)

Какие ещё примеры нужны?
Вы же не могли не видеть реквизит ФайлКвртинки, добавляя реквизит Файл
Добавлено: 13 дек 2016, 08:54


В УТ 11.2.3.229 в карточке номенклатуры имеется готовый функционал присоединения файлов, я не думаю, что в УТ 11.3 это сильно изменилось


a.i.petrov@bk.ru

Делаю так

Для вида номенклатуры Товар создал Реквизит "Файл" к которому хочу прикрепить файл.




Добавляю файл так
Путь - Полный путь к файлу
ЭлементСсылка - ссылка на нужный элемент в справочнике в который нужно добавить файл


Процедура ЗагрузитьДокументНаСервере(ЭлементСсылка, Путь)

Номенклатура = ЭлементСсылка;

Попытка
НачатьТранзакцию();

ФайлДокумента = новый Файл(Путь);
Если ФайлДокумента.Существует() Тогда
ДвоичныеДанные = Новый ДвоичныеДанные(Путь);
АдресВременногоХранилищаФайла = ПоместитьВоВременноеХранилище(ДвоичныеДанные);

РеквизитФайл = Номенклатура.ДополнительныеРеквизиты.Найти("Файл");
Если ЗначениеЗаполнено(РеквизитФайл) Тогда
ИнформацияОФайле = Новый Структура;
ИнформацияОФайле.Вставить("АдресФайлаВоВременномХранилище",АдресВременногоХранилищаФайла);
ИнформацияОФайле.Вставить("АдресВременногоХранилищаТекста","");
ИнформацияОФайле.Вставить("ИмяБезРасширения" ,ФайлДокумента.ИмяБезРасширения);
ИнформацияОФайле.Вставить("ДатаМодификацииУниверсальная" ,ТекущаяДата());
ИнформацияОФайле.Вставить("Расширение" ,СтрЗаменить(ФайлДокумента.Расширение,".",""));

ПрисоединенныеФайлы.ОбновитьПрисоединенныйФайл(Номенклатура,ИнформацияОФайле);


ЗафиксироватьТранзакцию();
Сообщить("УСПЕШНО загружен документ в "+Номенклатура);
Иначе
ПрисоединенныйФайл = ПрисоединенныеФайлы.ДобавитьФайл(Номенклатура,ФайлДокумента.ИмяБезРасширения,СтрЗаменить(ФайлДокумента.Расширение,".",""),ТекущаяДата(),ТекущаяДата(),АдресВременногоХранилищаФайла,,"Изображение загружено обработкой по данным файла Excel");

Если ЗначениеЗаполнено(ПрисоединенныйФайл) Тогда
НоменклатураОбъект = Номенклатура.ПолучитьОбъект();

РеквизитФайл = ПрисоединенныйФайл;
НоменклатураОбъект.Записать();
ЗафиксироватьТранзакцию();
Сообщить("УСПЕШНО загружен документ в "+Номенклатура);
Иначе
Сообщить("Не удалось добавить в базу файл "+Путь);
ОтменитьТранзакцию();
КонецЕсли;

КонецЕсли;

Иначе
Сообщить("Файл "+Путь+" не найден");
ОтменитьТранзакцию();
КонецЕсли;
Исключение
Сообщить("При добавлении файла "+Путь+" произошла ошибка "+ОписаниеОшибки());
ОтменитьТранзакцию();
КонецПопытки;

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


но в результат не радует
На первый взгляд вроде бы все загрузилось


но в моему дополнительному реквизиту "Файл" документ не прикрепился





При попытке открыть/просмотреть файл выдаются ошибки


если подробнее, то...



Прошу совета.
Как мне сделать чтобы файл который я прикрепляю был виден в доп. реквизите Файл прикрепленным ?
И почему я не могу файл открыть/просмотреть? База файловая...

Геннадий ОбьГЭС

Цитата: a.i.petrov@bk.ru от 13 дек 2016, 12:20
Как мне сделать чтобы файл который я прикрепляю был виден в доп. реквизите Файл прикрепленным ?
И почему я не могу файл открыть/просмотреть? База файловая...
Вы же прикрепляете к элементу справочника ВидыНоменклатуры, а ищите его в в элементе спр-ка Номенклатура

С чего Вы решили, что 1С будет открывать содержимое файла pdf?
Надо устанавливать и задействовать pdf reader в Windows, и открывать его в Windows (задействуя установленный pdf reader) или, как минимум, устанавливать-использовать какие-то компоненты для чтения и визуализации содержимого pdf-файла

a.i.petrov@bk.ru

Цитата: Геннадий ОбьГЭС от 14 дек 2016, 08:20
Цитата: a.i.petrov@bk.ru от 13 дек 2016, 12:20
Как мне сделать чтобы файл который я прикрепляю был виден в доп. реквизите Файл прикрепленным ?
И почему я не могу файл открыть/просмотреть? База файловая...
Вы же прикрепляете к элементу справочника ВидыНоменклатуры, а ищите его в в элементе спр-ка Номенклатура

С чего Вы решили, что 1С будет открывать содержимое файла pdf?
Надо устанавливать и задействовать pdf reader в Windows, и открывать его в Windows (задействуя установленный pdf reader) или, как минимум, устанавливать-использовать какие-то компоненты для чтения и визуализации содержимого pdf-файла
1. С ошибками я разобрался, сейчас их больше нет. Это из области "сам себе головную боль создал".

2. Pdf Reader в windows стоит. Более того, сейчас при нажатии просмотр файла - файл на просмотр в нем открывается. Но чую что что-то не так. Смотрите

Вот загруженные файлы

при нажатии просмотр файл открывается...
но если я смотрю в разделе дополнительные реквизиты и сведения - я его там не вижу.

Либо я не так его загрузил, либо сделал что-то не так.

Так получается что видов номенклатуры будет...много т.к. разные группы товара пожразумевают разные наборы   доп. реквизитов.

Пока...проблема лишь с этим файлом)
Прошу совета...обрамленного примером верного кода

Геннадий ОбьГЭС

В УТ 11.2.3 без всякого программрования добавил в карточку номенклатуры штатным функционалом присоединенный файл и открыл его двойным щелчком



a.i.petrov@bk.ru

Возможно следует пояснить саму задачу.
В виде номенклатуры задан доп. реквизит Файл с типом Файл. Если туда загрузить файл, он спокойно переедет в свойства нужного инфоблока Файл с типом файл на битриксе. Таких доп. реквизитов в 1с можно создать несколько. Это - предусмотрено конфигурацией. К тому же планируются и другие реквииты (например список).
Вопрос сейчас лишь в том, как правильно загрузить в доп. реквизит "файл" нужный файл. (пока говорю лишь об одном файле) , причем - с помощью внешней обработки, ибо справочник номенклатуры создается с нуля.
Пример своего решения я привел....но в созжданный мной реквиит загруженный файл оно не подставляет. Потому и ставлю вопрос - как загрузить файл в доп. реквизит типа файл.
Если я в чем-то ошибся - прошу...покажите/подскажите. Понять хочу
Добавлено: 16 дек 2016, 12:34


Все еще актуально...

Теги:

Похожие темы (5)

Рейтинг@Mail.ru Rambler's Top100

Поиск