Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Вопрос по работе ВнешниеОбработкиМенеджер

Вопрос по работе ВнешниеОбработкиМенеджер
Я
   Адепт1С
 
23.07.18 - 23:20
Кто работал с данным менеджером более подробно прошу помогите прояснить его работу, а точнее интересует ВнешниеОбработки.Создать() 

СпОбработка = Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию("МояОбработка");
ИмяФайла = ПолучитьИмяВременногоФайла();
ДвоичныеДанные = СпОбработка.ХранилищеОбработки.Получить();
ДвоичныеДанные.Записать(ИмяФайла);
Обработка = ВнешниеОбработки.Создать(ИмяФайла);
Список = Обработка.ВызовМоейФункции();
В внешней обработке есть функция которуя будет вызываться при открытии документа.
Я так понимаю в оперативной памяти создается файл внешней Обработки не приведет ли это к утечке памяти. Нужно ли уничтожать файл или он сам удаляется менеждером при выходе из области видимости. Предполагается что файл будет создаваться при работе с документом и он не уничтожится пока с документом будут работать? Беспокоит что пользователей довольно много порядка 30 человек, но проблес с памятью нет. Просто охото что бы было все по уму :D
 
 
   Доминошник
 
1 - 23.07.18 - 23:29
(0) А перенести эту обработку и документ в расширение и работать без ДополнительныеОтчетыИОбработки?
   Адепт1С
 
2 - 23.07.18 - 23:35
Мм немного не понял как это. Просто хотесь перенести вес "чужеродный" код во внешнюю обработку оставив в документе лишь создание объекта внешней обработки. И задумался не приведет ли это к утечке памяти. Что за "расширение" какой то неизвестный мне механизм?
   hhhh
 
3 - 24.07.18 - 00:00
(2) ну умножь например обработка занимает 5к * 30 пользователей = 150 КБайт. Значит ты должен держать в памяти 10000 таких обработок, чтобы заметить утечку. В общем, не парь людям мозг.
   Адепт1С
 
4 - 24.07.18 - 00:09
Если временные файлы не уничтожаются то они будут висеть в памяти до перезагрузки сервера, а если учесть что создается файл при каждом открытие документа. То и 30 человек могут забить всю память. И я не понял 5к ты думаешь я там "Hello, World" написал что ли?
   Доминошник
 
5 - 24.07.18 - 00:13
   hhhh
 
6 - 24.07.18 - 00:27
(4) ну посмотри сколько занимает обработка? Самая супер-пупер 60к, а в основном все 5-10 к. Ты бы лучше про открытие документа подумал. Открытие документа вот оно нехило память жрет, особенно если потом проводишь документ.
   Адепт1С
 
7 - 24.07.18 - 00:27
(5) Довольно интересно, но все же интересует механизм внешних обработок так как решение почти готово, но немного беспокоит как уничтожаются временные файлы и уничтожаются ли они. Может принудительно надо как с временными таблицами? Но + тебе за подсказку я с этим еще не сталкивался.
   Адепт1С
 
8 - 24.07.18 - 07:47
Есть у кого нибудь информация непосредственно по вопросу?
   Остап Сулейманович
 
9 - 24.07.18 - 08:20
(8)
1. "не приведет ли это к утечке памяти." Утечки в 1С прогнозировать сложно. Штатно память должна освободиться после удаления ссылки на переменную объекта. В вашем случае "Обработка".
2. "Нужно ли уничтожать файл или ...". Товарисчъ СП говорит следующее : "Если файл не будет удален средствами встроенного языка, он будет удален платформой при следующем запуске." Это относится к файлам, имена которых получены методом ПолучитьИмяВременногоФайла(). Они создаются во временном каталоге пользователя и имеют префикс (если не изменяет склероз) "V8". Таким образом при каждом запуске файлы, имена которых начинаются на "V8" должны удаляться из временного каталога пользователя.
   Cool_Profi
 
10 - 24.07.18 - 08:21
"Товарисчъ СП говорит следующее : "Если файл не будет удален средствами встроенного языка, он будет удален платформой при следующем запуске." Это относится к файлам, имена которых получены методом ПолучитьИмяВременногоФайла()"

Как выясняется - не удаляются.
 
 Рекламное место пустует
   Остап Сулейманович
 
11 - 24.07.18 - 08:30
(10) Ну... Это 1С, детка. )))
Я временные файлы, которые создаются в моем коде, стараюсь чистить самостоятельно.
Часто приходиться обрабатывать ДБФ у которых длина имени больше 8-ми символов. 1С с такими не работает. Посему перед обработкой приходится копировать во временные файлы. После обработки эти файлы удалять. Пользователь считает, что обрабатывается оригинальный файл.
   Адепт1С
 
12 - 25.07.18 - 18:37
Я придерживаюсь такого мнения по удалению файлов. Не могли бы вы подсказать как выглядело бы удаление файла в моем случае?
В менеджере я посмотрел нет такого метода.
Есть только:
Подключить (Connect)
ПолучитьФорму (GetForm)
Создать (Create)
   Сияющий в темноте
 
13 - 25.07.18 - 21:07
УдалитьФайлы ?
   unregistered
 
14 - 25.07.18 - 21:13
(0) Перепишите на расширение. Это занимает 5 минут времени и полностью решает вашу и без того надуманную проблему.
Какая-то дичь....

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует