Свойства sandbox. Ошибка сохранения: This SqlTransaction has completed; it is no longer usable."

Здравствуйте!
Где можно найти информацию о свойствах sandbox?

sandbox.publish("UpdateDetail", this.get("Id"), [sandbox.id]);

Например что и куда передается в этой строке. Где хранится UpdateDetail и прочее..

Спасибо большое!

После добавления данного действия в код стала возникать ошибка "Ошибка сохранения: This SqlTransaction has completed; it is no longer usable."

Нравится

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

Добрый день!

"Исаева Сабина" написал:

Где можно найти информацию о свойствах sandbox?

sandbox.publish("UpdateDetail", this.get("Id"), [sandbox.id]);

Общую информацию о свойствах объекта sandbox можно найти здесь:
- http://www.terrasoft.ru/bpmonlinesdk/ (можно воспользоваться поиском)
- http://www.terrasoft.ru/bpmonlinesdk/SubstitutionMechanism.html
- http://www.terrasoft.ru/bpmonlinesdk/ModuleDevelopmentInBPMonline.html

"Исаева Сабина" написал:

Например что и куда передается в этой строке. Где хранится UpdateDetail и прочее..

В данной строке значение this.get("Id") передается в метод, который подписан на сообщение "UpdateDetail" от модуля sandbox.id

UpdateDetail - это название сообщения. Оно может хранится в любом модуле, который подписан на это сообщение.

Пример подписки модуля на сообщение:

  messages: {
                               "UpdateDetail": {
                                               mode: Terrasoft.MessageMode.PTP,
                                               direction: Terrasoft.MessageDirectionType.SUBSCRIBE
                               }
                },
 methods: {
                               init: function() {
                                               this.callParent(arguments);
                                               this.sandbox.subscribe("UpdateDetail", this.onCardUpdateDetail, this, subscribersIds);
                               },
                               onCardUpdateDetail: function(inputArg){
 
                               }
                }

В любом модуле, где реализован данный код, и которая загружена в момент вызова sandbox.publish, выполнится метод onCardUpdateDetail и в него передастся this.get("Id") в переменную inputArg, если sandbox.id содержится в subscribersIds и если публикация и подписка настроена правильно для конкретной версии приложения.

Спасибо.

Буду вам весьма признательна если вы сможете мне помочь с ошибкой.
Я добавила одну ошибочную строчку с sandbox. После компиляции возникли ошибки. "Ошибка сохранения: This SqlTransaction has completed; it is no longer usable." и еще несколько строчек.
После удаления этого кода ошибка не исчезла. Теперь в системе невозможно делать никакие изменения, т.к. выходит эта ошибка.
Можно это как убрать?
Что можно предпринять?

"Исаева Сабина" написал:

Спасибо.

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

Я добавила одну ошибочную строчку с sandbox. После компиляции возникли ошибки. "Ошибка сохранения: This SqlTransaction has completed; it is no longer usable." и еще несколько строчек.

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

Можно это как убрать?

Что можно предпринять?

Сабина, я писал ранее:


выполнится метод onCardUpdateDetail и в него передастся this.get("Id") в переменную inputArg, если sandbox.id содержится в subscribersIds и если публикация и подписка настроена правильно для конкретной версии приложения .

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

Также посмотрите здесь:
https://www.google.com.ua/webhp?sourceid=chrome-instant&ion=1&espv=2&ie…

Вопрос удален..

Сабина, если у Вас остались вопросы, то сообщите нам.

Спасибо, Дмитрий!
Ну вопросов, как говорится, хоть отбавляйте.

sandbox.publish("PushHistoryState", {
hash: "CardModule/ContactPage/view", stateObj: { id: recordId }
});

Здесь, если я правильно понимаю, я передаю Id одной записи.
Как мне передать коллекцию записей(enum, string, array ) ?

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

Ну страничка не ContactPage а произвольная, которая должна принимать коллекцию İd.
(а как подругому можно передать много İd другой странице?)

Для открытия страницы записи передается только один конкретный ID для конкретной карточки.
Пример:

../0/Nui/ViewModule.aspx#SectionModuleV2/OrderSectionV2/OrderPageV2/edit/8838b3bd-80eb-40e1-95c5-c466ea0f6208

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

Сабина, кнопка реализована в схеме BaseSectionV2

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