|
Вопрос по работе ВнешниеОбработкиМенеджер | ☑ | ||
---|---|---|---|---|
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
|
(2) Что такое "расширение" https://wonderland.v8.1c.ru/search/?q=&where=&tags=расширения&how=d
|
|||
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 минут времени и полностью решает вашу и без того надуманную проблему.
Какая-то дичь.... |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |