Пользовательский объект отдела продаж Редактировать макет страницы и кнопку - PullRequest
1 голос
/ 17 декабря 2011

У нас есть собственный объект, скажем, Форма продаж.На странице редактирования объекта клиента нам нужно добавить кнопку «Сохранить и добавить продукт» (аналогично тому, который мы можем найти на странице «Возможности»).Пользователь забудет добавить Product / SKU после сохранения формы продаж

Новая кнопка (Сохранить и добавить продукт), сначала сохранит форму продаж, а затем в зависимости от типа записи откроет связанный список (дочерний объект).

Скажем, форма продаж предназначена для пользовательской программы после сохранения.это откроет список связанных пользовательских программ.Если тип записи относится к уведомлению об изменении цены, он откроет связанный список деталей SKU.

Возможно ли это, пожалуйста, добавьте, у нас есть 9-10 различных типов записей, и мы не хотим повторнонаписать приложение с Visualforce и все настройки.Переписывание со страницей Visualforce сопряжено с некоторыми подводными камнями.

1 Ответ

4 голосов
/ 17 декабря 2011

Насколько я знаю, вы не можете заменить кнопку «Сохранить», поскольку она является частью страницы «Правка», а не стандартным макетом, поэтому для достижения этой цели с помощью одной кнопки вам нужно написать пользовательскую страницу visualforce, это не должно быть сложным - достаточно простого пользовательского контроллера, который использует стандартный контроллер для управления записями.

Вы бы вызвали Save на StandardController и затем вернули бы другое перенаправление страницы, основанное на типе записи, сама страница в значительной степени состояла бы только из тега <apex:detail>. Если вы хотите больше подробностей, я могу предоставить больше.

Если вы действительно не хотите писать какой-либо пользовательский код или страницы, то вам нужно сделать это как двухэтапный процесс, то есть использовать стандартную страницу, а затем иметь собственную кнопку «Продолжить», которая переводит пользователя на пользовательский URL на основе типа записи. Я только что создал надуманную версию, выполнив следующее:

1 - Определите поле настраиваемой формулы для объекта, оно должно иметь тип text и может использовать оператор CASE() для определения URL-адреса, на который будет перенаправлен пользователь при нажатии кнопки ( обратите внимание, что это было сделано только для примера, поэтому оно перенаправляет на стандартную страницу аккаунтов для типа записи «Друг» и страницу контактов для «Врага»).

CASE($RecordType.DeveloperName, 'Friend', '../001/o', 'Foe', '../003/o', '')

Примечание причина, по которой я здесь использую поле формулы вместо пользовательской кнопки, заключается в том, что по какой-то причине вы не можете показаться получить доступ к типам записей по имени при определении пользовательской кнопки.

2 - Определите пользовательскую кнопку для объекта под названием «Продолжить» или что-то подобное, что имеет смысл для вас. Для моего примера я просто использовал объект Contact, поэтому я сослался на настраиваемое поле в моей записи и указал параметры, показанные здесь:

options and formula for the custom button

3 - Настройте макеты страниц, используемые вашими типами записей, чтобы включить эту новую кнопку, и все готово!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...