Добрый день!

 

Для меня Террасофт новое ПО, понемногу пытаюсь разбираться. При запуске настройки страницы из мастера разделов автоматически генерируется страница с вкладками "Файлы и примечания" и "Лента". На вкладке "Файлы и примечания" есть деталь Примечания, которая отображает поле RICH_TEXT с визуальным редактором. 

Вот он

 

Если же я попробую создать страницу, например, при добавлении преднастроенной страницы в бизнес-процесс, то найти деталь "Примечания" не удастся. У меня Studio. Исходя из документации, "Примечания" доступны для всех продуктов.

 

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

 

Подскажите, пожалуйста, если есть какой-то рецепт, как добавлять поле RICH_TEXT на вкладку новой страницы?

Нравится

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

Александр, на сколько я помню там все было достаточно просто, я сам не разработчик, но делал так. Добавляем текстовое поле на страницу редактирования (не важно преднастроенная страница или карточка редактирования), а далее в исходном коде схемы вставляем/редактируем свойства этого поля. Примерно так:

{
	"operation": "insert",
	"name": "UsrTextEmaila9104234-0e5e-4e48-8f19-3b2a78a42e99",
	"values": {
		"layout": {
			"colSpan": 24,
			"rowSpan": 1,
			"column": 0,
			"row": 5,
			"layoutName": "LeadPageRegisterInfoBlock"
			},
				"bindTo": "UsrTextEmail", //Ваше текстовое поле
				"enabled": false,
				"contentType": 4,  //добавляем
				"labelConfig": { //добавляем
					"visible": false. //добавляем
				}. //добавляем
				}

Таким образом на текстовое поле нужно навесить ContentType и labelConfig. Код выдирал из одного из старых проектов - года 3 назад оно работало)

 

p.s. свойство enabled - у вас будет, естественно, true. 

Александр, на сколько я помню там все было достаточно просто, я сам не разработчик, но делал так. Добавляем текстовое поле на страницу редактирования (не важно преднастроенная страница или карточка редактирования), а далее в исходном коде схемы вставляем/редактируем свойства этого поля. Примерно так:

{
	"operation": "insert",
	"name": "UsrTextEmaila9104234-0e5e-4e48-8f19-3b2a78a42e99",
	"values": {
		"layout": {
			"colSpan": 24,
			"rowSpan": 1,
			"column": 0,
			"row": 5,
			"layoutName": "LeadPageRegisterInfoBlock"
			},
				"bindTo": "UsrTextEmail", //Ваше текстовое поле
				"enabled": false,
				"contentType": 4,  //добавляем
				"labelConfig": { //добавляем
					"visible": false. //добавляем
				}. //добавляем
				}

Таким образом на текстовое поле нужно навесить ContentType и labelConfig. Код выдирал из одного из старых проектов - года 3 назад оно работало)

 

p.s. свойство enabled - у вас будет, естественно, true. 

Александр, можно создать преднастроенную страницу с обычным текстовым полем, переключиться на код и добавить перед «layout» строку «"contentType": Terrasoft.ContentType.RICH_TEXT,», тем самым получить требуемый результат. При последующих правках в дизайнере страницы константа «Terrasoft.ContentType.RICH_TEXT» автоматически заменится на 4, это одно и то же.

define("UsrClientUnit_ca620a9", [], function() {
	return {
		entitySchemaName: "",
		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": "STRING8ab3f912-5eb7-42a5-a397-1e2f1d9455b9",
				"values": {
					"contentType": 4,
					"layout": {
						"colSpan": 12,
						"rowSpan": 1,
						"column": 0,
						"row": 0,
						"layoutName": "Header"
					},
					"bindTo": "UsrString1",
					"enabled": true
				},
				"parentName": "Header",
				"propertyName": "items",
				"index": 0
			}
		]/**SCHEMA_DIFF*/
	};
});

В результате в параметр, который далее можно считать в БП, попадёт введенная строка, окружённая HTML-тегами: 

<div>Hello world!</div>

Но в реальной детали заметок есть ещё обработка вставляемых по кнопке картинок, реализованная в функции insertImagesToNotes из схемы GeneralDetails и в схеме NotesUtilities. Если она Вам важна, нужно вносить ещё доработки.

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

Подскажите, возможно ли вытягивать поле "Примечания" (на вкладках "Файлы и примечания") автоматически по высоте текста?

Нравится

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

Добрый день!

Конечно можно. Для решения Вашего кейса нужно применить собственные css-стили. Как это можно сделать в приложении:
http://www.community.terrasoft.ru/forum/topic/16386

Подробное руководство по css:
https://developer.mozilla.org/en-US/docs/Web/CSS

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