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

Список Прикрепленных Файлов На Форме

20.10.2011, 09:37. Показов 22878. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Может быть есть у кого рецепт или идея как сделать такое:

К форме могут прикрепляться различные файлы (их число заранее неизвестно).
Желательно представить эти attachment-ы в виде списка для того чтобы пользователю было удобно с ними работать (открыть или сохранить необходимый ему файл из списка, прикрепить новый attachment и.т.д)
Все это должно работать в десктопном клиенте Notes.

Вот примерный вид как это могло бы выглядеть (скрины взяты с web-сайта, понятно что на Lotuse вид может быть другой, суть в том чтобы было в виде списка)





Есть у кого идеи как это можно сделать в Lotus ?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.10.2011, 09:37
Ответы с готовыми решениями:

Список прикрепленных файлов
Подскажите, пожалуйста, как можно в вычисляемое поле вывести список прикрепленных файлов поля RichText. Формула @AttachmentNames выводит...

Ссылки в прикрепленных файлов
В общем есть сайт, СДЛ. На него есть естественные ссылки. Недавно обнаружил одну статью, в которой ссылались на мой материал. На другом...

Фоновая печать прикрепленных файлов
Всем привет! Такая задача: у документа прикреплено несколько файлов разных форматов. Например pdf, tif, txt, bmp. Требуется в фоновом...

19
0 / 0 / 0
Регистрация: 04.10.2007
Сообщений: 2,977
20.10.2011, 10:15
Многие делают вложения одтельно от обрабатываемого документа. Часто даже в отдельной БД.
Если вложения будут отдельными документами в той же БД, то встроенный вид - как хочешь, так и представляй.
Если в другой БД, придется играться с отображением и работой со списком вложений через поля, формировать удобочитаемый вид и т.п.
Если есть возможность глянуть как работает Босс-Референт, то можно увидеть наглядно как это реализовано, но там весьма сложная реализация (если мало опыта) ввиду сложного функционала.
0
0 / 0 / 0
Регистрация: 10.10.2009
Сообщений: 80
20.10.2011, 10:34
Цитата Сообщение от Akupaka
Многие делают вложения одтельно от обрабатываемого документа. Часто даже в отдельной БД.
Если вложения будут отдельными документами в той же БД, то ...
К сожалению вложения это обычные файлы (в основном MS Word файлы, возможно и небольшие архивы zip )
0
0 / 0 / 0
Регистрация: 19.04.2009
Сообщений: 2,219
20.10.2011, 11:38
В QueryOpen документа пробегайтесь по notesRichTextItem.EmbeddedObjects и формируйте список в поле списка. Можно также выводить в диалоге.
Для списка удобно использовать моноширинный шрифт.
0
0 / 0 / 0
Регистрация: 10.10.2009
Сообщений: 80
22.10.2011, 09:10
nvy,
спасибо за совет.
Остается самый главный вопрос как сделать этот список динамическим?
Т.е. задача чисто интерфейсная.
При добавлении нового файла в списке должно появляется новая строка.
Пользователь может выделять нужную ему строку и нажав на кнопку "открыть" приаттаченный файл(выделенная строка) должен открываться.

Обычный ListBox для этого не подходит, так как не позволяет выделять строку в режиме чтения
0
0 / 0 / 0
Регистрация: 15.05.2009
Сообщений: 1,454
22.10.2011, 11:17
qwerty
у доджо есть возможность рисования таблички. возможно, через икспейджи это можно заюзать на клиенте? И еще - если для винды - где-то юзали через эмбеддед едитор форму, на которой стандартный ListView control.
0
0 / 0 / 1
Регистрация: 30.06.2007
Сообщений: 2,153
23.10.2011, 11:28
>Остается самый главный вопрос как сделать этот список динамическим?
Что насчёт NotesUIWorkspace.Prompt с type = PROMPT_OKCANCELLIST (4) или PROMPT_OKCANCELLISTMULT (7)
0
0 / 0 / 0
Регистрация: 30.12.2007
Сообщений: 583
23.10.2011, 11:31
qwerty я б на вашем месте послушал Akupaka. етот вариант очен прост в реализации и отвечает вашим требованиям на 100%. но если ваши юзера работают через веб тогда уж слушайте OKEN и пробуйте через xPages
0
0 / 0 / 0
Регистрация: 26.05.2006
Сообщений: 1,313
23.10.2011, 12:13
Цитата Сообщение от qwerty
..
При добавлении нового файла в списке должно появляется новая строка.
Пользователь может выделять нужную ему строку и нажав на кнопку "открыть" приаттаченный файл(выделенная строка) должен открываться.
...
Обычный ListBox для этого не подходит, так как не позволяет выделять строку в режиме чтения
Видел в одной СЭД такую реализацию: в форму внедряется MS Control вместо "родного".
Функционал - именно тот, что тебе требуется, НО:
1.Этот COM (реализующий контрол) есть НЕ НА ВСЕХ клиентах (зависит от установленного MS-софта)
2.Глюки с именами файлов в национальной кодировке и др.редкими символами (типа кавычек)
0
0 / 0 / 0
Регистрация: 19.04.2009
Сообщений: 2,219
23.10.2011, 13:32
> При добавлении нового файла в списке должно появляется новая строка.
Что мешает обновить список после добавления вложения?

> Пользователь может выделять нужную ему строку и нажав на кнопку "открыть" приаттаченный файл(выделенная строка) должен открываться.
> Обычный ListBox для этого не подходит, так как не позволяет выделять строку в режиме чтения
Можно открывать не сам документ, а "на лету" создавать его двойника (без вложений, разумеется) и открывать его в режиме редактирования.

Но, кмк, лучше всё-таки через внедрённое представление.
0
0 / 0 / 0
Регистрация: 10.10.2009
Сообщений: 80
23.10.2011, 16:29
Цитата Сообщение от nvy
Но, кмк, лучше всё-таки через внедрённое представление.
Решил так и делать, но столкнулся с такой проблемой.

Предположим пользователь открыл главный документ (заявка).
Начал прикреплять файлы - т.е. создаются дочерние доки с вложениями.

Возникают две проблемы.

1)Что делать если пользователь решил не сохранять главный документ (т.е. по сути вложения файлов отменяются) - дочерние доки с вложениями ведь уже сохранены.

2)Предположим что пользователь прикрепил уже несколько файлов но не сохранил (продолжает добавлять файлы), другой пользователь открывший этот док на просмотр будет видеть во внедренном представлении дочерние доки-вложения не сохраненного документа (проблема по сути вытекает из первой)


Если же создавать дочерние документы-вложения только на сохранение главного документа, то снова возникает та же проблема а как показывать редактирующему пользователю прикрепляемые им в данный момент файлы.
0
0 / 0 / 0
Регистрация: 04.12.2004
Сообщений: 3,329
23.10.2011, 16:47
Не давать добавлять вложения без сохранения главного документа.
Или при сохранении вложения сохранять главный документ.
0
1 / 1 / 0
Регистрация: 07.12.2009
Сообщений: 1,197
23.10.2011, 19:21
Вроде можно было на HTML табличку забабахать, в которой отображать ссылки на доки вложенные в этот же документ. Или нет?
0
0 / 0 / 0
Регистрация: 15.05.2009
Сообщений: 1,454
23.10.2011, 19:44
VladSh
можно, но надо при изменении переоткрывать в лотусе документ, емнип
0
0 / 0 / 0
Регистрация: 04.10.2007
Сообщений: 2,977
23.10.2011, 23:03
Цитата Сообщение от qwerty
Начал прикреплять файлы - т.е. создаются дочерние доки с вложениями
Как мне кажется, лучше тут без родственной связи обойтись. Привязку делать по ключу, например, по униду документа к которому создаются вложения. Представление отображающее вложения соответственно отображать с фильтром по ключу.
Правда, если нужно отображать где-то в других видах подчиненность, то придется симмулировать родственную связь через т.з. "Default $REF"
В общем, свои плюсы и минусы. Возможно мой опыт не совпадает с общепринятым. Но чем меньше родственных связей, тем лучше :gigi:



