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

Или так нельзя? Типа некошерно?

Нравится

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

перечисление, почему бы и нет?

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

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

"Kseniya L" написал:

перечисление, почему бы и нет?

я пытался, но что то я не понял как им пользоваться, в смысле куда список значений прописывать.

"Maxim Gritsenko" написал:

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

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

Согласен. Просто хотелось быстрее, хотя оказалось (после чтения хелпа :-)), что простые справочники тоже заводятся весьма скоростным способом :-)

Показать все комментарии
Технические вопросы
Разработка

Мне необходимо запускать определенную функциональность на изменения в Dataset: добавление, удаление, изменение записи.
Изначально я использовала метод OnDatasetAfterPost. Но оказалось, что удаление записи не реагирует на метод OnDatasetAfterPost. Если я в скрипт для ds_xxxxx добавляю ту же самую функциональность и на OnDatasetAfterDelete, то удаление происходит, все срабатывает. Но при удалении последний записи я получаю сообщение : 1 records are not deleted from 1 и функциональность не срабатывает. Но запись, при этом, все же удаляется.
Что можно сделать в такой ситуации?

Нравится

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

Наталия, какую логику Вы прописываете в функции OnDatasetAfterDelete (в ней нет завязки на удаляемую запись)?
Попробуйте заключить код в блок try-catch

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

События могут не срабатывать, если они были выключены.

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

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

При работе в дизайнере страниц нажимаю на кнопку "Показать" и в результате мне показывают страницу развернутую на весь экран. То есть параметры размера страницы полностью игнорируются....
Это так и у пользователей будет?

Нравится

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

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

а почему все таки дизайнер показывает ее на весь экран то?

Александр, как один из вариантов ответа: в профиле УЖЕ имеется информация о текущем размере этого окна. Профиль окна сохраняется и в режиме просмотра в дизайнере. Попробуйте изменить размеры окна, закрыть его и открыть на просмотр снова.

понятно, непонятно только откуда оно там взялось, когда я страницу только что создал...
ну да ладно, после чистки кэшей и профилей (по другим причинам), все нормализовалось

Показать все комментарии
Firebird
freebsd
linux
uuidlib
Технические вопросы
Разработка

Добрый день, помогите с компиляцией uuidlib.

Первую строку компилирует хорошо
gcc -fPIC -w -I/usr/src/include -c uuidlib.c -o uuidlib.o
На второй получаем ошибку
gcc uuidlib.o -shared -L/usr/local/lib -luuid -o uuidlib.so
/usr/bin/ld: cannot find -luuid

Искал поиском luuid библиотеку, что то не могу найти.
Где ее можно достать или это нужно пакеты ставить дополнительные?

И еще вопрос, скомпилированую библиотеку uuidlib.o скопировал в папку к библиотекам фаерберда
/usr/local/libexec/firebird/udf но это не помогло избавится от ошибки при входе в систему.

Нравится

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

Здравствуйте, Константин!

Для успешной компиляции библиотеки в системе должен быть установлен пакет libuuid-devel:

http://www.filewatcher.com/b/ftp/ftp4.kr.freebsd.org/pub/cygwin/release/util-linux/libuuid-devel-0.html

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

После успешной компиляции uuidlib.so всё должно заработать.

С уважением,
Илья Шипко
Специалист службы поддержки II линии
Группа компаний Terrasoft

Нашел пакет libuuid на сайте http://ftp.freebsd.org/%2Fpub/FreeBSD/ports/i386/packages-8-stable/Late…
Название пакета: e2fsprogs-libuuid.tbz
Скомпилировал библиотеки и поместил в папку /usr/local/libexec/firebird/udf
Все заработало.

Показать все комментарии
Технические вопросы
5.x

Приветствую!

Может ли BPMonline CRM OnSite запоминать имя пользователя на странице логина?

Нравится

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

Краткость -- сестра таланта!! :-)

Предвижу крики и вопли.....ну да ладно.....

А доменную авторизацию оно тоже не жрёть ни под каким соусом? Я имею ввиду не LDAP авторизацию/синхронизацию, которая есть и работает (правда тоже не без плясок с бубном), а именно доменную, то есть плясать от того пользователя который сейчас на компьютере УЖЕ вошел в домен...
У меня так например jabber работает и дурных вопросов пользователям не задает ваще....

Добрый день,

Сквозная авторизация NTLM в данный момент дописывается и допроверяется. Были прецеденты реализации для клиентов, но в базовую версию функционал еще не попал.

Это радует.

Есть ли какие то новости по поводу сквозной авторизации??

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

Для включения авторизации:

