Имя: Пароль:
1C
 
Высвобождение памяти 1С 7.7
0 zhas79
 
05.11.08
23:30
Всем доброго времени суток.
Может, уже обсуждалось, с наскока в поиске не нашел.
В общем, есть такая проблема в 1С 7.7.
Есть робот, ночью делает сильно большую работу, выполняется на сервере в терминальном режиме.
Используемая память во время этой работы подскакивает от 25-30 Мб до 220-230 Мб. Но по окончании этой работы память самостоятельно не высвобождается (все выполнявшиеся обработки закрываются, робот простаивает, поэтому о необходимости обнуления ссылок на объекты и внешние компоненты речи не идет).
При следующем запуске этой работы (а выполняется она раз в сутки) объем используемой памяти увеличивается дальше. В результате за трое суток работы робота объем памяти, "скушанной" роботом, достигла более 600 Мб, после чего сервер не выдержал и умер до перезагрузки (дело не в недостатке ОЗУ, просто на нем еще работает n-ное количество пользователей).
Обнаружил интересную закономерность, что если после окончания выполнения работы роботом на пару секунд свернуть его окно, а потом снова развернуть, объем используемой памяти резко падает от 230 Мб до 5-10 Мб, то есть память сразу высвобождается.
Понятно, что еженощно заниматься сворачиванием и разворачиванием робота некому, да и выглядит это как очередные танцы с бубном.
Может, у кого-то есть какие-то знания или соображения по этому поводу, буду благодарен.
1 ТелепатБот
 
гуру
05.11.08
23:30
2 zhas79
 
05.11.08
23:41
Кстати, сейчас вот еще заметил.
Этот робот каждые 5 минут выполняет еще одну мелкую работенку. При этом используемая память постепенно немного возрастает на 100-200 Кб. И тоже "нарастающим итогом". Вот только что доросло до 14 Мб. Ради интереса опять свернул - сразу стало 5 Мб.
То есть это всегда так в 1С 7.7, что ли?
3 Дядя Васька
 
05.11.08
23:48
(2) Скорее просто переменные не обнуляешь, а наращиваешь все время где-то.
4 MMF
 
05.11.08
23:52
(3+) или дофига Сообщить() без очистки
5 Mashinist
 
05.11.08
23:58
Имею почти такуюже пролему. память растет и в какой-то момент (при достижении примерно 500М) 1С вываливает Недостаточно памяти и все... вист пока не снимешь.
Сворачивать не пробовал. Сегодня робот уже начал работать. Завтра обязательно поробую.
Решил лечить ежесуточным перезапуском 1С

(4) На счет Дофига Сообщить() так это есть...
Тоже уберу и посмотрю.
6 fez
 
06.11.08
01:01
Такая же фигня при перепроведении большого количества документов.

Сворачивать не пробовал, но если сработает - будет прикольно :)
7 PVL
 
06.11.08
07:51
Есть такая проблема.. замечал у себя.. Причем, сварачивание по кнопке "Свернуть все окна" на панели не освобождает память, а если свернуть 1С по "Свернуть" в правом верхнем углу - помагает..
8 Злой Бобр
 
06.11.08
10:53
Странные у вас проблемы. Почему у меня такого нет?
А для перепроведения документов, последовательностей и пр. - пользуйте 1срр.
9 ДенисЧ
 
06.11.08
10:55
ЛОкальные переменные объявлять явно.
При создании объектов не забывать обнулять их после использования.
10 YF
 
06.11.08
10:57
(0) А у меня так бывает: делается обработка, растет потребляемая память, обработка закончилась, закрыли форму, однако количество занятой памяти не вернулось к тому, что было до обработки, хотя и уменьшилось немного ...
11 Злой Бобр
 
06.11.08
10:59
+8 Кхм... Посмотрел - те же грабли. По сворачиванию окна память освобождается. Капец просто с этим 1С-ом...
12 Деметрио
 
06.11.08
10:59
(10) виндовс зарезервировал может? если ради интереса какой-нить оптимизатор памяти поставить - погонять, который принудительно освобождает?
13 Злой Бобр
 
06.11.08
11:01
На выходных попробую сделать запуск робота со свернутым окном. Интересно будет глянуть на результат. Видимо раньше незамечал - памяти дохрена, так что 100-200 метров даже и незаметно.
14 Ужас бухгалтера
 
