Опишем общий алгоритм, позволяющий разобраться с кодом, написанным в модуле формы. Рассматривать его будем на конкретном примере обработчика события
МатериалыКоличествоПриИзменении.
&НаКлиенте
Процедура МатериалыКоличествоПриИзменении( Элемент )
СтрокаТабличнойЧасти = Элементы.Материалы.ТекущиеДанные;
РаботаСДокументами.РассчитатьСумму(СтрокаТабличнойЧасти);
КонецПроцедуры
Допустим, в модуле формы нам встретилось выражение:
СтрокаТабличнойЧасти = ЭлементыФормы.Материалы.ТекущиеДанные.
Как понять, что такое СтрокаТабличнойЧасти? Нужно вспомнить, из чего состоит контекст формы:
локальный контекст самого модуля формы;
реквизиты формы, которой «принадлежит» модуль;
свойства и методы объекта УправляемаяФорма встроенного языка;
свойства и методы расширения формы, определяемого типом того объекта, данные которого содержатся в основном реквизите формы;
глобальный контекст, в том числе неглобальные общие модули и экспортируемые функции и процедуры глобальных общих модулей;
экспортируемые переменные, процедуры и функции модуля управляемого приложения.
Далее по порядку проверить:
1. Объявлена ли в модуле формы переменная СтрокаТабличнойЧасти? Нет.
2. Есть ли у формы реквизит СтрокаТабличнойЧасти? Нет.
3. Есть ли у объекта УправляемаяФорма свойство СтрокаТабличнойЧасти? Нет.
4. Есть ли у расширения формы свойство СтрокаТабличнойЧасти?
Нет.
5. Есть ли свойство глобального контекста СтрокаТабличнойЧасти?
Нет.
6. Есть ли в модуле управляемого приложения экспортная переменная СтрокаТабличнойЧасти? Нет.
Значит СтрокаТабличнойЧасти – это локальная переменная, определяемая непосредственно в этом операторе присваивания.