Підкажіть будьласка, чи можна 7.18.5.1500 оновити до 8.0.6.3429?

І якщо так, то де можна почитати про це?

Нравится

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

Добрий вечір!

 

Так, Ви можете оновити сайт з версії на версію покроково як описано в цій статті: https://academy.creatio.com/docs/release/update-guide/update-guide

Для отримання необхідних файлів оновлення, створіть, будь ласка, звернення до служби підтримки і вкажіть дані про Ваш сайт.

 

З повагою,
Юлія Гриценко

Добавить комментарий

Юлія Гриценко,

Добре, буду писати, пробував оновити за допомогою UpdaterService, але він ніби як тільки до 7.18.5.1500 оновлює.

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

Здравствуйте! На скриншоте показана кнопка по которой открывается страница справочника, как добавить такую же в другой справочник? 

Прикрепленные файлы

Нравится

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

Добрый день.
Столкнулся с проблемой обновления на 7.18.1.
Проблема заключается в том, что при отключении ODataEntities с помощью скрипта Set-AppSettingInWebConfig обрезается "\" ,если указан путь на удаленную машину.

После чего падает ошибка как указана в статье ниже.

https://community.creatio.com/questions/error-while-updating-7180-7181

 

Возможно что-то с этим сделать, кроме как обновлять на сервере, где установлено приложение?

 

Спасибо!

 

Прикрепленные файлы

Нравится

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

Добрый день, Сергей!

 

Обновление необходимо запускать на сервере, на котором размещено приложение.  

 

Также, вижу, что в статье предоставлены некоторые рекомендации как бороться с данной ошибкой. Уточните, пожалуйста, пробовали ли вы им следовать? Есть ли какой-то результат?

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

Добрый день коллеги, при загрузке раздела дважды возникает ошибка

 

Заголовок для подписи "SymptomsFieldContainer1" не был найден.

Невозможно найти колонку по конфигурации: "{"layout":{"colSpan":24,"rowSpan":1,"column":0,"row":2},"name":"SymptomsFieldContainer1"}" .

 

SymptomsFieldContainer1 это поле типа контейнер для того, чтобы было реализовано новое поле по типу "Описание".

Оно было добавлено в замещающей странице CasePage

{
	"operation": "insert",
	"name": "SymptomsFieldContainer1",
	"values": {
		"layout": {
			"column": 0,
			"row": 2,
			"colSpan": 24,
			"rowSpan": 1,
			"layoutName":"Header"
		},
		"wrapClass": [
			"control-width-15 control-left solution-field-container"
		],
		"itemType": 7,
		"items": []
	},
	"parentName": "CaseInformation_gridLayout",
	"propertyName": "items",
},

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

При этом CasePage является родительской для всех Page в данном разделе.

Ошибка не возникает на других двух схемах, но при этом видимо конфликтует с старыми.

Нравится

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

Добрый день,

 

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

Добавить комментарий

Oleg Drobina,

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

define("CasePage", [], function() {
	return {
		entitySchemaName: "Case",
		attributes: {},
		modules: /**SCHEMA_MODULES*/{}/**SCHEMA_MODULES*/,
		details: /**SCHEMA_DETAILS*/{
			"FileDetailV2fe3b2d92": {
				"schemaName": "FileDetailV2",
				"entitySchemaName": "CaseFile",
				"filter": {
					"detailColumn": "Case",
					"masterColumn": "Id"
				}
			},
			"KnowledgeBaseInCaseDetailfca68878": {
				"schemaName": "KnowledgeBaseInCaseDetail",
				"entitySchemaName": "KnowledgeBaseInCase",
				"filter": {
					"detailColumn": "Case",
					"masterColumn": "Id"
				}
			},
			"VisaDetailV218d4bda2": {
				"schemaName": "VisaDetailV2",
				"entitySchemaName": "ITdsCaseVisa",
				"filter": {
					"masterColumn": "Id",
					"detailColumn": "ITdsCase"
				}
			}
		}/**SCHEMA_DETAILS*/,
		businessRules: /**SCHEMA_BUSINESS_RULES*/{}/**SCHEMA_BUSINESS_RULES*/,
		methods: {},
		diff: /**SCHEMA_DIFF*/[
			{
				"operation": "insert",
				"name": "ReclassificationButton",
				"values": {
					"itemType": 5,
					"caption": {
						"bindTo": "Resources.Strings.ReclassificationButtonCaption"
					},
					"click": {
						"bindTo": "onReclassificationButtonClick"
					},
					"enabled": true,
					"visible": true,
					"style": "red",
					"layout": {
						"column": 1,
						"row": 6,
						"colSpan": 1
					}
				},
				"parentName": "LeftContainer",
				"propertyName": "items",
				"index": 10
			},
			{
				"operation": "insert",
				"name": "TestButton1",
				"values": {
					"itemType": 5,
					"caption": "Test",
					"click": {
						"bindTo": "onTestButtonClick1"
					},
					"enabled": true,
					"visible": false,
					"style": "yellow",
					"layout": {
						"column": 1,
						"row": 6,
						"colSpan": 1
					}
				},
				"parentName": "LeftContainer",
				"propertyName": "items",
				"index": 11
			},
			{
				"operation": "insert",
				"name": "NegotiationButton1",
				"values": {
					"itemType": 5,
					"caption": {
						"bindTo": "Resources.Strings.NegotiateButtonCaption1"
					},
					"click": {
						"bindTo": "onNegotiationButtonClick1"
					},
					"enabled": {
						"bindTo": "isNegotiatorSet1"
					},
					"visible": {
						"bindTo": "isNegotiatorSet1"
					},
					"style": "green",
					"layout": {
						"column": 1,
						"row": 6,
						"colSpan": 1
					}
				},
				"parentName": "LeftContainer",
				"propertyName": "items",
				"index": 12
			},
			{
				"operation": "remove",
				"name": "Symptoms"
			},
			{
				"operation": "insert",
				"name": "SymptomsFieldContainer",
				"values": {
					"layout": {
						"column": 0,
						"row": 1,
						"colSpan": 24,
						"rowSpan": 1
					},
					"wrapClass": [
						"control-width-15 control-left solution-field-container"
					],
					"itemType": 7,
					"items": []
				},
				"parentName": "CaseInformation_gridLayout",
				"propertyName": "items",
			},
			{
				"operation": "insert",
				"name": "Symptoms",
				"values": {
					"itemType": 3,
					"dataValueType": 1,
					"contentType": 4,
					"value": {
						"bindTo": "Symptoms"
					},
					"markerValue": "Symptoms",
					"labelConfig": {
						"visible": false
					},
					"controlConfig": {
						"imageLoaded": {
							"bindTo": "onImageLoaded"
						},
						"imagePasted": {
							"bindTo": "onImagePasted"
						},
						"plainTextValue": {
							"bindTo": "NotHtmlNote"
						},
						"images": {
							"bindTo": "Images"
						},
						"plainTextMode": {
							"bindTo": "plainTextMode"
						}
					}
				},
				"parentName": "SymptomsFieldContainer",
				"propertyName": "items"
			},
			{
				"operation": "move",
				"name": "ESNTab",
				"parentName": "Tabs",
				"propertyName": "tabs"
			},
			{
				"operation": "move",
				"name": "TimelineTab",
				"parentName": "Tabs",
				"propertyName": "tabs",
				"index": 3
			},
			{
				"operation": "insert",
				"propertyName": "tabs",
				"parentName": "Tabs",
				"name": "Tabf1d4d2a9TabLabel",
				"values": {
					"caption": {
						"bindTo": "Resources.Strings.TabVisaCaption"
					},
					"items": []
				}
			},
			{
				"operation": "insert",
				"propertyName": "items",
				"parentName": "Tabf1d4d2a9TabLabel",
				"name": "VisaDetailV218d4bda2",
				"values": {
					"itemType": 2,
					"markerValue": "added-detail"
				}
			}
		]/**SCHEMA_DIFF*/
	};
});

 

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

Добрый день.

 

раньше создавал обычные пакеты для проектов, в которых после создания обьекта генерировались соответствующие обьекты в проекте Terrasoft.Configuration (Autogenerated\Src папка). Таким образом можно было удобно их использовать в своих целях при написании c# кода.

все что начинается на QSoft... это были наши обьекты.

Но в новом проекте я использовал опцию  Компилировать в отдельную библиотеку и теперь нету этих исходников. как я понял вы рекомендуете использовать эту опцию и создавать все проекты как библиотеки.

Поддерживается ли генерация исходников в таком случае? Где их найти? может необходимо теперь делать ссылку на библиотеку?

 

Спасибо

Нравится

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

Добрый день!
Если не ошибаюсь, вы говорите о механизме пакета-сборки.

В таком случае файлы пакета будут находиться по пути \Terrasoft.WebApp\Terrasoft.Configuration\Pkg\[Имя пакета].
В любом случае используйте поиск по папкам находясь внутри Terrasoft.Configuration на необходимые вам исходники дабы точно определить их местоположение.

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

Добрый день, интересует следующий вопрос - надо ли добавлять файлы из Files/obj/ папки в пакет? И стоит ли их коммитить в Git?

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

 

Спасибо!

Нравится

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

Добрый день.

Все верно, файлы из Files/obj/ временные и их можно удалить.

Добрый день.

Все верно, файлы из Files/obj/ временные и их можно удалить.

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

Добрый день коллеги!

 

Ищу информацию о системной настройке "Order of first/last names".

Несколько вопросов:

1. Данная настройка отражает:

  • как будет заполнено значение в колонке полного имени (Name) контакта,
  • как будут заполнены колонки Surname, GivenName и MiddleName,
  • действительны оба пункта?

2. При изменении настройки на паттерн, не включающий Middle Name, каким будет значение Name для записей, у которых не пустое значение в колонке Middle name?

 

Заранее благодарю за ответ!

Нравится

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

Добрый день!

 

Да. Оба пункта действительны. При изменении Last name или Middle name или First name, изменяется поле Full name и наоборот. 

 

Логика разделения ФИО контакта на Surname GivenName MiddleName настривается системной настройкой ContactFieldConverter, выбором необходимого с# конвертера, которые находятся в таблице ShowNamesBy.

 

В базовой функциональности существуют два конвертера First name [Middle name] Last name и Last name, First name [Middle name]. 

Оба шаблона включают Middle Name.

 

Указанные поля заполняются автоматически на основании данных, которые внесены в поле ФИО, с учетом разделителей. В качестве разделителя система распознает пробел и . , ;


Для заполнения по умолчанию используется конструкция "Фамилия, Имя и Отчество" и разделяется на "Имя" и "Фамилия" согласно формата ФИО (Фамилия Имя Отчество).

 

Правило, которое установлено в системной настройке ContactFieldConverter будет распространятся на новые или редактируемые контакты.

 

 

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

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

 

Необходимо отобразить статические группы в реестре раздела, в списке групп. Разделы могут быть двух типов:

  1. кастомного раздела;
  2. коробочного раздела, в котором по умолчанию отсутствуют статические папки (например, Договоры).

Скажите, какие доступны варианты реализации задачи? 

 

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

Нравится

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

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

 

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

 

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

Чтобы добавить группу в избранные, выберите ее и кликните по кнопке btn_com_folder_favorite.png.

 

Избранные группы отображаются в дереве как вложенные в группу “Избранные”. Кроме того, избранные группы становятся доступными в меню [ Фильтр ].

 

Примеры доступны по ссылке.

 

Надеюсь, информация была полейной.

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

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

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

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

добрый вечер.

необходимо создать след функционал - при изменении Sender counterparty должно устанавливаться значение в колонках Sender City & Sender door. при это при изменении поля Sender City надо фильтровать список Sender door по городу. Я сделал правила для:

- установки значения города

- установки значения двери

- фильтрации Sender door лукапа в зависимости от поля Sender City.

но сейчас получается так, что значение в Sender door пустое при изменении Sender counterparty. я подозреваю что влияет правило фильтрации по городу. при отключении его значение ставится, но это не устраивает, нужна фильтрация.

как решить такую проблему?

Нравится

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

Добрый день!

 

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

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

Возможно, данный функционал будет представлен в будущих релизах.

а есть ли на текущий момент решение которое поможет с помощью джаваскрипт кода решить данную проблему? пускай оно будет только для этого случая, но для нас этого хватит.

спасибо за ответ!

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

scope = this;
                var esq = Ext.create("Terrasoft.EntitySchemaQuery", {
                    rootSchemaName: "PTLimitationsLevelSpecificationSupport"
                });
                esq.addColumn("PtSupportLevel");     

                esq.addColumn("PtProduct");          
                esq.filters.add("supportLevelFilter",esq.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL, "PtSupportLevel", scope.get("PtSupportLevel")));

   

 

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

 

 

 

 

Нравится

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

Использую фильтр IN (createColumnInFilterWithParameters), но не могу к нему добавить проверку на пустое поле. Если ставлю null он берет все значения.

Добрый день!
Если вы хотите проверять поле на null, то необходимо использовать Terrasoft.ComparisonType.IS_NULL.
Рекомендую ознакомиться с данным примером, в нём вы найдете код применения фильтров к запросу esq.

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