Здравствуйте!
Вопрос такой: а можно как-нибудь определить откуда создается контакт? Например, если контакт создается из продажи, заполнять у него определенные поля по умолчанию, а если из основного раздела, то ничего не заполнять. Можно ли в скрипте это определять?
Нравится
При создании окна можно передавать нужные атрибуты, а потом на них ориентироваться.
Например, из базового. Когда создается Счет на основе Продажи, то на Афтерпосте идет проверка, из какого раздела он был создан (на основании определенных атрибутов, для Продажи -- IsCreatedByOpportunityID, кажется, подробнее -- посмотрите в функции на афтерпосте, вроде ProcessCopyOfferrings она называется) и предлагается скопировать Продукты из одной детали (в Продаже) в другую (в созданном Счете).
Если Вам нужно определять значения полей по умолчанию то смотрите в функцию, вызывающую открытие окна. Например, для того, чтобы создать продажу из раздела контрагентов: Дествия - Создать продажу. Это сервис wnd_AccountsWorkspace - Невизуальные - amiCreateOpportunity - События - amiCreateOpportunityOnExecute:
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); }
Соответственно добавить\удалить DefaultValues.Add('...', Value) на те поля, которые Вас интересуют
Посмотрите вложенный документ, если я правильно поняла ваш вопрос, в нем описывается реализация подобной задачи.