Вступить в клуб →
сложнаявопросУправляемые формы и клиент-серверные вызовы

Документ инвентаризации на 30 тысяч строк тормозит при каждом изменении количества

В форме документа «Инвентаризация» табличная часть на 30 000 строк. При изменении фактического количества вызывается:

&НаКлиенте
Процедура ТоварыКоличествоФактПриИзменении(Элемент)
    ПересчитатьОтклонениеНаСервере();
КонецПроцедуры

&НаСервере
Процедура ПересчитатьОтклонениеНаСервере()
    Строка = Объект.Товары.НайтиПоИдентификатору(Элементы.Товары.ТекущаяСтрока);
    Строка.Отклонение = Строка.КоличествоФакт - УчетноеКоличество(Строка.Номенклатура);
КонецПроцедуры

Каждое изменение ячейки подвисает на 2–3 секунды. Какое исправление даст основной эффект?

  • Вызов без контекста и передача только строки
  • Индекс на табличную часть по номенклатуре
  • Вызов пересчёта из ПередЗаписью формы
  • Замена НайтиПоИдентификатору на цикл

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела