Доброго времени суток, подскажите пожалуйста:

Есть поле "Ответственный" - ссылается на Контакты, в Контактах есть поле подразделение.

Как сделать так, чтобы при изменении "Ответственного" на карточке нового раздела, менялось и подразделение.Изображение удалено.

Реализовал этот функционал через бизнес-процесс, но данные отображаются только после сохранения и обновления страницы.Изображение удалено.

Нравится

8 комментариев

Вариант 1:  с помощью бизнес-правил

Вариант 2: по окончании процесса сделать обновление страницы 

Вариант 3: небольшим кодом на странице



В разных случаях может годиться один из вариантов, в зависимости от логики

 

Сергей, добрый день.

 

Обновляйтесь до последней версии - в ней есть возможность настройки такой логики пользовательскими средствами через мастер карточки редактирования!

Владимир Соколов,

Cпасибо, а можете подсказать с примером кода, или сказать где это посмотреть?

Алла Савельева,

Спасибо! Знаю что в новых версиях есть возможность реализовать такой функционал бизнес-правилом, но увы, обновить систему возможности нету.

Сергей Рогов пишет:

 Посмотрите в BaseAddressPageV2 заполнение страны по городу.

Свойства             autocomplete и  autoClean

Кажется, так уже со старых версий

 

rules: {
	"City": {
		"FiltrationCityByCountry": {
			ruleType: BusinessRuleModule.enums.RuleType.FILTRATION,
			autocomplete: true,
			autoClean: true,
			baseAttributePatch: "Country",
			comparisonType: Terrasoft.ComparisonType.EQUAL,
			type: BusinessRuleModule.enums.ValueType.ATTRIBUTE,
			attribute: "Country"
		}
}

 

Добрый день.

 

Кроме вышеперечисленных вариантов, на Community есть ряд аналогичных вопросов, связанных с решением подобных задач при помощи кода, вот некоторые из них:

https://community.terrasoft.ru/questions/zhestkaya-privyazka-spravochni…

https://community.terrasoft.ru/questions/vychislyaemoe-tekstovoe-pole

https://community.terrasoft.ua/questions/avtozapolnenie-tekstovogo-polya

https://community.terrasoft.ru/questions/realizovat-avtozapolnenie-pole…

https://community.terrasoft.ru/questions/dinamichnoe-izmenenie-spravoch…

https://community.terrasoft.ru/questions/podstavit-v-detal-znachenie-sp…

Ivan Kuchma пишет:

Пора FAQ заводить :) 

Ivan Kuchma,

Спасибо за столько вариантов!

Показать все комментарии

В процессе работы с системой Terrasoft возникает необходимость всячески ускорить процесс введения данных в карточки. Например, при введении значения в поле "Город" было бы неплохо заполнять автоматически не только поле "Страна", но и "Регион". Естественно, что без внесения изменений в конфигурацию приложения не обойтись.
Для реализации подобной функциональности предлагаю следующий вариант решения.
В скрипте scr_Account нужно внести изменения в функцию function SelfOnDatasetDataChange(DataField). Готовый и протестированный код привожу ниже:

var CountryDataField = Self.DataFields.ItemsByName('CountryID');
                var CityDataField = Self.DataFields.ItemsByName('CityID');
                var StateDataField = Self.DataFields.ItemsByName('StateID');
        Self.DataFields.ParentDataset.DisableEvents();
                if (FieldName == 'CityID') {
                        if (!IsEmptyValue(DataField.Value)) {
                                var CityInfo = GetDatasetFieldValuesByID('ds_City', DataField.Value,
                                        'CountryID', 'StateID');
                                Self('StateID') = CityInfo('StateID');
                                Self('CountryID') = CityInfo('CountryID');
                        }

                }

Общая схема доработки такова: необходимо прописать условие по полю «Город», if (FieldName == 'CityID'). Если в этом поле есть значение – то заполнять поля «Страна» и «Регион».

После сохранения внесенных изменений, перезапуска рабочего приложения Terrasoft CRM Вы будете счастливым обладателем удобного функционала в системе!

Желаю удачи!

С уважением,
Мельникова Екатерина

Нравится

Поделиться

1 комментарий

"Мельникова Екатерина" написал:Self.DataFields.ParentDataset.DisableEvents();

Жжете :)
И в компанию к DisableEvents() кажется чего-то не хватает.

Показать все комментарии