|
Заполнение параметров в прикрепленном файле doc | ☑ | ||
---|---|---|---|---|
0
Wefast
27.11.23
✎
20:19
|
ЗУП 3.1
Исходящее электронное письмо. Раньше работал через ком объект и был Word, сейчас нет ворда, и скоро будет переезд на Linux Прикреплен файл .docx сформированный не в WORD Указал область и параметр {v8 Область.Документ} {v8 Параметр1} {/v8 Область.Документ} Обработка создает исходящее письмо, крепит к нему этот "шаблон". Далее мне нужно его заполнить. Получаю данный файл, определяю область: ПутьИИмяШаблона = ПолучитьИмяВременногоФайла(); ДД = ПолучитьИзВременногоХранилища(ОписаниеФайла.СсылкаНаДвоичныеДанныеФайла); ДД.Записать(ПутьИИмяШаблона); Макет = УправлениеПечатью.ИнициализироватьМакетОфисногоДокумента(ДД, Неопределено); ПечатнаяФорма = УправлениеПечатью.ИнициализироватьПечатнуюФорму(Неопределено, Неопределено, Макет); ОписаниеОбластей = Новый Структура; УправлениеПечатью.ДобавитьОписаниеОбласти(ОписаниеОбластей, "Документ","Общая"); Область = УправлениеПечатью.ОбластьМакета(Макет, ОписаниеОбластей["Документ"]); На этом этапе если я все правильно понимаю я не работаю с самими файлом. Заполняю параметры: УправлениеПечатью.ПрисоединитьОбластьИЗаполнитьПараметры(ПечатнаяФорма, Область, Параметры); Получаю готовый файл: АдресХранилищаПечатнойФормы = УправлениеПечатью.СформироватьДокумент(ПечатнаяФорма); Адрес имеет такой вид: "'e1cib\tempstorage\85d78ceb-7cd7....." Далее мне нужно подменить тот файл что я открывал: ДД = Новый ДвоичныеДанные(АдресХранилищаПечатнойФормы); ПоместитьВоВременноеХранилище(ДД, ОписаниеФайла.СсылкаНаДвоичныеДанныеФайла); И написал на "всякий случай" ОписаниеФайла.СсылкаНаДвоичныеДанныеФайла = АдресХранилищаПечатнойФормы; Собственно вопрос правильно ли я все делаю. И ошибка возникает у меня такая: Ошибка при вызове конструктора (ДвоичныеДанные) .... ДД = Новый ДвоичныеДанные(АдресХранилищаПечатнойФормы); .... [ОшибкаВоВремяВыполненияВстроенногоЯзыка, ОшибкаИспользованияВстроенногоЯзыка] по причине: Каталог не обнаружен 'e1cib\tempstorage\85d78ceb...' [ОшибкаДоступаКЛокальномуФайлу] по причине: по причине: Каталог не обнаружен 'e1cib\tempstorage\85d78ceb...' Ошибка из-за того что я пишу что то не то, и\или из-за того что у меня есть права на чтение, но не на запись? Но как тогда изначально этот файл по этому пути туда попал. |
|||
1
Шурик71
27.11.23
✎
20:52
|
(0) >> ДД = Новый ДвоичныеДанные(АдресХранилищаПечатнойФормы);
Может все же ДД = ПолучитьИзВременногоХранилища(АдресХранилищаПечатнойФормы); ? Там в хранилище должны быть двоичные данные в этот момент.. |
|||
2
Wefast
28.11.23
✎
07:39
|
(1) поменял эту строчку, ошибки нет, но и файл не заполненный в итоге
|
|||
3
Шурик71
28.11.23
✎
16:04
|
(2) В твоем сообщении нет данных о том как ты получаешь шаблон и записываешь туда итоговый файл.
Если я правильно понял твой текст - то ДО твоего кода уже созданы письма и туда прикреплены шаблоны. (см. "Обработка создает исходящее письмо, крепит к нему этот "шаблон""). Дальше ты проходишь по этим шаблонам и формируешь на базе шаблонов итоговый файл, который тебе надо поместить в письмо. Ни исходного чтения шаблона, ни записи в письмо в твоем тексте нет... Если надо что-то иное (на самом деле, я не знаю, зачем надо сначала делать письма с присоединенными шаблонами, а потом подменять вложения) - то в исходном сообщении про это не написано. В исходном сообщении - только про временное хранилище; а это уж точно не данные в почтовом файле. Что дальше должно происходить - непонятно. |
|||
4
Шурик71
28.11.23
✎
16:10
|
Если же ВДРУГ это промежуточный кусок (например, есть код, который успешно создает письмо с шаблоном и в некий момент во временном хранилище уже находится этот шаблон, который ТОЧНО потом запишется в письмо, и его надо подменить) - то как минимум
ПоместитьВоВременноеХранилище(ДД, ОписаниеФайла.СсылкаНаДвоичныеДанныеФайла); и ОписаниеФайла.СсылкаНаДвоичныеДанныеФайла = АдресХранилищаПечатнойФормы; несколько противоречат друг другу.. Вторая часть - лишняя. Но все равно надо смотреть куда дальше идут данные. По написанному коду - по состоянию на ДД = ПолучитьИзВременногоХранилища(АдресХранилищаПечатнойФормы); там уже должны быть двоичные данные сформированного макета, и надо разбирать, что с ними происходит дальше. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |