Столкнулся с интересным поведением карточки записи.
Создаем новую запись. Добавил на форму кнопку, которая должна: (1) сохранить текущую запись, (2) не закрывая карточку записи, создать несколько связанных записей в подчиненной таблице.
Казалось бы, все просто - добавляем на сценарий вызываемый кнопкой код
IsWindowClose = false;
после чего запись сохранена и создаются в скрипте связанные записи, и так далее.
Но вот нюанс - если сохранение подобным кодом происходит, карточка после этого как-бы переинициализируется - например, если перед вызовом сохранения в области сообщений карточки записи был какой-либо текст, он сбрасывается.
Я что-то упускаю из виду? Может быть, надо добавлять еще что-то для корректной работы карточки записи при таком сохранении?
Нравится
Александр, попробуйте на Init-е страницы подписаться на клик по кнопке таким образом:
ScriptManager.AddScript("{0}.on('click', function(){{ {1}.save(); }})", Page.ApplyButton.ClientID, Page.DataSource.ClientID);
При таком решении нужно убрать серверную обработку (на процессе страницы) кнопки.
Наталия, спасибо! Я так понимаю это подписка на действие сохранения записи, а если мне надо еще и после сохранения выполнить сценарий - его как вызывать? Задача то именно в этом - сохранение вынужденная мера, так как в сценарии будут создаваться подчиненные записи.
Или как то можно вызов сценария добавить в подписку на клик внутрь function() после сохранения?
Александр, попробуйте подписаться на DataSourceSaved.
"Бондарь Наталия" написал:Александр, попробуйте подписаться на DataSourceSaved.
Так оно каждый раз будет срабатывать!! сколько ж я там записей подчиненных насоздаю при сохранениях карточки?
Александр, добрый день!
Если Ваша доп. логика джава-скриптовая (в чем я сомневаюсь, но все же), можете воспользоваться алгоритмом, описанным здесь:
http://www.community.terrasoft.ru/forum/topic/9711#comment-41436
Если же Ваша логика серверная, то вы всё правильно сделали - посмотрите пример в карточке "E-mail". Там, если попытаться отправить письмо по не сохраненной активности, система как раз и предлагает вначале сохранить эту запись.
"Олейник Дмитрий" написал:Если же Ваша логика серверная, то вы всё правильно сделали - посмотрите пример в карточке "E-mail".
Дмитрий, спасибо за примеры, посмотрю!