Фильтры

Подписаться на сообщение загрузки модуля из схемы EmailMessagePublisherPage

messages: {
			"SendListenerEmailData": {
				mode: this.Terrasoft.MessageMode.PTP,
				direction: this.Terrasoft.MessageDirectionType.PUBLISH
			},
			"EmailMessagePageLoaded": {
				mode: this.Terrasoft.MessageMode.PTP,
				direction: this.Terrasoft.MessageDirectionType.SUBSCRIBE
			},
		},
		methods: {
			init: function(){
				this.callParent(arguments);
				this.sandbox.subscribe("EmailMessagePageLoaded", this.onEmailMessagePageLoaded, this, [this.getEmailMessagePublisherModuleId()]);
			},
 
			onEmailMessagePageLoaded: function(args){
				debugger;
				if (this.$EntitySchemaName === "NrbCase") {
					Terrasoft.chain(
						function (next) {
							var esq = Ext.create("Terrasoft.EntitySchemaQuery", { rootSchemaName: "NrbConfigurator", rowCount: 1 });
							esq.addColumn("NrbMailboxForComunicationWithClient");
							esq.getEntityCollection(function (result) {
								if (!result.success || result.collection.count == 0) {
									throw new Error("Запись конфигуратора не найдена");
								}
								var getMailFromConfigurator = result.collection.first();
								var senderEmailConfigurator = getMailFromConfigurator.values.NrbMailboxForComunicationWithClient;
								next(senderEmailConfigurator);
							}, this);
						},
						function (next, senderEmailConfigurator) {
							data = {
								entitySchemaName: this.$EntitySchemaName,
								title: this.getMasterEntityParameterValue("Number"),
								recepientEmail: this.getMasterEntityParameterValue("NrbContactEmail"),
								contact: this.getMasterEntityParameterValue("Contact"),
								nrbObject: this.getMasterEntityParameterValue("NrbServiceObject"),
								senderEmail: senderEmailConfigurator
							}
							this.sandbox.publish("SendListenerEmailData", data, [this.getEmailMessagePublisherModuleId()]);
						}, this
					);
				}
			},

И опубликовать сообщение SendListenerEmailData

Переопределить схему EmailMessagePublisherPage

define("EmailMessagePublisherPage", ["EmailMessagePublisherPageResources"],
		function(resources) {
			return {
				entitySchemaName: "Activity",
				mixins: {
				},
				messages: {},
				attributes: {},
				methods: {
                  	setListenerEmailData: function(data) {
                      	this.callParent(arguments);
                      	debugger;
                        if(data.entitySchemaName == "NrbCase"){
							this.$Title = data.title;
                          	this.$Recepient = data.recepientEmail;
                          	this.$NrbObject = data.nrbObject.value || {};
                          	this.$Sender = data.senderEmail;
                          	this.$Contact = data.contact;
 
                        }
					},
                },
				diff: /**SCHEMA_DIFF*/[]/**SCHEMA_DIFF*/
			};
		});

 

Нравится

Поделиться

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

Проект: Расширение функциональности сервиса обратной связи на платформе Terrasoft Service Creatio

https://clck.ru/XL4tn
 

Роль: Разработчик Terrasoft Service Creatio

Компания: Газпром нефть

Вознаграждение: 300 000 

Формат работы: гибридный

Длительность проекта: 2 месяца

 

Проект срочный - сбор откликов до 10.09!

 

Компания «Газпром нефть» разрабатывает и использует большое число решений, направленных на улучшение условий труда сотрудников. Одно из таких решений —система для организации внутренних коммуникаций, а также сбора и анализа обратной связи от сотрудников компании, сокращенно называемая СРОС. Она реализуется с помощью решения Terrasoft Creatio Service Enterprise on-site и по сути представляет собой омниканальную систему для обработки обращений, хранения и анализа результатов исследований и опросов сотрудников.

 

Мы ожидаем:

Опыт разработки крупных, масштабируемых решений

☝️ Знание технологий:

  • Advanced JavaScript
  • Advanced C#
  • NET Core
  • Advanced MS SQL
  • PostgreSQL
  • Git
  • Jenkins
  • Terrasoft Creation BPM

Анализ планов выполнения запросов и их оптимизация MVVM

 

Основные задачи:

Создание и развитие программных продуктов линейки bpm’online

Анализ существующих решений задачи, проработка и детальное описание решения задачи, участие в утверждении архитектуры

Обеспечение качества продукта - помощь в тестировании разработанного функционала, участие в разработке тестового фреймворка, обеспечение и контроль стабильности тестов, реализация автоматизированных acceptance и unit тестов

 

Проект размещен на платформе «Профессионалы 4.0» - зарегистрируйтесь и заполните профиль, чтобы откликнуться на проект.

Прямая ссылка для отклика на роль: https://clck.ru/XL4tn

 

Контактное лицо:

Катерина Неделина

Nedelina.es@gazprom-neft.ru  

Нравится

Поделиться

0 комментариев
Показать все комментарии
using System;
using System.Collections.Generic;
using Terrasoft.Core;
using Terrasoft.Core.DB;
using Terrasoft.Core.Entities;
 
namespace Norbit.Crm.EsPlus.Common
{
    /// <summary>
    /// Методы расширения для ESQ.
    /// </summary>
    public static class EsqExtensions
    {
        /// <summary>
        /// Постраничное чтение ESQ запроса.
        /// </summary>
        /// <param name="esq">Запрос.</param>
        /// <param name="userConnection">Пользовательское подключение.</param>
        /// <param name="rowCount">Количество считываемых записей за один раз(по умолчанию 1000).</param>
        /// <returns>Коллекция объектов из запроса.</returns>
        public static List<Entity> GetEntityCollectionPaginatedReading(
            this EntitySchemaQuery esq,
            UserConnection userConnection,
            EntitySchemaQueryOptions options = null,
            int rowCount = 1000)
        {
            if (esq == null)
            {
                throw new ArgumentNullException(nameof(esq));
            }
 
            if (userConnection == null)
            {
                throw new ArgumentNullException(nameof(userConnection));
            }
 
            var entityCollection = new List<Entity>();
            esq.UseOffsetFetchPaging = true;                              /// Использовать постраничное чтение.
 
            var esqOptions = options ?? new EntitySchemaQueryOptions                     /// Настройки получения коллекции.
            {
                PageableRowCount = rowCount,                             /// Количество считываемых записей.
                RowsOffset = 0,                                          /// Количество записей, которые необходимо пропустить
                PageableDirection = PageableSelectDirection.Next,
                PageableConditionValues = new Dictionary<string, object>()
            };
 
            var entities = esq.GetEntityCollection(userConnection, esqOptions);
 
            while (entities.Count > 0)
            {
                foreach (var entity in entities)
                {
                    entityCollection.Add(entity);
                }
                esqOptions.RowsOffset += esqOptions.PageableRowCount;
                esq.ResetSelectQuery();                                     /// Обнуление результата запроса.
                entities = esq.GetEntityCollection(userConnection, esqOptions);
            }
 
            return entityCollection;
        }
 
    }
}

 

Нравится

Поделиться

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

Есть подозрение. что поможет 
PageableDirection = PageableSelectDirection.First  при первом запросе.
потом сменить на Next

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

Ниже мы рассмотрим пример настройки процесса автоматической отправки письма с вложением с помощью бизнес-процесса. 
Для этого нам понадобятся два элемента процесса: “Обработать файл” и “Отправить Email”. 

С помощью элемента процесса «Обработать файл» мы можем вычитать из детали «Файлы и ссылки» раздела необходимые файлы. Либо же получить этот файл из параметра процесса или сгенерировать отчет. 
В рамках этого элемента мы можем вычитанный файл использовать далее в процессе либо сохранить на деталь «Файлы и ссылки» другого раздела. 
В элементе процесса «Отправить Email», помимо стандартных настроек (От кого – Кому, и т.д.), нас интересует поле «Добавить вложение». 

В данное поле мы и будем передавать полученный в элементе процесса «Обработать файл» файл в письмо. 
Перейдем к самому процессу. Например, нам необходимо отправить email с файлом, который находится в детали «Файлы и ссылки» из записи конкретного контакта.  
(о том как запустить процесс из раздела подробно тут
В элементе процесса «Обработать файл» мы указываем источник, откуда мы получаем файл. В нашем примере это деталь «Файлы и ссылки» объекта. 
После указываем этот самый объект: Файл и ссылка контакта, в нашем случае. 
Далее настраиваем фильтр для файла и указываем, как и по какой колонке сортировать записи. 
После выбираем какие действия мы будем выполнять далее с  отфильтрованным файлом: используем далее в процессе (наш вариант) или сохраняем на деталь «Файлы и ссылки» другого раздела. 

Далее, в элементе «Отправить email» мы настраиваем все необходимые параметры (от кого, кому, письмо по шаблону или произвольное и т.д.). После чего в поле «Добавить вложение» мы можем указать файл вычитанный в элементе «Обработать файл». 


Во вложении архив с описанным процессом.

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

Нравится

Поделиться

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

Газпром Нефть приглашает системных аналитиков BPM Terrasoft

Локация: Санкт-Петербург

Вознаграждение: 300 000 ₽ за проект

Длительность проекта: 2 месяца

Формат работы: на территории заказчика

Занятость: полная - 100%

 

Проекты размещены на платформе "Профессионалы 4.0"

Для отклика необходимо зарегистрироваться и заполнить свой профиль.

 

Проект: Расширение функциональности сервиса обратной связи на платформе Terrasoft Service Creatio

Основные задачи:

Провести интервью с бизнес-аналитиком, чтобы уточнить функционально-технические требования и требования к интеграции СРОС с другими системами

Разработать техническое описание информационной системы

Сформировать и согласовать с лидером проекта задачи на доработку функциональности силами штатного разработчика компании

Самостоятельно создавать и отлаживать бизнес-процессы в системе для реализации необходимой функциональности, если они не требуют участия разработчика (no-code и low-code)

 

Детали проекта и отклики по ссылке: https://clck.ru/Wjrbe

 

Проект: Тестирование интеграции сервиса обратной связи на платформе Terrasoft Service Creatio

Основные задачи:

Оценить трудозатраты на доработку функциональности и интеграцию с другими системами (до 3 систем)

Разработать частное техническое задание (ЧТЗ) на интеграцию с другими системами

Разработать тест-кейсы по новой функциональности

Протестировать новую функциональность в тестовом контуре разработки.

 

Детали проекта и отклики по ссылке: https://clck.ru/Wjrxo

 

Мы ожидаем:

Опыт проведения интервью и анализа бизнес-требований 

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

☝️ Опыт разработки функциональных требований и пользовательских сценариев к программным системам, а также ТЗ на разработку ПО

☝️ Опыт разработки тест-кейсов

☝️ Отличное знание платформы Terrasoft Service Creatio и опыт реализации решений на этой платформе

 

Контактное лицо

Катерина Неделина

E-mail: nedelina.es@gazprom-neft.ru 

Tg: @KateNedelina
Fb: www.facebook.com/catherine.nedelina/

Нравится

Поделиться

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