Почти крутой
Группа: Местный
Сообщений: 1298
Из: Донецк
Спасибо сказали: 208 раз
Рейтинг: 0
Есть таблица значений, в ней есть ссылки на другие таблицы, созданные в процессе работы отчета. Хватит-ли только одной команды ТЗ_Приход.УдалитьСтроки() для удаления содержимого таблицы, или нужно в цикле поудалять вложенные таблицы, чтобы оперативную память освободить?
Как программист, я не вижу принципиальных отличий в создании СЗ первым и вторым методом. А то какой-то шаманизм получается: если СЗ присваивать элементу ТЗ через переменную, то это одно, а если напрямую, то это некое другое.
Цитата(XBrut @ 23.03.12, 8:06)
Не хватит. Надо прицельно освобождать память. В общей таблице находятся лишь ссылки на остальные таблицы.
Был-бы это другой язык программирования, я бы с эти утверждением согласился. В случае 1С нужно четко знать. В документации этот момент оговорен?
У нас здесь своя атмосфера...
Группа: Основатель
Сообщений: 14066
Из: Киев
Спасибо сказали: 4629 раз
Рейтинг: 3769
Цитата(vadim007 @ 23.03.12, 9:11)
Как программист, я не вижу принципиальных отличий в создании СЗ первым и вторым методом.
Во втором случае ссылка на список значений будет существовать в переменной сз даже, если вы удалите таблицу значений. А в первом случае ссылок на список значений не будет нигде, после удаления таблицы значений.
Но я согласен с тем, что так ли это именно в 1С (ещё и 77) - знает, наверное, только Боря.
Почти крутой
Группа: Местный
Сообщений: 1298
Из: Донецк
Спасибо сказали: 208 раз
Рейтинг: 0
Написал обработку для теста на использование памяти. Поместил ее в хранилище http://pro1c.org.ua/index.php?act=SF&f=277 Когда задал число уровней дерева 1000000, 1С загнулась с таким вот сообщением:
Как программист, я не вижу принципиальных отличий в создании СЗ первым и вторым методом. А то какой-то шаманизм получается: если СЗ присваивать элементу ТЗ через переменную, то это одно, а если напрямую, то это некое другое. Был-бы это другой язык программирования, я бы с эти утверждением согласился. В случае 1С нужно четко знать. В документации этот момент оговорен?
Почти крутой
Группа: Местный
Сообщений: 1298
Из: Донецк
Спасибо сказали: 208 раз
Рейтинг: 0
Цитата(Ardi @ 23.03.12, 23:58)
Так а какой ответ на главный вопрос?
Раз 1С - интерпретатор, а не компилятор, то то дерево можно удалить, "обнулив" корень дерева. При этом вся структура удалится автоматически. Ведь удаляются-же СЗ, или ТЗ, присвоением пробела или нуля, переменной типа СЗ или ТЗ. И какая разница, что там дальше содержится в этой ТЗ. Есть другие мнения?
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!