В настройках IIS необходимо чтобы была включена WindowsAuthentication в приложении-загрузчике.

В рабочих приложениях (0/, 1/, ...) она должна быть выключена

Для работы сервисов с доменной авторизацией необходимо включить WindowsAuthentication для папки сервисов ServiceModel (путь 0/ServiceModel)

внести изменения в web.config

Для включения нужно в Web.config-е приложения-загрузчика нужно указать один или несколько windows-провайдеров аутентификации.

Например, так:

Порядок записи провайдеров означает последовательность проверки наличия пользователя среди пользователей портала (NtlmSSPUser) или среди "обычных" (NtlmUser) пользователей.
В базе должны быть созданы пользователи с логинами как в домене/системе.
NTLM работает на 5.4.0.1400+

Показать все комментарии
workflow
параметры
сбой
Технические вопросы
Разработка

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

На днях возник небольшой вопрос, решить который все никак не представляется возможным.
У нас есть ряд workflow-процессов у которых в свою очередь есть большое кол-во свойств (параметров со значениями) процесса.
К сожалению, в связи с одной пунктуационной ошибки ранее, у некоторых процессов поле Parameters в таблице Workflow стало NULL.

В этот момент и возник вопрос:
Как можно восстановить хотя бы названия параметров, которые создавались на предыдущих шагах процесса?
Значения параметров я могу заполнить сам. Но все наименования не припомню.
А искать другой процесс на таком же шаге, который шел по тем же веткам, сложно.

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

Спасибо за потраченное на прочтение время

Используется Terrasoft XRM 3.3.2.244 и MS SQL

Нравится

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

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

Т.е. у Вас есть незавершенные процессы, параметры которых были удалены, и Вам необходимо восстановить для дальнейшей корректной работы сами параметры и их значения?
Если да, то, к сожалению, это не возможно.
Даже если Вы запустите дубль процесса, дойдете до шага, на котором произошел сбой, и скопируете поле Parameters с одного процесса в другой, то все-ровно значения параметров будут не те, которые Вам необходимы в "некорректном" процессе. Названия же параметров, вы в принципе можете просмотреть в Террасофт Администраторе в свойствах диаграммы процесса.

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

Вопрос скорее в другом
Можно ли как-то получить их скриптом? Например распарсить в tbl_Service поле XMLData у процесса?!
Или, скажем, через функции террасофта можно получить список параметров у определенного шага\процесса?

Иван, посмотреть параметры конкретного дейтсвия можно в ТС Администраторе по правому клику:

а распарсить BLOB в XML можно следующим способом:

CREATE TABLE	#Sample
		(
			BLOB VARBINARY(MAX) NOT NULL
		)
 
INSERT	#Sample
SELECT	0x3C526F772049443D2231223E5065736F2C204D56503C2F526F773E
 
SELECT	*
FROM	#Sample
 
 
ALTER TABLE	#Sample
ADD		MyXML AS CAST(CAST(BLOB AS VARCHAR(MAX)) AS XML)
 
-- Display the result
SELECT	*
FROM	#Sample

Спасибо за крайне развернутый ответ

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

И распарсить XML представленный как Varbinary или Image тоже не проблема. Вот только Image у элемента Workflow Diagram в tbl_Service не парсится как XML

Иван, здравствуйте.

У каждого элемента в процессе есть свой набор параметров + у самого процесса могут быть пользовательские параметры.

В скрипте процесса можно получить список параметров:

var a = DiagramItem.Parameters;
var b = Diagram.Parameters;

установить либо получить значения:

WFGetParamValueDirect(DiagramItem.Parameters, ParamName, 
		DefaultValue);
WFSetParamValueDirect(Params, ParamName, ParamValue, ParamType);

Параметры, которые "вшиты" в действия - даже после их удаления при выполнении действия - будут созданы.
Параметры диаграммы, которые пользовательские, восстановить не получится. Но посмотреть их список можно прямо в ТС Администраторе в свойствах диаграммы, если конечно они и там не были удалены.

Спасибо

Показать все комментарии
удаление раздела
Технические вопросы
Разработка

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

Нужно удалить пользовательский раздел.
В мастере есть или редактирование или создание нового, а удаления нету.
Удаление из custom папки нового сервиса с объектами не привело до конца к желаемому результату.
К сожалению, сохранилась вкладка на панели инструментов.
Её надо удалить.

ваши идеи?

Нравится

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

В TSClient Файл->Настройки->Рабочие места
Предупреждение: там две вкладки, мои настройки и по умолчанию.

что-то я не нахожу вкладку [Рабочие места].

версия Terrasoft XRM: 3.3.2.290

В wnd_Main удалите раздел в невизуальных компонентах:

Maxim, а другие пользовательские сервисы будут отображаться?

На скрине пример. В невизуальных компонентах Вам необходимо найти свой раздел и удалить. Или, если не хотите рисковать - можете скрыть его в блоке свойств.

Также, можете сделать резервную копию базы данных, тогда точно ничего не пропадет =)

Игорь, отсутствие отдельного пункта меню "Удаление раздела" связано с тем, что на радел может быть завязана самая различная функциональность (например, перейти к), поэтому программисту следует внимательно следить за ссылками на раздел самостоятельно.

В версиях до 3.3.2 включительно пункты меню находятся в блоке Невизуальные в wnd_Main, в версиях начиная с 3.4.0 - хранятся в базе данных в таблицах tbl_Workspace и tbl_WorkspaceInDesktop (т.к. начиная с этой версии допускается различная настройка меню для разных пользователей системы).

Показать все комментарии
Технические вопросы
Разработка

Понимаю, что вопрос дурацкий. НО тем не менее... Как очистить поле с датой? При включении определенного checkbox мне надо очистить значение поля.
Выражения

Dataset.ValAsDateTime('LesserTerminatedDate') = null;

или
Dataset.ValAsDateTime('LesserTerminatedDate') = "';

выдают ошибку Tipe mismatch

Поле LesserTerminatedDate типа DateTime

Нравится

2 комментария
иерархический справочник
Технические вопросы
5.x

Хотелось бы отобразить иерархический справочник, есть ли компонент аналогичный TreeView? или каким другим образом это можно сделать

Нравится

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

Здравствуйте, Ольга!

Да, компонент, аналогичный TreeView есть, к примеру, он используется в окне выбора Сервиса в сервисном договоре.

Здравствуйте, Ольга!
Как сказала, Анна, такая возможность есть.
Для этого необходимо в дизайнере объектов установить в поле "Родитель в иерархии" колонку, которая будет родительской. При этом у Вас для страницы реестра нужно установить глубину вложенности (по умолчанию 1).
Но... Не все так просто.:cry:
Реестр отображает только 41 запись из БД. При установлении иерархического отображения реестра пропадает возможность постраничного просмотра.:cry:
Команда разработчиков системы на данный момент занимается исправлением этой ошибки, и в ближайших версиях BPMonline эта ошибка обязательно будет исправлена.
Спасибо Вам за вопрос.

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

Есть несколько юр. лиц от которых осуществляется внешняя деятельность (заключение договоров и тд). Можно ли в зависимости от юр. лица при отсылке e-mail'а контакту из BPMonline как то проставлять обратный адрес e-mail соответствующий, для каждого свой.....

Как бы это реализовать? Как я понимаю стандартными средствами не получится, надо напрягаться с доработкой, вопрос как это лучше организовать? Какие будт мысли?

BPMonline OnSite, mail сервер Domino (с ним можно пошаманить всячески, почти неограниченно :-)), клиент MS Outlook 2007

P.S. В идеале вообще для каждого пользователя бы такое реализовать...Чтобы у пользователя был бы список доступных ему обратных адресов и он бы выбирал от какого посылать......как то так....

Нравится

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

Добрый день.

Вы можете настроить SMTP relay на Вашем почтовом сервере. В таком случае в поле отправителя будет подставляться алиас, которым на уровне BPM-a является почтовый адрес контакта.

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

в смысле как Domino заставить в зависимости от алиаса подставлять нужный обратный адрес -- это я легко :-), но как BPMу сказать ставить разные алиасы в зависимости от того контрагента от которого ведется деятельность....

Бизнес-процесс письмо не отправляет, только создает активность.
А От Кого заполняется в момент отправки, будет подставлен адрес текущего активного пользователя совершающего отправку.

Логично, вот тут и интересует возможность выбора обратного адреса....

Попробуйте включить поле От Кого в карточке е-мейла (EmailEditPage) и прописывать адрес вручную.

Александр, а как Вы создаете Email? Если через карточку редактирования, то вручную, а если БП, то при создании Активности типа Email, проверяйте адрес контрагента и проставляйте его в поле ОТ.

THNX
Я пока не создаю :-) Я почву вентилирую :-)
Все равно спасибо, направление движения я понял, думаю все получится в итоге :-)

Вопрос закрыт открытием поля От кого в активности на редактирование. В связке c Domino работает на ура.
По крайней мере гугл и яндекс честно говорят, что письмо пришло с адреса, который писали в поле От кого в активности. Осталось прикрутить список к полю, который формируется в зависимости от текущего пользователя.

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