Форум программистов, компьютерный форум, киберфорум
HCL Notes: Программирование
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/78: Рейтинг темы: голосов - 78, средняя оценка - 4.85
0 / 0 / 0
Регистрация: 25.11.2008
Сообщений: 85

Проблема. Сохранение и переоткрытие документа.

30.10.2010, 08:17. Показов 14670. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задача в следующем:
Пользователь открывает документ. Нажимает кнопочку н-р: "зарегистрировать".
1) производятся некоторые изменения в текущем документе. (независимо от того, в режиме редактирования или просмотра док.)
2) изменения сохраняются. (прозрачно для пользователя)
3) документ переоткрывается чтоб изменения отобразились.

Вот наткнулся на такой код:

While Not doc.Save(False,False) Между делом поясните мне смысл этой нетривиалльно конструкции? зачем сохранять до тех пор пока не тРу?
Wend
Call uidoc.Close(True)
Call ws.EditDocument(False,doc)

Он работает как надо, но при выполнении этого кода сохраненный док открывается в новом окне!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.10.2010, 08:17
Ответы с готовыми решениями:

Сохранение документа
Доброго всем времени суток. Подскажите. Почему появляется вот такая ошибка. You are Not Authorized to perform that operation Ошибка...

Сохранение документа ответа
Как пересохранить документ который является ответом так что бы и после сохранения он остался ответом?

Сохранение документа в Web
Всем добрый день. Есть форма, на ней поле Body(скрыто от веба), и компьютед текст: "<textarea name=\"Body\"...

6
0 / 0 / 0
Регистрация: 15.05.2009
Сообщений: 1,454
30.10.2010, 12:26
Цитата Сообщение от NeoSimvolist
Call ws.EditDocument(False,doc)
есть какой-то там по счету параметр - newInstance, отвечающий за открытие в том же\новом окне, посмотрите внимательно параметры.
0
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
30.10.2010, 20:46
Цитата Сообщение от NeoSimvolist
Call uidoc.Close(True)
Call ws.EditDocument(False,doc)

Он работает как надо, но при выполнении этого кода сохраненный док открывается в новом окне!
зекундочку - а чё за фокус - ведь закрыли окно (Close)! Следующее будет новым :welcome: - не?
0
1 / 1 / 0
Регистрация: 07.12.2009
Сообщений: 1,197
30.10.2010, 22:58
Цитата Сообщение от NeoSimvolist
While Not doc.Save(False,False) Между делом поясните мне смысл этой нетривиалльно конструкции? зачем сохранять до тех пор пока не тРу?
Wend
Я точно изменил бы этот код, т.к. если док после отображения на экране изменил агент, то True не вернётся никогда, т.е. код застынет в бесконечном цикле, а потом выпадет по ошибке.
Если такого ни разу ещё не случалось, то это не гарантирует что в будущем такое не случится.
0
0 / 0 / 0
Регистрация: 25.11.2008
Сообщений: 85
31.10.2010, 05:35
Ребяты, мне нужно сделать так, чтобы нажав на кнопочку в контексте открытого дока (независимо от того в режиме просмотра или в режиме редактирования), в определенные поля вбились данные и док сохранился сразуже.
А если программно не сохранять, то пользователь может закрыть документ не сохраняя и толку от того, что нажимали кнопку нема!.
und?
0
0 / 0 / 0
Регистрация: 17.12.2008
Сообщений: 420
31.10.2010, 11:34
А добавьте в кнопку конструкцию типа если не EditMode то переводить в EditMode, теперь вбиваете в определенные поля данные, тут же сохраняете документ... Что-то вроде:

Code
1
2
3
4
5
6
7
Set DocUI = Wsp.CurrentDocument
Set Doc = DocUI.Document
DocUI.EditMode = True
вносите изменения
Call DocUI.Refresh
Call Doc.save( True, True, True)
DocUI.EditMode = False
0
1 / 1 / 0
Регистрация: 07.12.2009
Сообщений: 1,197
31.10.2010, 12:30
Цитата Сообщение от NeoSimvolist
Ребяты, мне нужно сделать так, чтобы нажав на кнопочку в контексте открытого дока (независимо от того в режиме просмотра или в режиме редактирования), в определенные поля вбились данные и док сохранился сразуже.
Это неправильно [Save(True, True)], т.к.
- во-1, пользователю не даётся возможности отменить своё действие (это может быть оправдано только для режима чтения);
- во-2, открывается возможность создания конфликта, а также возможность затереть данные записанные другим процессом от этого же пользовате6ля.



Цитата Сообщение от NeoSimvolist
А если программно не сохранять, то пользователь может закрыть документ не сохраняя и толку от того, что нажимали кнопку нема!.
И это правильно, т.к.
- если пользователь будет закрывать документ без сохранения, то ему вылетит сообщение о том, что док не сохранён, и он сможет это сделать (если это нужно) или не сделать (если он передумал), т.е. есть возможность самому принять решение;
- уменьшается вероятность возникновения ситуаций, в которых возможны "недоразумения"..

Если уж так хочется отобрать у пользователя возможность отменить действие (правда я не понимаю, зачем?), то для режима редактирования нужно пытаться сохранять документ соответствующим ему методом, т.к. NotesUIDocument.Save().
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
31.10.2010, 12:30
Помогаю со студенческими работами здесь

Сохранение вложений документа
Приветствую Подскажите пожалуйста как правильно сохранить, через LS вложения поля (Body) текущего документа. нашел через Help...

Повторное сохранение документа
Здравствуйте, у меня возник следующий вопрос: При повторном сохранении нового документа вылазит ошибка "Another copy of thys...

Переоткрытие Родителя
Доброго времени суток, уважаемые! Помогите пожалста разобраться... Существует документ-родитель, к которому создается дочерний...

Запрет На Переоткрытие Вкладки
Добрый день. Возникла проблема. Есть приложение, вход в которое идет через специальную стартовую форму. Также у пользователей активна...

Проблема печати документа
Всем привет! Суть проблемы: При попытке напечатать документ командой @Command(); выдает ошибку "Не удается выполнить указаную...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru