В платформе "1С:Предприятие 8" реализован механизм, позволяющий найти ранее созданный экземпляр формы. Поиск уже существующего экземпляра формы производится каждый раз при попытке получения формы. Контроль уникальности форм производится на основе анализа различных факторов. Состав данных факторов определяется расширением формы, зависящим от типа основного реквизита формы. Если же основной реквизит формы не установлен или имеет тип, для которого нет расширения формы, то уникальность экземпляров данной формы будет определяться значением владельца формы. Таким образом, в платформе реализована некая стратегия подбора экземпляра формы, зависящая от типа, редактируемого в форме значения.
Например: для расширения формы списка справочника при подборе формы проверяется владелец формы, далее анализируется признак режима выбора. Для расширения формы элемента справочника производится анализ экземпляра объекта, затем значение ссылки, если же получается форма нового элемента, то, дополнительно, осуществляется проверка признака ЭтоГруппа. Таким образом, получение формы элемента справочника путем вызова метода объекта приводит к получению экземпляра формы именно данного объекта. Вызов метода у ссылки приведет к получению формы элемента справочника, обладающего данной ссылкой (если в памяти имеется два экземпляра объекта с данным значением ссылки, то форма будет получена у одного из них, причем конкретный порядок выбора неопределен). Вследствие этого можно рекомендовать получать форму элемента справочника посредством вызова метода у ссылки, а не у объекта.
Однако в некоторых случаях необходимо получить новый экземпляр формы (вне зависимости от наличия существующих экземпляров) или же получить определенный экземпляр формы, созданный ранее. Для этих целей предназначен параметр <Ключ уникальности> различных методов получения формы (ПолучитьФорму (), ПолучитьФормуВыбора(), ПолучитьФормуНовогоДокумента() и т.д.). Ключ уникальности выделяет экземпляр формы внутри подмножества экземпляров, определяемого стандартным механизмом уникальности форм.
Значением ключа может являться значение произвольного типа.
Например: если необходимо открывать различные экземпляры формы списка справочника сотрудников с установленным отбором по подразделению, то в качестве ключа уникальности (при открытии формы списка) можно передавать ссылку на подразделение, устанавливаемую в качестве отбора. Это позволит иметь различные экземпляры форм списка для различных подразделений и, одновременно, не открывать лишних форм списка для уже просматриваемых списков сотрудников подразделения.
Удобно в качестве ключа использовать значение типа УникальныйИдентификатор. Передача в качестве ключа нового значения данного типа - гарантирует получение нового экземпляра формы.