Сокращение числа процедур в модуле формыПлатформа: 1С: Предприятие 8
Метки: Программирование
Дата:
06/11/2010
Если ваша обработка работает с файлами, то наверняка в ее форме есть поле ввода, связанное с реквизитом обработки или реквизитом формы, в котором хранится путь к выбранному файлу/папке, и наверняка там есть кнопка выбора, связанная с процедурой в модуле формы, вызывающей диалог выбора файла.
…
И, казалось бы, нельзя никак эти процедуры унифицировать, ведь реквизит каждый раз нужен разный и никак не понять, какой нужен в данном случае. Но на самом деле имя реквизита уже заложено в одном из аргументов этих функций. Если точнее, то вот здесь: Элемент.Данные.
выдаст ошибку и правильно сделает. Надо присваивать значение не свойству элемента формы, а реквизиту, считанному из него. Таким образом, если мы захотим создать универсальную процедуру выбора, нам нужно будет внутри неё каждый раз формировать её код заново, основываясь на значении аргумента Элемент.Данные, а затем исполнять его. И 1С позволяет это сделать!
Теперь в качестве обработчика события НачалоВыбора у каждого однотипного ПоляВвода остается назначить эту универсальную процедуру, расчистив место в модуле формы под что-нибудь посложнее. |