Имя: Пароль:
1C
1С v8
УТ 11 Добавить файл *.pdf к элементу номенклатуры
,
0 p-roman
 
11.12.16
17:14
Добрый день!

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

Вопрос - как к элементу справочника номенклатуры добавить pdf файл с помощью внешней обработки?
1 Cyberhawk
 
11.12.16
17:16
Документация на ИТС по подсистеме БСП "Присоединенные файлы" тебе в помощь
2 p-roman
 
11.12.16
17:21
Прошу не советовать мануалы(читал много), а показать на примере.
3 Chameleon1980
 
11.12.16
17:44
сильно
4 Chameleon1980
 
11.12.16
17:46
Реквизит для спр типа ХранилищеЗначений
5 Chameleon1980
 
11.12.16
17:46
(3) к (2)
6 mehfk
 
11.12.16
17:46
(2) Начни с заключения договора с исполнителем.
7 Chameleon1980
 
11.12.16
17:48
(4) ну и бывает РС хранимые файлы, чтобы реквизиты не делать.

(6) +100500
8 yzimin
 
11.12.16
19:56
ПрисоединенныеФайлы.ДобавитьПрисоединенныйФайл(ПараметрыФайла, Адрес);
9 p-roman
 
11.12.16
20:39
А какой макс. размер файла можно добавить в базу?
10 Mauser
 
11.12.16
23:06
(9) 1 мегабайт
11 p-roman
 
11.12.16
23:24
Где-то в глубине настроек УТ 11.3 вроде 50 мб полчаса назад видел...
Откуда цифра 1 Мб?
12 Mauser
 
11.12.16
23:33
(11) Из документации, родной, которую ты читать не хочешь.
13 p-roman
 
12.12.16
11:08
Читаю, но не вижу ответов на свои вопросы. Есть разница.
Хочешь посоветовать умную книгу где рассмотрен мой вопрос - скажу спасибо.

Насчет размера файла. А как же вот это?
http://hostingkartinok.com/show-image.php?id=35f95b336ebd9a855e1d638658c77fe3

50 Мб указано явно.  Можно ссылку на мануал откуда взят 1 МБ ?
14 p-roman
 
14.12.16
14:23
Вообщем делаю так
Добавляю файл так
Путь - Полный путь к файлу
ЭлементСсылка - ссылка на нужный элемент в справочнике в который нужно добавить файл


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

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

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

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

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

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


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

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

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

КонецЕсли;

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

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

Файл я вижу
http://s019.radikal.ru/i635/1612/6b/6affd7751b28.jpg

но среди доп. реквизитов его нет. А именно в доп. реквизите файл он мне и нужен
http://s019.radikal.ru/i606/1612/c0/67ecc792f133.jpg

Что я делаю не так? Буду благодарен за примеры верного кода
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.