Здравствуйте, пытаюсь настроить автонумерацию по статье для 7.9(https://academy.terrasoft.ru/documents/technic-sdk/7-9/primer-ispolzovaniya-vstroennogo-processa-obekta-dobavlenie-avtonumeracii-k-polyu-stranicy), т.к. в свежей документации данный вопрос разбирается еще менее детально.

 

Удалось настроить присвоение номера на стороне клиента, но настройка через БП не работает.

 

В примере предлагается использовать обращение к Entity и UserTask1(АЛГОРИТМ РЕАЛИЗАЦИИ КЕЙСА НА СТОРОНЕ СЕРВЕРА, п.4.3):

UserTask1.EntitySchema = Entity.Schema;
return true;

К сожалению такое обращение к UserTask1 не работает совсем, говорит, что для данного контекста данный объект не определен(хотя в системе присутствуют коробочные БП, который используют такой синтаксис, вероятно проблема в том, что они компилируемые, а вот при интерпретировании такой синтаксис не работает)

Так же не работает обращение к Entity, он ругается с такой ошибкой: "An object reference is required for the non-static field, method or property 'Entity.Schema'".(Понятно в чем проблема, но не понятно, почему это раньше работало).

 

 

Я решил попробывать вот таким образом:

var esqRes = new EntitySchemaQuery(UserConnection.EntitySchemaManager, "UsrRequest");
Set("UserTask1.EntitySchema", esqRes.GetSchema());
return true;

 В данном случае это не сработало. Компиляцию проходит, но при выполнении  он падает с ошибкой: 

System.NotSupportedException: EntitySchema
 
   в Terrasoft.Core.Process.FlowEngineStateService.InternalSetValue[T](Guid processUId, String parameterPath, T value)
   в Terrasoft.Core.Process.FlowEngineStateService.Terrasoft.Core.Process.IInternalProcessParameterStore.InternalSetParameterValue[T](Guid processUId, String parameterPath, T value)
   в Terrasoft.Core.Process.ProcessInstanceParameterStore.SetParameterValue[TValue](String parameterPath, TValue value)
   в Terrasoft.Core.Process.ProcessInstanceParameterStore.SetParameterValue[TValue](ProcessSchemaParameter parameter, Guid schemaElementUId, TValue value)
   в Terrasoft.Core.Process.ProcessModel.SetParameterValue[T](FoundParameterData result, T value)
   в Terrasoft.Core.Process.ProcessModel.TrySetValue[T](ProcessSchema processSchema, String propertyPath, T value)
   в Terrasoft.Core.Process.ProcessModel.Set[T](String propertyPath, T value)
   в Terrasoft.Core.Process.RzdProcess_c91f2beRzdBaseZnoObject1MethodsWrapper.ScriptTask1Execute(ProcessExecutingContext context)
   в Terrasoft.Core.Process.ProcessFlowElement.ExecuteItem(ProcessExecutingContext context)
   в Terrasoft.Core.Process.ProcessFlowElement.Execute(ProcessExecutingContext context)

 

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

 

Т.к. в общем случае это работает: я смог передать таким образом текстовый параметр в "Выполнить действие процесса".

Подскажите, пожалуйста

Нравится

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

А точно название пользовательского действия (в расширенном режиме) UserTask1?

 

Владимир Соколов, да.

Думаю, в руководстве сказано про создание процесса в объекте, а не отдельно от него

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

Подсмотрел реализацию onLookupResult в базовом коде

	onLookupResult: function(args) {
		var selectedRows = args.selectedRows;
		if (!selectedRows.isEmpty()) {

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

В этом случае selectedRows.isEmpty() всегда true. 

Как получить созданную запись?

Нравится

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

Добрый день, при нажатии кнопки "Добавить" из всплывающего окна (допустим при изменении поля с типом "Контакт") нас пересылает на страницу создания контакта. В этом случае мы не выбираем значение из списка и логично, что selectedRows.isEmpty() окажется true. Можете уточнить, для чего вам нужно получать созданную запись?

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

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

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

Нравится

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

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

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

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

Добрый день!

 

Подскажите, каким образом можно создать процесс по событию из новой конфигурации?

Раньше было:

 

а теперь просто автозаполняемое поле и никаких кнопок "Открыть процесс" и т.п.

 

Подскажите, как мне добавить событийный подпроцесс при создании новой записи.

Нравится

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

В объекте слева выбираете События, в событиях выбираете нужны галочки. В верху есть кнопка Открыть процесс.

 

 

В объекте слева выбираете События, в событиях выбираете нужны галочки. В верху есть кнопка Открыть процесс.

 

 

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

Добрый день. Может кто-то подскажет почему не работает событие change (не вызывается присвоенный метод при изменении поля), если у поля тип RICH_TEXT, и можно ли это обойти как-то?

Нравится

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

Доброе утро.

 

Если Вы удостоверились, что проблема не связана с ошибками в программном коде, проверьте на последней актуальной версии (её можно развернуть прямо на сайте Террасофт) воспроизводится ли ошибка. Если на самой последней версии ошибка не вопроизведется, есть 2 пути - либо обновляться до последней версии, либо писать в службу поддержки и просить у них какой-то патч (если такой есть). Если ошибка воспроизведется и на последней версии, тогда также пишите в поддержку и просите у них разъяснений.

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

Коллеги существуют возможность поднятия сервиса Exchange Listener на Windows?

Нравится

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

Если сможете поставить docker на windows, то да.

Добрый день!

Хочу обратить внимание, что для продуктивных сайтов мы рекомендуем разворачивать  EXCHANGE LISTENER с использованием оркестратора Kubernetes и пакетного менеджера Helm.

В открытом доступе в Интернете есть информация о том, как можно было бы развернуть Kubernetes  на Windows. 
Но хочу обратить внимание, что мы рекомендуем для стабильной работы микросервиса разворачивать его именно на Linux.

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

Коллеги, замечено что для сервиса Exchange Listener необходим доступ в интернет, при его отсутствии статус сервиса на kubernetes становится ImagePullBackOff , как можно обойти эту проблему  использую exchangelistener-0.8.15

Нравится

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

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

 

Если я правильно понял, то вы имеете ввиду, что перезапускаете сервис, но из-за ограничения интернета, сервис падает в состояние ImagePullBackOff. 

 

Для решения проблемы вам необходимо обновить сервис на более новый. 

 

Начиная с версии 0.8.22 pullPolicy для образов изменена на IfNotPresent, и если образ будет закеширован во всех нодах kubernetes перезапуск\масштабирование\разворачивание сервиса не будет требовать доступа к docker hub. Если образа нет, то необходимо открыть доступ или перенести образ вручную на каждую ноду kubernetes.

 

Актуальная версия сервиса - 0.8.39.

Скачать можно на Академии - https://academy.terrasoft.ru/docs/user/ustanovka_i_administrirovanie/ra…

 

Хорошего дня!

Вильшанский Дмитрий

использовал 0.8.15

что понимается под  => если образ будет закеширован во всех нодах kubernetes, поясните пожалуйста 

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

Всем добрый день.

Кто-то сталкивался/реализовывал объединение дублей непосредственно в Деталях? Такая возможность есть или объединение работает только на справочниках и разделах?

Нравится

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

Евгений, здравствуйте!

На данный момент нет возможности сливать записи на детали. Слияния записей доступно только для реестра раздела и в справочниках.
Как обходной вариант можете зарегистрировать справочник в разделе "Справочники" по объекту, который у вас является деталью и там попробовать объединить записи.

На ответственной команде разработки уже зарегистрирована идея по реализации функционала слияния записей на деталях.

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

Как лучше всего сделать вход портального юзера с помощью авторизации в facebook? 

Нравится

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

Андрей, здравствуйте!

На текущей момент настроить авторизацию в системе с помощью Facebook нет возможности. Доступные способы аутентификации в приложении описаны в статье по ссылке: https://academy.terrasoft.ua/docs/user/ustanovka_i_administrirovanie/up…

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

Доброе время суток!

Прошу поделиться опытом и советом у кого он есть. Задача - реализовать интеграцию с 1с. Проблема - есть несколько баз(на каждое юр лицо своя,и данные могут повторяться).

 Коннекторы поддерживают интеграцию с несколькими базами,но как быть с дублями(контрагенты и т.д., которые могут повторяться.)? 

Спасибо.

Нравится

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

Использовать колонки дедупликации. В некоторых коннекторах такая возможность реализована.

Дмитрий А.,

А Можно конкретный пример такого коннектора

Левон Т. пишет:

Дмитрий А.,

А Можно конкретный пример такого коннектора

 Да

BC 1C connector for Creatio

 

Дмитрий А.,

Уточнял, интеграция с несколькими базами чревата последствиями(дубли и т.п.)

А есть кто-то, кому удалось интегрировать несколько баз?

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