|
Программная выгрузка ВПФ и кэш | ☑ | ||
---|---|---|---|---|
0
orcdunaev
22.12.15
✎
11:12
|
Здравствуйте!
Столкнулся с такой проблемой. Программно формирую табличный документ внешней печатной формы. Выгружаю форму, создаю из файла внешнюю обработку. Проблема в том, что во временный файл выгружается старая версия ВПФ. Т.е. я уже изменил ее код, загрузил заново в базу, а при выгрузке во временный файл выгружается не измененная версия, а старая (открыл временный файл, проверил). Локальный кэш в AppData\Local и AppData\Roaming по этой базе обновил, не помогает. Помогает, если завести ВПФ в справочнике как новую ВПФ с другим именем. Но это крайне неудобно для отладки. Мне ее менять много раз придется. Вот тут описана похожая ситуация, но решения нет: v8: Своеобразность открытия внешних обработок 8.2 толстый клиент Есть ли у кого мысли, как еще можно бороться с этой траблой без постоянного заведения новой ВПФ? |
|||
1
Godofsin
22.12.15
✎
11:23
|
Выгружаешь форму? Это как?
|
|||
2
orcdunaev
22.12.15
✎
11:34
|
Примерно вот так:
ДеревоМакетовПечати = УниверсальныеМеханизмы.ПолучитьДеревоМакетовПечати(Док,Неопределено); СтрокаКнопки = ДеревоМакетовПечати.Строки.Найти("Печать торг12 возврат поставщику с пустыми подписями","Текст"); Если СтрокаКнопки=Неопределено Тогда Сообщить("В меню печати не найдено: ""Печать торг12 возврат поставщику с пустыми подписями""."); Возврат Неопределено; Иначе Расшифровка = СтрокаКнопки.Расшифровка; Если ТипЗнч(Расшифровка) = Тип("Структура") Тогда ДвоичныеДанные = Расшифровка.СсылкаНаВнешнююОбработку.Принадлежность[Расшифровка.НомерСтроки - 1].ХранилищеВнешнейОбработки.Получить(); Если ДвоичныеДанные = Неопределено Тогда ДвоичныеДанные = Расшифровка.СсылкаНаВнешнююОбработку.ХранилищеВнешнейОбработки.Получить(); КонецЕсли; Если ДвоичныеДанные = Неопределено Тогда Сообщить("Не удалось напечатать ТОРГ-12."); Возврат Неопределено; КонецЕсли; ТабДокумент = Неопределено; ИмяФайла = ПолучитьИмяВременногоФайла("epf"); //Попытка ДвоичныеДанные.Записать(ИмяФайла); Обработка = ВнешниеОбработки.Создать(ИмяФайла); Обработка.СсылкаНаОбъект = Док; ДопПараметры=новый Структура; ДопПараметры.Вставить("ВернутьТабличныйДокумент", Истина); // Если у внешней обработки есть реквизит для дополнительных параметров, присвоить ему значение Если НЕ Обработка.Метаданные().Реквизиты.Найти("ДополнительныеПараметры") = Неопределено Тогда Обработка.ДополнительныеПараметры = ДопПараметры; КонецЕсли; Обработка.ДополнительныеПараметры=ДопПараметры; ТабДокумент=Обработка.Печать(); УдалитьФайлы(ИмяФайла); |
|||
3
orcdunaev
22.12.15
✎
11:38
|
А, ну да, забыл. Обычные формы, Комплексная автоматизация, платформа 8.3.5.1248. Если это важно для сути вопроса. Но версию платформы все равно менять нельзя.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |