Здравствуйте. Те, кто хорошо знает модуль BankModuleUtilites - скажите, пожалуйста, что представляет собой конструкция utilites, начинающаяся с 172-й строки в этом модуле и заканчивающаяся на 357-й строке? Это какой-то особый список функций ? Или что ?

Нравится

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

А BankModuleUtilites — это в какой версии и какой верикали системы?

Модуль BankModuleUtilites - в версии BPMonline 7.2. Используется в приложении кредитного конвеера для Гагаринского банка.

Здравствуйте. Функции, описанные в модуле BankModuleUtilities, используются в продукте bpm'online bank 7.2.2 для создания представлений модулей. Эти функции возвращают конфигурации элементов управления, на основе заданных параметров.

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

В настоящий момент возможна следующая ситуация:
1) менеджер создал счёт в bpm'online, добавил продукты, согласовал цены с клиентом.
2) затем на продукт изменилась цена
3) менеджер открывает счёт, меняет валюту счёта, сохраняет.

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

Нравится

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

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

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

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

Спасибо

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

в Таблице продукты у нас есть 2 поля Цена, Цена б.в. Базовая валюта, это та валюта которая выбрана как валюта по умолчанию, Я сделал так в своих системах, что если меняют Валюту в Счетах, Договорах, то происходит Пересчет поля "Цена", Цена б.в. (к примеру это рубли) остается без изменений. По умолчанию в системе BPMOnline этот механизм работал и работает ошибочно. Сейчас на память не помню, но если мне пасять не изменяет, то при изменении Валюты система пересчитывала (по умолчанию) поле Цена б.в. а это ни есть правильно. Базовая валюта, это валюта по умолчанию, валюта системы.

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

Здравствуйте, коллеги, подскажите решение такой проблемы!

Система BPMonline Bank Sales 7.5

Задача: есть деталь "Удостоверение личности" в разделе Физ. лица. Необходимо при открытии карточки реактирования детали скрывать часть полей этой карточки в зависимости от значения чекбокса "Резидент/Нерезидент" карточки раздела этого Физ. лица.

Как решить задачу понятно. Вопрос в том, на какое событие при открытии карточки детали читать значение связанного поля "Contact" для дальнейшего построения EQS запроса и определения значения чекбокса "Нерезидент" объекта Contact?

На события init, initEntity, onRender запрос this.get("Contact") выдает ошибку "undefined"

Заранее благодарен за помошь!

Нравится

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

"Геращенко Александр Михайлович" написал:запрос this.get("Contact")

на самой детали срабатывает this.get("MasterRecordId");

К сожалению this.get("MasterRecordId"); тоже не работает - "undefined"

Александр, попробуйте в методе onEntityInitialized после вызова родительского метода (this.callParent(arguments);). В это время уже должны быть доступны значения инициализированных полей карточки.

Олег, спасибо, все получилось!

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

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

При использовании приложения в консоли логгируется ошибка

При загрузке данных объекта "Название объекта" превышено максимально допустимое количество в 10000 записей

Возможно ли увеличить данное кол-во. Есть ли какая-то системная настройка для этого?
В системе много объектов, кол-во записей в которых более 10 тыс.

Нравится

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

Здравствуйте, Александр.

Проверьте значение системной настройки "Максимальное количество импортируемых записей из Excel".

Если речь идет о демо-версии и о количестве отображаемых в реестре данных - это ее ограничение.

Андрей, добрый вечер.
Речь не идет об импорте из excel. Речь идет о том, что в таблице "OrderProduct" около 100 000 записей. при открытии карточки редактирования продукта в заказе получаю ошибку, описанную в первом посте и пустые поля в карточке.

В других таблицах аналогичная ситуация,где более 10к записей

Александр, какой продукт и сборку используете?

Иными словами, приведите полное название архива с бинарными файлами, которые были направлены технической поддержкой.

10000 записей - ограничение демо-версии.

Вам необходимо использовать для разработки Softkey.

Мы и используем Softkey
7.6.0.996_SalesOmnichannel_Marketing_Softkey_MSSQL_RUS

Здравствуйте, Александр!

Вероятнее всего, речь идет о параметре MaxEntityRowCount, который по умолчанию имеет значение = 10000.

Параметр вызывает исключение при попытке загрузить в EntityCollection записей больше указанного числа.

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

Александр, измените значение параметра и перезапустите сайт.

Спасибо, помогло!
А у данного параметра есть максимально допустимое значение или оптимальное?
Можно его закомментировать?

Александр, оптимальное уже установлено:)

А максимальное ограничено по сути максимальным значением типа Integer.

"Безродный Андрей" написал:параметре MaxEntityRowCount

а где он живет то, параметр этот, поделитесь найденным? В системных не нашел, может плохо искал?

нашел в системных только для excel :)

"Александр Кудряшов" написал:
Безродный Андрей пишет:

параметре MaxEntityRowCount

а где он живет то, параметр этот, поделитесь найденным? В системных не нашел, может плохо искал?

нашел в системных только для excel :)


Здравствуйте,Александр.
Смотрите в web.config.

"Безродный Андрей" написал:Александр, оптимальное уже установлено:)

А максимальное ограничено по сути максимальным значением типа Integer.


Я так и думал. Спасибо:twisted:

Добрый день Андрей!!!

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

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

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

Есть блок кода:

