В конфигурации УПП внешние обработки хранятся в справочнике. При запуске такой обработки сначала создается временный файл, в него записывается эта обработка, после чего она запускается как внешняя. В связи с этим возникает вопрос. В типовой УПП не отрабатывается удаление этих временных файлов. В помощнике 1С сказано, что не удаленные временные файлы будут удалены при "следующем запуске" платформы. Но вот база крутится на сервере, следовательно платформа не перезапускается, и файлы не удаляются.
Некоторые отчеты, которые запускаются пользователями очень часто (форма отчета каждый раз заново создается), находятся во внешних. Соответственно, эти файлы накапливаются и никуда не деваются.
Вопрос: какие есть подводные камни, если сразу после открытия формы внешней обработки удалять ее файлы? Т.е. что-то вроде такого:
ИмяФайла = ПолучитьИмяВременногоФайла();
Обработка = Справочники.ВнешниеОбработки.НайтиПоНаименованию("Обработка 1");
ДвоичныеДанные = Обработка.ХранилищеВнешнейОбработки.Получить();
ДвоичныеДанные.Записать(ИмяФайла);
ВнешняяОбработка = ВнешниеОбработки.Создать(ИмяФайла);
Форма = ВнешняяОбработка.ПолучитьФорму();
Форма.Открыть();
УдалитьФайлы(ИмяФайла);
В типовой почему-то так не сделано.
Некоторые отчеты, которые запускаются пользователями очень часто (форма отчета каждый раз заново создается), находятся во внешних. Соответственно, эти файлы накапливаются и никуда не деваются.
Вопрос: какие есть подводные камни, если сразу после открытия формы внешней обработки удалять ее файлы? Т.е. что-то вроде такого:
ИмяФайла = ПолучитьИмяВременногоФайла();
Обработка = Справочники.ВнешниеОбработки.НайтиПоНаименованию("Обработка 1");
ДвоичныеДанные = Обработка.ХранилищеВнешнейОбработки.Получить();
ДвоичныеДанные.Записать(ИмяФайла);
ВнешняяОбработка = ВнешниеОбработки.Создать(ИмяФайла);
Форма = ВнешняяОбработка.ПолучитьФорму();
Форма.Открыть();
УдалитьФайлы(ИмяФайла);
В типовой почему-то так не сделано.
По теме из базы знаний
- Пример обработки загрузки данных из XML-файла в облаке 1С:Fresh
- Загрузка номенклатуры c картинками (несколько потоков одновременно) и сопутствующими данными в базу и любые документы из yml, xls, xlsx, xlsm, ods, ots, csv для УТ 10.3, УТ 11 (все), БП 3, КА 2, ERP 2, УНФ 1.6/3.0, Розница 2/3.0
- Загрузка документов из Excel в 1С: УПД, ТОРГ-12, отчеты маркетплейсов, заказы, счета, прайсы
- Распознавание и загрузка сканов в 1С "одним нажатием". УПД, ТОРГ-12, накладные, счета, номенклатура, заказы и т.д.
- Как найти неиспользуемый код
Найденные решения
(14) Угу, видимо это исправили. Помню давным давно видел такой недостаток, возможно еще на 8.1 :-)
После чего сама 1С в одном из модулей открытия внешних отчетов закомментировала строчку удаления временного файла.
Думаю, теперь можно удалять файл сразу, после открытия
После чего сама 1С в одном из модулей открытия внешних отчетов закомментировала строчку удаления временного файла.
Думаю, теперь можно удалять файл сразу, после открытия
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Сразу раскажу про подводные камни.
Для примера попробуйте сваять простой отчет на СКД: тупо схема и все, система сама нарисует форму и все обработчики. Сделайте удаление сразу после запуска обработки. Подключите отчет в базу данных через внешние отчеты.
Сформируйте отчет, попробуйте выполнить расшифровку результата и сами все поймете.
Рекомендую удалять или при начале работы системы или призавершении
p.s. Что тема делает в разделе LIFE?
Для примера попробуйте сваять простой отчет на СКД: тупо схема и все, система сама нарисует форму и все обработчики. Сделайте удаление сразу после запуска обработки. Подключите отчет в базу данных через внешние отчеты.
Сформируйте отчет, попробуйте выполнить расшифровку результата и сами все поймете.
Рекомендую удалять или при начале работы системы или призавершении
p.s. Что тема делает в разделе LIFE?
(10) echo77,
>p.s. Что тема делает в разделе LIFE?
Это инфостарт: я указал тему прог-ие 8.2, нажал "пред. просмотр", а он взял, и тему поменял. Всегда так делает, забываю иногда.
>Рекомендую удалять или при начале работы системы или при завершении
Как я уже говорил, у нас база на сервере, т.е. этот вариант не годится.
>Сразу раскажу про подводные камни.
Можно еще раз? Подробнее.
Что я сделал: создал внешний отчет (просто как файл), запустил его. Удалил внешний отчет с диска. Запустил расшифровку. Все сработало нормально.
>p.s. Что тема делает в разделе LIFE?
Это инфостарт: я указал тему прог-ие 8.2, нажал "пред. просмотр", а он взял, и тему поменял. Всегда так делает, забываю иногда.
>Рекомендую удалять или при начале работы системы или при завершении
Как я уже говорил, у нас база на сервере, т.е. этот вариант не годится.
>Сразу раскажу про подводные камни.
Можно еще раз? Подробнее.
Что я сделал: создал внешний отчет (просто как файл), запустил его. Удалил внешний отчет с диска. Запустил расшифровку. Все сработало нормально.
(14) Угу, видимо это исправили. Помню давным давно видел такой недостаток, возможно еще на 8.1 :-)
После чего сама 1С в одном из модулей открытия внешних отчетов закомментировала строчку удаления временного файла.
Думаю, теперь можно удалять файл сразу, после открытия
После чего сама 1С в одном из модулей открытия внешних отчетов закомментировала строчку удаления временного файла.
Думаю, теперь можно удалять файл сразу, после открытия
(6) biker1052, (8) deniseek77, так я ж и пишу - сразу после открытия формы внешнего отчета или обработки (она продолжает висеть у пользователя на экране) удаляется файл. Никакого исключения не вызывается, все отрабатывается нормально, файл на самом деле удаляется. Это делает код, написанный выше, в самом начале. При этом обработка продолжает работать, пользователь тыкает кнопки, все норм. Вопрос - таит ли этот способ какую-либо опасность? Если нет, почему в типовой конфе 1с-ники так не сделали?
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот