Вопрос

Здравствуйте, если я добавлю к контакту некоторое булево поле, как при выборе его из обращения произвести отбор по этому полю?

 

У меня такой же вопрос

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

Rinat,
Добрый день!
Данную фильтрацию можно сделать
1. либо через бизнес правила:
1) через код https://academy.terrasoft.ru/documents/technic-sdk/7-13/primer-primenen…
2) через мастер страницы (https://monosnap.com/file/ooYS71HNPA5gozrb204C1N5gCvCNeU)

2. либо в коде через параметр фильтрации атрибута
пример:

attributes: {
			"Contact": {
				lookupListConfig: {
					"filters": [
                        function() {
                            var filterGroup = Ext.create("Terrasoft.FilterGroup");
                            var galochaFilter = Terrasoft.createColumnFilterWithParameter(
                            	Terrasoft.ComparisonType.NOT_EQUAL, "Galocka", true);
                            filterGroup.add("filter1", galochaFilter);
                            return filterGroup;
                        }
                    ]
				}
 
			}
		}

 

Ринат, здравствуйте!

На вашем втором скриншоте есть выпадающий список (там где "ФИО") в этом списке должно будет появиться добавленное поле. 

Так же через, по второму скриншоту, нажав на "Вид" Вы сможете вывести колонку в реестр модального окна

Гриценко Игорь, а как сделать чтобы он по умолчанию этот отбор применял и пользователю не пришлось руками этот отбор вбивать. Делаю что-то на подобии "неактивных" пользователей.

Rinat,
Добрый день!
Данную фильтрацию можно сделать
1. либо через бизнес правила:
1) через код https://academy.terrasoft.ru/documents/technic-sdk/7-13/primer-primenen…
2) через мастер страницы (https://monosnap.com/file/ooYS71HNPA5gozrb204C1N5gCvCNeU)

2. либо в коде через параметр фильтрации атрибута
пример:

attributes: {
			"Contact": {
				lookupListConfig: {
					"filters": [
                        function() {
                            var filterGroup = Ext.create("Terrasoft.FilterGroup");
                            var galochaFilter = Terrasoft.createColumnFilterWithParameter(
                            	Terrasoft.ComparisonType.NOT_EQUAL, "Galocka", true);
                            filterGroup.add("filter1", galochaFilter);
                            return filterGroup;
                        }
                    ]
				}
 
			}
		}

 

Сидоров Александр В., не совсем понял как в мастер страницы попасть. Это не оно? 

Rinat,
Да, оно. Справа сверху есть кнопка перехода к бизнес правилам

Сидоров Александр В.,Спасибо.

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

Всем привет,

Для некоторых справочников доступна кнопка добавления записи из режима выбора, для некоторых нет (см. скриншот).
Как добавить такую кнопку для справочника, у которых нет такой кнопки?
Попробовал создать страницу редактирования и зарегистрировать в SysModule и SysModuleEdit, но это не сработало - справочник вообще перестал работать. Версия системы - 7.13, справочник создал сам.

Заранее спасибо за помощь.

У меня такой же вопрос

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

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

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

select  Value from SysModuleEditlcz
where recordid in (
    select id from SysModuleEdit where SysModuleEntityId in
        (select id from SysModuleEntity where SysEntitySchemaUId in
            (select uid from sysschema where name = 'UsrCroppPlants') --название объекта раздела
        )
    )
 
GO
 
select ActionKindCaption from SysModuleEdit
where SysModuleEntityId in
    (select id from SysModuleEntity where SysEntitySchemaUId in
        (select uid from sysschema where name = 'UsrCroppPlants') --название объекта раздела
    )

Вместо UsrCroppPlants вставьте название вашего объекта (справочника) Если пусто добавте заголовок

update SysModuleEditlcz
set Value = 'Добавить'
where recordid in (
    select id from SysModuleEdit where SysModuleEntityId in
        (select id from SysModuleEntity where SysEntitySchemaUId in
            (select uid from sysschema where name = 'UsrCroppPlants') --название объекта раздела
        )
    )
 
update SysModuleEdit
set ActionKindCaption = 'Добавить'
where SysModuleEntityId in
    (select id from SysModuleEntity where SysEntitySchemaUId in
        (select uid from sysschema where name = 'UsrCroppPlants') --название объекта раздела
    )

Очистите редис и перевойдите в систему

Дмитрий, здравствуйте!

Начиная с версии 7.9.2 если у справочника нет страницы редактирования, то нет возможности добавить новое значение на странице редактирования раздела.

Для добавления необходимо что бы существовала страница редактирования для объекта. Самый простой способ вам это сделать, воспользоватся мастером деталей и на основании объекта создать деталь, в мастере при создании детали будет закладка "Страница" на которой вы сможете задать внешний вид будущей страницы редактирования. После публикации детали, очистки кеша браузера и перезахода на сайт, можно будет добавлять записи используя эту страницу.

Также можно использовать "тихое" добавление значение в справочное поле (вводите новое значение и в выпадающем списке нажимаете на него). Наглядное изображение прикрепил.


Если же при добавлении приложение будет ругаться, что у Вас нет страницы и добавлять нужно через раздел "Справочник", то Вам необходимо на уровне БД выполнить SQL скрипт (http://ftp.bpmonline.com/support/Pub/D.Vilshansky/включить_фичу_Feature…). Если у Вас приложение "SQL консоль" (https://marketplace.terrasoft.ru/app/pt-sql-executor-bpmonline) не установлено, то сообщите нам и мы с нашей стороны выполним скрипт.
 
Затем необходимо перезайти в приложение и почистить кэш браузера.

Вильшанский Дмитрий,

Спасибо за ответ. Проблема в том, что добавление страницы редактирования для объекта не решает этой проблемы.

Тёскин Дмитрий Валерьевич,

Дмитрий, здравствуйте!

Я проверил повторно если создать страницу и создать записи в таблицах SysModuleEntity и SysModuleEdit, то кнопка "Добавить" отображается и новые значения добавляются без ошибок.

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

Со своей стороны пример реализовал на триале - https://041232-crm-bundle.bpmonline.com/ (1/1) (раздел "Контакты" - поле "ТЕСТ").

Приблизительный алгоритм реализации:

1. Создание необходимых элементов в конфигурации:

- справочное поле (родительский объект "Базовый справочник") с необходимыми полями;

- создать страницу, которая будет открываться при нажатии на кнопку "Добавить" (родительский объект "BasePageV2" (Базовая схема карточки) (!!!)). Для того, чтобы создать схему с наследованием. то нужно в разделе конфигурации нажать на "Добавить" - в расширенных выбрать "Схема модели представления карточки".

- в схему вставить минимум кода, который необходим для работы:

define("UsrTEST2019PageV2", ["UsrTEST2019PageV2Resources"], function() {
    return (resources) {
        entitySchemaName: "Usrtest",
        attributes: {},
        modules: /**SCHEMA_MODULES*/{}/**SCHEMA_MODULES*/,
        details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
        businessRules: /**SCHEMA_BUSINESS_RULES*/{}/**SCHEMA_BUSINESS_RULES*/,
        methods: {},
        dataModels: /**SCHEMA_DATA_MODELS*/{}/**SCHEMA_DATA_MODELS*/,
        diff: /**SCHEMA_DIFF*/[
                                               {
                                                                "operation": "insert",
                                                                "name": "Name",
                                                                "parentName": "Header",
                                                                "propertyName": "items",
                                                                "values": {
                                                                                "bindTo": "Name",
                                                                                "layout": {
                                                                                                "column": 0,
                                                                                                "row": 0,
                                                                                                "colSpan": 12
                                                                                }
                                                                }
                                                }
        ]/**SCHEMA_DIFF*/
    };
});
 

 

2. Создание записей на уровне БД в таблицах SysModuleEntity и SysModuleEdit:

SELECT * FROM SysSchema Where Name = 'UsrTEST2019PageV2'
-- UId карточки редактирования = a1eab082-195b-4f2d-a64c-68bb3c09eb54
 
SELECT * FROM SysSchema Where Name = 'UsrTEST'
-- колонка UId объекта = ddcfdbfd-ecc0-44ea-9b49-9591b6b68044

-- проверяем развязочную таблицу
SELECT * FROM SysModuleEntity
WHERE SysEntitySchemaUId = 'ddcfdbfd-ecc0-44ea-9b49-9591b6b68044'
 
-- если нет там записи, добавляем:
INSERT INTO SysModuleEntity (SysEntitySchemaUId) VALUES ('ddcfdbfd-ecc0-44ea-9b49-9591b6b68044')
 
-- проверяем развязочную таблицу
SELECT * FROM SysModuleEntity
WHERE SysEntitySchemaUId = 'ddcfdbfd-ecc0-44ea-9b49-9591b6b68044'
-- берем от туда Id = 2988ae6b-2566-42ec-b240-5b00082252bc
 
INSERT INTO SysModuleEdit (SysModuleEntityId, CardSchemaUId, ActionKindCaption,
ActionKindName, PageCaption) VALUES ('2988ae6b-2566-42ec-b240-5b00082252bc', 'a1eab082-195b-4f2d-a64c-68bb3c09eb54', 'test',
'UsrTEST','Test')
 
SELECT * FROM SysModuleEdit WHERE SysModuleEntityId = '2988ae6b-2566-42ec-b240-5b00082252bc'

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

P.S. Если возникнуть проблемы, то рекомендую использовать отладку клиентского кода. В консоли должна быть более подобная информация.

 

 

Вильшанский Дмитрий,

Попробовал сделать по вашему мануалу - всё равно не хочет работать. Ковыряние UI кода показывает, что моего справочника (как и многих других моих справочников) нет в Terrasoft.configuration.EntityStructure. По какому условия туда попадают объекты и почему там нет моего объекта ?

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

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

select  Value from SysModuleEditlcz
where recordid in (
    select id from SysModuleEdit where SysModuleEntityId in
        (select id from SysModuleEntity where SysEntitySchemaUId in
            (select uid from sysschema where name = 'UsrCroppPlants') --название объекта раздела
        )
    )
 
GO
 
select ActionKindCaption from SysModuleEdit
where SysModuleEntityId in
    (select id from SysModuleEntity where SysEntitySchemaUId in
        (select uid from sysschema where name = 'UsrCroppPlants') --название объекта раздела
    )

Вместо UsrCroppPlants вставьте название вашего объекта (справочника) Если пусто добавте заголовок

update SysModuleEditlcz
set Value = 'Добавить'
where recordid in (
    select id from SysModuleEdit where SysModuleEntityId in
        (select id from SysModuleEntity where SysEntitySchemaUId in
            (select uid from sysschema where name = 'UsrCroppPlants') --название объекта раздела
        )
    )
 
update SysModuleEdit
set ActionKindCaption = 'Добавить'
where SysModuleEntityId in
    (select id from SysModuleEntity where SysEntitySchemaUId in
        (select uid from sysschema where name = 'UsrCroppPlants') --название объекта раздела
    )

Очистите редис и перевойдите в систему

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

Приветы, в дизайнере страницы добавил "текстовое поле".

Как при выборе из справочника в другой детали (деталь выбор из справочника) значения, чтобы в "текстовое поле" установить значение на основе работы какой-то функции, которая через бд получит значение и запишет в это "текстовое поле"

 

 

У меня такой же вопрос

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

Здравствуйте!

Как вариант - использовать бизнес-процесс, который будет читать данные поля детали и записывать его в поле на странице

Больше информации о настройке бизнес-процессов - на Академии: https://academy.terrasoft.ru/documents/technic-bpms/7-11/obzor-funkcionalnosti-biznes-processov-v-bpmonline

Одеяненко Юлия,

 

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

QArt,

Алгоритм примерно следующий:

- стартовый сигнал - "Получен сигнал от объекта", какой объект - объект детали, событие - добавление записи (пример - http://prntscr.com/iudrkj)

- элемент "Читать данные", читать данные первой записи объекта детали, сортировка по убыванию колонки "Дата создания", значение только той колонки, которая будет транслироваться (пример - http://prntscr.com/iudxeb)

- элемент "Изменить данные" объекта, в котором нужно автоматически заполнять поле, изменить ту запись, на которой находится деталь, изменить значение Вашего кастомного поля параметром процесса, вычитаном в предыдущем элементе (пример - http://prntscr.com/iudwk1).

Тогда, после обновления страницы, поле в карточке заполнится полем из последней добавленной на деталь записи.

Спасибо. Если мне нужно в деталь "текстовое поле" писать расчетное значение, которое должно рассчитываться на событие "изменение значения в детали". Но в расчете Значение = "значение из детали" + в зависимости от типа указанного в сущности "значение из детали" то есть как-то запросом подгребать. И, увы, в бд поле есть у объекта, а в конструкторе в биз процессе поле выбрать нельзя, хотя деталь есть в интерфейсе пользователя, странно все это... 

 

Может попробовать как-то через атрибуты 

"aMetro": {
                        dependencies: [
                            {
                                columns: [ "WorkAddr" ],
                                methodName: "calcMetro"
                            }
                        ]
                    }

в calcMetro через esq получить метро и вписать его в деталь -  "текстовое поле" можно такой пример?

У меня опыта мало в ковырянии динозавра :)

QArt,

Разобрался, узнаю новое и странное. Почти сделал

getFullAddressFromVacancy: function (Id) {
                        var esq = this.Ext.create("Terrasoft.EntitySchemaQuery", {
                            rootSchemaName: "AccountAddress"
                        });
                        esq.addColumn("Id");
                        esq.addColumn("Address", "Address");
                        esq.addColumn("AccountAddress.SxSubwayStation.Name", "MetroName");
                        esq.addColumn("AccountAddress.City.Name", "CityName");
                        esq.filters.add("VacancyCandidateFilter222", this.Terrasoft.createColumnFilterWithParameter(
                            this.Terrasoft.ComparisonType.EQUAL,
                            "Id", Id));
                        esq.getEntityCollection(function (response) {
                            if (response.success && response.collection.getCount() == 1) {
                                var entity = response.collection.getByIndex(0);
                                var addr = entity.get("Address");
                                var city = entity.get("CityName");
                                var metro = entity.get("MetroName");
                                var add = '';
                                if (city != undefined && city != 'Москва')
                                  add += city + ', ';
                                if (metro != undefined)
                                  add += metro + ', ';
                                if (addr != undefined)
                                  add += addr;
                                this.log('Add = ' + add);
                                this.set("BpMetroAutoFill", add);
                            }
                        }, this);
                }

В консоли хрома вижу что столбцы, кроме Address пишутся isNotFound. 

Делал согласно https://academy.terrasoft.ru/documents/technic-sdk/7-8/poluchenie-rezul…

EntitySchemaQuery умеет довыгребать AccountAddress.SxSubwayStation.Name в таблице AccountAddress есть столбец SxSubwayStationId

Аналогично с City.

Что не так делаю, подскажите плиз?

Добрый день.

Таблицу AccountAddress вы указываете в rootSchemaName. Тоесть, при добавлении колонки из AccountAddress, не нужно указывать название этой таблицы. Нужно указывать именно поле из этой таблицы, например SxSubwayStation.Name.

Demchenko Olha,

Оля, спасибо, помогло! 

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

Добрый день.

В карточке договора расположено поле "Реквизиты контрагента". При клике на поле появляется список, который отображает значения, которые указаны в определенном поле в платежном реквизите контрагента. Мне нужно отображать значение другого поля, указанного в платежном реквизите. Подскажите, как это сделать? Может кто-то сталкивался и реализовывал подобное.

У меня такой же вопрос

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

Добрый день Елена!!!

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

"Власов Михаил Викторович" написал:

Добрый день Елена!!!

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


Михаил, у меня в платежных реквизитах создано поле "Юр.лицо" (тестовое поле). Мне вот нужно, чтобы при нажатии на "Реквизиты контрагента" в договоре, отображался список именно того, что занесено в данное поле (юр.лицо).

Добрый день.

Вам необходимо изменить значение свойства "Отображаемое значение" на уровне объекта справочника.

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

Добрый день.
Версия 7.9

Кейс был такой: Нужно создать деталь с полем справочник (у меня это "UsrStore") c ссылкой на объект "Остаток продукта".

Я конечно уже сомневаюсь что решу этот кейс, но может кто то уже сталкивался с подобным.
После добавления такого поля, при выборе этого поля окно выбора висит и в консоли выдает такие вот ошибки:

1)

Uncaught iargumentName: ""__proto__: constructor$className: "Terrasoft.exceptions.ArgumentNullOrEmptyException"alternateClassName: "Terrasoft.ArgumentNullOrEmptyException"argumentName: nullconfig: e__proto__: Objectconstructor: function ()__proto__: Objectconstructor: function Object()hasOwnProperty: function hasOwnProperty()isPrototypeOf: function isPrototypeOf()propertyIsEnumerable: function propertyIsEnumerable()toLocaleString: function toLocaleString()toString: function toString()valueOf: function valueOf()__defineGetter__: function __defineGetter__()__defineSetter__: function __defineSetter__()__lookupGetter__: function __lookupGetter__()__lookupSetter__: function __lookupSetter__()get __proto__: function __proto__()set __proto__: function __proto__()configMap: Object__proto__: ObjectinitConfigList: Array(0)length: 0__proto__: Array(0)initConfigMap: Objectmessage: "Несуществующий или пустой аргумент"self: function i()superclass: constructortoString: function ()__proto__: constructor
/core/04566becfbd71b73c17d3b4e92cd2ba9/Terrasoft/amd/core.js?:579 user: Supervisor/7f3b869f-34f3-4f20-ab4d-7480a5fdf647
 file: a href="http://176.104.2.162/core/9b78b22f0e6d6388b9ec0f8fae14cb84/combined/all-combined.js

"
title="http://176.104.2.162/core/9b78b22f0e6d6388b9ec0f8fae14cb84/combined/all-combined.js

"
>a href="http://176.104.2.162/core/9b78b22f0e6d6388b9ec0f8fae14cb84/combined/all-...">http://176.104.2.162/core/9b78b22f0e6d6388b9ec0f8fae14cb84/combined/all-... line: 846
 column: 295
 message: Uncaught Terrasoft.ArgumentNullOrEmptyException: Несуществующий или пустой аргумент
 date: Fri Mar 24 2017 11:05:50 GMT+0200 (Финляндия (зима))
 stack: undefined
writeErrorMessage @ /core/04566becfbd71b73c17d3b4e92cd2ba9/Terrasoft/amd/core.js?:579

2)

LookupPageViewModelGenerator.js:284 Uncaught i {argumentName: ""}argumentName: ""__proto__: constructor
addColumn @ all-combined.js:846
addColumn @ all-combined.js:939
(anonymous) @ LookupPageViewModelGenerator.js:284
Terrasoft.utils.array.each @ all-combined.js:225
addSelectColumns @ LookupPageViewModelGenerator.js:282
Terrasoft.each.scope @ LookupPageViewModelGenerator.js:273
Terrasoft.utils.array.each @ all-combined.js:225
getSelect @ LookupPageViewModelGenerator.js:271
loadData @ LookupPageViewModelGenerator.js:344
load @ LookupPageViewModelGenerator.js:73
(anonymous) @ /0/configuration/fec43bee7d1bd6fa3769ce764f5b8168ru-RU/LookupPage.js:176
(anonymous) @ /0/configuration/fec43bee7d1bd6fa3769ce764f5b8168ru-RU/LookupPage.js:284
execCb @ require.js:1693
check @ require.js:881
enable @ require.js:1173
init @ require.js:786
(anonymous) @ require.js:1457

3)

/core/04566becfbd71b73c17d3b4e92cd2ba9/Terrasoft/amd/core.js?:579 user: Supervisor/7f3b869f-34f3-4f20-ab4d-7480a5fdf647
 file: a href="http://176.104.2.162/core/9b78b22f0e6d6388b9ec0f8fae14cb84/combined/all-combined.js

"
title="http://176.104.2.162/core/9b78b22f0e6d6388b9ec0f8fae14cb84/combined/all-combined.js

"
>a href="http://176.104.2.162/core/9b78b22f0e6d6388b9ec0f8fae14cb84/combined/all-...">http://176.104.2.162/core/9b78b22f0e6d6388b9ec0f8fae14cb84/combined/all-... line: 846
 column: 295
 message: Uncaught Terrasoft.ArgumentNullOrEmptyException: Несуществующий или пустой аргумент
 date: Fri Mar 24 2017 11:11:48 GMT+0200 (Финляндия (зима))
 stack: undefined
writeErrorMessage @ /core/04566becfbd71b73c17d3b4e92cd2ba9/Terrasoft/amd/core.js?:579
(anonymous) @ /core/04566becfbd71b73c17d3b4e92cd2ba9/Terrasoft/amd/core.js?:740
execCb @ require.js:1693
check @ require.js:881
enable @ require.js:1173
init @ require.js:786
(anonymous) @ require.js:1457

4)

/core/04566becfbd71b73c17d3b4e92cd2ba9/Terrasoft/amd/core.js?:579 user: Supervisor/7f3b869f-34f3-4f20-ab4d-7480a5fdf647
 file: a href="http://176.104.2.162/core/9b78b22f0e6d6388b9ec0f8fae14cb84/combined/all-combined.js

"
title="http://176.104.2.162/core/9b78b22f0e6d6388b9ec0f8fae14cb84/combined/all-combined.js

"
>a href="http://176.104.2.162/core/9b78b22f0e6d6388b9ec0f8fae14cb84/combined/all-...">http://176.104.2.162/core/9b78b22f0e6d6388b9ec0f8fae14cb84/combined/all-... line: 846
 column: 295
 message: Uncaught Terrasoft.ArgumentNullOrEmptyException: Несуществующий или пустой аргумент
 date: Fri Mar 24 2017 11:11:48 GMT+0200 (Финляндия (зима))
 stack: undefined

У меня такой же вопрос

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

По ошибкам сложно понять в чем дело, напишите в поддержку, с предоставлением доступа к сайту:
support@terrasoft.ru
Пусть посмотрят и исправят на месте.

Ок. Спасибо.

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

Я бы хотел сделать такую кастомизацию. Мне нужны два параметра, используемые в объектах недвижимости и листингах, по которым происходит подбор заявок. Эти параметры справочные и связаны друг с другом.
По аналогии со справочником Источник лида, в котором 3 поля. Источник, канал и описание. При этом в поле Канал – это значения из справочника Канал.

