Help with Trigger

Help with Trigger

Нужно сделать триггер: The Property “Available” field should be set to "True" by default. If property has at least one
prospective Client the “Available” field must be changed to “False” automatically.
Автоматом я поставил "Checked", а дальше я хз. 2й день учу только.

trigger AvailableChangeToFalse on Property__c (after insert,after update) {
if Available
}

Ммм,напишите за меня триггер...

Eugene Konstantinof
Ммм,напишите за меня триггер...

Этого я не писал. Может, Ваша фантазия это так допридумывала. Я же написал что 2й день онли в этом деле. Дали таск, но не знаю как это работает. Можно просто хороших линков кинуть или же объяснить как это реализовать.

Sunsety
Eugene Konstantinof
Ммм,напишите за меня триггер...

Этого я не писал. Может, Ваша фантазия это так допридумывала. Я же написал что 2й день онли в этом деле. Дали таск, но не знаю как это работает. Можно просто хороших линков кинуть или же объяснить как это реализовать.

Ну ок, а гуглить?

https://trailhead.salesforce.com/en/content/learn/modules/data_modeling
https://trailhead.salesforce.com/en/content/learn/modules/apex_triggers

Eugene Konstantinof
Sunsety
Eugene Konstantinof
Ммм,напишите за меня триггер...

Этого я не писал. Может, Ваша фантазия это так допридумывала. Я же написал что 2й день онли в этом деле. Дали таск, но не знаю как это работает. Можно просто хороших линков кинуть или же объяснить как это реализовать.

Ну ок, а гуглить?

https://trailhead.salesforce.com/en/content/learn/modules/data_modeling
https://trailhead.salesforce.com/en/content/learn/modules/apex_triggers


Я читал это. Кое-что мне не понятно.

Sunsety
Я читал это. Кое-что мне не понятно.

Что конкретно "кое-что" не понятно?

Dmitry Shnyrev
Sunsety
Я читал это. Кое-что мне не понятно.

Что конкретно "кое-что" не понятно?

A large real estate company wants to manage their properties in Salesforce. The system user is a
Broker. Broker uses two types of objects: Property and Client. The Client may be interested in
buying several Properties. Broker can create a connection between Property and Client when he
knows that Client is interested in particular property. Broker should have a possibility to see All
clients which are interested in property. ---Это мой таск.

Правильно ли построил связи? Я думаю, что еще нужно lookup. Что бы поля появились, при записи в tabs

Да, связи построены правильно, так как связь между Client и Property многие-ко-многим (через Junction Object)

Dmitry Shnyrev
Да, связи построены правильно, так как связь между Client и Property многие-ко-многим (через Junction Object)

И теперь мне нужно сделать так, что бы. Если у имущества появляется клиент, то статус меняется на false. Я думал и решил, что можно сделать через триггер, да? if (Property.Client!=null) Property.Available = false/unchecked

Да, лучше через триггер. Хотя можно замутить и через rollup summary field + formula field.
Но пока попробуй через триггер.

Так вот, нет поля Client в объекте Property, когда tabs смотрю. Как мне проверить if (Property.Client!=null) Property.Available = false/unchecked

Dmitry Shnyrev
Да, лучше через триггер. Хотя можно замутить и через rollup summary field + formula field.
Но пока попробуй через триггер.

Так вот, нет поля Client в объекте Property, когда tabs смотрю. Как мне проверить if (Property.Client!=null) Property.Available = false/unchecked . Как я брокер/юзер увижу, что клиент заинтересован?

Конечно его не будет потому что прямой связи нет, а связь через объект ClientAndProperty.
Поэтому вместо Client надо работать со связью ClientAndProperty->Property. И это будет НЕ ПОЛЕ а Related List на layout внизу. А из этого следует что Property имеет много связанных с ним ClientAndProperty. Тебе остается их считать (при их добавлении / удалении) и в соответствии с количеством (0 или >0) выставлять поле Available.

