Добрый день, новичок в 1с, периодически сталкиваюсь с разными заданиями, в которых слабо понимаю, прошу помощи..
Версия программы: BASБухгалтерия (разработка 2.1.12.1, совместимость 8.3.12)
Ситуация следующая:
Нужно сделать внешнюю обработку, прикрепить её к кнопке в справочнике "ДоговораКонтрагентов", по нажатию которой будет создаваться печатная форма договора, и сохраняться как прикреплённый файл к данному договору, в формате docx.
Создаваться должно по шаблону, который хранится как прикреплённый файл к организации. Так же надо менять часть текста внутри шаблона.
Застрял на этапе получения шаблона организации и считывания текста с него, выдаёт ошибку что файл с таким-то названием не найден. Пытался получить файл запросом из справочника "ОрганизацииПрикреплённыеФайлы", так же из справочников "ВерсииФайлов" и "файлы", везде одна и та же ошибка.
Как мне в процедуре получить шаблон и текст внутри шаблона?
6.
malikov_pro
133030.08.21 13:51 Сейчас в теме+0.1 $m
(5) Вы получили ссылку на справочник, docx шаблон находится либо в томе хранения либо в РС ДвоичныеДанные.
Чтобы получить двоичные данные нужно РаботаСФайлами.ДвоичныеДанныеФайла(ПрисоединенныйФайл);
После решить где буду обрабатывать если на клиенте то нужно передать из через ПоместитьВоВременноеХранилище
6.
malikov_pro
133030.08.21 13:51 Сейчас в теме+0.1 $m
(5) Вы получили ссылку на справочник, docx шаблон находится либо в томе хранения либо в РС ДвоичныеДанные.
Чтобы получить двоичные данные нужно РаботаСФайлами.ДвоичныеДанныеФайла(ПрисоединенныйФайл);
После решить где буду обрабатывать если на клиенте то нужно передать из через ПоместитьВоВременноеХранилище
(6)Получилось взять из реестра двоичных данных, спасибо!
Сохранил в файл на диске, теперь мучаюсь с тем чтоб перезаписать в файл нужные данные через ком объект и потом прикрепить этот файл к справочнику
(7) Через COM изменяете/создаете документ, результат сохраняете в файл. Файл с результатом через ПоместитьВоВременноеХранилище переносите на сервер и добавляете через РаботаСФайламиВТомахСлужебный.ДобавитьФайл(), посмотрите как эта функция используется в типовой. Для редактирования DOCX не обязательно COM https://infostart.ru/public/1171429/, альтернатива формировать через google, моя статья https://infostart.ru/1c/articles/1283766/