Коллеги, здравствуйте!

Есть ли у кого-то опыт интеграции bpm'online с почтовым сервисом Kerio? 

По IMAP/SMTP настроить получилось, но без обеспечения активностей /задач в календаре. Есть ли какие-то методы синхронизации, может через настройки MS Exchange, т.к. архитектура сервисов одинакова.

Спасибо!

Нравится

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

Здравствуйте, Роман!

На текущий момент в базовой версии системы нельзя настроить интеграцию активностей/задач  с почтовым сервисом Kerio. Так как в данном сервисе не полностью реализована поддержка EWS. 

Пожелание было передано команде разработки, для анализа и поиска решений добавления функционала синхронизации активностей/задач с сервисом Kerio.

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



Добрый день,

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

Можно ли как-то определить какое поле было изменено первоначально?

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

Нравится

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

Добрый день!

Никакого штатного механизма по определению какое поле было изменено изначально нет.

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

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

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

Коллеги, возник вопрос. Есть ли возможность у bpm'online 7.11.3 защита от фишинга, ввода многократного пароля, брутфорса? Если да, то каким образом это можно настроить? На академии и в документации ничего подобного не нашёл.

Заранее спасибо!

Нравится

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

Добрый день, Роман.

Для защиты от фишинга мы используем AntiCSRF token.

Для защиты от  Brute-Force Attack используем политику блокировки пользователя при неуспешных попытках входа. В BPM есть системная настройка [Количество попыток входа] - она отвечает за временную блокировку учетной записи при попытке подбора пароля

Дополнительно Вы можете настроить в системе ограничение по IP.

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

После суточной (плюс-минус) работы память, выделенная IIS Worker Process достигает 13 Гб.

Однако, если сделать "компилировать всё", то объем падает до 7 Гб. Как я понимаю, при компиляции отрабатывает сборщик мусора.

Как бы сделать так, чтобы он отрабатывал без компиляции, например, в полночь?

Нравится

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

Вам нужно провериться на предмет утечек памяти.

Так как после компиляции приложение перезапускается, поэтому у вас и падает объем памяти.

Мотков Илья,

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

Обратитесь в поддержку с дампом памяти процесса IIS, это поможет выявить причину роста памяти.

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

Добрый день!

Можно ли настроить шкалы уровней удовлетворенности для bpm'online sales ?

Нашел статью в академии, там описана настройка только для bpm'online customer center

Нравится

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

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

Указанный функционал присутствует в таких продуктах как bpm'online customer center, bpm'online service enterprise, bpm'online bank customer journey для работы с обращениями клиентов, а так как в линейке продуктов sales данный раздел отсутствует, то и не было необходимости в реализации оценок.

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

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

Я заблокировал объекты в хранилище SVN под учеткой другого пользователя с полными правами, после очистил реестр контактов и теперь не могу под Supervisor зафиксировать данные в хранилище. По идее у supervisor полные права, но выходит ошибка, что объекты заблокированы.

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

Нравится

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

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

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

В комментариях к некоторым постам упоминается, что Terrasoft.showInputBox может быть многострочный, но на практике это не работает.

Делаю так:

Terrasoft.showInputBox("Список рекомендаций", function() {}, ["ok"], null, {
name : {
	dataValueType: Terrasoft.DataValueType.TEXT,
	value: text,
	values: {
		layout: {
			rowSpan: 3
		},
		contentType: Terrasoft.ContentType.LONG_TEXT
	}
}
},
{
	defaultButton: 0
});

Получаю однострочное поле (input type="text"), в консоли ошибок нет.

Я что-то делаю не так?

Нравится

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

Оно крайне забавно съезжает в процессе заполнения текстом :DDD

 

Terrasoft.showInputBox("Список рекомендаций", function() {}, ["ok"], null, {
name : {
	dataValueType: Terrasoft.DataValueType.TEXT,
	value: "",
	customConfig: {
        className: "Terrasoft.MemoEdit"
    }
  }
},
{
	defaultButton: 0
});

 

Исправляюсь. Там оказывается есть параметр высоты.

Terrasoft.showInputBox("Список рекомендаций", function() {}, ["ok"], null, {
	name : {
		dataValueType: Terrasoft.DataValueType.TEXT,
		value: "",
		customConfig: {
			className: "Terrasoft.MemoEdit",
			height: "150px"
		}
	}
},
{
	defaultButton: 0
});

 

Варфоломеев Данила,

Ну раз пошла такая пьянка, какие там еще параметры есть? :)

Алексей-Карягин пишет:

какие там еще параметры есть

конкретно под  MemoEdit? поиск по all-combined выдал:

memo: {
	dataValueType: Terrasoft.DataValueType.TEXT,
	value: a,
	customConfig: {
		className: "Terrasoft.MemoEdit",
		height: "235px",
		readonly: !0,
		markerValue: "validationMessage"
	}
}

Можно тут глянуть что ещё можно добавить из свойств (placeholder и width точно работают). Ну и я так понимаю аналогично с др. контролами.

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

Добрый день. Нужно решение такой задачи.

"Каждый ответственный видит только своих контрагентов"

Подскажите пожалуйста как её организовать?

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

Спасибо

Нравится

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

Здравствуйте, Григорий!

Для реализации данного кейса, необходимо что бы в настройках прав доступа в конфигурации для раздела Контрагенты было включено администрирование по записям, но не заданы условия.

"своих контрагентов" - это тех, которых он создал? Или тех,  в которых он ответственный?



Первый вариант решается, как описал Андрей.

Второй вариант решается бизнес-процессом

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

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

Формируем печатную формы сметы. Отображаем в смете продукты. При выводе на печать строки с продуктами в смете нужно пронумеровать.

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

Добавлять на деталь порядковый номер уж как то совсем костыль)). 

Спасибо!

Нравится

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

В печатных формах MS Word порядковый номер строки в таблице можно сделать средствами самого ворда:

https://support.office.com/ru-ru/article/Нумерация-ячеек-в-таблице-в-wo…

 Достаточно сделать для строки с продуктом в шаблоне и дальше оно само.

 

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

На стороне bpm'online такой возможности нет (зафиксировали пожелание).

Как вариант Вы можете настроить нумерацию прям в шаблоне Word. Алгоритм следующий:

- настраиваете табличную часть;

- в колонке ставите курсор и выбираете режим "Numbering" - http://prntscr.com/jmeujc. В результате должен появиться номер.

- проверяете, что нумерация работает - http://prntscr.com/jmeuoo и http://prntscr.com/jmew6d (необходимо курсор поставиь за пределы таблицы и нажать Enter);

- сохраняете шаблон.

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

Дмитрий, спасибо! Будем пробовать).

 

Борис Леонов, Борис, спасибо!  ))

 

Борис Леонов,

Борис Леонов,

Борис Леонов,

Борис Леонов пишет:

В печатных формах MS Word порядковый номер строки в таблице можно сделать средствами самого ворда:

https://support.office.com/ru-ru/article/Нумерация-ячеек-в-таблице-в-wo…

 Достаточно сделать для строки с продуктом в шаблоне и дальше оно само.

Борис Леонов,

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

Добрый день!

Счета выставляются от двух компаний, одна на ОСНО, вторая - УСН.

Для первой нужно указывать НДС в счетах, для второй - нет.

У меня мысль сделать в "Реквизиты плательщика" у Контрагента флажок "Плательщик НДС" и на него завязываться в дальнейшем, но это надо логику добавления счетов переделывать, макросы для печатной формы дописывать для формирования строки "Включая НДС"/"Без налога" и тд...

Может есть способ проще?

Нравится

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

Вряд ли получится проще. Кстати, в общем случае еще на разные группы товаров может быть разный НДС. Потому мы для вычисления НДС создаем VIEW, и уже его результаты отображаем на карточке, в общей сумме и на печатной форме. С VIEW получается намного проще логика

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

не могли бы вы чуть более подробно описать идею с VIEW?

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

 