06.11.08
11:03
Сворачивание приложение не уменьшает потребление памяти 1С. То, что в диспетчере задач памяти отображается меньше, просто означает, что при сворачивании виндоус по максимуму уменьшает "workset" процесса. Т.е. множество страниц процесса, находящихся в физической памяти. Фактически, память 1С просто выгружается в файл подкачки. Если включить в диспетчере отображение еще и виртуальной памяти, то в этой колонке объем памяти уменьшаться не будет (скорее всего).
15 Деметрио
 
06.11.08
11:07
(14) точно не будет.
16 Shadd
 
06.11.08
11:10
(0) код в студию. хотя бы одной обработки. самой короткой.
17 Shadd
 
06.11.08
11:10
подозреваю, что не завершаете процесс просто -напросто.
18 andrewalexk
 
06.11.08
11:21
(1)
:)
идиот...
19 Злой Бобр
 
06.11.08
11:26
После недолгого разбора полета - сворачивание приводит к освобождению физ памяти, при этом файл подкачки остается неизменным (т.е. утверждение в (14) подтвердилось - все держится в виртуалке). Немного конечно странно, но мне всеравно - память не критична.
20 H A D G E H O G s
 
06.11.08
11:31
(19) Все правильно. Приложение свернули -> пользователь с ним не работает -> в файл подкачки его.
21 zhas79
 
06.11.08
13:10
(19) да, так и есть, то есть сворачивание окна проблему в принципе не решает.
(16) даже не знаю, какой кусок предоставить, вся обработка довольно большая, она формирует xml-файл коммерческих предложений, естественно, памяти требует много, это и понятно, но не освобождает после использования.
22 zhas79
 