Хочу сделать справочник Районы с такими полями:
Название поля Описание
Город Это поле ссылается на справочник Город
Район Это поле, которое наполняется значением районов для конкретного города

Второй справочник такой:
Название поля Описание
Район Это поле ссылается на справочник Районы
Массив Это поле, которое наполняется значением массивов (микрорайонами) для
конкретного района
Границы В этом поле хранятся координаты точек (широта, долгота) полигона,
задающего границы массива

Когда я выбираю значение в поле Город при создании объекта – поле Район фильтруется по колонке Город (тот, что указан в поле Город объекта)
Когда я выбираю значения поля Массив – его значения тоже фильтруются по полю Район.

Подскажите, пожалуйста, какими инструментами можно это реализовать?

У меня такой же вопрос

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

Здравствуйте!

Данная задача может быть реализована бизнес-правилами на странице.
Подробнее о бизнес-правилах можно прочитать по ссылке:
https://academy.terrasoft.ru/documents/technic-sdk/7-9/primer-primeneni…

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

Быстрое добавление записи в справочник не работает для некоторых полей страницы. При этом на другой странице это же поле прекрасно работает.

1
2

У меня такой же вопрос

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

Андрей,
Возможность быстрого добавления записи в справочник доступна для тех полей, которые не ссылаются на системный объект. В Вашем примере поле [Группа ответственных] ссылается на системный объект SysAdminUnit, поэтому быстрого добавления нет. Если взять для сравнения поле [Ответственный], оно ссылается на простой объект Contact.

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

Добрый день. Стоит задача сделать справочник с отображением в виде списка. Изначально справочник был со страницей редактирования, когда ставлю галочку для отображения в виде списка в объекте то в карточке из справочника пропадают все значения.

У меня такой же вопрос

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

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

Данное поведение не может быть связано с зарегистрированной страницей редактирования для объекта справочника. Вам стоит смотреть в сторону "Первичной для отображения колонки" объекта, поскольку именно из нее берутся значения для выпадающего списка. Так же проверьте ошибки консоли.

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

Как сделать множественный выбор в справочнике ? bpm 7.8

У меня такой же вопрос

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

Здравствуйте,
Поищите в системе упоминания строчки: multiSelect: true
Т.к. открыть справочник с мультивыбором можно передав в конфиг открытия именно это свойство. К примеру:

var config = {
   entitySchemaName: "Product",
   multiSelect: true,
   columns: ["Name", "Price", "Currency"]
};
 
this.openLookup(config, this.addCallBack, this);

А в функции колбека с результатом этого выбора уже что-то делать:

addCallBack: function(args) {
   this.selectedRows = args.selectedRows.getItems();
   this.selectedRows.forEach(function(item) {
      // какие-то действия
   }, this);
}

Больше примеров можете найти в схемах базовых продуктов.

