Вопрос

Здравствуйте, продолжаю осваивать версию 7.10 после 10 лет использования 3.0.4.122.

Хотелось бы узнать, только у меня при формировании выборки фильтрация по полю с типом дата/время происходит только по дате, без учета времени? Если например использовать условный поток и в нем сравнить те же самые поля или параметры, то время тоже учитывается, а именно при использовании фильтрации такая беда. Не хотелось бы имея такие инструменты удобные прибегать к костылям некрасивым, чтоб такую простую задачу решить.

У меня такой же вопрос

0 комментариев
Войдите или зарегистрируйтесь, чтобы комментировать
Вопрос

Возникла необходимость переопределить код процесса родительского объекта. Этот код не вынесен в метод, а находится внутри элемента ScriptTask (Задание-сценарий) процесса родительского объекта (это код базовой комплектации, а значит нет никакой возможности изменить его напрямую). Возникала ли у кого подобная задача и решаема ли она вообще? 

У меня такой же вопрос

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

Эмм... также как и тут создаём замещающий объект.

Только потом идём в родителя смотрим, где находится конкретный скрипт таск

Далее в процессе замещённого объекта справа ищем такой же лайн-сет и открываем скрипт-таск (дабл кликом), редактируем, сохраняем.

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

Попробовал, как Вы предлагаете. Но безуспешно. Система вовсе игнорирует изменения, сделанные из замещающего объекта. Даже код с синтаксическими ошибками успешно проходит публикацию. Хотя, изменения сохраняются. Что я делаю не так?

Бершеда Д. Н. пишет:
Хотя, изменения сохраняются. Что я делаю не так?

Согласен, я написал фигню) Изменить стандартные реализации скорее всего нельзя.

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

Хочу дополнительно отфильтровать печатные формы.

В версии 7.2 была функция modifyViewConfig, которая вызывалась в карточке и где я это делал. В 7.10 она не вызывается. 

Как быть?

У меня такой же вопрос

0 комментариев
Войдите или зарегистрируйтесь, чтобы комментировать
Вопрос

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

Изначально задание стояло так "Пользователь сам выбирает основной адрес из списка существующих" при помощи галочки "Основной"(как в 3.х)

Это дело делается в дизайнере объекта контрагента. Нашел я его в исходном коде - "SynchronizeAddress()" и запускается после сохранения запись контрагента. Подскажите как изменить эту функцию или заменить ее другой и как такую создать вообще

Думаю если отключить Базовое событие это может решить мою проблему

У меня такой же вопрос

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

1) Создаём замещающий объект "Контрагент"

2) "Дополнительно"—>"Открыть процесс" (кнопка справа вверху)

3) Methods (справа вверху), разворачиваете, находите метод SynchronizeAddress, ставите галку "Переопределен"

4)  Комментите base.SynchronizeAddress(), если не надо вызывать родительскую реализацию, дописываете свой код

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

Вау, BPM удивляет) обыскал замещающий объект но на структуру почему не обратил внимания(

Благодарю!

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

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

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

Через БП изменяю значение поля через действие "Изменить данные". БП запускается по нажатию кнопки на странице редактирования записи. 

Вопрос: как визуально отобразить изменение этого поля?

У меня такой же вопрос

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

т.е. вы меняете поле в карточке путём бп? Если да, то способ такой себе, честно говоря) Лучше сделать esq запрос в js и через this.set что-то устанавливать. Если всё же хотите оставить бп, то:

 лёгкий способ - при вызыве бп указать callback-функцию, в ней делать this.reloadEntity()

трудный - генерировать сообщение из бп в карточку с конкретным значением, устанавливать его через this.set.

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

хорошо, спасибо) 

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

Миннекаев Айдар,

Там добавляется кнопка примерно таким образом (добавлять в Section):

{
	"operation": "insert",
	"name": "RandomButton", //своё название
	"parentName": "CombinedModeActionButtonsCardLeftContainer",
	"propertyName": "items",
	"values": {
		"itemType": Terrasoft.ViewItemType.BUTTON,
		"caption": {"bindTo": "Resources.Strings.RandomButtonCaption"}, //свой капшн
		"click": {"bindTo": "onCardAction"}, //!!!оставляем
		"style": Terrasoft.controls.ButtonEnums.style.BLUE, //свой стиль
		"visible": true,
		"classes": {"textClass": ["actions-button-margin-right"]}, //отступ 5 пикселей от соседних кнопок
		"tag": "onRunMyProcess" //!!!метод КАРТОЧКИ, который будет вызываться
	}
},

Метод onCardAction кидает в карточку сообщение с названием метода, в карточке идёт обычный вызов метода (который указан в тэге) без параметров

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

спасибо:)

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

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

После открытия на редактирование задачи и закрытия, календарь перескакивает в начало. Есть ли возможность отображать календарь в том месте, которое было на момент открытия карточки задачи?

У меня такой же вопрос

0 комментариев
Войдите или зарегистрируйтесь, чтобы комментировать
Вопрос

Добрый день!

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

Как мне лучше реализовать эту задачу:

1) виндовый сервис

2) бп с таймером(скрин). но тут я боюсь, что таймер как-то некорректно будет работать, например, если прекращается активность пользователей, то таймер будет работать или нет?

У меня такой же вопрос

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

4) https://marketplace.terrasoft.ru/app/extended-business-process-scheduler 

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

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

Как в C# скрипте БП получить URL сайта.

Туда передается (ProcessExecutingContext context), но документации по нему не нашел.

У меня такой же вопрос

1 комментарий
string baseUrl = WebUtilities.GetBaseApplicationUrl(HttpContext.Current.Request);

 

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

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

При разработке бизнес-процесса необходимо установить значение логического параметра.

Установил с помощью контексно меню дизайнера. Но при сохранении выдает ошибку.

Эти ошибки не дают возможности скомпилировать конфигурацию.

Подскажите, что сделать?

У меня такой же вопрос

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

а если через "формулу" задать true/false заработает?

Здравствуйте, Данила. Собственно, true и false установил, конфигурация скомпилировалась. Заработало) Но осадочек остался) Спасибо за оперативную помощь. 

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

Как обновить деталь reloadDetail?

На странице, где расположена деталь есть поле при изменении которого нужно включать и выключать доступ к редактированию детали. Т.е. кнопку + для детали.

В схеме детали на эту кнопку я сделал ссылку в свойстве visible и он успешно работает. Но деталь загружается на страницу 1 раз при входе. Нужно обновлять деталь и видимость ее кнопок после изменения поля прямо внутри страницы.

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

this.reloadDetail("MyDetailName");

Она вызывается, но вызывает ошибку - entitySchemaInfo is undefined

Как обновить деталь вместе с контролами и их видимостью?

У меня такой же вопрос

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

Откуда взялась reloadDetail и как её применить?

Сделай перестрел событий по sandbox. По клику на + посылай message в карточку, карточка как только получает эту мессагу посылает в ответ сообщение со значением вашего поля. Деталь принимает это сообщение и обрабатывает его и так далее и тому подобное.

Это сделать проще ну или можно покопаться  в кишках:

Кисловский Михаил Андреевич,

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

Если вам нужна видимость то она, на мой взгляд, решится только this.reloadEntity самой карточки.

При попытке реализовать данный метод ничего не вышло. У Terrasoft нету entitySchemaInfo вобще и по исходникам примеров вызова данного метода не наблюдается.

 

Кисловский Михаил Андреевич,

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

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

 Почему баг? Остатки старой реализации, либо узкоприменимый для особых нужд метод. 

Это нормально.

Кисловский Михаил Андреевич,

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

this.reloadEntity на странице раздела там где находится деталь, если да, то с какими параметрами?

Войдите или зарегистрируйтесь, чтобы комментировать