Примерно так (постарался вырезать лишнюю информацию, относящуюся к проекту, но не проверял на работоспособность.



Единственное, что в СНГ немного по другой методике НДС считается (у нас он считается как % от суммы всех продуктов, а в СНГ, насколько я знаю, как сумма НДС всех продуктов)



CREATE VIEW [dbo].[UsrInvoiceTax]

AS

SELECT MIN(p.Id) As Id

    ,i.CreatedOn

    ,i.CreatedById

    ,i.ModifiedOn

    ,i.ModifiedById

    ,p.InvoiceId As UsrInvoiceId

    ,p.[TaxId] As UsrTaxId

      ,p.[DiscountTax] As UsrDiscountTax

        ,CAST ( SUM((Quantity*PrimaryPrice) - PrimaryDiscountAmount) AS DECIMAL(18,2)) As UsrTotalPrimaryAmount

        , CAST (SUM((Quantity*PrimaryPrice*i.CurrencyRate) - PrimaryDiscountAmount*i.CurrencyRate)AS DECIMAL(18,2)) As UsrTotalAmount

        ,t.Name As UsrTaxName

        ,ROUND((SUM(Quantity*PrimaryPrice- PrimaryDiscountAmount))*p.DiscountTax/100,2) As UsrTotalTaxPrimaryAmount

        ,CAST (ROUND((SUM((Quantity*PrimaryPrice-PrimaryDiscountAmount)*i.UsrCurrencyRate ))*p.DiscountTax/100,2)AS DECIMAL(18,2)) As UsrTotalTaxAmount

FROM [dbo].[InvoiceProduct] p

LEFT OUTER JOIN [dbo].[Tax] t ON t.Id=p.TaxId

LEFT OUTER JOIN [dbo].[Invoice] i ON i.Id=p.InvoiceId

GROUP BY      i.CreatedById

    ,i.ModifiedOn

    ,i.ModifiedById, i.CreatedOn,p.InvoiceId, p.TaxId

     ,p.DiscountTax

    ,t.Name

GO

Коллеги,

создал View

CREATE VIEW dbo.VwZLInvoice
AS
SELECT 
	i.Id,
	i.Number,
	i.StartDate,
	IIF(SUM(CASE WHEN ZLVATPayer = 1 THEN p.TaxAmount ELSE 0 END) <> 0, 'В том числе НДС:', 'Без налога (НДС):') VATSumCaption,
	SUM(CASE WHEN ZLVATPayer = 1 THEN p.TaxAmount ELSE 0 END) ZLInvoiceVATSum
FROM dbo.Invoice i
LEFT JOIN  dbo.InvoiceProduct p
	ON i.Id = p.InvoiceId
LEFT JOIN dbo.AccountBillingInfo abi
	ON i.SupplierBillingInfoId = abi.Id
GROUP BY
	i.Id,
	i.Number,
	i.StartDate

далее создал объект с такими же колонками, как у View, а как мне теперь сделать что бы колонки этого объекта стали доступны для добавления при редактировании печатной формы для раздела Счета?

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

я же правильно понимаю, что вьюшка вашего варианта попадет в колонки печатной формы как "Название объекта (по колонке Счет)"?

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

Возможен вариант создания View - копии объекта с дополнительными вычисляемыми колонками. Это классная техника, но она годится только для таких задач, как подготовка данных для экспорта, ибо для использования в печатных формах придется замещать родителя и, скорее всего, создавать триггеры для добавления/удаления/обновления.

Пока мне видится более приемлемым традиционный вариант с добавлением нужных полей в объект и логикой в карточках объектов, продолжаю исследования :)

 

 

Борис Леонов пишет:

я же правильно понимаю, что вьюшка вашего варианта попадет в колонки печатной формы как "Название объекта (по колонке Счет)"?

Не совсем. Эта VIEW попадает в печатную форму как отдельный объект. Полная аналогия с объектом "Продукт в счете" 



Без него не обойтись, если решать задачу в общем случае, когда на разные продукты в счете может применяться своя ставка НДС

Добавить комментарий

Владимир Соколов пишет:

да, именно это я и подразумевал, не совсем ясно выразился 

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