Вопрос

Подставить в деталь значение справочника

Добрый день!

Есть варианты, как подставить в деталь значение справочного поля в зависимости от другого справочного поля?

В разделе "Продажи" добавил справочное поле созданного раздела "Проект". Необходимо подставить его значение в соответствующее добавленное поле в деталь, при добавлении продукта

 

Нравится

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

Поскольку поле «Проект» в продаже может быть заполнено как пользовательскими средствами, так и, в теории, программно или по интеграции, то нужно реализовать серверную логику, которая при сохранении на объекте «Продажа» модифицирует все привязанные к ней продукты, если в них указан неверный проект.

Это может быть отдельный бизнес-процесс, стартующий по сигналу измнения продажи, встроенный процесс на объекте «Продажа» или даже триггер на уровне SQL-сервера. Первый и последний варианты рассматриваются тут.

на коллбэке в методе onLookupResult открывать (делать переход на) карточку со скрина 3

Зверев Александр,

На данный момент поле "Проект" заполняется БП при создании продажи и  не изменяется со временем, при добавлении продуктов в продажу всегда поле будет точно заполнено и со временем не измениться

Максим, привязываться к интерфейсу не всегда уместно, вдруг поле заполнят по OData, например.

Илья, в таком случае лучше завязать логику БП на создание нового продукта, прописывать там проект из продажи, если ещё не указан. Опять же, либо отдельным БП по сигналу, либо встроенным на объекте «Продукт», либо, в крайнем случае, триггером.

Зверев Александр,

Александр, спасибо! Согласен, БП это будет проще всего сделать.

Добрый день.

В Вашем случае можно просто при объявлении детали на странице в атрибуте "defaultValues" указать нужное значение.

При этом можно указать, как значение из другого атрибута, так и определенной константы.

Вот пример:

            details: /**SCHEMA_DETAILS*/{
                "PatientCardBlock": {
                    "schemaName": "PatientCardBlockSchemaDetail",
                    "entitySchemaName": "PatientCardBlock",
                    "defaultValues": {
                        "Contact": {
                            "masterColumn": "Id"
                        },
                        "DiseaseType": {
                            "masterColumn": "Disease"
                        },
                        "TherapeuticArea": {
                            "masterColumn": "TherapeuticArea"
                        },
                        "BlockType": {
                            "value": "5b64fd0b-20af-4ce6-8c46-b39de8629f13",
                            "displayValue": "Demographics"
                        }
                    },
                    "filterMethod": "demographicsFilter"
                },

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

Алла, спасибо! То что надо)

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

Способ Аллы тут действительно будет проще и уместнее, но только если нет заливки записей в обход обычной работы в разделе.

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