Показать сообщение отдельно
Старый 22.09.2010, 12:08   #1  
Dicora is offline
Dicora
Участник
 
109 / 15 (1) ++
Регистрация: 12.07.2010
Как определить создание формы
Здравствуйте, у меня такой вопрос:

У меня есть сущность Регионы, 2 аттрибута

Название
Родительский регион

Т.е. в одной сущности хранится в иерархическом виде все города, области, поселки и страны.

Многие сотрудники забывают указывать родительский регион Россия, добавляя регионы и посему я повесил на ОнЛоад скрипт проверяющий:

X++:
if (crmForm.FormType==1) {
 //создание формы, принудительно заполнить поле Родительский регион на лукап и выставить значение Россия.
} else {
 //ничего не делать, т.к. при редактировании поле Родительский регион может быть заполнен, а если не заполнен значит это главный регион, например Россия.
}
Но тут проблема, ведь событий создания формы может быть ДВА!!!!

Первое это создание карточки с нуля, то бишь из основного представления для сущност Регионы.

Второе это когда на карточке сущности слева в навигации есть "Дочерние регионы", кликаем в правый фрейм загружается связанное представление Регионы, где мы можем добавить регион к текущей карточки региона.

Тобишь раньше когда я не написал такой скрипт, при втором действии поле Родительский регион автоматически заполнялся на основании того, из какого региона была запущена форма создания, а теперь у меня при любом создании всегда выставляется по умолчанию Россия.

Это не правильно.

Пытался определить crmForm.ObjectId при создании формы, но и в первом и во втором случае это значение возвращает null.

Подскажите что делать??

В интернете ничего не найти по этому вопросу.

Заранее спасибо!