Здравствуйте!

Пример можно найти в схеме ActivityParticipantDetailV2.

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

Добрый день,

Хотел бы сделать так, чтобы при создании лида, при выборе контакта в поле "Ответственный" подставлялось соответствующее значение аналогичного поля из выбранного контакта. Пытался сделать это созданием замещающей страницы LeadSection (в ней, я так понимаю, происходит создание лидов) и добавлением туда приблизительно следующего кода:

attributes: {
        'Owner1' : {
                dependencies: [
                {
                        columns: ["Contact"],
                        methodName: "setOwnerToContact"
                }
                ]
        }
},
methods: {
        setOwnerToContact: function () {
                var Contact = this.get('Contact');  
                if (Contact != null) {
                        var esq = Ext.create('Terrasoft.EntitySchemaQuery', {
                                rootSchemaName: "Contact"
                        });
                        var self = this;
                        esq.addColumn("Id");
                        esq.addColumn("Owner");
                        esq.filters.add("Id", Terrasoft.createColumnFilterWithParameter(
                                Terrasoft.ComparisonType.EQUAL, "Id", Contact.value));
                        esq.getEntityCollection(function(result) {
                                if (result.success) {
                                        Terrasoft.each(result.collection.getItems(), function(item) {
                                                self.set("Owner1", item.get("Owner"));
                                        });
                                }
                        });
                }
        }
},

Не сработало. Подскажите пожалуйста, как это было бы правильно сделать?

У меня такой же вопрос

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

Здравствуйте!

Не совсем верно. LeadSectionV2 - это страница раздела, а LeadPageV2 - страница редактирования лида. Соответствующую приблизительную:smile: логику Вам необходимо реализовать в LeadPageV2.

Скину несколько полезных ссылок:

"Демьяник Алексей Олегович" написал:LeadSectionV2 - это страница раздела, а LeadPageV2 - страница редактирования лида.

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

"Кулагин Дмитрий Леонидович" написал:
Демьяник Алексей Олегович пишет:

LeadSectionV2 - это страница раздела, а LeadPageV2 - страница редактирования лида.

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

Здравствуйте!

Section - это представление раздела, Page - страница редактирования. На странице редактирования Вы создаете как новые записи, так и редактируете существующие.

Данную логику необходимо реализовывать в Page.

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