Запись табличного документа в формате PDF в справочник физ лица

1. 14 24.11.22 15:58 Сейчас в теме
Добрый день, есть задача записать сформированный программно табличный документ записать в справочник к физ лицу в формате PDF, не могу сообразить как к этому приступить... Есть типовой функционал записи файла с внешнего носителя, но как это сделать программно не соображу. Может есть у кого такой опыт и может направить куда смотреть?
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. user1089020 24.11.22 16:04 Сейчас в теме
Я правильно понимаю, что Вам нужно табличный документ преобразовать в PDF и прикрепить к элементу справочника?
4. go_margaret 14 24.11.22 16:40 Сейчас в теме
(2) Да, все верно, при этом табличный документ я создаю и заполняю программно, потом мне нужно его добавить к элементу
3. beldieff 24.11.22 16:27 Сейчас в теме
ЗУП? Там же есть присоединенные файлы. Смотри как там делается и пиши так же..
go_margaret; +1 Ответить
5. go_margaret 14 24.11.22 16:43 Сейчас в теме
(3) Да, там есть обработка, но я не могу разобраться в типовом коде, точнее что из него использовать для записи в нужный справочник. Есть функция в общем модуле РаботаСФайламиСлужебныйВызовСервера.ДобавитьФайл(СведенияОФайле, АдресХранилищеЗначения), по сути туда я передаю структуру и данные табличного документа помещенного в хранилище, но вылетает на проверке Проверить(ЭтоКорректныйТип,
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Недопустимое значение параметра %1 в %2.
|Ожидалось: %3; передано значение: %4 (тип %5).'"),
ИмяПараметра, ИмяПроцедурыИлиФункции, ПредставлениеТипов(ОжидаемыеТипы),
?(ЗначениеПараметра <> Неопределено, ЗначениеПараметра, НСтр("ru = 'Неопределено'")),
ТипЗнч(ЗначениеПараметра)));
8. beldieff 24.11.22 16:56 Сейчас в теме
(5)
вылетает на проверке Проверить(ЭтоКорректныйТип,
это какой модуль какая процедура?
10. go_margaret 14 24.11.22 17:01 Сейчас в теме
(8) ОбщегоНазначенияКлиентСервер.ПроверитьПараметр

Сейчас получилось получить ошибку, разбираюсь
6. beldieff 24.11.22 16:51 Сейчас в теме
(5) Можно же посмотреть в отладке какие параметры передаются в функцию и подогнать свои под них.
Прикрепленные файлы:
7. go_margaret 14 24.11.22 16:54 Сейчас в теме
(6) А как по вашему я нашла модуль в котором ошибка выходит?) Только пока понять почему она там не получилось, по параметрам передаю все верно
9. beldieff 24.11.22 16:58 Сейчас в теме
(7)
А как по вашему я нашла модуль в котором ошибка выходит?)
Поэтому в вопросе надо давать больше информации, чтоб не давали глупых советов)
11. go_margaret 14 24.11.22 17:02 Сейчас в теме
(9) Я просто подумала, может кто-то уже сталкивался с таким, сейчас параллельно сижу разбираюсь с типовым кодом
12. user5300 860 24.11.22 17:05 Сейчас в теме
пример )
&НаСервере
Процедура ДобавитьКартинку(Номенклатура,ДВКартинки)
	
	СтруктураФайла = Новый Структура;
	СтруктураФайла.Вставить("Автор", 				Пользователи.ТекущийПользователь());
	СтруктураФайла.Вставить("ВладелецФайлов", 		Номенклатура);
	СтруктураФайла.Вставить("ИмяБезРасширения", 	"КартинкаНоменклатуры" + Лев(Строка(Номенклатура),14));
	СтруктураФайла.Вставить("РасширениеБезТочки", 	"jpg"); //можно распарсить полученный файл, но для простоты - всегда jpg
	СтруктураФайла.Вставить("ВремяИзмененияУниверсальное", ТекущаяУниверсальнаяДата());
	СтруктураФайла.Вставить("ГруппаФайлов", 		Справочники.Файлы.ПустаяСсылка());
	СтруктураФайла.Вставить("Служебный", 			Ложь);
	
	

	АдресВременногоХранилищаФайла = ПоместитьВоВременноеХранилище(ДВКартинки);    
	Картинка = РаботаСФайлами.ДобавитьФайл(СтруктураФайла, АдресВременногоХранилищаФайла);

	ОБ = Номенклатура.ПолучитьОбъект();
	ОБ.ФайлКартинки = Картинка;
	ОБ.Записать();     
	
КонецПроцедуры
Показать
go_margaret; +1 Ответить
13. go_margaret 14 24.11.22 17:09 Сейчас в теме
(12)
АдресВременногоХранилищаФайла = ПоместитьВоВременноеХранилище(ДВКартинки);

Вот тут у меня как раз сейчас ошибка, при проверке параметров нужно передавать двоичные данные, а у меня тут получается табличный документ...
14. user5300 860 24.11.22 17:12 Сейчас в теме
(13)а что сложного?)
ИмяФайла = ПолучитьИмяВременногоФайла(«.pdf»);
ТабличныйДокумент.записать(имяфайла, типфайла ПДФ);

двоичныеДанные = новый двоичныеДанные(ИмяФайла)
go_margaret; +1 Ответить
15. go_margaret 14 24.11.22 17:26 Сейчас в теме
(14) Да, верно, все сработало, немного подкорректировала, запись получилась)
Оставьте свое сообщение
Вакансии
Ведущий разработчик 1С
Новосибирск
зарплата от 120 000 руб. до 150 000 руб.
Полный день

Ведущий Консультант/Аналитик 1С
Москва
зарплата от 150 000 руб. до 250 000 руб.
Полный день

Программист, аналитик, эксперт 1С
Санкт-Петербург
По совместительству

Программист 1С
Великие Луки
зарплата от 100 000 руб. до 120 000 руб.
Полный день

Программист 1С
Красноярск
зарплата от 160 000 руб. до 180 000 руб.
Полный день