Dmitry Shnyrev
Конечно его не будет потому что прямой связи нет, а связь через объект ClientAndProperty.
Поэтому вместо Client надо работать со связью ClientAndProperty->Property. И это будет НЕ ПОЛЕ а Related List на layout внизу. А из этого следует что Property имеет много связанных с ним ClientAndProperty. Тебе остается их считать (при их добавлении / удалении) и в соответствии с количеством (0 или >0) выставлять поле Available.

Мне tabs ClientAndProperty создавать? Я выше упоминал, что учу только 1-3 дня, Дальше не понял "И это будет НЕ ПОЛЕ а Related List на layout внизу. А из этого следует что Property имеет много связанных с ним ClientAndProperty. Тебе остается их считать"

Sunsety
Я выше упоминал, что учу только 1-3 дня, Дальше не понял

Вот мне этот подход не понятен. Я работаю с SF уже больше 7 лет каждый день по 8 часов, мне и то не все понятно. Как можно изучить SF pf 3 дня и начать даже под него программировать.
Мой совет будет наверное такой - надо потратить минимум месяц!!! на изучение только основ Salesforce (и это только UI без кодинга) хотя бы по Trailhead и только потом начинать пробовать какие-то тестовые задания.
Потому что вот это звучит просто несерьезно. Звучит точно также (если сталкивался с авто):
"Я вижу автомобили 1-3 дня, но давайте я переберу мотор и настрою систему зажигания". Интересно какой автосервис допустит к таким работам после подобного заявления?

Dmitry Shnyrev
Sunsety
Я выше упоминал, что учу только 1-3 дня, Дальше не понял

Вот мне этот подход не понятен. Я работаю с SF уже больше 7 лет каждый день по 8 часов, мне и то не все понятно. Как можно изучить SF pf 3 дня и начать даже под него программировать.
Мой совет будет наверное такой - надо потратить минимум месяц!!! на изучение только основ Salesforce (и это только UI без кодинга) хотя бы по Trailhead и только потом начинать пробовать какие-то тестовые задания.
Потому что вот это звучит просто несерьезно. Звучит точно также (если сталкивался с авто):
"Я вижу автомобили 1-3 дня, но давайте я переберу мотор и настрою систему зажигания". Интересно какой автосервис допустит к таким работам после подобного заявления?

Я уже понял, что вы умный дядя. До этого я занимался .NET и малеха SQL, вот мне и предложили на обучение сделать таску. Попросил же помочь и все. Лишняя вода.

Sunsety
Dmitry Shnyrev
Конечно его не будет потому что прямой связи нет, а связь через объект ClientAndProperty.
Поэтому вместо Client надо работать со связью ClientAndProperty->Property. И это будет НЕ ПОЛЕ а Related List на layout внизу. А из этого следует что Property имеет много связанных с ним ClientAndProperty. Тебе остается их считать (при их добавлении / удалении) и в соответствии с количеством (0 или >0) выставлять поле Available.

Мне tabs ClientAndProperty создавать? Я выше упоминал, что учу только 1-3 дня, Дальше не понял "И это будет НЕ ПОЛЕ а Related List на layout внизу. А из этого следует что Property имеет много связанных с ним ClientAndProperty. Тебе остается их считать"

Про этот Related List на layout, говорилось?

Dmitry Shnyrev
Да, лучше через триггер. Хотя можно замутить и через rollup summary field + formula field.
Но пока попробуй через триггер.

Триггер тогда для объекта ClientAndProperty? Потому что я в объекте Property не проверю клиента

Да и да.

Dmitry Shnyrev
Да и да.

Как мне сделать, что бы имущество показывало несколько челиков ? А то можно добавить только 1-го. Или я просто создаю еще 1-го клиента и ему выбираю нужное имущество. И получается 2 записи у нас CaP/ /. Во и да я это количество подсчитываю, как Вы и писали выше и выставляю поле, да? Только что делать с Available - Variable does not exist. Создавать лист и селект?

trigger AvailableFalse on ClientandProperty__c (after insert, after delete) {
//List <ClientandProperty__c> CaProp = [ SELECT Id,Name FROM ClientandProperty__c ]
for(ClientandProperty__c cap : Trigger.new)
{
if (cap.Client__c !=null )
{
cap.Available__c = false;

Interesting information? Help us, post link to social media..