Добрый день!

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

Пытаюсь создать условный поток с вычиткой данных о сроке действия банк.карты Контакта (Год) и (Месяц):

 

[#Читать Банк.карты.Первый элемент результирующей коллекции.Срок окончания(год)#]<="20"&&[#Читать Банк.карты.Первый элемент результирующей коллекции.Срок окончания(месяц)#]<=Месяц([#Читать Банк.карты.Первый элемент результирующей коллекции.Срок окончания(месяц)#])

 

*Желательно указать в условном потоке:

- что срок окончания(год)=Текущий год,

- что срок окончания(месяц)=Текущий месяц

Нравится

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

Екатерина, у Вас два числовых поля с номером месяца и года? Или они текстовые? В каком виде хранятся?

 

В дизайнере формул на вкладке «Системные переменные» есть «Текущее значение даты», а на вкладке «Функции» — «Месяц()». То есть можете написать «Месяц([#Системная переменная.Текущее значение даты#])». Для года функции не нашёл, можно написать числом в системную настройку, считывать оттуда и раз в год менять.

 

Или же сделать блок-скрипт, где проверять C#-кодом и результат писать в параметр логического типа. Код не привожу, он зависит от формата входных данных.

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

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

 

Столкнулся с проблемой вызова sandbox из детали т.е. заходя из раздела на страницу подписка срабатывает, но если на страницу зайти из детали то нет.

Нравится

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

Поясните пожалуйста где находятся подписки?

Кисловский Михаил Андреевич,

вызывают из схемы детали "Schema5Detail", передают в схему открываемой страницы "...1Page"

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

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

Здравсвуйте! Есть некоторая проблема с написанным мной исходным кодом.

При запуске Бизнес-процесса при получении сигнала от объекта или таймера, где в задании сценарии вызывается вебсервис и метод без передачи параметров(плюс вдобавок это метод void), вызывается такая ошибка:

System.ServiceModel.ServiceActivationException: Set AspNetCompatibilityEnabled true

   в Terrasoft.Web.Common.BaseService.get_UserConnection()

   в Terrasoft.Configuration.WebService1C.UpdatesBankNameAndAdresAll()

   в Terrasoft.Core.Process.qrtProcess_f3c9148MethodsWrapper.ScriptTask1Execute(ProcessExecutingContext context)

   в Terrasoft.Core.Process.ProcessScriptTask.InternalExecute(ProcessExecutingContext context)

   в Terrasoft.Core.Process.ProcessFlowElement.Execute(ProcessExecutingContext context)

Хотя при ручном запуске все работает нормально, как ее можно исправить?

Нравится

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

Возможно не передается UserConnection, добавь в БП

var userConnection = Get<UserConnection>("UserConnection");

WebService1C service = new WebService1C(userConnection);

 

а, в схему добавь:

public UserConnection UserConnection {

            get;

            private set;

        }

        

        public WebService1C(UserConnection userConnection) {

            UserConnection = userConnection;

        }

Вызываю вебсервис и метод так:

WebService1C service = new WebService1C();

service.UpdatesBankNameAndAdresAll();

return true;

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

Также когда вебсервис и метод вызывается в коде джаваскрипта при помощи SrrviceHelper, тоже все работает нормально.

Вот код метода:

[OperationContract]

        [WebInvoke(Method = "GET", BodyStyle = WebMessageBodyStyle.Wrapped,

            RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]

        public void UpdatesBankNameAndAdresAll() {

            

            string guid1cBank = "";

            Guid id = new Guid();

            

            var esqBank = new EntitySchemaQuery(UserConnection.EntitySchemaManager, "AccountBillingInfo");

            esqBank.AddAllSchemaColumns();

            var banks = esqBank.GetEntityCollection(UserConnection);

            foreach (var bankItem in banks) {

                guid1cBank = bankItem.GetTypedColumnValue<string>("qrtGuid1cBank");

                id = bankItem.GetTypedColumnValue<Guid>("Id");

                if(guid1cBank != String.Empty){

                    UpdatesBankNameAndAdresOne(id);

                }

            }

        }

Возможно не передается UserConnection, добавь в БП

var userConnection = Get<UserConnection>("UserConnection");

WebService1C service = new WebService1C(userConnection);

 

а, в схему добавь:

public UserConnection UserConnection {

            get;

            private set;

        }

        

        public WebService1C(UserConnection userConnection) {

            UserConnection = userConnection;

        }

Да, вы правы, но частично

Вот что надо добавить в веб-сервис, чтобы можно было его использовать(вызывать в коде Js и БП) нормально:

 

    public WebService1C() {}

        

        public WebService1C(UserConnection userConnection) {

            this._userConnection = userConnection;

        }

        

        private UserConnection _userConnection;

        protected UserConnection UserConnection {

            get {

                if (_userConnection != null) {

                    return _userConnection;

                }

                _userConnection = CurrentHttpContext.Session ["UserConnection"] as UserConnection;

                if (_userConnection != null) {

                    return _userConnection;

                }

                var appConnection = (AppConnection)CurrentHttpContext.Application ["AppConnection"];

                _userConnection = appConnection.SystemUserConnection;

                return _userConnection;

            }

        }

        

        private HttpContextBase _httpContext;

        protected virtual HttpContextBase CurrentHttpContext {

            get { return _httpContext ?? (_httpContext = new HttpContextWrapper (HttpContext.Current)); }

            set { _httpContext = value; }

        }

 

в Using прописано это:

 

using System;

    using System.Configuration;

    using System.ServiceModel;

    using System.ServiceModel.Web;

    using System.ServiceModel.Activation;

    using Terrasoft.Common;

    using Terrasoft.Core;

    using Terrasoft.Core.Entities;

    using Terrasoft.Web.Common;

    using System.Collections.Generic;

    using System.IO;

    using System.Linq;

    using System.Net;

    using System.Text;

    using System.Threading.Tasks;

    using System.Web;

    using System.Collections.ObjectModel;

    using System.Data;

    using Newtonsoft.Json;

    using Terrasoft.Core.DB;

    using System.Runtime.Serialization;

Атюкин Егор Эдуардович,

прочитайте про веб сервисы здесь 

Описанное Вами выше поведение говорит о том, что если процесс минует пользователя, то UserConnection отсутствует в текущем контексте

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

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

 

Настраиваю учетную запись по этой ссылке. Получаю такой результатИзображение удалено.

Нравится

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

Нам для такой ситуации саппорт высылал следующую инструкцию:

1) Создать копию почтового провайдера GMail

2) Отключить системную настройку с кодом UseGoogleSharedApplication

3) Создать на стороне GMail пароль для сторонних приложений как описано тут https://support.google.com/accounts/answer/185833?hl=en

4) Использовать пароль по п.3 при добавлении почтового ящика с использованием копии почтового провайдера по п.1

При этом будет использоваться логин и пароль для почтового ящика внутри приложения Creatio, а не GMail.

Нам для такой ситуации саппорт высылал следующую инструкцию:

1) Создать копию почтового провайдера GMail

2) Отключить системную настройку с кодом UseGoogleSharedApplication

3) Создать на стороне GMail пароль для сторонних приложений как описано тут https://support.google.com/accounts/answer/185833?hl=en

4) Использовать пароль по п.3 при добавлении почтового ящика с использованием копии почтового провайдера по п.1

При этом будет использоваться логин и пароль для почтового ящика внутри приложения Creatio, а не GMail.

Если версия ниже 7.16.2, то понадобятся ещё правки в конфигурации.

Сидоров Александр Валерьевич,

Спасибо

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

Добрый день!

Установила с маркетплейс приложение "Advanced excel reports for Creatio"

https://marketplace.terrasoft.ru/app/advanced-excel-reports-creatio

 

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

Зашла вышла – он не появился.

 

Пробовала на версиях:

7.16.1.2135

7.16.0.4461

 

Что делать? Помогите пожалуйста

 

Нравится

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

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

 

попробуйте добавить сначала любой базовый раздел, а потом раздел Конструктор отчетов.

Ирина Лазоренко,

Сработало, спасибо

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

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

Пытался разобраться как добавить кнопку в раздел в мобильном приложении, но пример, как здесь : https://community.terrasoft.ru/articles/kak-dobavit-knopku-v-mobilnom-prilozenii-na-stranice-redaktirovania, ссылается уже на существующие схемы, такие как XGridPageControllerV2 и XGridPageViewV2

но при добавлении новых разделов таких схем нет

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

Нравится

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

Егор, по ссылке приведены схемы для мобильного раздела активностей MobileActivityGridPageControllerV2 и MobileActivityGridPageViewV2. Для других разделов есть аналогичные названия, но без V2: MobileCaseGridPageView и MobileCaseGridPageController, MobileSocialMessageGridPageView и MobileSocialMessageGridPageController. Может, для Вашего раздела такие тоже уже есть?

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

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

Есть раздел Заявка, в нем деталь Габариты, при создании записи на детали читается поле клиент(справочник контрагент) заявки и подставляется в поле, которое находится в Габариты. Это рабоатет.

Этим кодом в UsrMobileqrtRequestDimensionsRecordPageSettings002:

{

       "operation": "insert",

       "name": "CounterpartyOfTheApplication",

       "values": {

          "row": 4,

          "content": "Контрагент в заявке",

          "columnName": "qrtCounterpartyOfTheApplication",

          "dataValueType": 10,

          "operation": "insert"

       },

       "parentName": "settings",

       "propertyName": "groupItems",

       "index": 1

    }

Добавляю поле на страницу Габариты в мобильном приложении, но поле не отображается...в чем может быть проблема?

Пробовал еще обратиться к полу Клиент в UsrMobileqrtRequestDimensionsGridPageSettings002:

{

        "operation": "insert",

        "name": "c18595dd-0c34-426b-b8df-42c76d8bf749",

        "values": {

            "row": 0,

            "content": "Заявка",

            "columnName": "qrtOrder.qrtCustomer",

            "dataValueType": 10,

            "operation": "insert"

        },

        "parentName": "settings",

        "propertyName": "items",

        "index": 0

    },

но без успешно

как можно подобным образом обратиться к полю?

Нравится

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

Добрый день!

Как снять признак этот в схеме:

Изображение удалено.

 

Нравится

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

Добрый день.

 

Можно это сделать запросом на sql:

update SysSchema
set
	IsLocked = 0
where Name = '&lt;Имя схемы&gt;'

 

Добрый день.

 

Можно это сделать запросом на sql:

update SysSchema
set
	IsLocked = 0
where Name = '&lt;Имя схемы&gt;'

 

Это поле IsLocked в таблице SysSchema, можно попробовать снять через базу.

 

Другое дело, какую задачу этим снятием решаете?

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

 

О предназначении поля см. тут, тут и тут.

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

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

Никак не могу найти как добавляется это...

Изображение удалено.

Нравится

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

Проще всего находить нужные схему и элемент так:

Схема VIsaDetailV2

{
		"operation": "insert",
		"parentName": "ToolsFilterContainer",
		"propertyName": "items",
		"name": "ShowOnlyMyApprovalCheckbox",
		"values": {
			"dataValueType": Terrasoft.DataValueType.BOOLEAN,
			"bindTo": "IsShowOnlyMyApproval",
			"labelConfig": {"caption": {"bindTo": "Resources.Strings.ShowOnlyMyApprovalCaption"}}
		}
}

 

Проще всего находить нужные схему и элемент так:

Спасибо всем, помогли!

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

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

Вопрос такой, работаем в svn(загружаем обновления туда), выгружаем пакеты и загружаем на dev. Одно время для тестирования бизнес-процесса добавили процесс в раздел(кастомный)

Изображение удалено.

(просто как пример)

Загрузили. Проверили. Убрал у себя в системе(локально развернутая система), залил обновление в svn, выгрузил пакеты, загрузил пакет на dev, но кнопка запуска бизнес процесса не ушла...

Изображение удалено.

(тоже как пример)

А так...все происходит(добавление и удаление этой кнопки) в одном разделе, через тот же мастер раздела(первый скрин)

При чем у меня в системе ее нет и подавно

Как убрать это на других средах?

Нравится

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

Записалось в данные. и перенеслось по средам. Удаление данных просто не поможет. Добавьте в пакет SQL скритп типа:

Delete from ProcessInModules
where SysModuleId =''

Этот удалит все по конкретному разделу. Ну и пакет распространить по средам.

Записалось в данные. и перенеслось по средам. Удаление данных просто не поможет. Добавьте в пакет SQL скритп типа:

Delete from ProcessInModules
where SysModuleId =''

Этот удалит все по конкретному разделу. Ну и пакет распространить по средам.

Алексей Следь,

а как узнать SysModuleId?

Если знаете, о каком разделе речь, найдите по его названию запросом:

select Id from SysModule where Caption= N'название раздела'

 

Спасибо всем! Помогли!

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