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

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

29.11.2009, 13:50. Показов 22609. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru