Добрый день!

 

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

Нравится

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

Добрый день!

На основе необходимого справочника вы можете зарегистрировать раздел. после вывода раздал в рабочее место через него добавлять новые значение справочника. Детальнее по созданию нового раздела описано в статье:https://academy.terrasoft.ru/docs/user/kastomizacija_no_code/nastrojka_…
Более простым способом решения вопроса является распределить права доступа для пользователя на справочники и через раздел "Справочники" наполнить записями объект. Доступ к разделу “Справочники” регулируется правом на системную операцию с кодом “CanManageLookups”.

Алёна Доля,

Если дать пользователю дать права на операцию

CanManageLookups

, то он получит права на все справочники, а это не корректно. Сия темя обсуждалась не однократно на Community. Решается доработкой. Есть примеры реализации.

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

Добрый день!

 

Подскажите, пожалуйста, в разделе обращений, на форме нового обращения размещен справочник. В справочнике несколько записей. Необходимо запретить выбирать некоторые записи из списка данного справочника при создании нового обращения. Есть ли такая опция в Креатио? как это сделать?

 

Спасибо!

Нравится

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

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

Речь идет не о списке полей, а именно о значениях этих полей.

 

Есть необходимость подобной фильтрации в кастом-фильтрах хотя бы в реестрах (Section)

Нравится

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

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

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

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

Добрый день. Вопрос по привязке отображения реестра в справочнике на разных культурах
Пользователь при открытии записи заходит в справочник и видит значения - названия контрагентов/компаний. Они в системе есть в карточках контрагентов на русском языке - поле Название(Name) и поле Название ENG (Name eng)
В поле Название занесено русское название, в поле Название ENG занесено английское - для отображения пользователю зашедшему под английской культурой. 
В справочнике (скрин) реестр настроен так, что можно видеть поле Название либо Название ENG либо оба
Но вопрос в том, возможно ли осуществить настройку реестра справочника так, чтобы открывая его на рус культуре я видел поле Название, а на английской Название ENG? То есть привязать настройку реестра к культуре?

Нравится

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

если речь о реестре, то нужно переопределить метод openlookup и для конкретного справочника задать конфиг как тут
var config = {
              entitySchemaName: "UsrTest",
              multiSelect: false,
              columns: ["Name","Description"],
              hideActions: false}
 

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

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

Суть:

Нужно чтобы система автоматически убирала из справочника (Черный список Email адресов) email адреса через год после их внесения в справочник ЧС

Нравится

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

Tigran Gevorgyan пишет:
Что Вы имеете введу  "сделать отдельное представление"  Создать отдельный раздел,  записывать туда все записи из черного списка с полем даты создания и в БП определить запись которая произведена год назад и если да, то удалить запись из раздела и из справочника ?

Не совсем. Я имею ввиду на уровне базы данных создать представление (view), которое настроить таким образом, чтобы оно содержало нужные для удаления записи из черного списка (соответствовало условию дата создания больше года).

А потом для работы с ним из конфигурации создать новую EntitySchema.

 

Чтобы связать EntitySchema с представлением, необходимо убедиться в соблюдении следующих условий:
1. В свойствах объекта установлен признак “Представление в базе данных”.

2. Название объекта соответствует названию представления в БД.
3. Структура объекта и представления идентичны.

Со стороны приложения View воспринимается как обычный объект.

 

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

 

Tigran Gevorgyan пишет:
Я думая это можно как-то осуществить через системные настройки

На данном этапе не вижу необходимости в добавлении новой системной настройки и использовании её  в бизнес-процессе.

Добрый день.

 

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

 

Для определения, какие записи нужно удалять, Вы можете сделать отдельное представление, которое будет содержать все записи из справочника 'Черный список', которые были созданы год назад и раньше, и потом использовать его в БП.

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

Добрый день. Спасибо за отклик!

Что Вы имеете введу  "сделать отдельное представление"  Создать отдельный раздел,  записывать туда все записи из черного списка с полем даты создания и в БП определить запись которая произведена год назад и если да, то удалить запись из раздела и из справочника ?

 

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

 

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

 

Tigran Gevorgyan пишет:
Что Вы имеете введу  "сделать отдельное представление"  Создать отдельный раздел,  записывать туда все записи из черного списка с полем даты создания и в БП определить запись которая произведена год назад и если да, то удалить запись из раздела и из справочника ?

Не совсем. Я имею ввиду на уровне базы данных создать представление (view), которое настроить таким образом, чтобы оно содержало нужные для удаления записи из черного списка (соответствовало условию дата создания больше года).

А потом для работы с ним из конфигурации создать новую EntitySchema.

 

Чтобы связать EntitySchema с представлением, необходимо убедиться в соблюдении следующих условий:
1. В свойствах объекта установлен признак “Представление в базе данных”.

2. Название объекта соответствует названию представления в БД.
3. Структура объекта и представления идентичны.

Со стороны приложения View воспринимается как обычный объект.

 

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

 

Tigran Gevorgyan пишет:
Я думая это можно как-то осуществить через системные настройки

На данном этапе не вижу необходимости в добавлении новой системной настройки и использовании её  в бизнес-процессе.

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

Спасибо))

Tigran Gevorgyan,

Если будут вопросы, обращайтесь

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

Здравствуйте, помогите решить задачу, пожалуйста,

На странице редактирования выведены 2 поля: Оценка (число), Оценка традиционная (Справочник).

Справочник традиционная оценка содержит колонки Название (например Удовлетворительно), Балл от (напр. 50), Балл до (напр. 69).

Как сделать так, чтобы после ввода числового значения X в поле Оценка на странице редактирования, сравнивалось значение числа по справочнику [Балл от] < X < [Балл до], и затем в справочном поле Оценка традиционная заполнялось Id найденного значения?

Хотелось бы это сделать не процессом после сохранения и закрытия карточки, а именно на странице редактирования после изменения поля.

Колонки:

Справочник:

Нравится

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

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

attributes: {
	"UsrRatingLookup": {
		dependencies: [
			{
				columns: ["UsrRating"],
				methodName: "setRatingLookup"
			}
		]
	},
},
 
methods: {
	setRatingLookup: function() {
			var esq = this.Ext.create("Terrasoft.EntitySchemaQuery", {
				rootSchemaName: "UsrRatingLookup"
			});
esq.addColumn("Id");
			esq.addColumn("Name");
			var esqIdFilter = esq.createColumnFilterWithParameter(this.Terrasoft.ComparisonType.GREATER_OR_EQUAL, "UsrRatingMin", this.$UsrRating);
			esq.filters.add("esqFilter", esqIdFilter);
			var esqIdFilter2 = esq.createColumnFilterWithParameter(this.Terrasoft.ComparisonType.LESS_OR_EQUAL, "UsrRatingMax", this.$UsrRating);
			esq.filters.add("esqFilter2", esqIdFilter2);
			esq.getEntityCollection(function (result) {
				if(result.success &amp;&amp; result.collection.collection.items.length&gt;0) {
					this.set("UsrRatingLookup", {value: result.collection.collection.get(0).get("Id"), displayValue: result.collection.collection.get(0).get("Name")});
				}
			}, this);
	},
}

 

Доброе утро.

 

Вам нужно Ваше поле сделать вычисляемым. Посмотрите на Академии пример, как это можно сделать, по ссылке.

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

Выполняется следующий порядок действий:

 

1) Открывается мини-карточка создания объекта Х

2) На мини-карточке есть справочное поле -- переходим к выбору его значений (открывается лукап объекта Y)

3) В лукапе есть кнопка "добавить" -- нажимаем, для добавления объекта Y

 

Происходит странное: лукап закрывается, остается мини-форма создания объекта X, а под ней полноценная карточка создания объекта Y. Это известная проблема? Есть способы ее решения?

Нравится

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

Добрый день!

 

 

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

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

Добрый день!

Приложение on-site.

Я создал объект UsrTestForDataBT. Зарегистрировал на основе его справочник (с таким же именем - UsrTestForDataBT). Наполнил справочник. Выполнил привязку данных справочника и его данных.

Удалил обе привязки данных в Конфигурации. Удалил сам объект в Конфигурации.

НО! Таблица в БД с таким названием осталась и в этой таблице содержатся данные, которые я вводил при наполнении справочника. При компиляции появляется ошибка (One or more errors occurred.
Элемент с именем "UsrTestForDataBT" не найден).

Что необходимо сделать чтобы из БД все пропало и нормально проходила компиляция?

Нравится

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

Если в таблице есть записи, то она не удаляются вместе с объектом. После удаления объекта Вам необходимо удалить ее в базе самостоятельно.

На счет ошибки - в других объектах делали ссылку в колонках на данный справочник? Если да, то удалите их в начале там. Так же выполните полную генерацию исходного кода перед компиляцией, а так же если включена разработка в файловой системе сделайте выгрузку в начале в файловую систему.

Если в таблице есть записи, то она не удаляются вместе с объектом. После удаления объекта Вам необходимо удалить ее в базе самостоятельно.

На счет ошибки - в других объектах делали ссылку в колонках на данный справочник? Если да, то удалите их в начале там. Так же выполните полную генерацию исходного кода перед компиляцией, а так же если включена разработка в файловой системе сделайте выгрузку в начале в файловую систему.

Александр Тыра,

Спасибо!

Лобанова Мария Сергеевна, добрый день!
При ручном удалении записей, система позволяет увидеть все связанные объекты, которые не позволяют удалить запись и соответственно объект.

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

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

Например, в контрагенте я выбираю Контакт, но могу нажать Добавить. В карточке контакта, в init или как-то еще можно определить Id контрагента, из которого вызвалось добавление?

Нравится

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

При открытии карточки контрагента, класть id контрагента в кэш. В карточке контакта считать значение из кэша.

Альтернативный вариант посылать на карточку контрагента сообщение, но карточка может не ловить сообщение.

Здравствуйте. Если не ошибаюсь, sandbox.id содержит гуид

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

Добрый день!

Я добавил несколько записей в созданный мной справочник. Эти записи успешно сохранились в БД. Но позже я изменил Название в нескольких записях данного справочника. Если в Creatio открыть наполнение, то видны последние записи, а в БД данные изменения не произошли, т.е. в БД хранится первоначальная информация. Как это исправить?

Нравится

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

Смотрите свои значения в таблице Sys______Lcz, где пробел - это название вашего справочника.

Исправить у меня не получилось, тоже интересно.

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