Добрый день.

Есть некий процесс. На развилке "ИЛИ" надо направить на разные ветки в зависимости от роли ответственного.

Пользователь может состоять в нескольких ролях. По трассировке я их получаю.

Как мне написать формулу в условном потоке чтобы выбрать роль и процесс пошел в определенную ветку?

Нравится

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

Доброе утро.

 

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

 

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

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

Доброго времени суток!

Ситуация такая. В процессе работы над crm в разделе Проекты была одна колонка и бизнес-правило к ней: поле Статус недоступно для редактирования, пока значение в той колонке(поле с дробным числом) равно 0.
Позже это бизнес-правило удалилось из-за ненадобности. И после этого начала появляться ошибка:
23502: null value in column "ITdsMarzha2" violates not-null constraint

ITdsMarzha2 - это и есть та колонка.
Её мы и удаляли в базе данных postgre, и чистили схему страницы от неё, и почистил все бизнес-правила в мастере раздела и в схеме страницы (думал там мог след остаться от удаленных б-правил). Постоянно кучу раз делал полную проверку системы: обновление бд, генерация, компиляция. Ну вот нигде её след больше не можем найти.

И всё равно ошибка появляется при сохранении карточки. При чем карточка то сохраняется успешно, а вот всякие связанные с этим бизнес-процессы не запускаются.
Кстати проблема только на боевой продуктивной среде. На моей локальной разработческой ошибки не возникает.

Может подсказать кто, куда нам ещё нужно залезть проверить эту "несуществующую" колонку?

Нравится

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

Добрый день. Ошибка приходит из постгре - там явно подразумевается, что колонка существует, и что в записи она будет заполнена значением. Вы точно уверены, что в схеме объекта не осталось этой колонки? Из базы может и удалили, но ОРМка может создать колонку обратно, основываясь на метаданных объекта.

Vyacheslav Lipatkin,

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

Андрей Касаткин,

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

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

Добрый день!

Можно ли добавить на партнёрский портал пользовательские разделы?

Нравится

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

Добрый день, Вадим!
 

Партнерский портал доступен в продуктах Sales Creatio enterprise и CRM Creatio.

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

На страницу раздела можно добавить любые объекты системы, например, детали, поля и т. д. Количество объектов зависит от конфигурации портала (портал самообслуживания, клиентский портал) и регулируется условиями лицензии. Например, на портале самообслуживания можно добавить на страницу не больше 25 объектов, на пользовательском портале — не больше 125. При превышении количества объектов, используемых на странице записи раздела, на портале блокируется возможность добавления и редактирования записей.
 

Более дательная информация в статье на Академии: https://academy.terrasoft.ru/docs/user/instrumenty_prodazh/partnerskie_…
 

Если у вас возникли вопросы, пожалуйста, отправьте их, ответив на это письмо. Спасибо за обращение в службу поддержки Terrasoft.
Спасибо за выбор наших продуктов!

С уважением,
Сидько Елена
Оператор
Группа компаний Terrasoft.

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

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

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

Последовательность действий одинаковая, новая база, восстановление из бекапа, разархивание файлов, новый сайт, новое приложение. Настройки connectionstrings верные. Redis сбрасывали.

На одной из машин получаем эту ошибку, все вроде проверено и идентично с другими, но не работает.

 

 

Нравится

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

Добрый день, Фариз.

Если вы на 100% уверены что БД версии 7.18.0 и бинарные файлы 7.18.0, убедитесь что в бинарных файлах не было замен (правок от поддерки, партнера и т.д.) также проверьте БД скриптом по ссылке, скрипт покажет версию БД. https://drive.google.com/file/d/1AxSnqyKsWhXIvFmt69egnVYsSejXuxpn/view?…

 

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

 

Если это всё не даст понимания в чем причина, выложите файлы ConnectionString.config с обеих сред, результат скрипта и уточните откуда именно взяты бинарные файлы приложения?

Добрый вечер.

 

Судя по тексту ошибки, Вы в ConnectionStrings указали не ту версию базы данных.

Вы пытаетесь файлами версии 7.18 подключиться к базе версии 7.14.

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

В том то и дело, что в ConnectionStrings все проверено несколько раз.  

Добрый день, Фариз.

Если вы на 100% уверены что БД версии 7.18.0 и бинарные файлы 7.18.0, убедитесь что в бинарных файлах не было замен (правок от поддерки, партнера и т.д.) также проверьте БД скриптом по ссылке, скрипт покажет версию БД. https://drive.google.com/file/d/1AxSnqyKsWhXIvFmt69egnVYsSejXuxpn/view?…

 

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

 

Если это всё не даст понимания в чем причина, выложите файлы ConnectionString.config с обеих сред, результат скрипта и уточните откуда именно взяты бинарные файлы приложения?

Тарас Пономарёв,

 

Спасибо! Запросом увидели 7.17.4 там, где должно быть 7.18. Либо исполнитель ошибся, либо он ошибся. Пересоздадим базу.

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

Добрый день! 

 

Пытаюсь установить Excel reports builder for Creatio, но установщик выдает ошибку. 

 

На пустую тестовую среду дополнение стало без проблем, а на мою систему не становится. 

 

Помогите, пожалуйста, разобраться в проблеме. Лог прилагаю

Прикрепленные файлы

Нравится

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

Добрый день!

 

Первая ошибка связана с тем, что у вас на продуктивной среде уже установлен другой пакет с библиотекой EPPlus. Creatio не позволяет устанавливать одну и ту же библиотеку дважды. К сожалению из пакета Excel reports builder не можем удалить эту библиотеку. Уточните у другого разработчика, есть ли возможность предоставить пакет без библиотеки.

Вторая ошибка возникла при компиляции и связана со схемой UsrProductInStockLOTSchema. Ниже детальное описание ошибки:

Autogenerated\Src\UsrProductInStockLOTSchema.Custom.cs(270,15) warning CS0108: 'UsrProductInStockLOT.RecordInactive' hides inherited member 'Entity.RecordInactive'. Use the new keyword if hiding was intended.

Методом научтыка уже разобрался как это исправить.

 

Мануал для юзеров, которые не разбираются в коде, библиотеках и т.д.:

 

1. Когда во время установки пакета появляется ошибка, просто закрываем окно, без восстановления из бэкапа,

2. Удаляем приложение через Installed applications

3. Устанавливаем нужное приложение еще раз

 

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

Добрый день!

 

скорее всего помогла компиляция приложения.

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

Доброго времени суток!
Подскажите, пожалуйста, можно ли как-то обойти MS Exchange Listener для настройки почты?
Задача в том, что нам от интеграции с почтой нужны просто уведомления, т.е. настроенные шаблонные письма о наступлении или просрочке каких-то событий. Да и большой нагрузки на почту/систему не должно быть.
Стенд открыт для интернета, но почта нужна будет только в локальной сети. Используем outlook.office.com.

Нравится

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

Коллеги, здравствуйте!
Начиная с версии 7.16.0 для корректной работы почтовых сервисов IMAP/SMTP и Exchange необходимо развернуть сервис синхронизации. Логика синхронизации писем была полностью вынесена на микросервис.

Соответственно, для работы почты в приложении необходимо проводить настройку микросервиса Exchange Listener, альтернативных вариантов нет.

 

Установить пакет OldEmailIntegration.

Андрей Есаулов,

Простите, это какое то приложение из Маркета? Или что это?

Виноват. Нашёл в конфигураторе у себя такой пакет. Версия 7.8.0.
Мне нужно новую версию запросить у поддержки? И как этот пакет использовать при интеграции с почтой? На академии, к сожалению, не нашёл способа без Exchange Listener

Коллеги, здравствуйте!
Начиная с версии 7.16.0 для корректной работы почтовых сервисов IMAP/SMTP и Exchange необходимо развернуть сервис синхронизации. Логика синхронизации писем была полностью вынесена на микросервис.

Соответственно, для работы почты в приложении необходимо проводить настройку микросервиса Exchange Listener, альтернативных вариантов нет.

 

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

Добрый день!

 

Есть необходимость в создании объекта в системе, который исходя из структурных особенностей, должен ссылаться сам на себя

Условно таблица TempTable
Имеет два поля

Id и ParentId

Необходимо, что Id был PK, а ParentId таблицы TempTable являлся FK на поле Id таблицы TempTable

Возможно ли такое организовать в рамках системы Creatio?

Нравится

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

Ирина Кузина пишет:
Мне необходимо создать объект в Creatio - адресообразующую таблицу ФИАС, которая не имеет нормализованной структуры. В данной таблице хранятся регионы/районы/города/населённые пункты/улицы - очевидно, что данная таблица должна ссылаться на саму себя.

Можно создать дополнительную таблицу развязки, в которой одно поле будет ссылаться на дочернюю запись, а другое - на родительскую. Такое решение позволит хранить в одной таблице повторяющиеся Id.

 

Ирина Кузина пишет:
При создании объекта в Creatio 7.18 на уровне БД в таблице все поля имеют constraint NOT NULL - как создавать поля, которые могут быть NULL? Поскольку при создании объекта в Creatio на поле есть Основной параметр - Обязательное (Нет или На уровне приложения). При выборе обязательности на уровне приложения - внутри самой платформы производится валидация поля, но если указать обязательность Нет, то всё равно на уровне БД NOT NULL. Зависит ли это как-то от типов полей, которые выбираются?

