RSS Подписка на статьи RSS Подписка на комментарии Панель инструментов

Блог профессионалов стал частью сайта технической поддержки DocsVision http://support.docsvision.com. Новые материалы будут появляться уже на этом сайте.

Поиск

Ярлыки

авто генерация кода (1) Администрирование DocsVision (60) Атрибутивный поиск (3) База данных (24) Базы знаний (1) Безопасность (1) Бизнес-процессы (20) Блог (2) Вы увидите это первыми (1) Групповые политики (1) Диаграммы (2) Задания (2) Интеграция (2) Карточки DocsVision (14) Конструктор Решений (11) Маркетинг и продажи (4) Навигатор (3) Новое (3) Новости (32) Опрос (4) Опросы DocsVision (4) Оптимизация (3) Отчеты (2) Ошибки (1) Поддержка (14) Полезные ссылки (1) Представления (4) Производительность (5) Разбор полетов (18) Разработка для Workflow (7) разработка карточек (2) Разработка на платформе DocsVision (41) Разработка решений (43) Расширение платформы (1) Расширенные отчеты (9) Решения на платформе DocsVision (6) Сервисы DocsVision (3) Сканеры (3) Справочник сотрудников (1) Справочник типов (1) Установка (1) Утилиты (13) Шлюз в SharePoint (8) Штрихкод (2) Cкрипты карточек (7) DocsVision внутри (1) DocsVision Live (1) FileStream (1) FireFox (2) Opera (1) Powershell (5) Safari (1) SharePoint2007 (1) SharePoint2010 (2) Silverlight (1) UltraViews (1) Vista (1)

Особенности обновления скриптов карточек при переходе на 4.5

Ранее разработчики при отладке скриптов в некоторых случаях встречались с ситуациями, когда поля карточек очищались, либо высвобождался номер.В версии 4.5 была несколько изменена логика поведения скриптов карточек.

1. Из скрипта на событие "изменение свойства" записать новое состояние невозможно, т.к. оно всегда перезаписывается на то, что в данный момент выбрано в UI.
Смену состояния надо делать в скрипте кнопки тулбара (функция), сохранения или закрытия.
Для кнопки тулбара есть специальный флаг DoEvent = 1024 показывающий то, что состояние было изменено.

2. При возврате DoEvent=16 - сохранение изменений, значения из вкладки "Основная" будут записаны из UI в CardData. Т.е. если вы в скрипте на кнопку-функцию изменили, например Название карточки, а затем вернули DoEvent=16, то ваши изменения будут затерты значениями из UI. Решением для такого случая будет перенос кода, который изменяет поля, на событие "сохранение". Событие "Сохранение" теперь вызывается каждый раз при возврате DoEvent=16

3. Если карточка только что создана, а в скрипте на кнопку-функцию вы возвращаете флаг DoEvent=64 (установка признака сохранения), то при первом закрытии так же будет отображаться диалог с предложением сохранить карточку. Дело в том, что в 4.5 при первом сохранении создается ярлык на карточку (чего не делается при указании флага 64). Следовательно появляется данный диалог Читать дальше

3 коммент.:

Александр комментирует...

До версии 4.5 проблемы с не сохранением номера в карточке при различных комбинациях использования событий и кнопок тулбара действительно имели место. Но в большинстве случаев их можно было решить.
В версии 4.5 SR1 с введенными изменениями жить легче не стало, а наоборот труднее (на наш взгляд) 
По каждому из нововведений:
1. В практике сценарии изменения состояния из скрипта на изменение значения свойства не использовали, поэтому прокомментировать не могу. На счет введенного флага = 1024 не возражаю
2. Ужасное нововведение. "перенос кода, который изменяет поля, на событие "сохранение"" - только представьте сценарии на событие сохранение в карточке имеющей не одну кнопку тулбара 
3. Диалог то появляется, но не зависимо от принятого решения (сохранить или нет изменения) карточка всё равно сохраняется, ярлык создается, если ещё возвращается 2 и стоит галка "Сохранять изменения", то все данные в карточке, кроме номера документа и обновленного Дайджеста будут сохранены. Т.е. появление диалогового окна лишено всякого смысла. Только способствует появлению целого ряда проблем с отсутствием номеров у документов.
4. Если вернуть DoEvent = 4 + 8 + 64, то в этом случае номер из справочника не освобождается и в карточке не сохраняется. Дайджест также не обновляется.
5. А ранее введенный специальный флаг 4096 - флаг изменения номера в сценарии, в 4.5 носит ровно противоположный характер - это признак того, что номер нужно изменить. - Ещё одно не документированное нововведение.
Прошу всех кто имел счастье перейти на 4.5 высказаться по поводу этих изменений.
Устраивают ли Вас эти изменения (готовы ли переписывать Ваши сценарии) или же пусть разработчики платформы вернут функциональность в прежнее состояние с исправлением ошибок, ради которых вводились эти изменения?

rakhmet0ff комментирует...

Нововедения под пунктами 2 и 3 это пример того, что "лучшее - враг хорошего" или изменение логики ради лишения всякой логики?

Unknown комментирует...

Я так понимаю, именно из-за этого я не могу кнопкой-свойством выполнить скрипт, который бы вёл лог в текстовом поле-свойстве? Мне надо, чтобы при нажатии на кнопку на форме выполнялась некая sql-операция и вёлся при этом лог в соседнем текстовом поле. Что странно, через DV Explorer значения Value нужного мне текстового поля меняется и сохраняется. А скрипт,видимо, после выполнения всё затирает данными из UI.

Отправить комментарий