Скрипт карточки на кнопку-функцию может вернуть набор значений, которые влияют на дальнейшую логику работы карточки. Об этом подробно написано в документации разработчика. Я же хочу немного прокомментировать данные значения. Пояснения актуальны для DocsVision 4.5, 4.5 SR1 и 4.5 SR2
1 - кнопка становится недоступной
- кнопка-функция блокируется, и становится серой
2 - обновить элементы управления карточки
- Данные из CardData карточки будут отображены в элементах управления формы. Во всех полях, за исключением полей на основной вкладке. На ней они останутся без изменения.
4 - установка режима “только чтение” для карточки
- карточка будет переведена в режим "Только чтение". Пользователь не сможет внести изменения в карточку
8 - закрытие карточки
- карточка будет закрыта. При этом если в ней были сделаны изменения, то пользователю будет отображен диалог с предложением сохранения изменений.
Так же будет вызвано событие "закрытие карточки"
16 — немедленное сохранение изменений
- данные из CardData карточки будут отправлены на сервер.
32 — установка флага изменения данных карточки
- при возврате данного значения карточка будет считать, что в неё внесены изменения. При закрытии вызовется соответствующий диалог.
64 — установка флага сохранения изменений
- карточка будет считать, что все изменения сохранены. Диалог при закрытии не будет отбражен. Значения 32 и 64 исключают друг друга.
1024 – установка флага изменения состояния
- карточка отобразит измененное состояние. Т.к. данное поле находится на основной вкладке, то для того, чтобы состояние отобразилось нужен данный флаг
4096 – загрузить номер в карточку (если он был изменен)
- карточка отобразит измененный номер. Т.к. данное поле находится на основной вкладке, то для того, чтобы состояние отобразилось нужен данный флаг
Читать дальше
1 - кнопка становится недоступной
- кнопка-функция блокируется, и становится серой
2 - обновить элементы управления карточки
- Данные из CardData карточки будут отображены в элементах управления формы. Во всех полях, за исключением полей на основной вкладке. На ней они останутся без изменения.
4 - установка режима “только чтение” для карточки
- карточка будет переведена в режим "Только чтение". Пользователь не сможет внести изменения в карточку
8 - закрытие карточки
- карточка будет закрыта. При этом если в ней были сделаны изменения, то пользователю будет отображен диалог с предложением сохранения изменений.
Так же будет вызвано событие "закрытие карточки"
16 — немедленное сохранение изменений
- данные из CardData карточки будут отправлены на сервер.
32 — установка флага изменения данных карточки
- при возврате данного значения карточка будет считать, что в неё внесены изменения. При закрытии вызовется соответствующий диалог.
64 — установка флага сохранения изменений
- карточка будет считать, что все изменения сохранены. Диалог при закрытии не будет отбражен. Значения 32 и 64 исключают друг друга.
1024 – установка флага изменения состояния
- карточка отобразит измененное состояние. Т.к. данное поле находится на основной вкладке, то для того, чтобы состояние отобразилось нужен данный флаг
4096 – загрузить номер в карточку (если он был изменен)
- карточка отобразит измененный номер. Т.к. данное поле находится на основной вкладке, то для того, чтобы состояние отобразилось нужен данный флаг
11 коммент.:
Добрый день, Михаил!
У нас 4.5, хотим чтобы после нажатия кнопки-функции карточка закрывалась без диалога с предложением сохранения изменений, используем последовательность DoEvent = 1 + 2 + 16 + 64 + 8, но диалог все равно появляется.
Какую последовательность нужно использовать, чтобы добиться желаемого?
Достаточно использовать 16 + 64 + 8
сохранение, установка флага, закрытие
Михаил, разрешите еще вопрос!
Написал скрипт, который прикрепляет к карточке файл (копируя его из шаблона карточки файла), предварительно перенеся туда нек. инфу из карточки. Завершаю Doevent = 2. Скрипт работает нормально, но файл становиться видимым только если карточку закрыть/открыть. Подскажите, может вкладку "документы и ссылки" надо как-то специально обновлять?
Не правда, описанный Вами выше вариант закрытия карточки не работает.
Вот сценарий:
1. Пользователь создает карточку
2. Пользователь нажимает на кнопку (DoEvent = 16 + 64 + 8)
В этом случае всегда возникает диалог сохранения изменений! Редакция DocsVision 4.5.1966.0
И при этом DocsVision даже не позаботились о том, чтобы ввести в объектную модель функцию сохранения данных карточки!
evengar:
Вкладка "документы и ссылки" обновляется точно так же, через DoEvent=2
В данном случае это может быть особенность работы определенной версии. Я посмотрю по возможности
myknowledgeshare:
Работает. Проверил на одной из наших машин, которая используется для поддержки:
http://www.youtube.com/watch?v=vJlgkvRVaTo
Может быть влияет какой-нибудь патч.
Данные карточки можно в любом месте скрипта отправить на сервер используя механизм IUpdatable
CardData.Update
А теперь проверьте, пожалуйста, тоже самое для универсального документа.
http://www.youtube.com/watch?v=rvTwds0OB-U
мне следует написать в тех. поддержку или будут какие-то комментарии?
Для универсального документа это ошибка. В версии 1988 она исправлена - только что проверил на данной сборке
Только что проверил на сборке 1988, изменений никаких, при DoEvent = 16 + 64 + 8 возникает абсолютно такое же поведение, как здесь http://www.youtube.com/watch?v=rvTwds0OB-U
Тот же запрос на сохранение изменений.
Михаил, поднимаю еще раз вопрос !
скрипт, который прикрепляет к карточке файл (копируя его из шаблона карточки файла). Завершаю Doevent = 2. Скрипт работает нормально, но файл становиться видимым не всегда, а иногда только если карточку закрыть/открыть.Особенно когда присоединяешь несколько файлов поочереди. Подскажите, может вкладку "документы и ссылки" надо как-то специально обновлять?
Отправить комментарий