Да, зависит от типа данных. Например, для поля справочного типа (с типом уникальный идентификатор), возможно хранение значения NULL. Для строковых будет пустая строка (даже пустых), для целочисленных и дробных 0. А обязательность для строковых и цифровых значений означает, что пользователь должен ввести значение отличное от пустой строки или 0.

 

Ирина Кузина пишет:
тут подскажите, пожалуйста, стоит ли новый пост завести (или может багу/доработку) или в рамках данного вопроса сойдёт?

Это скорее особенность этой срм, а не ошибка. Вы можете написать в службу поддержки (support@terrasoft.ru), они зафиксируют Ваше пожелание. 

Добрый день.

 

Да, такое можно реализовать в Creatio.

Сначала создаете саму таблицу сохраняете её и публикуете, а потом уже добавляете в неё справочное поле ParentId, для которого в качестве справочника указываете созданную Вами таблицу.

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

Алла, огромное спасибо за ответ!
Но возник новый вопрос, при создании такой связи поле по дефолту ссылается на PK таблицы, но если нужное родительское поле НЕ является PK, то как можно организовать такую связь?

Ирина Кузина пишет:
Но возник новый вопрос, при создании такой связи поле по дефолту ссылается на PK таблицы, но если нужное родительское поле НЕ является PK, то как можно организовать такую связь?

Опишите подробнее какую задачу нужно реализовать, возможно, в Вашем случае лучше применить другое решение.

Мне необходимо создать объект в Creatio - адресообразующую таблицу ФИАС, которая не имеет нормализованной структуры. В данной таблице хранятся регионы/районы/города/населённые пункты/улицы - очевидно, что данная таблица должна ссылаться на саму себя.

В данной таблице есть поле AOID - является первичным ключом и содержит всегда уникальное значение. Также есть поля AOGUID и ParentGUID
AOGUID - может иметь повторяющиеся значения. ParentGUID на записи должен ссылаться именно на AOGUID, поскольку AOID является идентификатор именно записи в таблице, а AOGUID - глобальный уникальный идентификатор адресного объекта (хоть здесь и указано, что уникальный, но в ФИАС есть повторяющиеся записи адресного объекта, но с разным статусом актуальности). 

И доп. вопрос - тут подскажите, пожалуйста, стоит ли новый пост завести (или может багу/доработку) или в рамках данного вопроса сойдёт?
При создании объекта в Creatio 7.18 на уровне БД в таблице все поля имеют constraint NOT NULL - как создавать поля, которые могут быть NULL? Поскольку при создании объекта в Creatio на поле есть Основной параметр - Обязательное (Нет или На уровне приложения). При выборе обязательности на уровне приложения - внутри самой платформы производится валидация поля, но если указать обязательность Нет, то всё равно на уровне БД NOT NULL.
Зависит ли это как-то от типов полей, которые выбираются?

 

Ирина Кузина пишет:
Мне необходимо создать объект в Creatio - адресообразующую таблицу ФИАС, которая не имеет нормализованной структуры. В данной таблице хранятся регионы/районы/города/населённые пункты/улицы - очевидно, что данная таблица должна ссылаться на саму себя.

Можно создать дополнительную таблицу развязки, в которой одно поле будет ссылаться на дочернюю запись, а другое - на родительскую. Такое решение позволит хранить в одной таблице повторяющиеся Id.

 

Ирина Кузина пишет:
При создании объекта в Creatio 7.18 на уровне БД в таблице все поля имеют constraint NOT NULL - как создавать поля, которые могут быть NULL? Поскольку при создании объекта в Creatio на поле есть Основной параметр - Обязательное (Нет или На уровне приложения). При выборе обязательности на уровне приложения - внутри самой платформы производится валидация поля, но если указать обязательность Нет, то всё равно на уровне БД NOT NULL. Зависит ли это как-то от типов полей, которые выбираются?

Да, зависит от типа данных. Например, для поля справочного типа (с типом уникальный идентификатор), возможно хранение значения NULL. Для строковых будет пустая строка (даже пустых), для целочисленных и дробных 0. А обязательность для строковых и цифровых значений означает, что пользователь должен ввести значение отличное от пустой строки или 0.

 

Ирина Кузина пишет:
тут подскажите, пожалуйста, стоит ли новый пост завести (или может багу/доработку) или в рамках данного вопроса сойдёт?

Это скорее особенность этой срм, а не ошибка. Вы можете написать в службу поддержки (support@terrasoft.ru), они зафиксируют Ваше пожелание. 

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

В базе знаний у нас создана структура на основе групп фильтров. Она служит для доступа к документам. Как установить всем пользователям эти преднастроенные группы фильтров?

Нравится

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

UC пишет:
Созданные под Supervisor группы не видят простые пользователи. А как это сделать, - настроить доступ на группу фильтров?

Да, это можно сделать через настройки группы в меню 'Настройка прав':

Добрый день.

Не совсем понятно, о чём Вы спрашиваете.

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

Если же Вы имеете ввиду доступ на определенную запись раздела, тогда Вы можете настроить бизнес-процесс, который будет раздавать доступ всем пользователям на записи, удовлетворяющие Вашим условиям фильтрации.

Алла Савельева, Структура быстрого доступа к документам на группах фильтров. Созданные под Supervisor группы не видят простые пользователи. А как это сделать, - настроить доступ на группу фильтров?

UC пишет:
Созданные под Supervisor группы не видят простые пользователи. А как это сделать, - настроить доступ на группу фильтров?

Да, это можно сделать через настройки группы в меню 'Настройка прав':

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

Здравствуйте, собираю по инструкции с академии, единственное имя поменял
https://academy.terrasoft.ru/docs/user/ustanovka_i_administrirovanie/ra…

 

Система чистая, это была первая сборка. Содержимое Dockerfile:

FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS base
EXPOSE 5000 5002

RUN apt-get update && \
    apt-get -y --no-install-recommends install \
    libgdiplus \
    libc6-dev && \
    apt-get clean all && \
    rm -rf /var/lib/apt/lists/* /var/cache/apt/*

WORKDIR /app
COPY . ./

FROM base AS final
WORKDIR /app
ENV ASPNETCORE_ENVIRONMENT Development
ENV TZ US/Eastern
ENTRYPOINT [ "dotnet", "Terrasoft.WebHost.dll" ]

FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS base
EXPOSE 5000 5002

RUN apt-get update && \
apt-get -y --no-install-recommends install \
libgdiplus \
libc6-dev && \
apt-get clean all && \
   rm -rf /var/lib/apt/lists/* /var/cache/apt/*

WORKDIR /app
COPY . ./

FROM base AS final
WORKDIR /app
ENV ASPNETCORE_ENVIRONMENT Development
ENV TZ US/Eastern
ENTRYPOINT [ "dotnet", "Terrasoft.WebHost.dll" ]

 

Нравится

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

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

 

Ошибка "base stage name already used" говорит, что у вас компонент уже используется.

Дело в том, что у вас код продублирован:

 

FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS base
EXPOSE 5000 5002

RUN apt-get update && \
    apt-get -y --no-install-recommends install \
    libgdiplus \
    libc6-dev && \
    apt-get clean all && \
    rm -rf /var/lib/apt/lists/* /var/cache/apt/*

WORKDIR /app
COPY . ./

FROM base AS final
WORKDIR /app
ENV ASPNETCORE_ENVIRONMENT Development
ENV TZ US/Eastern
ENTRYPOINT [ "dotnet", "Terrasoft.WebHost.dll" ]

FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS base
EXPOSE 5000 5002

RUN apt-get update && \
apt-get -y --no-install-recommends install \
libgdiplus \
libc6-dev && \
apt-get clean all && \
   rm -rf /var/lib/apt/lists/* /var/cache/apt/*

WORKDIR /app
COPY . ./

FROM base AS final
WORKDIR /app
ENV ASPNETCORE_ENVIRONMENT Development
ENV TZ US/Eastern
ENTRYPOINT [ "dotnet", "Terrasoft.WebHost.dll" ]

На Академии уже исправили этот момент:

 

https://academy.terrasoft.ru/docs/user/ustanovka_i_administrirovanie/ra…

 

Для продолжения работы нужно выполнить

FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS base
EXPOSE 5000 5002
RUN apt-get update && \
apt-get -y --no-install-recommends install \
libgdiplus \
libc6-dev && \
apt-get clean all && \
rm -rf /var/lib/apt/lists/* /var/cache/apt/*
WORKDIR /app
COPY . ./
FROM base AS final
WORKDIR /app
ENV ASPNETCORE_ENVIRONMENT Development
ENV TZ US/Eastern
ENV COMPlus_ThreadPool_ForceMinWorkerThreads 100
ENTRYPOINT ["dotnet", "Terrasoft.WebHost.dll"]

Вильшанский Дмитрий, здравствуйте подскажите в чем может быть проблема, ошибка вида:
Unhandled exception. System.Exception: Could not resolve a service of type 'Terrasoft.WebHost.IApplication' for the parameter 'application' of method 'Configure' on type 'Terrasoft.WebHost.Startup'.
 ---> Autofac.Core.DependencyResolutionException: An error occurred during the activation of a particular registration. See the inner exception for details. Registration: Activator = Application (ReflectionActivator), Services = [Terrasoft.WebHost.IApplication], Lifetime = Autofac.Core.Lifetime.RootScopeLifetime, Sharing = Shared, Ownership = OwnedByLifetimeScope ---> An error occurred during the activation of a particular registration. See the inner exception for details. Registration: Activator = RedisSessionSynchronizationService (ReflectionActivator), Services = [Terrasoft.WebHost.Session.ISessionSynchronizationService], Lifetime = Autofac.Core.Lifetime.RootScopeLifetime, Sharing = Shared, Ownership = OwnedByLifetimeScope ---> An error occurred during the activation of a particular registration. See the inner exception for details. Registration: Activator = RedisSessionSynchronizer (ReflectionActivator), Services = [Terrasoft.Redis.ISessionSynchronizer], Lifetime = Autofac.Core.Lifetime.RootScopeLifetime, Sharing = Shared, Ownership = OwnedByLifetimeScope ---> An error occurred during the activation of a particular registration. See the inner exception for details. Registration: Activator = IRedisClientsManager (DelegateActivator), Services = [Terrasoft.Redis.Abstractions.IRedisClientsManager], Lifetime = Autofac.Core.Lifetime.RootScopeLifetime, Sharing = Shared, Ownership = OwnedByLifetimeScope ---> No connection is available to service this operation: INFO; UnableToConnect on localhost:6379/Interactive, Initializing/NotStarted, last: NONE, origin: BeginConnectAsync, outstanding: 0, last-read: 0s ago, last-write: 0s ago, keep-alive: 60s, state: Connecting, mgr: 10 of 10 available, last-heartbeat: never, global: 0s ago, v: 2.0.601.3402; IOCP: (Busy=0,Free=1000,Min=4,Max=1000), WORKER: (Busy=0,Free=32767,Min=256,Max=32767), Local-CPU: n/a (See inner exception for details.) (See inner exception for details.) (See inner exception for details.) (See inner exception for details.)
 ---> Autofac.Core.DependencyResolutionException: An error occurred during the activation of a particular registration. See the inner exception for details. Registration: Activator = RedisSessionSynchronizationService (ReflectionActivator), Services = [Terrasoft.WebHost.Session.ISessionSynchronizationService], Lifetime = Autofac.Core.Lifetime.RootScopeLifetime, Sharing = Shared, Ownership = OwnedByLifetimeScope ---> An error occurred during the activation of a particular registration. See the inner exception for details. Registration: Activator = RedisSessionSynchronizer (ReflectionActivator), Services = [Terrasoft.Redis.ISessionSynchronizer], Lifetime = Autofac.Core.Lifetime.RootScopeLifetime, Sharing = Shared, Ownership = OwnedByLifetimeScope ---> An error occurred during the activation of a particular registration. See the inner exception for details. Registration: Activator = IRedisClientsManager (DelegateActivator), Services = [Terrasoft.Redis.Abstractions.IRedisClientsManager], Lifetime = Autofac.Core.Lifetime.RootScopeLifetime, Sharing = Shared, Ownership = OwnedByLifetimeScope ---> No connection is available to service this operation: INFO; UnableToConnect on localhost:6379/Interactive, Initializing/NotStarted, last: NONE, origin: BeginConnectAsync, outstanding: 0, last-read: 0s ago, last-write: 0s ago, keep-alive: 60s, state: Connecting, mgr: 10 of 10 available, last-heartbeat: never, global: 0s ago, v: 2.0.601.3402; IOCP: (Busy=0,Free=1000,Min=4,Max=1000), WORKER: (Busy=0,Free=32767,Min=256,Max=32767), Local-CPU: n/a (See inner exception for details.) (See inner exception for details.) (See inner exception for details.)
 ---> Autofac.Core.DependencyResolutionException: An error occurred during the activation of a particular registration. See the inner exception for details. Registration: Activator = RedisSessionSynchronizer (ReflectionActivator), Services = [Terrasoft.Redis.ISessionSynchronizer], Lifetime = Autofac.Core.Lifetime.RootScopeLifetime, Sharing = Shared, Ownership = OwnedByLifetimeScope ---> An error occurred during the activation of a particular registration. See the inner exception for details. Registration: Activator = IRedisClientsManager (DelegateActivator), Services = [Terrasoft.Redis.Abstractions.IRedisClientsManager], Lifetime = Autofac.Core.Lifetime.RootScopeLifetime, Sharing = Shared, Ownership = OwnedByLifetimeScope ---> No connection is available to service this operation: INFO; UnableToConnect on localhost:6379/Interactive, Initializing/NotStarted, last: NONE, origin: BeginConnectAsync, outstanding: 0, last-read: 0s ago, last-write: 0s ago, keep-alive: 60s, state: Connecting, mgr: 10 of 10 available, last-heartbeat: never, global: 0s ago, v: 2.0.601.3402; IOCP: (Busy=0,Free=1000,Min=4,Max=1000), WORKER: (Busy=0,Free=32767,Min=256,Max=32767), Local-CPU: n/a (See inner exception for details.) (See inner exception for details.)
 ---> Autofac.Core.DependencyResolutionException: An error occurred during the activation of a particular registration. See the inner exception for details. Registration: Activator = IRedisClientsManager (DelegateActivator), Services = [Terrasoft.Redis.Abstractions.IRedisClientsManager], Lifetime = Autofac.Core.Lifetime.RootScopeLifetime, Sharing = Shared, Ownership = OwnedByLifetimeScope ---> No connection is available to service this operation: INFO; UnableToConnect on localhost:6379/Interactive, Initializing/NotStarted, last: NONE, origin: BeginConnectAsync, outstanding: 0, last-read: 0s ago, last-write: 0s ago, keep-alive: 60s, state: Connecting, mgr: 10 of 10 available, last-heartbeat: never, global: 0s ago, v: 2.0.601.3402; IOCP: (Busy=0,Free=1000,Min=4,Max=1000), WORKER: (Busy=0,Free=32767,Min=256,Max=32767), Local-CPU: n/a (See inner exception for details.)
 ---> StackExchange.Redis.RedisConnectionException: No connection is available to service this operation: INFO; UnableToConnect on localhost:6379/Interactive, Initializing/NotStarted, last: NONE, origin: BeginConnectAsync, outstanding: 0, last-read: 0s ago, last-write: 0s ago, keep-alive: 60s, state: Connecting, mgr: 10 of 10 available, last-heartbeat: never, global: 0s ago, v: 2.0.601.3402; IOCP: (Busy=0,Free=1000,Min=4,Max=1000), WORKER: (Busy=0,Free=32767,Min=256,Max=32767), Local-CPU: n/a
 ---> StackExchange.Redis.RedisConnectionException: UnableToConnect on localhost:6379/Interactive, Initializing/NotStarted, last: NONE, origin: BeginConnectAsync, outstanding: 0, last-read: 0s ago, last-write: 0s ago, keep-alive: 60s, state: Connecting, mgr: 10 of 10 available, last-heartbeat: never, global: 0s ago, v: 2.0.601.3402
   --- End of inner exception stack trace ---
   at StackExchange.Redis.RedisServer.ExecuteSync[T](Message message, ResultProcessor`1 processor, ServerEndPoint server) in C:\projects\stackexchange-redis\src\StackExchange.Redis\RedisServer.cs:line 589
   at StackExchange.Redis.RedisServer.Info(RedisValue section, CommandFlags flags) in C:\projects\stackexchange-redis\src\StackExchange.Redis\RedisServer.cs:line 258
   at Terrasoft.Redis.StackExchangeAdapters.RedisClientAdapter.get_Info() in /opt/buildagent/work/ApplicationCoreLinux/TSBpm/Src/Lib/Terrasoft.Redis.StackExchangeAdapters/RedisClientAdapter.cs:line 64
   at Terrasoft.Redis.RedisValidator.GetVersion(IRedisClientsManager redisClientsManager) in /opt/buildagent/work/ApplicationCoreLinux/TSBpm/Src/Lib/Terrasoft.Redis/RedisValidator.cs:line 28
   at Terrasoft.Redis.RedisValidator.CheckVersion(IRedisClientsManager redisClientsManager) in /opt/buildagent/work/ApplicationCoreLinux/TSBpm/Src/Lib/Terrasoft.Redis/RedisValidator.cs:line 42
   at Terrasoft.Redis.RedisClientsManager..ctor(String connectionStringName, IRedisValidator redisValidator) in /opt/buildagent/work/ApplicationCoreLinux/TSBpm/Src/Lib/Terrasoft.Redis/RedisClientsManager.cs:line 57
   at Terrasoft.Redis.RedisClientsManager..ctor() in /opt/buildagent/work/ApplicationCoreLinux/TSBpm/Src/Lib/Terrasoft.Redis/RedisClientsManager.cs:line 39
   at Terrasoft.Redis.RedisClientsManager.<>c.<.cctor>b__21_1() in /opt/buildagent/work/ApplicationCoreLinux/TSBpm/Src/Lib/Terrasoft.Redis/RedisClientsManager.cs:line 75
   at System.Lazy`1.ViaFactory(LazyThreadSafetyMode mode)
   at System.Lazy`1.ExecutionAndPublication(LazyHelper executionAndPublication, Boolean useDefaultConstructor)
   at System.Lazy`1.CreateValue()
   at System.Lazy`1.get_Value()
   at Terrasoft.Redis.RedisClientsManager.get_Instance() in /opt/buildagent/work/ApplicationCoreLinux/TSBpm/Src/Lib/Terrasoft.Redis/RedisClientsManager.cs:line 80
   at Terrasoft.Redis.RedisExtensions.<>c.<AddRedis>b__0_0(IServiceProvider container) in /opt/buildagent/work/ApplicationCoreLinux/TSBpm/Src/Lib/Terrasoft.Redis/RedisExtensions.cs:line 15
   at Terrasoft.Core.DI.ServiceProvider.ServiceProviderAutofacModule.<>c__DisplayClass15_0.<ConfigureFactoryBinding>b__0(IComponentContext context, IEnumerable`1 parameters) in /opt/buildagent/work/ApplicationCoreLinux/TSBpm/Src/Lib/Terrasoft.Core.DI/ServiceProvider/ServiceProviderAutofacModule.cs:line 216
   at Autofac.Core.Activators.Delegate.DelegateActivator.ActivateInstance(IComponentContext context, IEnumerable`1 parameters)
   at Autofac.Core.Resolving.InstanceLookup.Activate(IEnumerable`1 parameters, Object& decoratorTarget)
   --- End of inner exception stack trace ---
   at Autofac.Core.Resolving.InstanceLookup.Activate(IEnumerable`1 parameters, Object& decoratorTarget)
   at Autofac.Core.Resolving.InstanceLookup.<>c__DisplayClass5_0.<Execute>b__0()
   at Autofac.Core.Lifetime.LifetimeScope.GetOrCreateAndShare(Guid id, Func`1 creator)
   at Autofac.Core.Resolving.InstanceLookup.Execute()
   at Autofac.Core.Resolving.ResolveOperation.GetOrCreateInstance(ISharingLifetimeScope currentOperationScope, IComponentRegistration registration, IEnumerable`1 parameters)
   at Autofac.Core.Resolving.InstanceLookup.ResolveComponent(IComponentRegistration registration, IEnumerable`1 parameters)
   at Autofac.Core.Activators.Reflection.AutowiringParameter.<>c__DisplayClass0_0.<CanSupplyValue>b__0()
   at Autofac.Core.Activators.Reflection.ConstructorParameterBinding.Instantiate()
   at Autofac.Core.Activators.Reflection.ReflectionActivator.ActivateInstance(IComponentContext context, IEnumerable`1 parameters)
   at Autofac.Core.Resolving.InstanceLookup.Activate(IEnumerable`1 parameters, Object& decoratorTarget)
   --- End of inner exception stack trace ---
   at Autofac.Core.Resolving.InstanceLookup.Activate(IEnumerable`1 parameters, Object& decoratorTarget)
   at Autofac.Core.Resolving.InstanceLookup.<>c__DisplayClass5_0.<Execute>b__0()
   at Autofac.Core.Lifetime.LifetimeScope.GetOrCreateAndShare(Guid id, Func`1 creator)
   at Autofac.Core.Resolving.InstanceLookup.Execute()
   at Autofac.Core.Resolving.ResolveOperation.GetOrCreateInstance(ISharingLifetimeScope currentOperationScope, IComponentRegistration registration, IEnumerable`1 parameters)
   at Autofac.Core.Resolving.InstanceLookup.ResolveComponent(IComponentRegistration registration, IEnumerable`1 parameters)
   at Autofac.Core.Activators.Reflection.AutowiringParameter.<>c__DisplayClass0_0.<CanSupplyValue>b__0()
   at Autofac.Core.Activators.Reflection.ConstructorParameterBinding.Instantiate()
   at Autofac.Core.Activators.Reflection.ReflectionActivator.ActivateInstance(IComponentContext context, IEnumerable`1 parameters)
   at Autofac.Core.Resolving.InstanceLookup.Activate(IEnumerable`1 parameters, Object& decoratorTarget)
   --- End of inner exception stack trace ---
   at Autofac.Core.Resolving.InstanceLookup.Activate(IEnumerable`1 parameters, Object& decoratorTarget)
   at Autofac.Core.Resolving.InstanceLookup.<>c__DisplayClass5_0.<Execute>b__0()
   at Autofac.Core.Lifetime.LifetimeScope.GetOrCreateAndShare(Guid id, Func`1 creator)
   at Autofac.Core.Resolving.InstanceLookup.Execute()
   at Autofac.Core.Resolving.ResolveOperation.GetOrCreateInstance(ISharingLifetimeScope currentOperationScope, IComponentRegistration registration, IEnumerable`1 parameters)
   at Autofac.Core.Resolving.InstanceLookup.ResolveComponent(IComponentRegistration registration, IEnumerable`1 parameters)
   at Autofac.Core.Activators.Reflection.AutowiringParameter.<>c__DisplayClass0_0.<CanSupplyValue>b__0()
   at Autofac.Core.Activators.Reflection.ConstructorParameterBinding.Instantiate()
   at Autofac.Core.Activators.Reflection.ReflectionActivator.ActivateInstance(IComponentContext context, IEnumerable`1 parameters)
   at Autofac.Core.Resolving.InstanceLookup.Activate(IEnumerable`1 parameters, Object& decoratorTarget)
   --- End of inner exception stack trace ---
   at Autofac.Core.Resolving.InstanceLookup.Activate(IEnumerable`1 parameters, Object& decoratorTarget)
   at Autofac.Core.Resolving.InstanceLookup.<>c__DisplayClass5_0.<Execute>b__0()
   at Autofac.Core.Lifetime.LifetimeScope.GetOrCreateAndShare(Guid id, Func`1 creator)
   at Autofac.Core.Resolving.InstanceLookup.Execute()
   at Autofac.Core.Resolving.ResolveOperation.GetOrCreateInstance(ISharingLifetimeScope currentOperationScope, IComponentRegistration registration, IEnumerable`1 parameters)
   at Autofac.Core.Resolving.ResolveOperation.ResolveComponent(IComponentRegistration registration, IEnumerable`1 parameters)
   at Autofac.Core.Resolving.ResolveOperation.Execute(IComponentRegistration registration, IEnumerable`1 parameters)
   at Autofac.Core.Lifetime.LifetimeScope.ResolveComponent(IComponentRegistration registration, IEnumerable`1 parameters)
   at Autofac.ResolutionExtensions.TryResolveService(IComponentContext context, Service service, IEnumerable`1 parameters, Object& instance)
   at Autofac.ResolutionExtensions.ResolveService(IComponentContext context, Service service, IEnumerable`1 parameters)
   at Autofac.ResolutionExtensions.Resolve(IComponentContext context, Type serviceType, IEnumerable`1 parameters)
   at Autofac.ResolutionExtensions.Resolve(IComponentContext context, Type serviceType)
   at Autofac.Extensions.DependencyInjection.AutofacServiceProvider.GetRequiredService(Type serviceType)
   at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(IServiceProvider provider, Type serviceType)
   at Microsoft.AspNetCore.Hosting.ConfigureBuilder.Invoke(Object instance, IApplicationBuilder builder)
   --- End of inner exception stack trace ---
   at Microsoft.AspNetCore.Hosting.ConfigureBuilder.Invoke(Object instance, IApplicationBuilder builder)
   at Microsoft.AspNetCore.Hosting.ConfigureBuilder.<>c__DisplayClass4_0.<Build>b__0(IApplicationBuilder builder)
   at Microsoft.AspNetCore.Hosting.GenericWebHostBuilder.<>c__DisplayClass13_0.<UseStartup>b__2(IApplicationBuilder app)
   at Microsoft.AspNetCore.Mvc.Filters.MiddlewareFilterBuilderStartupFilter.<>c__DisplayClass0_0.<Configure>g__MiddlewareFilterBuilder|0(IApplicationBuilder builder)
   at Microsoft.AspNetCore.HostFilteringStartupFilter.<>c__DisplayClass0_0.<Configure>b__0(IApplicationBuilder app)
   at Microsoft.AspNetCore.Hosting.GenericWebHostService.StartAsync(CancellationToken cancellationToken)
   at Microsoft.Extensions.Hosting.Internal.Host.StartAsync(CancellationToken cancellationToken)
   at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
   at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
   at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.Run(IHost host)
   at Terrasoft.WebHost.Program.StartWebApplication(String[] args) in /opt/buildagent/work/ApplicationCoreLinux/TSBpm/Src/Lib/Terrasoft.WebHost/Program.cs:line 28
   at Terrasoft.WebHost.Program.<>c__DisplayClass2_0.<Main>b__0(StartOptions _) in /opt/buildagent/work/ApplicationCoreLinux/TSBpm/Src/Lib/Terrasoft.WebHost/Program.cs:line 61
   at CommandLine.ParserResultExtensions.MapResult[T1,T2,TResult](ParserResult`1 result, Func`2 parsedFunc1, Func`2 parsedFunc2, Func`2 notParsedFunc)
   at Terrasoft.WebHost.Program.Main(String[] args) in /opt/buildagent/work/ApplicationCoreLinux/TSBpm/Src/Lib/Terrasoft.WebHost/Program.cs:line 64

Евгений Шевченко,Это ошибка при сборке images*

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

Здравствуйте! Подскажите пожалуйста!
Мы мигрировали данные с другой СРМ системы. Сейчас мне нужно массово сменить ответственного менеджера, не у всех записей, а равномерно например по 100, на каждого менеджера распределить. Как нужно настроить фильтр чтобы выдавало ровно 100 значений?
Далее, я знаю что можно через кнопку [ Действие ] сменить значение поля.

Нравится

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

Юлия, добрый вечер.

 

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

Для решения этой задачи Вы можете настроить бизнес-процесс, который будет изменять ответственных именно для 100 записей в таблице. Подробнее о настройке бизнес-процессов можно почитать на Академии по этой ссылке.

Юлия, добрый вечер.

 

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

Для решения этой задачи Вы можете настроить бизнес-процесс, который будет изменять ответственных именно для 100 записей в таблице. Подробнее о настройке бизнес-процессов можно почитать на Академии по этой ссылке.

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