Открытие новой карточки Обращения

Всем доброго времени суток.
Версия 7.10.

Ситуация такая: в CTI панели добавлена кнопка Создания обращения - по клику на неё должна открываться карточка создания нового обращения Case и автоматически заполняться некоторыми данными (сейчас неважно, какими).

Функция-обработчик клика по кнопке в схеме CTIPanel сейчас выглядит так:

//Создание обращения
                                onCreateNewCase: function(){

                                        this.openCardInChain({
                                                id: "Id",
                                                schemaName: "CasePage",
                                                operation: "add",
                                                moduleId: this.sandbox.id + "_CasePage",
                                                //Автоматически устанавливаем значения в открываемой карточке
                                                defaultValues: []
                                        });
                                }

В результате клика тем не менее карточка открывается внутри панели (см. второй скриншот). Подозреваю, что проблема в moduleId.. как правильно указать настройки?

Нравится

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

Для создания новой записи попробуйте указать пустой гуид в moduleId:

this.openCardInChain({
	schemaName: "ContactPageV2",
	operation: "add",
	moduleId: "00000000-0000-0000-0000-000000000000",
	defaultValues: [{name: "Name", value: "Some name"}, {name: "Test", value: "TestTest"}]
});

Максим, то же самое.

this.openCardInChain({
					        schemaName: "CasePage",
					        operation: "add",
					        moduleId: "00000000-0000-0000-0000-000000000000",
					        //Автоматически устанавливаем значения в открываемой карточке
					        defaultValues: []
					});

Страница карточки загружается внутри боковой панели.

Может быть, надо вызывать это не в CTIPanel, а в схеме основного блока? Тогда где - ведь открыта может быть любая страница (списковая, карточка, справочник и тд), а боковая панель доступна везде.

Вот есть например такое сообщение для перехода по ссылкам:

this.sandbox.publish("PushHistoryState", {
		                hash: "SectionModuleV2/CaseSection/",
					});

Может здесь можно какие-либо параметры передать для инициализации новой записи? Или хотя бы где (в какой схеме) реализована подписка на это сообщение? Переход ведь работает везде, даже на SystemDesigner.

"Смородинов Денис" написал:Вот есть например такое сообщение для перехода по ссылкам:

Вот к этому сообщению я тоже пришёл в итоге.
opencardinchain не работает вообще. И сообщения прописывал, и moduleId с renderTo указывал.
Самое простое (на мой взгляд) сделать insert в нужный объект (создать запись с необходимыми полями),
и потом в колбеке

var page = "ContactPageV2"; //имя схемы страницы редактирования
var entityId = //guid записи
this.sandbox.publish("PushHistoryState", {hash: Terrasoft.combinePath("CardModuleV2", page, "edit", entityId)});

Данила, спасибо.

Я вчера сам уже склонился к такому же решению.

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