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

Замена формы документа

29.11.2009, 13:50. Показов 22578. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
задача простая - при сохранении нового(только нового) документа нужно его форму заменить,

LotusScript
1
2
3
4
5
...
If Source.IsNewDoc Then
Call Source.Document.ReplaceItemValue("Form", "temp_f_company")
End If
...
пробовала все возможные варианты, в querysave, и в Queryclose,
и кнопку свою с обработчиком ставлю, ничего не получается.
что что, а форму документа заменить не получилось. вопрос почему?

ps понятно что остается создавать новые доки по форме temp_f_company, просто интересует почему заменить форму не вышло.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.11.2009, 13:50
Ответы с готовыми решениями:

изменение формы текущего документа
Добрый день! А не подскажите как можно изменить форму текущего (открытого) документа. Когда я пишу вот так по событию querysave ,...

Открытие формы\документа во фрейме
Всем привет. Столкнулся с проблемой, пока не знаю как её разрулить (все в web) 1. Есть frameset, в нём два фрейма: верхний(в нем...

Запрет сохранения документа при открытии формы
Как сделать так, чтобы при открытии формы устанавливалось поле, которое запрещает сохранение документа. При попытках сделать через формулы...

16
0 / 0 / 0
Регистрация: 04.10.2007
Сообщений: 2,977
29.11.2009, 13:52
поле "Form" на форме поцепи
0
0 / 0 / 0
Регистрация: 04.08.2008
Сообщений: 408
29.11.2009, 14:07
В пост сэйв надо. Если документ только создается, то уидок.документ будет ничто. После первого сохранения он появится. И тогда можно пробовать заменить.
0
0 / 0 / 0
Регистрация: 19.04.2009
Сообщений: 2,219
29.11.2009, 14:15
Цитата Сообщение от xalet
В пост сэйв надо. Если документ только создается, то уидок.документ будет ничто. После первого сохранения он появится. И тогда можно пробовать заменить.
В постсэйве Source.IsNewDoc = False полюбому. Поэтому:
1. Объявляем в глобалс документа

Code
1
Public IsNewDoc as Boolean
2. В кверисэйв пишем

Code
1
If Source.IsNewDoc Then IsNewDoc = True
3. В постсэйве пишем

Code
1
2
3
If IsNewDoc Then
Call Source.Document.ReplaceItemValue("Form", "temp_f_company")
End If
0
Tyo
29.11.2009, 14:26
Цитата Сообщение от nvy
3. В постсэйве пишем
Вот только если после п.3 документ закрыть, то новое значение Form не сохранится. Вобщем, пользуйте поле на форме, как Akupaka советовал.
0 / 0 / 0
Регистрация: 16.07.2009
Сообщений: 110
29.11.2009, 14:39
гм. а так заработало...


LotusScript
1
2
3
4
5
6
7
8
9
10
11
12
13
Sub Querysave(Source As Notesuidocument, Continue As Variant)
If Source.IsNewDoc Then
Call Source.Document.ReplaceItemValue("NewField", "1")
End If
End Sub
 
Sub Queryclose(Source As Notesuidocument, Continue As Variant)
If Source.Document.GetItemValue("NewField")(0) = "1" Then
Call Source.Document.ReplaceItemValue("Form", "temp_f_company")
Call Source.Document.ReplaceItemValue("NewField", "0")
Call Source.Document.Save(True, False, FALSE)
End If
End Sub
Добавлено: тему еще одну открывать не хотелось бы,
вопрос -
есть ли какой-нибудь способ отличить: из дизайнера агент запускается или с клиента-сервера?
0
0 / 0 / 0
Регистрация: 12.10.2007
Сообщений: 522
29.11.2009, 14:51
Сomputed поле Form не подойдет)
Мой пример: в бд есть форма с таблицей Show only one row at a time(закладки)
Так вот нужно было сделать несколько кнопок, при click что бы по умолчанию открывалась определенная закладка.
Скриптом не стал делать (нужно было весь код на PostOpen переносить на кнопки).
Сделал несколько форм и поля $My_Table куда и пишу название закладки

В форме есть поле Form - Computed, где и должно идти переименование формы.

Так вот у некоторых при сохранении поле Form=""

Может, я что то неправильно делаю))
0
0 / 0 / 0
Регистрация: 19.04.2009
Сообщений: 2,219
29.11.2009, 14:59
Цитата Сообщение от nadezdaMP
гм. а так заработало...
Ну, собственно это то же самое, что я рекомендовал, только Вы сохраняете признак "новизны" документа не в глобальной переменной, а в поле. На мой взгляд, не стоит засорять документ лишними полями, так что лучше заменить

Code
1
      Call Source.Document.ReplaceItemValue("NewField", "0")
на

Code
1
      Call Source.Document.RemoveItem("NewField")
0
0 / 0 / 0
Регистрация: 04.10.2007
Сообщений: 2,977
29.11.2009, 15:32
Цитата Сообщение от TIA
Вобщем, пользуйте поле на форме
партия не ищет легких путей



Цитата Сообщение от susinmn
Может, я что то неправильно делаю))
"видимо что-то случилось!" (с)
0
Tyo
29.11.2009, 15:40
Цитата Сообщение от nadezdaMP
гм. а так заработало..
А теперь создайте новый документ и попробуйте закрыть без сохранения.
0 / 0 / 0
Регистрация: 12.10.2007
Сообщений: 522
29.11.2009, 15:46
Цитата Сообщение от Akupaka
партия не ищет легких путей


"видимо что-то случилось!" (с)
Ага, не пойму в чем дело. у некоторых работало нормально, у некоторых поле Form="". "то ли сани не едут, то ли..."©
0
0 / 0 / 0
Регистрация: 04.10.2007
Сообщений: 2,977
29.11.2009, 15:47
Цитата Сообщение от TIA
А теперь создайте новый документ и попробуйте закрыть без сохранения
дык Querysave не отрабатывал, ничего не должно случится, не?
0
Tyo
29.11.2009, 16:01
Цитата Сообщение от Akupaka
дык Querysave не отрабатывал, ничего не должно случится, не?
Хм... Да, фальтстарт. Извиняюсь.
Всё равно так не кузяво, с полем лучше.

Хотя, стоп. Сценарий:
1. Содаём новый документ
2. Пользователь заполняет поля
3. Сохраняет БЕЗ ЗАКРЫТИЯ
4. Пользователь ещё заполняет поля
5. Не хочет сохранять то, что в п.4. Закрывает без сохранения.

Сохранилось то, что не хотелось (п.4)
0 / 0 / 0
Регистрация: 04.10.2007
Сообщений: 2,977
29.11.2009, 16:09
Цитата Сообщение от TIA
Сохранилось то, что не хотелось
конечный результат вычисления значения поля Form единый для всех случаев, поэтому частный случай нельзя отнести к ошибкам

зы: не универсально, но все же...
зы2: но с полем мне тоже больше нравится ))
0
Tyo
29.11.2009, 16:35
Цитата Сообщение от Akupaka
конечный результат вычисления значения поля Form единый для всех случаев, поэтому частный случай нельзя отнести к ошибкам
Конечным результатом пушечного выстрела по воробьям был один убитый воробей, поэтому частный случай уничтожения соседней деревушки нельзя отнести к ошибкам применённого метода охоты.
Такая вот логика?

P.S. Двойной сэйв -- тоже очень некачественное решение.
0 / 0 / 0
Регистрация: 04.10.2007
Сообщений: 2,977
29.11.2009, 16:40
Цитата Сообщение от TIA
Такая вот логика?
0
0 / 0 / 0
Регистрация: 16.07.2009
Сообщений: 110
30.11.2009, 09:25
спасибо всем за помощь!))))))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.11.2009, 09:25
Помогаю со студенческими работами здесь

Загрузка Конкретного Документа При Открытии Формы Во Фреймсете
Поиск организован следующим образом: во фреймсете сверху форма с параметрами поиска и кодом, заполняющим папку внизу фреймсета, все это...

Замена названия формы ставить имя из текстового документа
Привет всем: Помогите пожалуйста как заменить form1.caption названия формы ??? пример открываю текстовый документ так if...

Как изменить текст надписи формы документа при записи документа
Здравствуйте уважаемые, у меня простой вопрос - как мне при записи документа изменить надпись на форме, нужный код я написал, как мне...

С формы списка документа изменить данные самого документа 1С 8.2 Управляемое приложение
Есть документ ЗаказКлиента с формой документа и с формой списка (формы управляемые). Есть у документа реквизит Выполнен тип Булево, и надо...

Проведение документа из модуля формы документа
Столкнулся с такой проблемой. Нужно провести документ из формы документа. Побывал на многих сайтах и ничего путного не нашел только вот...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
YAFU@home — распределённые вычисления для математики. На CPU
Programma_Boinc 20.01.2026
YAFU@home — распределённые вычисления для математики. На CPU YAFU@home — это BOINC-проект, который занимается факторизацией больших чисел и исследованием aliquot-последовательностей. Звучит. . .
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru