Добрый день. Есть пакет, в котором есть схема с исходным кодом. Содержимое пакета редактируется только в той среде, в которой он был создан, для всех остальных - устанавливается через веб установщик. Проблема в том, что эту одну схему никак не удаётся обновить на целевой среде. 

Проверили в базе, что и пакет, и схема не изменены, и не заблокированы (IsChanged = 0, IsLocked = 0), да и не могли быть, раз пакет не редактируется на других средах

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

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

Каким-то образом удалось всё-таки обновить схему, удалив её, и сзязанные с ней записи на уровне БД, затем установив ещё раз, но на другой среде это сейчас не срабатывает.

При этом так же обновлял клиентский модуль - и тут было всё в порядке. 

Кто-то сталкивался с таким странным поведением? Как решить удалось?

 

Нравится

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

Коллеги, добрый день!

А после публикации схемы появляется сообщение об успешном завершении?

Дима Вовченко,

эта схема в заблокированном пакете, её нельзя опубликовать. Но при установке ошибок компиляции нет

Бершеда Д. Н.,

Я верно понимаю, что на среде, где эта схема была разработана её публикация завершается успешно?

Коллеги, как я и писал ранее, в этой ситуации стоит проверить правильность написания самого кода схемы. Если в нём будут присутствовать ошибки, то система может не брать во внимания его обновления.

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

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

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

Например:

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

Буду благодарна, если кто-то может поделиться решением или подсказать вектор для выполнения данной доработки.

P.S. О решении на маркетплейсе знаю, но интересует доработка именно стандартного раздела 'Планирование'.

 

Нравится

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

Алла, добрый день!

На данный момент в системе нет возможности реализовать вашу задачу используя средства разработки. По вашему вопросу отдельная идея для доработки системы чтобы в будущем у пользователей была подобная возможность.

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

Добрый день!

 

Реализовал пользовательский веб-сервис, который принимает оплаты 1С и инсертит или апдейтит их в СРМ. Метод, который принимает запросы, сначала проверяет по входным параметрам(1сId - айди пеймента в 1с), есть ли такой пеймент в СРМ, и если есть - апдейтит, если нет - инсертит.

 

[ServiceContract]
	[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
	public class UsrApiERP: BaseService
	{
		[OperationContract]
		[WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Bare,
		ResponseFormat = WebMessageFormat.Json)]
		public PaymentResponse payment(PaymentRequest request) {
			var userConnection = (UserConnection)HttpContext.Current.Session["UserConnection"];
			if(isPaymentExist(request.paymentId, request.invoiceId, userConnection)) {
					updatePayment(request, userConnection);
			} else {
					insertPayment(request, userConnection);
			}
			var result = new PaymentResponse();
			result.guid = getPaymentId(request.paymentId, request.invoiceId, userConnection);
			return result;
		}

 

Но недавно получилось так, что 1С отправила в 1 миг 3 запроса на создание одинаковых оплат( 1сId у всех одинаковый) и проверка не отработала правильно, так как записи еще не создались, а проверка пропустила все 3 запроса на создание новых пейментов. Может у кого был опыт, как такое побороть? Буду благодарен.

Нравится

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

Сергей, вам нужно просто выстроить эти запросы в очередь

Один из подходов можно подсмотреть здесь https://stackoverflow.com/questions/7122608/wcf-concurrencymode-single-and-instancecontextmode-percall

Иной подход - это можно использовать статический объект и делать ему lock

Артем Гура,

cпасибо! помогло)

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

Добрый день, у нас есть настроенный exchange listener. Если попробовать отправить письмо по желтому значку почты из обращения(в рабочем месте Сервис), то письмо отправляется. Так же у нас есть собственное рабочее место и Наряды, схожие по функционалу с обращениями. Вот из нарядов письмо не уходит, хотя штатный функционал, подскажите в какую сторону копать? В документации не смог найти ничего чтобы помогло.

Нравится

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

Добрый день.

Вам нужно проанализировать логи микросервиса Exchange Listener и самого приложения.

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

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

Всем привет.

 

В сервисном дог-ре есть деталь сервисы, а в этой детали - сроки по приоритету.

Внимание вопрос, как импортировать сроки по приоритету через мастер "имопрт из ексель"? 

 

Шаблон должен включать следующие колонки (ниже) и все из них должны "встать".. в указанный сервисный дог-р, в указнный сервис в нем , добавить запись со значениями сроки по приоритетам.

 

Сервисный договор / Название сервиса / Приоритет обращения / Единица времени реакции / Значение времени реакции / Единица времени разрешения /Значение времени разрешения

 

 

Кто нибудь сталкивался?

Нравится

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

Сроки по приоритетам привязываются к объекту "Сервис в сервисном договоре". Так просто не добраться. я бы выгрузил все сервисы в сервисном договоре с указание Id "Сервис в сервисном договоре" и уже к этому Id прописал в Excel Приоритет обращения / Единица времени реакции / Значение времени реакции / Единица времени разрешения /Значение времени разрешения. Загружять через импорт в детали Сроки по приоритетам в сервисе в сервисном договоре. 

Получить Id сервиса в сервисном договоре можно через нстройку колонок этой детали в сервисном договоре.

Искать Id совсем не обязательно. Можно по связанной колонке выполнять импорт 

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

Добрый день!

Есть ли возможность существующими средствами отследить, что кто-то тегнул другого пользователя?

Нравится

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

Если вы про упоминание в ленте, то отлавливайте в процессе событие объекта SocialMention. Мы таким образом тегнутых добавляем в участники активности

Если вы про упоминание в ленте, то отлавливайте в процессе событие объекта SocialMention. Мы таким образом тегнутых добавляем в участники активности

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

да, это то, что нужно, спасибо!)

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

Коллеги, добрый день!

Где в системе найти значения тегов в разделе "Звонки"

Нравится

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

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

Данные о тегах тега хранятся индивидуально для каждого раздела. Например, для звонков теги хранятся в таблице CallTag. CallInTag - таблица, которая содержит информацию о связях тега и звонка.

В общем записи тегов хранятся в таблице [Название_объекта]+tag.

Алена, добрый день! 

Эта информация мне понятна, где хранятся значения тегов в объекте звонок

 

потому что в объекте их нет

Владимир Демяшев,

Информация о связи тега и звонка хранится в таблице CallInTag.

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

Коллеги, приветствую.

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

https://marketplace.terrasoft.ru/template/vydelenie-cvetom-zapisey-v-ra…

Нравится

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

На академии или в community. Из настроек изменена схема раздела. Делается все элементарно. В схеме раздела переопределить метод 

К примеру переопределение стиля по 2м условиям. Важно что колонки должны быить добавлены в Grid раздела

prepareResponseCollectionItem: function(item) {
	this.callParent(arguments);
	item.customStyle = null;
	var newColor = item.get("CheckStatus");
	var newFont = item.get("Status");
	if (newColor !== undefined){ //меняем цвет
		if (newColor.value==="a290a967-5318-47b5-a8e9-1fcc0efa575c"){
			item.customStyle = {
				"background": "#FFC7CE"
			};
		}
		if (newColor.value==="ed0074d0-690a-4a71-b66a-1b2b9e538ee0"){
			item.customStyle = {
				"background": "#FFEB9C"
			};
		}
		if (newColor.value==="6d2b3c51-7eb7-4260-bee0-f326b6f4b8c3"){
			item.customStyle = {
				"background": "#C6EFCE"
			};
		}
	}		
	if (newFont !== undefined && newFont.value==="3d051754-83b0-48da-9e20-354aa2405eb6"){ //меняем шрифт
		item.customStyle = {
			"font-weight": "bold"
		};
	}
}

 

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

Добрый день. Подскажите почему может не работать пользовательский макрос в email рассылке, который делаю согласно по образу и подобию статьи на академии https://academy.terrasoft.ru/docs/developer/elements_and_components/ema…

Нравится

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

Добрый день. 



Предоставьте макрос и выгрузку из таблицы EmailTemplateMacros для данного макроса.

Mykhailo Storozhuk, 

using System;
using Terrasoft.Core;
 
namespace Terrasoft.Configuration
{  
    /// <summary>
    /// Макрос, возвращает текущую дату +n дней от текущей.
    /// </summary>
    public class NrbEmailCurrentDatePlusMacros : IMacrosInvokable
    {
 
		public UserConnection UserConnection
        {
            get;
            set;
        }
 
        public string GetMacrosValue(object arguments)
        {
            var date = DateTime.Today;
 
            if(!arguments.Equals(null))
			{
                var days = Convert.ToInt32(arguments.ToString());
                date = date.AddDays(days);
            }           
 
            return date.Date.ToString("dd.MM.yyyy");
        }
    }
}

 

Кириллов Игорь,

 

При работе с макросом возникает ошибка "Input string was not in a correct format." на этапе конвертации Convert.ToInt32(arguments.ToString()); ,так как в строке возвращается объект и id записи, которые не преобразовать в число.

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

Подключили интеграцию с телеграмм. В системе есть контакт Иванов. Нам в телеграмм пишет этот же Иванов, создается 2-я карточка в системе, в итоге 2 Иванова. Писать в телеграмм в ответ я могу только 2-му.

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

Нравится

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