Кастомизация
08
Фев
0

Создание связанных записей с панели инструментов формы CRM

Если Вы или Ваши пользователи часто создаете связанные записи, открывая родительскую запись и переходя к связанным представлениям, то было бы весьма неплохо, если бы кнопки «Создать объект X» и «Добавить существующий объект X» были бы доступны на панели инструментов самой формы.

Используя IE Developer Toolbar узнаем код привязанный к кнопке «Создать объект X» на связанном представлении:

locAddRelatedToNonForm(1,1,'{2D26CDCB-FB19-DE11-8B45-001EC935CFE9}', '')

и кнопки «Добавить существующий объект X»:

top.locAssocOneToMany(1, "account_parent_account");

Как Вы можете видеть из URL, в первом случаи, функция принимает три параметра: код объекта целевой записи, код объекта текущей открытой записи и GUID открытой в настоящее момент в записи. Чтобы подтянуть GUID текущей открытой записи, достаточно воспользоваться таким незатейливым скриптом:

crmForm.ObjectId

а для того, чтобы «выцепить» кода объекта текущей записи используется другой не замысловатый код:

crmForm.ObjectTypeCode.

Соответственно, чтобы динамически формировать код для кнопок, необходимо в статичный код из кнопок, вместо кода текущего объекта и его GUID’а подставить вышеуказанный JavаScript.

Во-втором случаи (для кнопки «Добавить существующий объект X»), функция принимает код объекта и статичный параметр. Код объекта мы, соответственно, заменяем на JavаScript, а статичный параметр оставляем без изменений… почти… Обязательно уберите из скопированной строчки служебные смволы (т.к. ISV.Config – это XML-докмент) и замените их «ссылкой на сущность»:

  • & – &
  • < – &lt;
  • > – &gt;
  • ‘ – &apos;
  • » – &quot;

Осталось только все это закодировать:

  • Добавьте в ISV.Config для какого-либо объекта следующий код (в Вашем случаи он может отличается – зависит от конкретных объектов):
    <ToolBar ValidForCreate="0">
    	<Button JavaScript="locAddRelatedToNonForm(1,crmForm.ObjectTypeCode,crmForm.ObjectId, '')" Icon="/_imgs/ico_16_1_d.gif">
    		<Titles>
    			<Title LCID="1049" Text="Добавить нового Бизнес-партнера" />
    		</Titles>
    		<ToolTips>
    			<ToolTip LCID="1049" Text="Добавить к этой записи новый объект Бизнес-партнер" />
    		</ToolTips>
    	</Button>
    	<Button JavaScript="top.locAssocOneToMany(crmForm.ObjectTypeCode, &quot;account_parent_account&quot;);" Icon="/_imgs/ico_16_1_d.gif">
    		<Titles>
    			<Title LCID="1049" Text="Добавить существующего Бизнес-партнера" />
    		</Titles>
    		<ToolTips>
    			<ToolTip LCID="1049" Text="Добавить к этой записи существующий объект Бизнес-партнер" />
    		</ToolTips>
    	</Button>
    	<ToolBarSpacer />
    </ToolBar>
    
  • Затем импортируем ISV.Config обратно в CRM и пробуем давить на кнопки 🙂




Комментарии (0)

*

code