8.х УТ 11.3 Добавить файл *.pdf к элементу номенклатуры

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем p-roman, 11 дек 2016.

  1. TopicStarter Overlay
    p-roman
    Offline

    p-roman

    Регистрация:
    6 дек 2016
    Сообщения:
    34
    Симпатии:
    0
    Баллы:
    1
    Добрый день!

    Есть УТ 11.3 (Типовая) и внешняя обработка.
    Есть папка с файлами PDF которые надо сопоставить нужной номенклатуре.

    Вопрос - как к элементу справочника номенклатуры добавить pdf файл с помощью внешней обработки?
    Последнее редактирование: 11 дек 2016
  2. TopicStarter Overlay
    p-roman
    Offline

    p-roman

    Регистрация:
    6 дек 2016
    Сообщения:
    34
    Симпатии:
    0
    Баллы:
    1
    Если кто сталкивался - прошу - подскажите...
  3. LordMaverick
    Offline

    LordMaverick Профессионал в 1С

    Регистрация:
    17 мар 2014
    Сообщения:
    3.681
    Симпатии:
    420
    Баллы:
    104
    дело не в обработке и файлах, а в том как вы собираетесь это делать, сопоставлять
  4. TopicStarter Overlay
    p-roman
    Offline

    p-roman

    Регистрация:
    6 дек 2016
    Сообщения:
    34
    Симпатии:
    0
    Баллы:
    1
    А можно подробнее ?

    Нахожу в справочнике по артикулу нужную позицию номенклатуры. В другом реквизите имя файла(с полным путем до него) , который необходимо добавить в типовую УТ 11.3 и внешней обработки...
  5. TopicStarter Overlay
    p-roman
    Offline

    p-roman

    Регистрация:
    6 дек 2016
    Сообщения:
    34
    Симпатии:
    0
    Баллы:
    1
    Делаю так

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

    [​IMG]

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


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

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

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

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

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

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


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

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

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

    КонецЕсли;

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

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


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

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

    [​IMG]

    [​IMG]

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

    [​IMG]
    если подробнее, то...
    [​IMG]


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

    LordMaverick Профессионал в 1С

    Регистрация:
    17 мар 2014
    Сообщения:
    3.681
    Симпатии:
    420
    Баллы:
    104
    начнём с того что в типовой УТ11.2 (и .3) в реквизитах номенклатуры уже штатно есть "файл" :)) (в "Описание")
  7. nbIpKuH_BaH9I
    Online

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    7.320
    Симпатии:
    437
    Баллы:
    104
    Зачем изобретать велосипед?! Это все есть
    upload_2016-12-13_13-59-10.png
  8. TopicStarter Overlay
    p-roman
    Offline

    p-roman

    Регистрация:
    6 дек 2016
    Сообщения:
    34
    Симпатии:
    0
    Баллы:
    1
    Так я туда и гружу...
    [​IMG]
    Но хочу чтобы это отобразилось и в моем доп реквизите....
    Файлов может быть несколько, реквизитов для нескольких файлов (смысловых) тоже. Поэтому файл добавленный было бы неплохо отражать в доп. реквизитах.

    Если я что-то желаю не так - можете показать как надо добавлять программно файл в нужный мне дополнительный реквизит?
    И вообще не ясно почему при клике на файл или выборе в меню просмотреть - сыплются ошибки
  9. nbIpKuH_BaH9I
    Online

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    7.320
    Симпатии:
    437
    Баллы:
    104
    Зачем?
  10. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    15.137
    Симпатии:
    553
    Баллы:
    204
    Чел видимо хочет картинку к номенклатуре прилепить :)
  11. TopicStarter Overlay
    p-roman
    Offline

    p-roman

    Регистрация:
    6 дек 2016
    Сообщения:
    34
    Симпатии:
    0
    Баллы:
    1
    Конфигурация будет выгружать на сайт в нужные свойства номенклатуру с доп. реквизитами и файлы.
    Чтобы не было путаницы в соответствии данных в конфигурации свойствам на сайте.
    Словом - если например есть доп. реквизиты ФайлСертификат, ФайлИнструкция, и т.п. чтобы все данные из них переезжали в нужные свойства на сайте.
    --- Объединение сообщений, 13 дек 2016 ---
    "Чел"? Удивительное обращение особенно, для модератора
    В названии темы написана цель моих действий.
  12. nbIpKuH_BaH9I
    Online

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    7.320
    Симпатии:
    437
    Баллы:
    104
    На вашем сайте не может быть конфигурации 1с. Что это за технология?
  13. LordMaverick
    Offline

    LordMaverick Профессионал в 1С

    Регистрация:
    17 мар 2014
    Сообщения:
    3.681
    Симпатии:
    420
    Баллы:
    104
    что за ПДФ то туда грузится? сертификаты? там для это отдельное есть, тоже штатное
  14. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    15.137
    Симпатии:
    553
    Баллы:
    204
    Судя по вашему вопросу - решения такие:
    1. Делаете реквизит (в конфигураторе) путь к файлу. Обработкой проходитесь по каталогу смотрите имя файла - и ищите номенклатуру (как будете сопоставлять - это ваша проблема), как только нашли - пишите полный путь до файла.
    2. Делаете реквизит хранилище и туда загружаете картинку в двоичных данных
    3. Смотрите как реализован типовой механизм прикрепления файлов. Пишите обработку по прикреплению файлов.
  15. nbIpKuH_BaH9I
    Online

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    7.320
    Симпатии:
    437
    Баллы:
    104
    Да не, Саш. Думаю, вполне будет достаточно типового хранения файлов. Просто грузить программно надо. А вот механизм сопоставления - это, думаю, вопрос для вас номер один.
  16. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    15.137
    Симпатии:
    553
    Баллы:
    204
    Конечно вполне достаточно, чел просто сам не понимает чего он хочет.

    P.S. а что такого в том, что я произнес чел ? Может это ругательство какое ? Или слово чел совсем не то означает, что на самом деле должно означать слово человек ?
  17. TopicStarter Overlay
    p-roman
    Offline

    p-roman

    Регистрация:
    6 дек 2016
    Сообщения:
    34
    Симпатии:
    0
    Баллы:
    1
    В виде номенклатуры задан доп. реквизит Файл с типом Файл. Если туда загрузить файл, он спокойно переедет в свойства нужного инфоблока Файл с типом файл на битриксе. Таких доп. реквизитов в 1с можно создать несколько. Это - предусмотрено конфигурацией.
    Вопрос лишь в том, как правильно загрузить в доп. реквизит нужный файл. (пока говорю лишь об одном файле) .
    Пример своего решения я привел....но оно не работает до конца...
    Потому и ставлю вопрос - как загрузить файл в доп. реквизит типа файл.
  18. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    15.137
    Симпатии:
    553
    Баллы:
    204
    Например, сопоставить артикул номенклатуры с именем файла.
  19. nbIpKuH_BaH9I
    Online

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    7.320
    Симпатии:
    437
    Баллы:
    104
    Был где то пример загрузки. Поищу


    Отправлено с моего iPhone используя Tapatalk
  20. TopicStarter Overlay
    p-roman
    Offline

    p-roman

    Регистрация:
    6 дек 2016
    Сообщения:
    34
    Симпатии:
    0
    Баллы:
    1
    С ошибкой разобрался, файл загружается, и открывается на просмотр из 1с.

    [​IMG]

    Однако, я его все равно не вижу в реквизите.
    [​IMG]
    Как его заставить появится в нем? Или я неправильно загружаю файл в 1с ?

Поделиться этой страницей