06.11.08
13:13
Функция Сформировать()
                     
   //функция возвращает флаг успешности выполнения задания
   
   Если ПустаяСтрока(ФормИмяФайла)>0 Тогда
       Предупредить("Не задано имя файла!");
       Возврат 0;
   КонецЕсли;    
   
   Попытка
       Если ФС.СуществуетФайл(СокрЛП(ФормИмяФайла)) > 0 Тогда
           Если НазваниеНабораПрав() <> "Робот" Тогда
               Если Вопрос("Файл '"+СокрЛП(ФормИмяФайла)+"' существует. Переписать?","Да+Нет", 30)="Нет" Тогда
                   Возврат 0;
               КонецЕсли;
           КонецЕсли;
       КонецЕсли;    
   Исключение
       Предупредить("Неверное имя файла!");
       Возврат 0;
   КонецПопытки;    
   
   ИмяФайлаВыгрузки = СокрЛП(ФормИмяФайла);
   
   Если ВидФайла.ТекущаяСтрока()=2 Тогда
       Если УстановитьКомпонентуDIALMAIL()=0 Тогда
           Возврат 0;
       КонецЕсли;
       Если СоздатьОбъектZIP()=0 Тогда
           Возврат 0;
       КонецЕсли;
   КонецЕсли;
   
   Если ТипВыгрузки=2 Тогда    //Выгружаем в файл и отправляем на FTP
       Если (ПустаяСтрока(FTPСервер)=1) ИЛИ (ПустаяСтрока(FTPПорт)=1)
       ИЛИ (ПустаяСтрока(FTPПользователь)=1) ИЛИ (ПустаяСтрока(FTPПароль)=1)
       ИЛИ (ПустаяСтрока(FTPПуть)=1) Тогда
           Предупредить("Не заполнены параметры FTP сервера!");
           Возврат 0;
       КонецЕсли;
       Если УстановитьКомпонентуDIALMAIL()=0 Тогда
           Возврат 0;
       КонецЕсли;
       Если СоздатьОбъектFTP()=0 Тогда
           Возврат 0;
       КонецЕсли;
   Иначе
       Предупредить("Не выбрана опция выгрузки!");
   КонецЕсли;
   
   
   Если ФормКаталог.Выбран()=0 Тогда
       Предупредить("Не выбран каталог товаров!");
       Возврат 0;
   КонецЕсли;
   
   
   Если ПустоеЗначение(ФормКаталог.ВладелецКаталога.Идентификатор) = 1 Тогда
       Предупредить("Не указан идентификатор владельца каталога!");
       Возврат 0;
   КонецЕсли;    
   
   
   флТипЦенЗадан = 0;
   Для Сч = 1 По ФормСписКатегорийЦен.РазмерСписка() Цикл
       Если ФормСписКатегорийЦен.Пометка(Сч) = 1 Тогда
           флТипЦенЗадан = 1;
           Прервать;
       КонецЕсли;
   КонецЦикла;
   Если флТипЦенЗадан = 0 Тогда
       Предупредить("Не отмечена ни одна из категорий цен!");
       Возврат 0;
   КонецЕсли;
             
   
   Если ЗагрузитьВнешнююКомпоненту("V7Plus.dll") <> 1 Тогда
       Сообщить("Ошибка загрузки компоненты V7+!","!!!");
       Возврат 0;
   КонецЕсли;
   
   
   Если ПустоеЗначение(ФормКаталог.СпособИдентификацииНоменклатуры) = 1 Тогда
       ИмяРеквизитаИдентификации    =    "Код";
   Иначе
       ИмяРеквизитаИдентификации    =    ФормКаталог.СпособИдентификацииНоменклатуры.Идентификатор();
   КонецЕсли;
   
   
   Анализатор    = СоздатьОбъект("AddIn.XMLParser");
   Документ    = Анализатор.СоздатьДокумент();
   
   
   Если ПустоеЗначение(Документ) = 1 Тогда
       Возврат 0;
   КонецЕсли;
   
   
   Документ.ЗагрузитьИзСтроки("<?xml version =""1.0""?><КоммерческаяИнформация></КоммерческаяИнформация>");
   
   
   Попытка    
       СхемыДляПроверки = Анализатор.СоздатьКоллекциюСхем();
       СхемыДляПроверки.ДобавитьСхему(ИДСхемыДляПроверки, КаталогИБ() + "ExtForms\CommerML.biz");
       Документ.Схемы = СхемыДляПроверки;        
   Исключение  
       Предупредить("Неправильная схема XML-файла: " + ОписаниеОшибки());
       Возврат 0;
   КонецПопытки;
   
       
   ЭлементКаталога = ПолучитьПустоеЗначение();
   
   Если (ФормКаталог.ВладелецКаталога.Вид() = "Контрагенты") И (ПустоеЗначение(ФормКаталог.XMLФайл) = 0) Тогда
       Если Фс.СуществуетФайл(ФормКаталог.XMLФайл) = 1 Тогда
           ЭлементКаталога        = Анализатор.СоздатьДокумент();
           ЭлементКаталога.Схемы    = СхемыДляПроверки;
           ЭлементКаталога.Загрузить(ФормКаталог.XMLФайл);
       КонецЕсли;
   КонецЕсли;    
   
   
   ЭлКоммерческаяИнформация = Документ.ЭлементДокумента;
   
   
   Если флВыгружатьВладельца = 1    Тогда
       ВыгрузкаВладельца(ЭлКоммерческаяИнформация, ФормКаталог.ВладелецКаталога);
   //Иначе
   //    ВыгрузкаВладельца(ЭлКоммерческаяИнформация, Константа.ОсновнаяФирма);
   КонецЕсли;
           
   
   Если флВыгружатьКаталог    = 1        Тогда ВыгрузкаКаталога(ЭлКоммерческаяИнформация)    КонецЕсли;
   
                     
   Для Сч = 1 По ФормСписКатегорийЦен.РазмерСписка() Цикл
       Если ФормСписКатегорийЦен.Пометка(Сч) = 0 Тогда Продолжить КонецЕсли;
       ТекущаяКатегорияЦен    = ФормСписКатегорийЦен.ПолучитьЗначение(Сч);
       ВыгрузкаПредложений(ЭлКоммерческаяИнформация);
   КонецЦикла;
   
   Попытка
       //Документ.Проверить();        
   Исключение
       Предупредить(ОписаниеОшибки());
       Возврат 0;
   КонецПопытки;        
   
   Если ВидФайла.ТекущаяСтрока()=1 Тогда
       //Записываем ХМЛ-Документ согласно ФормИмяФайла
       Попытка    
           Документ.Записать(СокрЛП(ИмяФайлаВыгрузки));
       Исключение  
           Предупредить("Не удалось записать файл " + СокрЛП(ИмяФайлаВыгрузки) + ": " + ОписаниеОшибки());
           Возврат 0;
       КонецПопытки;
   Иначе
       //Записываем ХМЛ-Документ, а потом архивируем
       ВремСписок = глРазложить(ИмяФайлаВыгрузки,".");
       Если ВремСписок.РазмерСписка()=0 Тогда
           Сообщить("Ошибка. Обратитесь к разработчику","!!!");
           Возврат 0;
       КонецЕсли;
       Если ВремСписок.РазмерСписка()>1 Тогда
           СтароеРасширение = ВремСписок.ПолучитьЗначение(ВремСписок.РазмерСписка());
           НовоеИмяФайла = Лев(ИмяФайлаВыгрузки,СтрДлина(ИмяФайлаВыгрузки)-СтрДлина(СтароеРасширение))+"xml";
       КонецЕсли;
       Попытка    
           Документ.Записать(СокрЛП(НовоеИмяФайла));
       Исключение  
           Предупредить("Не удалось записать файл " + СокрЛП(НовоеИмяФайла) + ": " + ОписаниеОшибки());
           Возврат 0;
       КонецПопытки;
       Пауза(3);
       Если ZIP.ДобавитьВАрхив(,НовоеИмяФайла,ИмяФайлаВыгрузки)=0 Тогда
           Возврат 0;
       КонецЕсли;
   КонецЕсли;
   
   Если ТипВыгрузки=2 Тогда    //Отправляем на FTP
       Если ПодключитьсяЕслиНеПодключено()=0 Тогда
           Возврат 0;
       КонецЕсли;
       Пауза(5);
       Если ОтправитьФайлНаFTP(ИмяФайлаВыгрузки)=0 Тогда
           Возврат 0;
       КонецЕсли;
       Пауза(5);
       Если ОтключитьсяОтFTP()=0 Тогда
           Возврат 0;
       КонецЕсли;
   Иначе
       Предупредить("Выгрузка завершена!");
   КонецЕсли;
   Возврат 1;
КонецФункции //    Сформировать()

это главная функция, она вызывает еще много чего. Весь код обработки очень большой.
23 zhas79
 
06.11.08
13:14
(16) как это проверить? где искать?
обработка по окончании закрывается
может, что-то нужно обнулить явно?
24 Andy13
 
06.11.08
13:42
(23) Два способа.
1. Запускать всё это хозяйство как назначенное задание по времени. Запускается 1С -> Выполняется обработка -> Закрывается 1С.
2. Самый простой способ - вынести всё это во внешнюю обработку. И вызывать её в нужное время. Во внешней обработке форму не открывать, сразу статус возврата в 0 при запуске.
25 zhas79
 
06.11.08
13:59
(24)самое смешное, что это и есть внешняя обработка, и вот фрагмент процедуры ПриОткрытии():

Если НазваниеНабораПрав() = "Робот" Тогда
   СписокТоваров=СоздатьОбъект("СписокЗначений");
   Если ЗапускРобота()=1 Тогда
       Сообщить("Выгружено " + ФормИмяФайла + " " + ТекущаяДата() + " " + ТекущееВремя());
   Иначе
       Сообщить("Не удалось выгрузить коммерческие предложения! " + ТекущаяДата() + " " + ТекущееВремя(),"!!!");
   КонецЕсли;
   СтатусВозврата(0);
   Возврат;
КонецЕсли;
26 Mikeware
 
06.11.08
14:01
А если попробовать
Анализатор="";
?
27 zhas79
 
06.11.08
14:03
я тоже об этом подумал, раньше просто была уверенность, что если обработка закрывается, то все локальные переменные обнуляются автоматически.
Возможно, что это и не так, попробую, спасибо.
28 Andy13
 
06.11.08
14:04
(25) Мдяяя... Что-то у тебя значит при её вызове не так. Ну вот хотя бы "КонтекстФормы" - ты его обнуляешь после вызова?
29 zhas79
 
06.11.08
14:48
(28) нет, обработка запускается без передачи параметров. Все параметры хранятся в файле на диске
30 Andy13
 
06.11.08
15:03
Загадка однако...
Я пользовался способами в (24), помогало.
Попробуй способ 1. Там уж гарантированно всё закроется и освободится.
31 smaharbA
 
06.11.08
15:07
анализатор надо еще и закрывать
32 zhas79
 
06.11.08
15:08
Ок, спасибо всем за участие, всё буду пробовать. О результатах сообщу.
33 zhas79
 
06.11.08
15:55
(26)
Анализатор="";
не помогло

(31) анализатор закрывать, это что имеется в виду? та строчка, которая выше, или есть какой-то спец. метод этого объекта?
34 zhas79
 
06.11.08
17:31
Свежая информация. Ради интереса попробовал запустить XML-выгрузку коммерческих предложений из типовой торговли 7.7.
Результат тот же! Сожрала 200 метров, я ее закрыл, память осталась занятой. Так что или код обработки в типовой конфигурации кривой по отношению к освобождению памяти, или кривая платформа.
35 zhas79
 
06.11.08
17:49
А вот вопрос
В диспетчере задач есть графа Память и Вирт. память.
Общее кол-во памяти есть сумма этих двух цифр или вирт. память уже есть сумма физической памяти и памяти из файла подкачки?

Просто при сворачивании окна 1С цифра в графе Память резко уменьшается, а в графе Вирт. память не увеличивается. Вообще не изменяется.
А при работе выгрузки обе цифры параллельно растут. Не может же, что 1С одновременно увеличивает объем используемой памяти и в оперативе, и на диске?
36 Byte
 
06.11.08
18:04
(34) А где ты видел в типовых не кривой код :)
Собственно чем не устраивает (24) п.1?
37 dk
 
06.11.08
18:07
имхо, поаккуратнее надо с загрузкой ВК
ЗагрузитьВнешнююКомпоненту("V7Plus.dll")
УстановитьКомпонентуDIALMAIL
СоздатьОбъектFTP
СоздатьОбъектZIP
...
38 zhas79
 
06.11.08
18:32
(36) (24) п.1 решение, конечно, простое, как топор. Если ничего лучше не придумаю, так и придется поступить. Не устраивает тем, что робот каждые 5 минут выполняет другие задания, да и есть риск, что по каким-либо причинам он может не запуститься когда-то. Да и пароль робота придется в конфе хранить. Все это мелочи, коими, возможно, придется пожертвовать :(
39 zhas79
 
06.11.08
18:33
(37) а что в этом криминального?
тем более что (34) доказывает, что проблема не в этом
40 zhas79
 
06.11.08
18:35
(38)+
пардон, пароль робота не в конфе хранить, конечно, а в параметрах запуска 1С
41 dk
 
06.11.08
18:55

//*******************************************
Процедура Сформировать()
   
   ТЗ = СоздатьОбъект("ТаблицаЗначений");
   ТЗ.НоваяКолонка("К1");
   ТЗ.НоваяКолонка("К2");
   ТЗ.НоваяКолонка("К3");
   ТЗ.НоваяКолонка("К4");
   ТЗ.НоваяКолонка("К5");
   ТЗ.НоваяКолонка("К6");
   ТЗ.НоваяКолонка("К7");
   ТЗ.НоваяКолонка("К8");
   ТЗ.НоваяКолонка("К9");
   
   Для Сч = 1 По 1000000 Цикл
       ТЗ.НоваяСтрока();
       ТЗ.К1 = "фывфывфывфывфывфыв";
       ТЗ.К2 = "фывфывываицыаиваиываиывфывфывфыв";
       ТЗ.К3 = "фывфывфывфывфывфыв";
       ТЗ.К4 = "фывфывфывфыываиываиываиываивфывфыв";
       ТЗ.К5 = "фывфывфывапывапываывфывфывфыв";
       ТЗ.К6 = "фывфывфывфывфываыпывапывапывапывапвфыв";
       ТЗ.К7 = "фывфывфывапывапывапывапывапывапывапывфывфывфыв";
       ТЗ.К8 = "фывфывфвыапывапывапывапывапывфывфывфыв";
       ТЗ.К9 = "фывфывфывфывапывапывапывапвфывфыв";
   КонецЦикла;    
   
   Предупреждение("ывфыв");
   
КонецПроцедуры

1с-ка выкушала 750 мб и после предупреждения честно освободила все обратно
правда оперативки 2гб, так что в файл подкачки думаю ничего не скидывалось.
42 zhas79
 
06.11.08
19:16
(41) вполне возможно
только непонятно, в чем же тогда грабли типовой выгрузки XML, в компоненте v7plus?
43 Ужас бухгалтера
 
06.11.08
19:25
(42) Слышал уже когда-то про отжирание памяти из-за v7plus и XML. Возможно, это как раз те грабли, на которые ты наступил. Можно или взять компоненту поновее (не факт, что поможет) или работать с XML через что-то другое.

(41) Всего за 10 баксов сделаю неограниченную утечку памяти в 1С при помощи внешней обработки для любой конфигурации и для любой базы данных :))) Метод работает и в 8.х.
44 dk
 
06.11.08
19:36
(41) :D
(42) MS XML парсер посвежее поставь + v7plus.dll обнови, хотя не факт, что поможет
45 zhas79
 
06.11.08
19:53
В общем, проведу тесты на тему изобличения v7plus.dll в неубирании за собой мусора :)
Попробую аналогичными методами генерить файл с помощью, скажем, объекта Текст.
Если проблема исчезнет, то приговор для v7plus будет однозначным.
46 Злобный Фей
 
06.11.08
20:23
Непонятно, почему не подходит (24) п.1? Из-за спортивного интересу такая ветка длиннющая?
47 zhas79
 
06.11.08
20:28
(46) почему не подходит (24) п.1, объяснено в (38)
спортивный интерес тоже присутствует :)
48 Злобный Фей
 
06.11.08
20:35
(47) Дык дай роботу еще одно задание - раз в сутки вырубаться после выгрузки, а в виндозном шедулере врубай одинэс снова через пару минут. А насчет пароля - батник в укромное место положи, в чем проблема?
49 zhas79
 
06.11.08
20:51
(48) да нет никакой в этом проблемы, при отстутствии других решений так и сделаю.
Но из спортивного интереса все равно попробую исключить их этой истории v7+
50 Злобный Фей
 
06.11.08
20:53
(49) Ну и хорошо, что время есть экспериментировать :)
51 Torquader Darigha
 
07.11.08
00:30
Вообще-то, 1С относится к языкам со "сборкой мусора", то есть память освобождается по мере надобности. Что касается внешних компонент, то если они создают объекты, которые просто ссылаются друг на друга, то счётчик ссылок на объект > 0 и объекты остаются в памяти навечно, точнее до выгрузки приложения. Каждый объект создаётся в своём потоке и явно удаляется при удалении потока, что и происходит при закрытии приложения.
P.S. сама система нередко отжирает память в процессе длительной работы и именно по такому сценарию - так что закрывать, закрывать и ещё раз закрывать!!!
52 zhas79
 
07.11.08
02:08
(51) Жесть!
Большое спасибо за технические подробности.
53 Kind
 
07.11.08
04:58
Тоже бодался с этой же проблемой пару лет назад. Обнуление переменых ничего не дает. Роботом перезапускаю саму 1С-ку через определеное время.
54 DrZombi
 
гуру
07.11.08
07:21
(0)Горемыка, попробуй написать для всех своих ТаблицЗначений и СписковЗначений след. Очистить() и УдалитьВсе() ;)

Так же создание таких объектов лучше поместить в глобальник и делать один раз :)
Анализатор    = СоздатьОбъект("AddIn.XMLParser");

Сделай свой "Анализатор" глобальным :) И так же подобные ему, т.е. некуй создавать одно и тоже бесконечно раз ;)
И не мучайси!
55 DrZombi
 
гуру
07.11.08
07:22
+(54,0)Слушай (51)
56 zhas79
 
07.11.08
16:36
(54) Это тоже не помогает.
Сделал объект глобальным, не создаю его заново при каждом новом запуске выгрузки - результат тот же, память не освобождается не смотря на явняю очистку переменных (кроме самого анализатора, естественно, так как он глобальный и создан один раз при запуске системы). При повторном запуске расход памяти так же продолжает расти, хотя используется тот же экземпляр объекта.
Так что только перезапуск или отказ от использования этой ВК.
57 Andy13
 
07.11.08
16:51
(56) Похоже что всё таки ВК кривая. Согласен с (51) по всем пунктам. Потому и рекомендовал вынести всё во внешнюю обработку. Обработка закрылась, контекст формы зачистили и всё, память свободна. Всегда так делал, всё нормально проходило. Зачистились, обнулились ссыли и всё... Но тут похоже ВК хвосты за собой оставляет.
58 Ужас бухгалтера
 
07.11.08
17:31
Сборки мусора в 1С нет и никогда не было. Ни в 7.7, ни в 8.х.
59 ДенисЧ
 
07.11.08
17:32
(58) Страх какой рассказываешь...
60 Ужас бухгалтера
 
07.11.08
17:33
(59) Погугли на тему "сборка мусора". К 1С это понятие отношения не имеет.
61 ДенисЧ
 
07.11.08
17:35
(60) я и без гугля представляют себе, что такое GC. В 1с он реализован в ограниченном варианте. Но реализован.
62 Ужас бухгалтера
 
07.11.08
17:36
(61) Нифига. Там обычные счетчики ссылок.
63 ДенисЧ
 
07.11.08
17:38
(62) Это один из вариантов.
64 Ужас бухгалтера
 
07.11.08
17:39
(63) Значит, без гугля ты не представляешь себе, что такое GC...
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn