Здравствуйте!
Вопрос такой: а можно как-нибудь определить откуда создается контакт? Например, если контакт создается из продажи, заполнять у него определенные поля по умолчанию, а если из основного раздела, то ничего не заполнять. Можно ли в скрипте это определять?
Нравится
При создании окна можно передавать нужные атрибуты, а потом на них ориентироваться.
Например, из базового. Когда создается Счет на основе Продажи, то на Афтерпосте идет проверка, из какого раздела он был создан (на основании определенных атрибутов, для Продажи -- IsCreatedByOpportunityID, кажется, подробнее -- посмотрите в функции на афтерпосте, вроде ProcessCopyOfferrings она называется) и предлагается скопировать Продукты из одной детали (в Продаже) в другую (в созданном Счете).
Если Вам нужно определять значения полей по умолчанию то смотрите в функцию, вызывающую открытие окна. Например, для того, чтобы создать продажу из раздела контрагентов: Дествия - Создать продажу. Это сервис wnd_AccountsWorkspace - Невизуальные - amiCreateOpportunity - События - amiCreateOpportunityOnExecute:
[javascript]
function CreateOpportunity() {
var EditWindowUSI = 'wnd_OpportunityEdit';
var Attributes = GetNewDictionary();
Attributes.Add('NotifyObject', Self);//AccountsWorkspace.OpportunityWindow);
var AccountID = BaseWorkspace.GridDataset.ValAsGUID('ID');
var PrimaryContactID = GetPrimaryContactID(AccountID);
var CurrentDate = new Date(System.Now());
Attributes.Add('RecordID', GUID_NULL);
var DefaultValues = GetNewDictionary();
DefaultValues.Add('CustomerID', AccountID);
DefaultValues.Add('ContactID', PrimaryContactID);
DefaultValues.Add('OwnerID', Connector.CurrentUser.ContactID);
DefaultValues.Add('StartDate', CurrentDate.getVarDate());
DefaultValues.Add('ActualCloseDate', CurrentDate.getVarDate());
DefaultValues.Add('EstimatedStartDate', CurrentDate.getVarDate());
DefaultValues.Add('EstimatedCloseDate', CurrentDate.getVarDate());
ShowEditWindowEx(EditWindowUSI, Attributes, DefaultValues);
}
[/javascript]
Соответственно добавить\удалить DefaultValues.Add('...', Value) на те поля, которые Вас интересуют
Посмотрите вложенный документ, если я правильно поняла ваш вопрос, в нем описывается реализация подобной задачи.