Цитата Сообщение от VladSh
Вроде можно было на HTML табличку забабахать
Придется играть с перегрузкой документа, кто знает, будет ли это удобней. Плюс оно постоянно норовит криво отображаться... Я этот способ ставлю в конец очереди.



Цитата Сообщение от qwerty
Возникают две проблемы.
1. Можно отмечать вложения как временные. При сохранении главного документа - убирать флаг в документах вложений. Если не сохранили, то либо улавливать данный момент и удалять документы вложений, либо каким-то шедульным агентом удалять время от времени, например, ночью, когда все спят =)

Проще всего, как писал Medevic, не давать до сохранения главного документа впервые, добавлять вложения.

2. Аналогично, отметка отображающая документ вложений всем пользователям или только автору. Тут придется играть с фильтрацией данных в представлении или ограничивать доступ на чтение этих "несохраненных" документов вложений только узкому кругу лиц - автору, админам (роль!), серверу.

Хотя, если честно, то второй проблемы я не вижу. Пользователь одновременно работает либо с главным документом, либо с документом вложения. Т.е. если он нажал кнопку создать вложение, указал файл, нажал сохранить вложение (или как там у тебя реализован порядок), т.е. как только он согласился, что именно этот файл он добавляет в текущий момент, то вложение сразу становятся доступны другим пользователям, без необходимости сохранять главный документ при добавлении вложения.
Но, правила игры следует озвучить заранее! Пользователи должны быть уведомлены, что система работает именно так, как ты реализуешь, что вложения могут быть добавлены во время просмотра и т.п. Либо, должны быть оговорены и реализованы ограничения, например, пока документ на стадии добавления вложений, другие пользователи его не видят.
0
1 / 1 / 0
Регистрация: 07.12.2009
Сообщений: 1,197
24.10.2011, 12:27
Цитата Сообщение от Akupaka
Придется играть с перегрузкой документа, кто знает, будет ли это удобней. Плюс оно постоянно норовит криво отображаться... Я этот способ ставлю в конец очереди.
"Перегрузкой", - в смысле "переоткрытием"? Так с этим проблем уж давно нет, тем более сейчас, когда пользователи даже заметить не успевают, что док "дёрнулся". Серьёзная проблема при переоткрытии одна - если надо открыть сложную форму с таблицами, секциями, в том же состоянии, в котором она была до закрытия..
Мне наоборот именно этот вариант нравится. т.к. не надо городить огород на пустом месте. Причём, если проект когда-то будет под web, то код для отображения, считай, есть.
0
0 / 0 / 0
Регистрация: 04.10.2007
Сообщений: 2,977
24.10.2011, 12:55
Цитата Сообщение от VladSh
т.к. не надо городить огород на пустом месте
Да это огород и есть, в отличии от встроенного вида. Это костыли для красивого отображения ссылок на документы, если документы находятся в другой БД (если рассматривать конкретно данный случай применения).
А с переоткрытием как таковым проблем нет, есть проблемы с корректной обработкой этого процеса, в некоторых случаях.
0
1 / 1 / 0
Регистрация: 07.12.2009
Сообщений: 1,197
24.10.2011, 13:26
Цитата Сообщение от Akupaka
Это костыли для красивого отображения ссылок на документы
Под web это костылём не назовёшь, это как раз нормально.



Цитата Сообщение от Akupaka
если документы находятся в другой БД.
Если чисто клиентское приложение, то можно попробовать Composite Application. Хотя когда-то обещали, что оно и под web работать будет (я не проверял).



Цитата Сообщение от Akupaka
(если рассматривать конкретно данный случай применения)
В конкретно данном случае человек не спрашивал за хранение в другой базе, ему это предложили/навязали, поэтому и предлагаю альтернативный вариант.

Заодно смежный вопрос: давно заметил, что при открытии документа, в котором есть большие (десятки мегабайт) вложения, он открывается медленно.. и чем больше объёма вложений, тем больше тормозит. А иногда не тормозит, но и док этот ни разу не открывался.
Интересно, от чего это зависит? Может от видимости полей, в которые вложены файлы? /сложность протестить ещё и в том, что такое не всегда наблюдается, а как хочешь протестить, то этот "эффект" исчезает/ Кто-то смог проэкспериментировать: поскрывать все поля, в которых вложения, и протестить скорость загрузки?
0
0 / 0 / 0
Регистрация: 19.04.2009
Сообщений: 2,219
24.10.2011, 13:32
Цитата Сообщение от Constantin A Chervonenko
Видел в одной СЭД такую реализацию: в форму внедряется MS Control вместо "родного".
Функционал - именно тот, что тебе требуется, НО:
1.Этот COM (реализующий контрол) есть НЕ НА ВСЕХ клиентах (зависит от установленного MS-софта)
2.Глюки с именами файлов в национальной кодировке и др.редкими символами (типа кавычек)
Кста, можно аналогично и соответствующий java-апплет ввернуть. Только его ещё надо написать...

Добавлено
Информация к размышлению: Java-апплет: альтернатива встроенному представлению
0
0 / 0 / 0
Регистрация: 04.10.2007
Сообщений: 2,977
24.10.2011, 14:55
Цитата Сообщение от VladSh
В конкретно данном случае человек не спрашивал за хранение в другой базе, ему это предложили/навязали, поэтому и предлагаю альтернативный вариант
Ты предлагаешь не альтернативный вариант, ты ведь говоришь о представлении данных, а не о хранении.
Я же к этому и говорю, что в случае, если вложения хранить документами в другой БД, твой вариант удобен, потому как внедренное представление из другой БД сделать сложнее (есть некоторые ограничения на работу с шаблоном и рабочей БД). Если же вложения хранятся в этой же БД отдельными документами, то твой вариант реализовывать трудозатратнее, да и не так удобно выглядит интерфейс, как внедренное представление. Если же вложения сидят в текущем документе, то, имхо, вообще выдумывать велосипед без толку.
Я не говорю, что твой вариант плох или еще что-то в этом роде, он по-своему интересен, но не всегда оптимален
И говорим мы о нотес-клиенте пока что, поэтому не к месту сравнивать в стиле "что под нотес костыль, то под веб нормально".

Композиты, кмк, тоже тут цеплять можно разве что для изучения технологии (к стати, интересный пример), но это сложная реализация, да и ограничена версией клиента.



Цитата Сообщение от VladSh
Заодно смежный вопрос: давно заметил, что при открытии документа, в котором есть большие (десятки мегабайт) вложения, он открывается медленно.. и чем больше объёма вложений, тем больше тормозит. А иногда не тормозит, но и док этот ни разу не открывался.
Интересно, от чего это зависит? Может от видимости полей, в которые вложены файлы?
Кмк, это из-за того, что сервер передает тебе все эти данные. И стечение обстовятельств (документ глубоко не в памяти сервера, плюс загруженность сети, плюс ситуация на клиенте) дает непостоянный такой эффект. К стати, вроде, если включить фичу хранения вложений отдельно от БД (забыл как называется, Тоха тут о ней много говорил), то такой эффект должен уйти, вроде обращение к вложению фактически идет не при открытии документа-контейнера, а лишь при обращении к самому объекту вложения... Может мне приснилось?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.10.2011, 14:55
Помогаю со студенческими работами здесь

Сортировка прикрепленных файлов на чистом JS
Есть блок "attach-block" в котором много блоков с классом attached. Разумеется в этом блоке находятся загруженные пользователем файлы. ...

Использование прикрепленных файлов в VS 2008
Прикрепил к проекту файл, помогите им воспользоваться, пожалуйста. Через что я могу получить к нему доступ?

Шаблон для вывода прикрепленных файлов- attachment.php
Подскажите в каких случаях WordPress подключает этот шаблон. На примере изображения. Куда его надо вставить в админке и куда перейти на...

Как реализовать отправку прикрепленных файлов с сайта на почту?
Добрый день, подскажите как организовать отправку прикрепленных файлов с формы сайта на почту. Код формы: <form...

Компонент для отображения (и запуска) эскизов прикреплённых файлов
Всем привет! Народ подскажите кто-нибудь, пожалуйста, как можно организовать загрузку файлов в базу данных Paradox и отображение эскизов...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
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. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru