В процессе работы с системой 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 Вы будете счастливым обладателем удобного функционала в системе!
Желаю удачи!
С уважением,
Мельникова Екатерина