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

Programmable Tables: Как Узнать Какая Вкладка Таблицы Открыта У Пользо

25.12.2012, 16:49. Показов 13469. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вкраце задача:
На форме документа есть таблица с вкладками, вкладки настроены на переключение как программно, так и вручную пользователем.
Документ пользователю доступен только на чтение, но есть кнопки, которые запускают агента на сервере и изменяют документ, после этого документ переоткрывается. Все хорошо, но для некоторых таких кнопок по контексту непонятно, какая открыта вкладка, и зачастую открывается не та вкладка, на которой был пользователь.
Вопрос:
Можно ли как-то узнать какая вкладка сейчас показывается, если документ открыт в режиме чтения?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.12.2012, 16:49
Ответы с готовыми решениями:

Creating Programmable Tables
Можно ли переключать вкладки такой таблицы в режиме чтения документа без его переоткрытия?

Можно ли проверить, какая вкладка открыта?
как то на jquery можно проверить какая вкладка открыта и в случае обновления страницы оставить ее открытой

Определить, какая вкладка TabPage открыта в данный момент
Каким образом можно отслеживать, какая вкладка tabpage открыта в данный момент, чтобы при разных активных вкладках нажатие на кнопку...

16
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
25.12.2012, 17:25
разве управляющее поле не содержит текущего значения, если оно CFD?
0
0 / 0 / 0
Регистрация: 08.08.2009
Сообщений: 178
25.12.2012, 17:46
Пробовал ставить CFD. В качестве формулы само поле.
В результате оно стало только криво обновляться в режиме редактирования. В режиме чтения все так же нет обновления вообще.
0
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
25.12.2012, 17:50
а Edit сделать?
а значения прописывать так

LotusScript
1
CurrDoc.ReplaceItemValue("$TableID","InfoTab").savetodisk = False
CurrDoc - NotesDocument, глобальный объект определяемый в PO.
При таком подходе можно будет получать значения, но после переоткрытия документа или его обновлении значение может сброситься.
Еще вариант в notes.ini прописать, это самое простое.
0
0 / 0 / 0
Регистрация: 08.08.2009
Сообщений: 178
25.12.2012, 18:11
Цитата Сообщение от savl
а Edit сделать?
а значения прописывать так

LotusScript
1
CurrDoc.ReplaceItemValue("$TableID","InfoTab").savetodisk = False
CurrDoc - NotesDocument, глобальный объект определяемый в PO.
При таком подходе можно будет получать значения, но после переоткрытия документа или его обновлении значение может сброситься.
Еще вариант в notes.ini прописать, это самое простое.
Перевод в режим редактирования невозможен.
Или вы предлагаете скрыть вкладки и подсунуть вместо них свои кнопки? Тогда все равно переключение работать не будет - документ-то нередактируем, изменения back-end не транслируются во front-end.
0
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
25.12.2012, 18:16
ну здрасте...
используйте:

LotusScript
1
Call currUIdoc.RefreshHideFormulas
, а не Refresh.
Тогда и в режиме чтения будет работать и в редактировании.
И да, вкладки предлагаю скрыть и подсунуть свои кнопки.
0
1 / 1 / 0
Регистрация: 07.12.2009
Сообщений: 1,197
26.12.2012, 00:08
Цитата Сообщение от savl
но после переоткрытия документа или его обновлении значение может сброситься.
При пере/открытии определять, если item "$TableID" в доке есть, то не перепрописывать.
0
0 / 0 / 0
Регистрация: 09.12.2012
Сообщений: 101
26.12.2012, 07:28
Перевод в режим редактирования невозможен.
Или вы предлагаете скрыть вкладки и подсунуть вместо них свои кнопки? Тогда все равно переключение работать не будет - документ-то нередактируем, изменения back-end не транслируются во front-end.
Сталкивались с подобной проблемой, как ни странно помогло присваивание.... собаками... через Evaluate, в качестве параметра отправляли Source.Document
0
0 / 0 / 0
Регистрация: 19.04.2009
Сообщений: 2,219
26.12.2012, 09:16
Насколько я помню, чтобы нормально работало программное переключение вкладок в режиме чтения, поле на форме должно отсутствовать.
0
0 / 0 / 0
Регистрация: 04.11.2007
Сообщений: 3,019
26.12.2012, 12:32
как мелко вы мыслите :(

вставте на каждую вкладку ембедедвью а у виде на постопене в ини вносите название вкладки которая открылась и благодаря ини будете знать на какой вкладке ;)
ну это для настоящих хардкорщиков ;)

а на деле нарисуйте псевдовкладки - обманки а настоящие таблицы через формулы скрытия и тогда спокойно юзайте ини или профайл для сохранения какая вкладка у пользователя - тогда хоть для однотипным доков можно сразу нужную вкладку открывать
0
kpotrom
26.12.2012, 17:00
на песевдокнопках код:

LotusScript
1
2
3
4
5
Dim ws As New NotesUIWorkspace
Dim uid As NotesUIDocument
Set uid = ws.CurrentDocument
Call uid.Document.ReplaceItemValue("$table", "имя нужной вкладки")
Call uid.RefreshHideFormulas
по крайней мере у меня работает корректно и никогда проблем не возникало
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
26.12.2012, 17:50
Цитата Сообщение от gpatron
на песевдокнопках код:

LotusScript
1
2
3
4
5
Dim ws As New NotesUIWorkspace
Dim uid As NotesUIDocument
Set uid = ws.CurrentDocument
Call uid.Document.ReplaceItemValue("$table", "имя нужной вкладки")
Call uid.RefreshHideFormulas
по крайней мере у меня работает корректно и никогда проблем не возникало
вопрос был про Read режим (не Edit)
0
kpotrom
26.12.2012, 17:52
Цитата Сообщение от lmike
вопрос был про Read режим (не Edit)
это работает и в режиме чтения
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
26.12.2012, 17:56
если нужен персистент обжект (для формы) - то зачем писать в поле?
0
kpotrom
26.12.2012, 18:01
ну вроде таким образом (через изменение поля) выводятся нужные вкладки программируемой таблицы
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
26.12.2012, 18:03
сори - понял схему (невтупил сразу про кнопки)
не знаю - согласится ли топикстартер на подобное изменение дизайна приложения
0
kpotrom
26.12.2012, 18:11
если я правильно понял суть проблемы такова:
человек открывает документ в режиме чтения, прогуливается по нужным вкладкам таблицы, нажимает на кнопочку и в документ с помощью агента вносятся необходимые данные, после этот документ должен переоткрыться пользователю, причем должна открыться именно та вкладка таблицы на которой он был до запуска агента.
если это так - то у меня такая же задача решена именно таким образом (с помощью псевдокнопок с приведенным выше кодом)

ну а насчет согласится или нет.. так, как говорится "Хозяин - барин"
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.12.2012, 18:11
Помогаю со студенческими работами здесь

TabControl как узнать в обработчике, какая страница открыта?
while () { TabPage tabPage = new System.Windows.Forms.TabPage(); ...

Как программно узнать какая страница открыта в браузере
Как программно узнать какая страница открыта в браузере, если это нельзя сделать на c# то на каком языке можно? Какой браузер неважно.

TabControl: узнать, какая вкладка активна
Вот делаю упрощеный блокнот, но зато с вкладками, в процесе обучения. Решил прикрутить сохранение и открывание файлов. Но как открыть файл...

Можно ли узнать, какая папка была открыта в проводнике в момент нажатия горячих клавиш?
например у меня есть на рабочем столе ярлык для запуска моей проги или батника. у ярлыка есть горячие клавиши. Вот я нахожусь в проводнике...

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


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью в конфигурации КА2. Данные берутся из регистра сведений, по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru