Имя: Пароль:
1C
1С v8
Нужен совет - как оптимизировать динамическую выборку проводок? обычные формы
0 Vladal
 
01.03.12
13:35
Платформа 8.2, Бухгалтерия Предприятия, обычные формы. Сделал визуализацию проводок, когда при активизации строки внизу показываются проводки:
http://s50.radikal.ru/i128/1203/e1/a427f83e1309.png

Текст обработчика:

Процедура ДокументСписокПриАктивизацииСтроки(Элемент)
   
   Если Элемент.ТекущиеДанные = Неопределено Тогда
       ЭлементыФормы.ТабличноеПолеДвиженияБУ.Значение.Отбор.Регистратор.Установить(Документы.ОперацияБух.ПустаяСсылка());
       ЭлементыФормы.ТабличноеПолеДвиженияНУ.Значение.Отбор.Регистратор.Установить(Документы.ОперацияБух.ПустаяСсылка());
   Иначе
       ЭлементыФормы.ТабличноеПолеДвиженияБУ.Значение.Отбор.Регистратор.Установить(Элемент.ТекущиеДанные.Ссылка);
       ЭлементыФормы.ТабличноеПолеДвиженияНУ.Значение.Отбор.Регистратор.Установить(Элемент.ТекущиеДанные.Ссылка);
   КонецЕсли;
   
КонецПроцедуры

Если при открытии журнал пуст, отладчик даже входит в этот обработчик, но процесс 1С8 жрёт всю серверную память. Потом захлопывается с сообщением переполнения памяти.

Как победить? Или ЧтоЯДелаюНеТак?
1 Wobland
 
01.03.12
13:38
отключать отбор можно через Использование, если я тебя правильно понял
2 Mort
 
01.03.12
13:39
Смотри как сделано в операции. В списках есть связь по регистратору.
3 Vladal
 
01.03.12
13:40
(2) Не понял, о каких списках говоришь?
4 Mort
 
01.03.12
13:42
(3) Если точнее в табличных полях отображающих списки регистров.
5 Vladal
 
01.03.12
14:19
(4) Спасибо! Посмотрел, как это сделано в операции, добавил реквизит формы с типом РегистрБухгалтерииСписок.Хозрасчетный.

Как добавил реквизит на форму, изменил код - убрал из код "ЭлементыФормы".

В форме списка оперций в ПриОткрытии инициализация отборов движений происходит:

Процедура ПриОткрытии()
   ...
   ТабличноеПолеДвиженияБУ.Отбор.Регистратор.Установить(Документы.ОперацияБух.ПустаяСсылка());
   ТабличноеПолеДвиженияНУ.Отбор.Регистратор.Установить(Документы.ОперацияБух.ПустаяСсылка());
КонецПроцедуры

А я его пропустил.

и всеравно утечка памяти. странно
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.