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

Мне нужно чтобы во всех случаях стояло "Маркетолог". И менять этот параметр когда будет надобно, то есть чтобы он был не заблокирован.  Тут  описан способ, но я не понял куда нужно вписать  "Reserved" . Прощу помощи, спасибо

Нравится

3 комментария
Лучший ответ

Установить константу. И выбираешь из списка.

Значение по умолчанию

Установить константу. И выбираешь из списка.

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

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

Нечто типа:

"Document": {
	"dataValueType": Terrasoft.DataValueType.LOOKUP,
	"defaultValues": {
		"Account": {
			"masterColumn": "Account"
			},
		"Contact": {
			"masterColumn": "Contact"
			}
		}
	}

Таким образом значительно упростится такая разработка (не надо писать message и прочее). И, наконец-то, создавая город из карточки адреса, пользователю не надо будет повторно выбирать страну, уже выбранную в адресе

Навеяно вопросом: https://community.terrasoft.ua/questions/zapolnit-znacheniya-pri-sozdan…

3 комментария

Удобно было бы.
Когда-то реализовывал такую задачу как-то костылями через HistoryState.

Владимир, зафиксировал идею. Также по ссылке написал способ реализации почти той же функциональности чисто на уровне БП.

Всем здравствуйте.

 

Вдруг кому-то будет полезно.

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

Решается добавлением свойства valuePairs в config, который в дальнейшем передаётся в метод openLookup.

Пример:

const accountId = this.get("MasterRecordId");
let valuePairs = [];
valuePairs.push({
	name: "Account",
	value: accountId
});
let config = {
	entitySchemaName: "Contact",
	multiSelect: true,
	columns: ["Name", "Type", "Account"],
	valuePairs: valuePairs
};
this.openLookup(config, this.addCallBack, this);

 

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

Добрый день.

Можно ли как то задавать значения по умолчанию для полей в мобильном приложении?
Хочется сделать предзаполнение полей  (в идеале даже не выводить их в интерфейс мобильного приложения), например заполнить "дату подачи" текущей датой, и поле "поле канал поступления" указать "мобильное приложение".

Можно ли такое сделать и если можно, то как?

Нравится

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

Добрый день.

Для того, чтобы задать значение по умолчанию для поля при создании записи, можно использовать SDK модели:

Terrasoft.sdk.Model.setDefaultValuesFunc("НазваниеМодели", function(config) {
    var myValue = "Мобильное приложение";
    config.record.set("НазваниеКолонки", myValue);
    Ext.callback(config.success, config.scope);
});

Скрыть колонку тоже можно. Теперь используем SDK страницы:

Terrasoft.sdk.RecordPage.addColumn("НазваниеМодели", {
    name: "НазваниеКолонки", // название колонки как в объекте
    position: 0,
    hidden: true // Здесь скрывается колонка
}, "primaryColumnSet");

Значения должны записываться, несмотря на скрытость колонки.

Больше примеров можете найти в пакете Mobile в схемах MobileActivityModelConfig и MobileActivityModuleConfig соответственно.

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

Коллеги, подскажите, пожалуйста, как в деталь передать значение по умолчанию из справочника?

Нашёл как передать значение из родительской карточки, но вот передача guid'а не срабатывает.

defaultValues: {
    UsrAccount: {masterColumn: "Account"}, //--- эта строка работает
    UsrRecordType: "772874ae-4265-4a9a-9393-5bdc12f670f7" // --- эта строка не срабатывает
}

Нравится

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

Нашёл решение в статье: http://www.community.terrasoft.ru/blogs/12454
Корректный код будет таким:

defaultValues: {
    UsrAccount: {masterColumn: "Account"},
    UsrRecordType: {value: "772874ae-4265-4a9a-9393-5bdc12f670f7"}
}
Показать все комментарии

Добрый день!

Столкнулся со следующей задачей: есть два поля datetime - UsrEnsFromDate и UsrPolisEndDate. Необходимо, чтобы при изменении UsrEnsFromDate, менялся и UsrPolisEndDate (UsrEnsFromDate+ 1 год - 1 день). С этим справился:

attributes: {
  "UsrPolisEndDate": {
    dataValueType: this.Terrasoft.DataValueType.DATE,
      dependencies: [
        {
           columns: ["UsrEnsFromDate"],
           methodName: "onUsrEnsFromDateChanged"
        }
      ]
  }
}

methods: {
  onUsrEnsFromDateChanged: function() {
    var toDate = this.Terrasoft.deepClone(this.get("UsrEnsFromDate"));
    toDate.setFullYear(toDate.getFullYear() + 1).setDate(toDate.getDate() - 1);
    if (!this.Ext.isDate(toDate)) {
      return;
    }
    this.set("UsrPolisEndDate", toDate);
  }
}

Далее, требуется при создании новой записи, заполнять поля значениями по умолчанию. UsrEnsFromDate = текущая дата, UsrPolisEndDate = UsrEnsFromDate+ 1 год - 1 день. Настроил для поля UsrEnsFromDate значение по умолчанию. Но, при этом не срабатывает заполнение зависимого поля UsrPolisEndDate :(

При ручной смене значения в поле UsrEnsFromDate - все работает прекрасно.

Подскажите, в какую сторону копать?

Нравится

2 комментария

О, спасибо!
Вторая ссылка - как раз мой случай :)

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

Добрый день!

При установке значения по умолчанию в поле типа DateTime (отображается только Time) - перестает загружаться вся карточка редактирования объекта. Пробовала устанавливать через системные настройки, но при задании системной настрой необходимо указать день + время, после она не отображается в списках настроек конкретного поля. При добавлении строгой константы и публикации - раздел перестает функционировать.
Возможно это связано с типом поля. Подскажите как это реализовать правильно?

Нравится

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

Здравствуйте, Евгения!

Вы можете задать значение по умолчанию непосредственно в объекте. Для того, чтобы подставлялось и дата, и время значением по умолчанию необходимо выбрать [#Системная переменная.Текущая дата и время#]

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

В SDK bpm'online в подраздел "Примеры решения типовых задач" добавлены решения кейсов, связанных с разработкой пользовательского интерфейса и бизнес-логики приложения.
Заходите на сайт Terrasoft Academy в раздел "Документация SDK" и узнайте как:

Статьи расположены в разделе "Разработка конфигураций на платформе" в подразделе "Примеры решения типовых задач"

Нравится

Поделиться

0 комментариев
Показать все комментарии
Предлагаю включать в шаблон импорта bpm'online колонки, для которых заданы значения по умолчанию.Например, в Контрагентах поле Ответственный в карточке ставится "текущий пользователь", а при импорте эти значения могут быть самыми разнообразными. Убирать эти значения во всех объектах, производить импорт, а потом ставить - это весьма трудоёмкая работа перед запуском системы. А в рабочей системе для регулярного импорта это уже просто недопустимый процесс.
1 комментарий

Владимир, мы в версии 7.7 полностью переделываем импорт из Excel и учтем вашу идею в новой функциональности. Спасибо. что помогаете нам становиться лучше!

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

При создании новой записи, зачастую нужно чтобы в отдельных полях уже были заполнены значения по умолчанию: поле для ввода номера телефона содержало значение +7, или для контакта поле Тип содержало значение Контактное лицо.

Для активации нужно открыть свойства поля, и проставить признак использования значения по умолчанию. Определить само значение, можно одним из следующих способов:
- установить как константу;
- выбрать из системной переменной;
- выбрать из системной настройки.

Ниже пример конкретного кейса, где необходимо указать имя контакта по умолчанию:
1. перейти в раздел "Конфигурация";
2. открыть объект, где содержится данная колонка (например, объект "UsrEntity1");
3. далее выбрать необходимую колонку (например, колонка "Column1") и в свойствах открыв "Значение по умолчнию" установить константу, например, "Иванов".

В результате при создании новой записи в колонке будет автоматически проставлять "Иванов".

Нравится

2 комментария

Наверное, для ввода номера телефона это не совсем хороший пример использования - лучше бы что-то вроде маски.

"Владимир Соколов" написал:

Наверное, для ввода номера телефона это не совсем хороший пример использования - лучше бы что-то вроде маски.

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

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