Коллеги, добрый день! 

Подскажите какими инструментами вывести значение курса валют из справочника, чтобы он  всегда был виден пользователю.. располагался над реестром во всех разделах перед полем Что сделать, например?

Изображение удалено.

 

Нравится

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

В MainHeaderSchemaNUI добавить полей, реализовать логику по загрузке значений

В MainHeaderSchemaNUI добавить полей, реализовать логику по загрузке значений

Показать все комментарии
Предлагаю позволить устанавливать в качестве отображаемого значения DisplayValue справочника.На данный момент использую событие на onSaved и дополнительную колонку DisplayColumn, в которую записываю значения из справочника. Крайне неудобно каждый раз, если в объекте отсутствует строка создавать дополнительный обработчик события для создания отображаемого значения.
4 комментария

Ну, или хотя бы создать базовый класс с уже таким действием

Здравствуйте, Александр!

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

Приятного дня!

"Пащенко Александр Сергеевич" написал:На данный момент использую событие на onSaved

А можете привести пример кода на OnSaved?

Владимир, добрый день!

Если речь идёт об установлении отображаемого значения для детали, в которой нет своих подходящих текстовых полей, то это значение можно установить в блоке diff страницы детали.

Например, если стоит задача установить отображаемое значение для детали Продукты в карточке продажи, это можно сделать следующим образом: в коде схемы OpportunityProductDetailV2 находим блок diff и добавляем в него значение PrimaryDisplayColumnName, как в примере ниже.

diff: /**SCHEMA_DIFF*/[
	{
		"operation": "merge",
		"name": "DataGrid",
		"values": {
			"type": "listed",
 
			// установка отображаемого значения для детали
			"primaryDisplayColumnName": "Product.Name",
			//
 
			"listedConfig": {
				// конфигурация колонок списочного реестра
			},
			"tiledConfig": {
				// конфигурация колонок плиточного реестра
			}
		}
	}
]/**SCHEMA_DIFF*/

Что касается примера Александра, думаю, имелось в виду следующее (если продолжать аналогию с продуктами в продажах):

1) добавляем в схему детали OpportunityProduct дополнительную текстовую колонку ProductName;
2) указываем эту колонку в качестве отображаемой для схемы OpportunityProduct;
3) в коде карточки редактирования детали (OpportunityProductPageV2) переопределяем обработчик onSaved;
4) добавляем в этот обработчик примерно такой код:

onSaved: function() {
	var product = this.get("Product");
	if (product && product.displayValue) {
		this.set("ProductName", product.displayValue);
	}
	this.callParent(arguments);
}
Показать все комментарии

Здравствуйте, у меня возник вопрос. Каким образом можна сменить отображаемое поле в поле-справочник. Тоесть если в обьекте указано отображаемое поле Название и везде в полях-справочник при выборе определенной записи, поле содержит Id и Name..вопрос стоит в следующем, как сделать так (к примеру) чтобы при выборе продукта, выводилось не его Имя а допустим Артикул (или еще какое-нибудь поле).

Заранее спасибо.

Нравится

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

У объекта есть возможность выбрать из списка другое первичное поле для отображения.
После смены может возникнуть проблема в объектах, которые на него ссылаются, но она решаема.

"Зверев Александр" написал:

У объекта есть возможность выбрать из списка другое первичное поле для отображения.

После смены может возникнуть проблема в объектах, которые на него ссылаются, но она решаема.


к сожалению мне нужно сменить отображаемое поле только для 1 карточки редактирования, для всех остальных карточек, отображаемое поле должно остаться преджним

Игорь, можно попробовать воспользоваться методом

SomeEdit.setValueAndText(Guid,displayValue)

У метода есть аналог на C# и на JavaScript, то есть Вы можете вызвать его как с помощью AddScript, так и напрямую.
В случае использования AddScript обратиться к нужному контролу можно по его Id, который можно узнать, воспользовавшись методом, описанным здесь.

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