Регистрация  |  Вход

Условно рендерящиеся секции на стандартном лейауте

Задача очень типичная:
нужно сделать условно рендерящиеся секции на стандартной лейауте.

то есть нужно сделать стандартный классик UI максимально удобным (без "лишних секций") с минимальными усилиями.

условия для рендеринга секций будут двух типов:
- данные на самой записи (это "нередактируемые" данные которые приходят по связи с другой записи, и если там например "Да", то потом рендерии соответствующую секцию с доп вопросами по теме для текущего пользователя);
- в зависимости от того, кто пользователь.

сразу скажу, что:
- использование разнообразных РТ и лейаутов с теми или иными секциями возможно, но все же давайте попробуем решить это проще.
- привязать разные лейауты к разным пользователям не получится, так как пользователи под одним и тем же профайлом. Также скажу, что все вовлеченные в процесс пользователи указываются в несколько Юзер Лукапах на самой записи;
- можно делать вставки в лейауте с ВФ страницами (а на них делай любую рендер логику), но опять таки сложновато для ограниченного времени

Пока мой ответ: условно рендерить секции на стандартном лейауте не возможно, их даже "закрыть-схлопнуть" программно не получится без диких хаков.

Тем не менее вот как можно облегчить участь пользователя:
(1) для каждой секции сделать формульное поле с лейблом "Инструкции для заполнения секции" и далее формула чекает условия (данные на записи и кто пользователь - сравнивая последнего с лукапами на записи) и рендерит: "Пропустите данную секцию", "Ответте на вопросы 2 и 4", "Ответте на все вопросы". То есть для каждой секции будут инструкции "адаптирующиеся как к содержанию записи, так и к пользователю;
(2) Плюс ко всеми, конечно, Валидейшн Рулы, которые чекают те же условия и не дают или дают пользователю что-то апдатировать на записи

Задача очень типичная:
[b]нужно сделать условно рендерящиеся секции на стандартной лейауте.[/b]

то есть нужно сделать стандартный классик UI максимально удобным (без "лишних секций") с минимальными усилиями.

условия для рендеринга секций будут двух типов: 
- данные на самой записи (это "нередактируемые" данные которые приходят по связи с другой записи, и если там например "Да", то потом рендерии соответствующую секцию с доп вопросами по теме для текущего пользователя);
- в зависимости от того, кто пользователь.

сразу скажу, что:
- использование разнообразных РТ  и лейаутов с теми или иными секциями  возможно, но все же давайте попробуем решить это проще.
- привязать разные лейауты к разным пользователям не получится, так как пользователи под одним и тем же профайлом. Также скажу, что все вовлеченные в процесс пользователи указываются в несколько Юзер Лукапах на самой записи;
- можно делать вставки в лейауте с ВФ страницами (а на них делай любую рендер логику), но опять таки сложновато для ограниченного времени

Пока мой ответ: [i]условно рендерить секции на стандартном лейауте не возможно[/i], их даже "закрыть-схлопнуть" программно не получится без диких хаков.

Тем не менее вот как можно облегчить участь пользователя:
(1) для каждой секции  сделать формульное поле с лейблом "Инструкции для заполнения секции" и далее формула чекает условия (данные на записи и кто пользователь - сравнивая последнего с лукапами на записи) и рендерит: "Пропустите данную секцию", "Ответте на вопросы 2 и 4", "Ответте на все вопросы". То есть для каждой секции будут инструкции "адаптирующиеся как к содержанию записи, так и к пользователю;
(2) Плюс ко всеми, конечно, Валидейшн Рулы, которые чекают те же условия и не дают или дают пользователю что-то апдатировать на записи

Вроде это все делается просто атрибутами rendered и reRender
вот тут пример https://developer.salesforce.com/forums?id=906F000000097h9IAA

Вроде это все делается просто атрибутами rendered и reRender
вот тут пример https://developer.salesforce.com/forums?id=906F000000097h9IAA

akr0bat
Вроде это все делается просто атрибутами rendered и reRender

На стандартном layout?

[quote="akr0bat"]Вроде это все делается просто атрибутами rendered и reRender [/quote]

На стандартном layout? :) 

вставить visualforce в стандартный layout

вставить visualforce в стандартный layout

Den Brown
нужно сделать условно рендерящиеся секции на стандартной лейауте.

Во первых тут надо уже конкретизировать вопрос. Classic или Lightning.
На счет классик скажу что ничего на нем программно/условно не сделаешь. Нужна кастомная логика - Visualforce вместо стандарт лайаут. Лучше сразу отказаться от такой задачи чтобы не вводить клиента в заблуждение, не пилить костыли которые в любой момент могут отвалиться или следующий программист не сможет их поддерживать. Поиграться можно, но клиенту ни в коем случае. Хочет клиент чтобы страница бибикала и моргала в зависимости от условий - милости просим в мир Visualforce.

[quote="Den Brown"]нужно сделать условно рендерящиеся секции на стандартной лейауте.[/quote]
Во первых тут надо уже конкретизировать вопрос. Classic или Lightning.
На счет классик скажу что ничего на нем программно/условно не сделаешь. Нужна кастомная логика - Visualforce вместо стандарт лайаут. Лучше сразу отказаться от такой задачи чтобы не вводить клиента в заблуждение, не пилить костыли которые в любой момент могут отвалиться или следующий программист не сможет их поддерживать. Поиграться можно, но клиенту ни в коем случае. Хочет клиент чтобы страница бибикала и моргала в зависимости от условий - милости просим в мир Visualforce.

akr0bat
вставить visualforce в стандартный layout

Den Brown
нужно сделать условно рендерящиеся секции на стандартной лейауте.

Делать нужно на основе требований

[quote="akr0bat"]вставить visualforce в стандартный layout[/quote]

[quote="Den Brown"][b]нужно сделать условно рендерящиеся секции на стандартной лейауте.[/b][/quote]

Делать нужно на основе требований :) 

Делать нужно на основании здравого смысла :-)

Делать нужно на основании здравого смысла :-) 

akr0bat
Делать нужно на основании здравого смысла :-)

Вы, наверное, решили, что здесь никто не знает варианта с visualforce?
Никто не писал, т.к. оценивали точно по требованиям. Поэтому и был выше вариант:

Dmitry Shnyrev
Лучше сразу отказаться от такой задачи чтобы не вводить клиента в заблуждение

[quote="akr0bat"]Делать нужно на основании здравого смысла :-)[/quote]

Вы, наверное, решили, что здесь никто не знает варианта с visualforce? :)
Никто не писал, т.к. оценивали точно по требованиям. Поэтому и был выше вариант:

[quote="Dmitry Shnyrev"]Лучше сразу отказаться от такой задачи чтобы не вводить клиента в заблуждение[/quote]

Кстати косвенный вопрос к специалистам Lightning.

Можно ли как-то внедрить свой JS в стандартный Layout в режиме Lightning UI?

Кстати косвенный вопрос к специалистам Lightning.

Можно ли как-то внедрить свой JS в стандартный Layout в режиме Lightning UI?


Dmitry Shnyrev
Кстати косвенный вопрос к специалистам Lightning.

Можно ли как-то внедрить свой JS в стандартный Layout в режиме Lightning UI?

Нет. Но Lightning UI более гибкий, чем classic. Можно добавлять компоненты (в разные мечта на странице), табы

[quote="Dmitry Shnyrev"]Кстати косвенный вопрос к специалистам Lightning.

Можно ли как-то внедрить свой JS в стандартный Layout в режиме Lightning UI?[/quote]

Нет. Но Lightning UI более гибкий, чем classic. Можно добавлять компоненты (в разные мечта на странице), табы