Как быстро отключить в адресе сервис карт? 

Нравится

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

Дмитрий, о каких картах речь, можете описать подробнее?

 

Если об интеграции с OSM, то на детали адреса в разделе, например, контактов не вижу сервиса карт, которые надо отключать. Там стандартно есть только пункт меню «Показать на карте». Он реализован в схеме BaseAddressDetailV2:

/**
 * @inheritdoc Terrasoft.BaseGridDetailV2#addRecordOperationsMenuItems
 * @overridden
 */
addRecordOperationsMenuItems: function(toolsButtonMenu) {
	this.callParent(arguments);
	toolsButtonMenu.addItem(this.getButtonMenuSeparator());
	toolsButtonMenu.addItem(this.getButtonMenuItem({
		Caption: {"bindTo": "Resources.Strings.ShowOnMapCaption"},
		Click: {"bindTo": "openShowOnMap"},
		Enabled: {bindTo: "isAnySelected"}
	}));
},

Вам нужно убрать пункт меню?

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

Добрый день,

 

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

есть Справочник улиц (Street) у которого соответственно есть принадлежность к выше стоящим элементам(Городам, Районам, Регионам и др.) 

Выглядит примерно следующим образом

╔══════════════╤═════════════════════╤══════════════════════════════════════╤══════════════════════════════════════╤══════════════════════════════════════╤══════════════════════════════════════╗
║ Name         │ TerritorialObjectId │ LocalityId                           │ DistrictId                           │ RegionId                             │ CountryId                            ║
╠══════════════╪═════════════════════╪══════════════════════════════════════╪══════════════════════════════════════╪══════════════════════════════════════╪══════════════════════════════════════╣
║ ул. Королёва │ NULL                │ NULL                                 │ NULL                                 │ B0FDED10-AEE0-4F1B-9C8D-198F7C154257 │ 5A1FEFDA-56A4-48A2-BC77-E40C71EEC73B ║
╟──────────────┼─────────────────────┼──────────────────────────────────────┼──────────────────────────────────────┼──────────────────────────────────────┼──────────────────────────────────────╢
║ ул. Ф.Торо   │ NULL                │ 967FC3D7-EBBA-4B76-AEDD-FE1CA5B48157 │ 7B11D4CE-D3E2-487F-BE03-A620015FB4FA │ EED82307-32D6-47EF-BDD8-FA64FE399614 │ 5A1FEFDA-56A4-48A2-BC77-E40C71EEC73B ║
╚══════════════╧═════════════════════╧══════════════════════════════════════╧══════════════════════════════════════╧══════════════════════════════════════╧══════════════════════════════════════╝

То есть в некоторых местах возможны пропуски иерархии, и улица напрямую принадлежит региону.

Бизнес правило по улице заполнено следующим образом

"Street": {
	"FiltrationStreetByTerritorialObject": {
		ruleType: BusinessRuleModule.enums.RuleType.FILTRATION,
		autocomplete: true,
		autoClean: true,
		baseAttributePatch: "TerritorialObject",
		comparisonType: Terrasoft.ComparisonType.EQUAL,
		type: BusinessRuleModule.enums.ValueType.ATTRIBUTE,
		attribute: "TerritorialObject"
	},
	"FiltrationStreetByLocality": {
		ruleType: BusinessRuleModule.enums.RuleType.FILTRATION,
		autocomplete: true,
		autoClean: true,
		baseAttributePatch: "Locality",
		comparisonType: Terrasoft.ComparisonType.EQUAL,
		type: BusinessRuleModule.enums.ValueType.ATTRIBUTE,
		attribute: "Locality"
	},
	"FiltrationStreetByDistrict": {
		ruleType: BusinessRuleModule.enums.RuleType.FILTRATION,
		autocomplete: true,
		autoClean: true,
		baseAttributePatch: "District",
		comparisonType: Terrasoft.ComparisonType.EQUAL,
		type: BusinessRuleModule.enums.ValueType.ATTRIBUTE,
		attribute: "District"
	},
	"FiltrationStreetByRegion": {
		ruleType: BusinessRuleModule.enums.RuleType.FILTRATION,
		autocomplete: true,
		autoClean: true,
		baseAttributePatch: "Region",
		comparisonType: Terrasoft.ComparisonType.EQUAL,
		type: BusinessRuleModule.enums.ValueType.ATTRIBUTE,
		attribute: "Region"
	},
	"FiltrationStreetByCountry": {
		ruleType: BusinessRuleModule.enums.RuleType.FILTRATION,
		autocomplete: true,
		autoClean: true,
		baseAttributePatch: "Country",
		comparisonType: Terrasoft.ComparisonType.EQUAL,
		type: BusinessRuleModule.enums.ValueType.ATTRIBUTE,
		attribute: "Country"
	}
}

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

Я что то упускаю?

Нравится

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

Сериков Асхат Кайратович,

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

Это решается также через другое свойство атрибута - dependencies.

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

Насколько мне известно, такой код работать не будет.

Реализация Вашей задачи, когда нужна фильтрация по нескольким условиям, выполняется через настройку lookupListConfig. Подробнее об этом можно почитать в статье на Академии.

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

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

autocomplete: true,

должен был выполнять

Сериков Асхат Кайратович,

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

Это решается также через другое свойство атрибута - dependencies.

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

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

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

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

Общая картина:
Есть настроена интеграция, импорт/экспорт
деталь адресса только импорт, экспорт делается через скрипт. Все бы хорошо, записывает в 1С адреса, но поле Code1C пустое и при импорте создается новая запись.
вот часть кода где записывается адресс в 1С:

 var ci1CMain = Param.Obj1C.РегистрыСведений.КонтактнаяИнформация.СоздатьНаборЗаписей();
 var ci1C = ci1CMain.Добавить();
 ci1C.Объект = Select1C.Ссылка;
 ci1C.Тип = metalink;
 ci1C.Вид = !AddressType1CLink.Пустая() ? AddressType1CLink : null;
 ci1CMain.Записать(false);  

пример значения поля:"f90039f8-ce1b-11e4-849f-002590a73b07#//#Адрес#//#87d961a6-9e2f-405c-855e-215869755d34#//#"
первую часть(f90039f8-ce1b-11e4-849f-002590a73b07) я могу получить так: Param.Obj1C.XMLString(Select1C.Ref.UUID()).
а как и где получить это:"87d961a6-9e2f-405c-855e-215869755d34"???

Нравится

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

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

К сожалению - это регистр сведений и в нем нет никакого UID который определит уникальность. Добавьте поле "Значение" и "Тип средства связи" как ключевое, либо перед имопртом очищайте деталь, и загружайте все средства связи по объекту.

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

"Программа пытается получить доступ к адресам электронной почты, хранящимся в Outlook"
Нередко пользователи системы могут получать вот такое сообщение при попытке отправления e-mail из MS Outlook при включенном соединении с Terrasoft.
Если Вы обратитесь за информацией об этом сообщении на сайт Microsoft, то получите массу умной информации о том, почему это сообщение появляется, а в заключении примерно следующее:"...в общем случае запретить выдачу этого предупреждения невозможно".
Но службе технической поддержки все-таки удалось найти решение этой проблемы.
Для MS Outllok 2007:
- Открываем меню Сервис -> Центр управления безопасностью.
- В появившемся окне переходим на вкладку "Настройки" (слева).
- Проверьте наличие надстройки «Terrasoft CRM Add-In» и «Outlook advanced security».
- Для управления надстройками нажмите на кнопку «Перейти…».
- Убедитесь, что компоненты «Outlook advanced security» и «Terrasoft CRM Add-In» включены и путь к библиотеке актуален.
В противном случае удалите данные компоненты и создайте их заново
- Далее перейдите в меню «Сервис» -> «Advanced Security» -> «Action List…».
- Убедитесь, что данные действия постоянно разрешены (Allow Access). Если же это не так нажмите правой кнопкой мышки на модуле и предоставьте разрешение на выполнение (Actions -> Allow Access).
- Перезапустите MS Outlook.
Для MS Outlook 2003:
- Открываем меню Сервис -> Advanced Security -> Action List.Убедитесь, что данные действия постоянно разрешены (Allow Access). Если же это не так нажмите правой кнопкой мышки на модуле и предоставьте разрешение на выполнение (Actions -> Allow Access).
- Перезапустите MS Outlook.

Желаю удачи!

С уважением,
Мельникова Екатерина

Нравится

Поделиться

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

а если после установки Advanced Security в меню Сервис Outlook не появилась эта закладка? в чём может быть проблема?

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