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

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

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