Error: Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.

Error: Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.
   at System.Reflection.RuntimeModule.GetTypes(RuntimeModule module)
   at System.Reflection.Assembly.GetTypes()
   at Terrasoft.Common.ReflectionUtilities.FindTypeByShortName(Assembly assembly, String name)
   at Terrasoft.Core.SchemaManagerItem`1.get_TypeName()
   at Terrasoft.Core.SchemaManager`1.InitializeCoreSchemaLocalizableValues(ISchemaManagerItem`1 schemaManagerItem)
   at Terrasoft.Core.SchemaManager`1.AddCoreSchema(Guid uid, String name, Guid parenSchemaUId, Assembly assembly, Guid[] referenceSchemaUIds)
   at Terrasoft.Core.SchemaManager`1.AddCoreSchema(Guid uid, String name, Guid parentSchemaUId, Guid[] referenceSchemaUIds)
   at Terrasoft.Core.Entities.SystemEntitySchemaManager.InitializeItems()
   at Terrasoft.Core.Entities.EntitySchemaManager.Initialize(SchemaManagerProvider provider, SchemaManagerProviderConfigurationElement configuration)
   at Terrasoft.Core.SchemaManagerProvider.InitializeSystemSchemaManager(String systemSchemaManagerName)
   at Terrasoft.Core.SchemaManagerProvider.InitializeSchemaManager(String managerName)
   at Terrasoft.Core.SchemaManagerProvider.GetManager(String managerName)
   at Terrasoft.Core.UserConnection.GetSchemaManager(String schemaManagerName)
   at Terrasoft.Core.UserConnection.get_SystemEntitySchemaManager()
   at Terrasoft.Core.SystemUserConnection.InitializeCurrentUser(String userName, TimeZoneInfo timeZone, String clientIP, String agent, Boolean logSessionStart)
   at Terrasoft.Core.AppConnection.InitializeSystemUserConnection(ConfigurationSection schemaManagerProviderConfigurationSection)
   at Terrasoft.Core.AppConnection.Initialize(ConfigurationSectionGroup appConfigurationSectionGroup)
   at Terrasoft.Tools.WorkspaceConsole.WorkspaceConsoleApplication.Initialize(ConfigurationSectionGroup appConfigurationSectionGroup)
   at Terrasoft.Tools.Common.BaseConsoleApplication`2.Run(String[] args)

Utility finished working.

=== 08:43:15.6384 (UTC) ===
Что может быть?

 

Нравится

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

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

Указанная ошибка возникает если нет необходимых dll -библиотек в каталоге с исполняемым файлом(Terrasoft.Tools.WorkspaceConsole.exe).

Для решения вопроса необходимо в каталог с исполняемым файлом(Terrasoft.Tools.WorkspaceConsole.exe) скопировать:
- все содержимое каталога ..\Terrasoft.WebApp\bin\ (именно содержимое, а не сам каталог)
- все содержимое каталога ..\Terrasoft.WebApp\DesktopBin\WorkspaceConsole\x64\

Делал все как по инструкции, запускал Prepare*64 как по инструкции.
И лишь только ручное копирование из х64 помогло.
Спасибо.

Здравствуйте. Та же ошибка, делал все по инструкции: https://academy.terrasoft.ru/documents/marketing/7-7/ustanovka-i-nastro…

показалась эта же ошибка, копирование библиотек не помогло, в чем еще может быть причина?

Здравствуйте. У меня тоже самое проблема была. Пакет 7.11.2.1658. Тот же самое проблема решилась когда я установил .NET Framework 4.7 https://www.microsoft.com/en-us/download/details.aspx?id=55170. Может и вам помочь. Надо  быть уверенем что все обязательные компаненты установлены. А скапирование содержимое който папок не обязательно.

Радчук Виталий Владимирович,

Если ошибка возникает в процессе работы утилиты workspace console, то необходимо копировать библиотеки (см. 1й ответ). Если же ошибка возникла при разворачивании приложения 7.12.0, то здесь будет уместно установить пакет ms visual с++ 2010 о котором упоминается в предыдущем ответе.

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

Ошибка при переносе пакета и запуска "Структура БД" - "Обносить для требующих обновление" вышло сообщение:

Не удалось обновить структуру для схем:

Нравится

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

Ошибка может возникать если поменялись типы колонок или полей.
Например, в карточке контакта поле name было 50 символов, затем данное поле было заполнено 45-ю символами. После это поле попытались уменьшить размерность поля до 25 символов.

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

Добрый день.
Заметил особенность.
Когда в среде Разработки настраиваем порядок отображения колонок.
"Деталь"- "Настройка колонок"
И переносим пакеты в тестовую среду, порядок и колонки уже не тот.

Скажите где порядок сохраняется? В Page, Detail или еще где то?

Нравится

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

Заметил особенность, сделали Профиль-Восстановить настройки по умолчанию.
Получилось.
А есть способ который позволит у всех менять? Без этого "сброса"

"Юсупов Марат" написал:Скажите где порядок сохраняется?

в таблице SysProfileData

Нет..сброс не помог. Что делать?

Спасибо.

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

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

declare @ContactId
delete from SysProfileData where ContactId = @ContactId

Вы можете выполнить этот запрос в SQL Management Studio для очистки профиля пользователя.

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

доброго времени суток!
webitel 1.3 не видит регистраций телефонов("нет регистраций/ожидание").
может что упустил при установке сервера?
буду признателен за любую мысль по этом поводу

Нравится

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

Здравствуйте, Владимир!

Для решения вопросов настройки программного продукта webitel обратитесь, пожалуйста, за консультацией к разработчику данного ПО - компании Webitel (ссылка на портал их техподдержки: https://my.webitel.com/servicedesk/customer/user/login?destination=port…).

Здравствуйте, Алла!
я надеялся на не коммерческую помощь, а так как у webitel нет своего community, я думал ваш для этого и создан.

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

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

Подскажите как на клиенте и сервере (в Бизнес процессе) сформировать такую ссылку:

a data-value="8d577b3c-1a08-45e8-890e-e6c3b52734a1" href="http://localhost:105/0/Nui/ViewModule.aspx#CardModuleV2/ContactPageV2/edit/8d577b3c-1a08-45e8-890e-e6c3b52734a1" target="_self" title="TestUser">TestUsera>

Т.е. как динамически получить http://localhost:105/0/

Нравится

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

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

Сформировать такую ссылку вы можете с помощью элемента процесса [Формула].

Для этого в формулу необходимо вставить следующее значение:

"<a data-value=\"" +[#Параметр 1#]+ ""\"" href=\""http://localhost:105/0/Nui/ViewModule.aspx#CardModuleV2/ContactPageV2/edit/"" +[#Параметр 1#]+ ""\"" target=\""_self\"" title=\""TestUser\"">TestUser</a>""

Это понятно. Я спросил как динамически получить http://localhost:105/0/
Что бы в случае смены порта, адреса сайта или конфигурации ссылки продолжали работать.

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

Такой возможности нет - связано с архитектурой IIS. Вы можете создать системную настройку с типом "Строка (50 символов)". В значение этой системной настройки необходимо будет указывать адрес приложения.

Здравствуйте.
Я правильно понял что такой возможности нет в серверном коде.
Что насчет клиентского? Как система формирует данную ссылку при упоминание контакта в ленте?

Добрый день.

Воспользуйтесь следующим кодом:

Terrasoft.workspaceBaseUrl 

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

Url текущей конфигурации хранится в переменной Terrasoft.workspaceBaseUrl глобального объекта Terrasoft.

Здравствуйте. Спасибо.

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

Добрый день!

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

в CRM 3.3.2.313

http://prntscr.com/ecss60

Спасибо!
Хайдар

Нравится

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

Вы можете создать отчет одним из двух способов:
1. Отчет в формате MS Word с доработкой под вывод содержимого детали [Описание].
Пример реализации есть здесь
2. Отчет в формате FastReport.
На форуме можно найти множество примеров. Дополнительно во вложении прилагаю ориентировочный пример реализации (инструкция подготовлена для версии ниже, но принцип реализации не изменился).

Добрый день, Наталия.

Я все сделал по инструкции "Создание отчета", в результате показывает так:

Подскажите, в чем может быть причина?

http://prnt.sc/edwwg0

Спасибо!
Хайдар

Судя по скриншоту, в отчёте пытается вывести обычным текстом содержимое RTF-поля. Возможно, в дизайнере отчёта неверно выбран тип контрола (пункт инструкции 22) или что-то неверно сделано с этой колонкой при создании SQ и DS-сервисов.

22. На бэнд MasterData нужно добавить поле RichTextObject. Укажите для этого контрола поле Description.

Можете объяснить по картинками как этот пункт делать?
спасибо!

Вот оно. Выбираете, размещаете на форме, затем задаёте датасет и поле.
rich text

Всем спасибо!
Работает нормально

Хайдар

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

Добрый день.
Просьба предоставить инструкцию по работе с DcmDesigner, если такая есть.

Нравится

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

Также прошу предоставить рекомендации по настройке фильтрации записей при добавлении новой стадии в индикаторе стадий?

"Коновалов Игорь" написал:

Добрый день.

Просьба предоставить инструкцию по работе с DcmDesigner, если такая есть.

Подписаться на обновления этого материала

ИзменитьУдалить

Игорь, здравствуйте!

Вся доступная информация есть на Академии - https://academy.terrasoft.ru/documents/technic-bpms/7-9/dizayner-keysov

"Коновалов Игорь" написал:

Также прошу предоставить рекомендации по настройке фильтрации записей при добавлении новой стадии в индикаторе стадий?

Игорь, если я правильно понял, то каждая новая стадия равна новому значению в соответствующем справочнике, например, в "Стадия лида". То для фильтрации выбрать необходимую стадию, чтобы отфильтровать записи в разделе (https://academy.terrasoft.ru/documents/sales-enterprise/7-9/standartnyy…).


Рис. 1


Рис. 2

"Вильшанский Дмитрий" написал:Игорь, если я правильно понял, то каждая новая стадия равна новому значению в соответствующем справочнике, например, в "Стадия лида". То для фильтрации выбрать необходимую стадию, чтобы отфильтровать записи в разделе (https://academy.terrasoft.ru/documents/sales-enterprise/7-9/standartnyy-...).

Здравствуйте, Дмитрий. Вы не правильно поняли. Мне нужно отфильтровать поле "Значение стадии в справочнике" в свойствах новой стадии в Дизайнере кейсов

Здравствуйте, Игорь!

Описание настройки DCM вы можете найти по ссылке:
https://academy.terrasoft.ru/documents/technic-bpms/7-9/dizayner-keysov

При настройке DCM вы самостоятельно настраиваете доступные переходы между стадиями. Подробнее описано в Академии.

Здравствуйте, Алексей.
В первом комментарии Дмитрий уже предложил мне инструкцию на академии.
Меня интересует расширение возможностей Дизайнера кейса. А именно фильтрация записей справочника, выбранного в качестве индикатора стадий, при добавлении в полосу индикатора (например, фильтрация по дополнительному справочному полю)

Здравствуйте, Игорь!

Детализируйте, пожалуйста, бизнес-кейс.

В справочнике "Стадии обращения" добавлено справочное поле "Категория обращения" и необходимо для разных категорий обращения построить свой dcm индикатор. Т.е. при добавлении новой стадии в индикатор в дизайнере кейсов фильтровать поле "Значение стадии в справочнике" в настройках новой стадии.

Игорь, здравствуйте!

Теперь ваша задача стала ясна. К сожалению, в версиях продукта 7.9.0, 7.9.1 этот функционал не предусмотрен. Однако он будет доступен в базовой версии продукта в версии 7.10.0 - при настройке DCM будет возможность выбрать поле типизации DCM. Далее для каждого значения из поля типизации можно будет создать свой DCM.

Спасибо. Будем ждать :)

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

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

PS: Понятно что необходимо находиться в конкретном окружении, вопрос именно в том как его получить или имитировать.

Нравится

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

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

Для этого достаточно в замещающую схему модуля в методе init добавить строчку
document.scope = this;
После этого доступ к методам можно будет получить через document.scope.MethodName.

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

Доброго времени суток.
При выборе значений из справочников во всех разделах к названию приписывается “undefined”, к примеру:
!
В чем может быть проблема?

Нравится

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

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

Предоставьте, пожалуйста, результат выполнения запроса:

select ModuleHeader from SysModuleEntity
join SysSchema
on SysSchema.Uid = SysModuleEntity.SysEntitySchemaUId
join SysModule
on SysModule.SysModuleEntityId = SysModuleEntity.Id
where SysSchema.Name = 'Contact'
Список: Контакты

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

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

Эта же ошибка проявляется в 7.11.1.

ВСЕ лукапы отображаются с "undefined" http://prntscr.com/hd8fxz.

Подскажите, как бороться?

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

Добрый день.
По аналогии примера сделал редактируемую деталь(смотрите фото в приложении)

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

Как заблокировать поле для редактирование пользователем, сделать его вычисляемым ?

Мой код.

define("UsrNDetail", ["ConfigurationGrid", "ConfigurationGridGenerator",
"ConfigurationGridUtilities"],
function() {
        return {
                entitySchemaName: "UsrN",
                attributes: {
                        "IsEditable": {
                                dataValueType: Terrasoft.DataValueType.BOOLEAN,
                                type: Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN,
                                value: true
                        }
                },
                details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
                diff: /**SCHEMA_DIFF*/[
                        {
                                "operation": "merge",
                                "name": "DataGrid",
                                "values": {
                                        "className": "Terrasoft.ConfigurationGrid",
                                        "generator": "ConfigurationGridGenerator.generatePartial",
                                        "generateControlsConfig": {"bindTo": "generatActiveRowControlsConfig"},
                                        "changeRow": {"bindTo": "changeRow"},
                                        "unSelectRow": {"bindTo": "unSelectRow"},
                                        "onGridClick": {"bindTo": "onGridClick"},
                                        "activeRowActions": [
                                                {
                                                        "className": "Terrasoft.Button",
                                                        "style": this.Terrasoft.controls.ButtonEnums.style.TRANSPARENT,
                                                        "tag": "save",                                                  // Значение маркера.
                                                        "markerValue": "save",
                                                        "imageConfig": {"bindTo": "Resources.Images.SaveIcon"}
                                                },
                                                {
                                                        "className": "Terrasoft.Button",
                                                        "style": this.Terrasoft.controls.ButtonEnums.style.TRANSPARENT,
                                                        "tag": "cancel",
                                                        "markerValue": "cancel",
                                                        "imageConfig": {"bindTo": "Resources.Images.CancelIcon"}
                                                },
                                                {
                                                        "className": "Terrasoft.Button",
                                                        "style": this.Terrasoft.controls.ButtonEnums.style.TRANSPARENT,
                                                        "tag": "remove",
                                                        "markerValue": "remove",
                                                        "imageConfig": {"bindTo": "Resources.Images.RemoveIcon"}
                                                }
                                        ],
                                        "initActiveRowKeyMap": {"bindTo": "initActiveRowKeyMap"},
                                        "activeRowAction": {"bindTo": "onActiveRowAction"},
                                        "multiSelect": false
                                }
                        }
                ]/**SCHEMA_DIFF*/,
                mixins: {
                        ConfigurationGridUtilites: "Terrasoft.ConfigurationGridUtilities"
                },
                methods: {}
        };
});

Нравится

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

Для блокировки полей редактируемого реестра, можно писать бизнес правила блокировки на странице(!) этой детали.
rules: {
"UsrTestInt1": {
"EnabledUsrTestInt1": {
"ruleType": BusinessRuleModule.enums.RuleType.BINDPARAMETER,
"property": BusinessRuleModule.enums.Property.ENABLED,
"conditions": [
{
"leftExpression": {
"type": BusinessRuleModule.enums.ValueType.CONSTANT,
"value": true
},
comparisonType: Terrasoft.ComparisonType.NOT_EQUAL,
rightExpression: {
type: BusinessRuleModule.enums.ValueType.CONSTANT,
value: true
}
}
]
}
}
}

Тоже самое касается и обработчиков изменения колонок. Написав атрибут к любой колонке с методом обработки изменения и списком колонок по изменению которых будет вызван данный метод:
"Parent": {
name: "Parent",
dependencies: [
{
columns: ["Account", "OurCompany"],
methodName: "clearParent"
}
]
},

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

Кстати, а VIRTUAL_COLUMN, описанные на странице тоже смогут отображаться в детали?

Да, если добавить в diff описание объекта в который нужно отобразить ее значение.
Пример на Академии: https://academy.terrasoft.ua/documents/technic-sdk/7-9/dobavlenie-vychi…

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