if ($.inArray(rslt.activeMasksetIndex, maskForwards) !== -1 &&
               rslt.result !== false & (lowestPos === -1 ||
               lowestPos > rslt.result.pos)) {
        lowestPos = rslt.result.pos;
        lowestIndex = rslt.activeMasksetIndex;
}
В строке
rslt.result !== false & (lowestPos === -1 ||
Интерпретатор в 7.6 выдаёт ошибку: Unexpected use of '&'.
Что нужно сделать для того, чтобы исправить эту ошибку ?

P.S. Когда я взял этот блок кода из 7.2 и перенёс его в 7.6, то исделал только перенос условия на несколько строк из-за того, что интерпретатор в 7.6 выдавал ошибку Line is too long.

Нравится

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

это ведь побитовая операция, а не логическая. для чего она тут?

Евгений, добрый день!

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

rslt.result !== false && (lowestPos === -1 ||
lowestPos > rslt.result.pos)

Одинарный амперсанд используется в битовых операциях.

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

Переношу JQueryInputMask из 7.2 в 7.6. Есть следующая функция:

var isInputEventSupported = function(eventName) {
                var el = document.createElement("input"),
                                eventName = "on" + eventName,
                                isSupported = (eventName in el);
                if (!isSupported) {
                        el.setAttribute(eventName, "return;");
                        isSupported = typeof el[eventName] === "function";
                }
                el = null;
                return isSupported;
}

В 7.6 интерпретатор показывает ошибку 'eventName' is already defined на строке

eventName = "on" + eventName,
Скажите, пожалуйста, что нужно сделать для исправления этой ошибки ?

Нравится

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

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

Для устранения данного сообщения необходимо вынести присвоение из блока var:

var isInputEventSupported = function(eventName) {
	eventName = "on" + eventName;
	var el = document.createElement("input"),
		isSupported = (eventName in el);
	if (!isSupported) {
		el.setAttribute(eventName, "return;");
		isSupported = typeof el[eventName] === "function";
	}
	el = null;
	return isSupported;
}

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

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

Здравствуйте
В документации к системе есть информация по настройке телефонии OkTell в BPMOnline.
Смущает строка "Процедура интеграции выполняется при условии, что все предварительные настройки телефонии Oktell ранее выполнены администратором телефонии."
Возникает вопрос: кто это - администратор телефонии, и какие настройки он должен выполнить?

Нравится

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

Здравствуйте.
Под данной фразой подразумевается, что настройки самой АТС Oktell Вы выполняете самостоятельно.
Oktell должен быть настроен таким образом чтобы мог выполнять звонки не в зависимости от того подключена ли интеграция или нет, а также выполнены настройки Web-сервера Oktell.

Ясно. Подскажите, пожалуйста, где я могу просмотреть информацию о настройке Oktell?

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

Переношу модуль JQueryINputMask из 7.2 в 7.6. Интерпретатор в 7.6 считает ошибкой следующую трактовку доступа к свойству:
masksets = this.data("_inputmask")["masksets"];
и просит заменить её на:
masksets = this.data("_inputmask").masksets;
В литературе по Javascript допускаются обе трактовки. Почему интерпретатор 7.6 считает мнемонику имя_объекта["имя_свойства"] ошибкой ?

Нравится

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

Евгений, добрый день!

Подобное сообщение можно считать рекомендацией и схема будет успешно сохранена, несмотря на его наличие. Но на самом деле предпочтительным вариантом будет использование названия свойств через точку. Такой вариант удобнее и визуально, и работать будет быстрее. Доступ к свойству через квадратные скобки используется в основном, когда Вам заранее не известно имя свойства и приходится вычислять его через выражение (например, myObject["propName" + i]). В литературе по JavaScript на этот факт также обращается внимание.

Спасибо.

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

Здравствуйте.
Переношу JQueryInputMask из 7.2 в 7.6. Нередко интерпретатор в 7.6 показывает ошибку Line too long либо на совсем пустых строках либо берёт короткую строку, отсчитывает от её конца пробелов 40 - 50, ставит там курсор и показывает ошибку Line too long. Когда щёлкаешь мышью по курсору, установленному в таком месте, то курсор мгновенно перескакивает на фактический конец строки и при нажатии клавиши End на клавиатуре остаётся там. Т.е., фактически - никакой длинной строки в этом месте нет, а интерпретатор - показывает. Почему так?

Нравится

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

Здравствуйте.
Попробуйте для редактирования кода воспользоваться сторонним инструментарием (редактором). Для этого в web.config загрузчика (в корне сайта) установите значение параметра useFileContent="true". Далее в connectionstrings.config (в корне сайта) указать в параметре clientUnitContentPath путь к директории, куда выгружаются и от куда загружаются модули клиентских схем по действиям из конфигурации (обновить клиентские модули из базы или загрузить в базу). Другими словами - выгрузили, отредактировали, загрузили.

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

Добрый день!
Есть два вопроса по разделу планирование визитов в 7.6.

1)В разделе планирования визитов активности меняют цвет в соответствии со своим статусом. Этот код размещен на schedule-item.js. Как можно его переопределить под свои нужды? Необходимо менять цвет активности по другому условию (например)

2) Необходимо запретить пользовательское изменение размера активности на расписании. Т.е., изначально в активность вместо времени начала и конца сообщается время начала и ее длительность. Пользователь не должен иметь возможности увеличить ее. Размер активности для каждого контрагента будет статичным и меняться только по изменении соответствующего поля в контрагенте.

Нравится

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

Никита, непонятно, о каких визитах идет речь.

Визиты появились в версии 7.6.

По второму вопросу - какой у Вас конкретный вопрос?

"Безродный Андрей" написал:

Никита, непонятно, о каких визитах идет речь.

Визиты появились в версии 7.6.

По второму вопросу - какой у Вас конкретный вопрос?


Я наверное перепутал версию. Приложил скриншот по поводу 1 вопроса.
Второй вопрос. "Необходимо запретить пользовательское изменение размера активности на расписании." Как это можно сделать?

Никита, добрый день!

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

Что касается второго вопроса - есть вариант сделать объект "Активность" администрируемым по колонкам и раздать доступ только на просмотр колонок "Начало" и "Завершение" для всех пользователей. Хотя визуально размер активности в расписании будет изменяться, фактически в этих полях будут оставаться прежние значения.

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

Спасибо за помощь!

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