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

Создать копию документа

31.03.2008, 13:36. Показов 19637. Ответов 9
Метки нет (Все метки)

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

так вот
Set docA=cuid.Document
Set docB = New NotesDocument( db )
docB.Form="Document"

и надо скопировать вложения из поля Attach docA в такое же поле docB, но не выходит
не через AppendRTItem, не через CopyItemToDocument или же CopyItem
переменные item и rtitem обозначаю правильно, согласно хелпу

подскажите как Attach скопировать :(
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
31.03.2008, 13:36
Ответы с готовыми решениями:

во вьюхе надо создать резерв. копию
Ув. программисты-лотусисты, пишет вам студентКПТК с просьбой о помощи... У меня задание во вьюхе создать кнопку(уже сделанно) и на нее...

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

Как создать вьюшку , получив условия выборки из документа ?
У меня есть настроечные документы, в которых содержится ряд параметров зависящих от наименования сервера, мне надо сделать так , что бы...

9
0 / 0 / 0
Регистрация: 17.06.2011
Сообщений: 7
31.03.2008, 14:20
Code
1
2
3
4
5
6
Dim rtitem As NotesRichTextItem
Dim rtitembody As NotesRichTextItem
 
Set rtitem = New NotesRichTextItem(docB, "Body")
Set rtitembody = docA.GetFirstItem("Body")
Call rtitem.AppendRTItem(rtitembody)
Должно работать
ВопросиК: А новый документ создается и открывается или просто создается?
0
0 / 0 / 0
Регистрация: 04.12.2004
Сообщений: 3,329
31.03.2008, 15:11
oxystile
Открытый документ был уже сохранен с вложениями?
Или добавляются вложения (без сохранения), а потом ты пытаешься создать новый документ?

Добавь перед копированием метод notesUIDocument.Refresh(True).
0
0 / 0 / 0
Регистрация: 29.04.2006
Сообщений: 364
31.03.2008, 15:22
спасибо :(, код со всех сторон правильный, но результат странный получился...
в поле Attach вложение не попало, а разместилось в конце документа, причем безликое
Body на Attach заменила, так что не поэтому
Set rtitem = New NotesRichTextItem(docB, "Attach")
Set rtitembody = docA.GetFirstItem("Attach")
Call rtitem.AppendRTItem(rtitembody)

о! причем еще такая особенность, если запустить код дебаггером, пройдясь по каждой строчке кода, то все отлично! Attach копируется в Attach
ощущение, что лотус просто медленно понимает чего от него хотят

док-т создается, на основе текущего (открытого) док-та.
Порой необходимо зерегистрировать в базе несколько однотипных документов, кот. отличается только значениями в 2-3 полях
0
0 / 0 / 0
Регистрация: 15.12.2006
Сообщений: 641
31.03.2008, 15:41
Имхо вместо notesUIDocument.Refresh(True) лучше использовать RTItem.Update
0
0 / 0 / 0
Регистрация: 04.12.2004
Сообщений: 3,329
31.03.2008, 15:54
Цитата Сообщение от K-Fire
Имхо вместо notesUIDocument.Refresh(True) лучше использовать RTItem.Update
Ну это разные вещи и одно другому не мешает. :(
0
0 / 0 / 0
Регистрация: 17.06.2011
Сообщений: 7
31.03.2008, 16:15
Второй вариант надеюсь поможет:


Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Dim ws As New NotesUIWorkspace
Dim docB As NotesDocument
 
Set docB = New NotesDocument( db )
 
[Здесь ты копируешь все поля, кроме поля "Attach"]
 
Call ws.CurrentDocument.GotoField("Attach")
Call ws.CurrentDocument.SelectAll
Call ws.CurrentDocument.Copy
 
Call ws.EditDocument(True, docB)
Call ws.CurrentDocument.GotoField("Attach")
Call ws.CurrentDocument.Paste
0
0 / 0 / 1
Регистрация: 30.06.2007
Сообщений: 2,153
31.03.2008, 16:23
ukr
Нормальные человеки делают код так, что бы работало на backgroundе, ибо неизвестно, откуда этому коду запускаться.

oxystile
Как насчёт CopyItemToDocument?
0
0 / 0 / 0
Регистрация: 17.06.2011
Сообщений: 7
31.03.2008, 17:07
Omh
Я советовал код на тот вариант, если возникает потребность создать второй документ такой же как и первый, только с определенными пустыми полями и уже открытый.



док-т создается, на основе текущего (открытого) док-та.
Порой необходимо зерегистрировать в базе несколько однотипных документов, кот. отличается только значениями в 2-3 полях
Тогда вопрос по поводу backgrounda может сняться.
0
0 / 0 / 0
Регистрация: 29.04.2006
Сообщений: 364
31.03.2008, 17:10
получился CopyItemToDocument, наверно, в прошлый раз чета не так написала ;)
спасибо всем!!!

п.с. но ни notesUIDocument.Refresh(True) , ни RTItem.Update не использую
сперва у меня
Set docB = New NotesDocument( db )
присвоение полей
Call ws.EditDocument(True, docB )
-и открытие на редактирование, чтобы дополнить инфой
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
31.03.2008, 17:10
Помогаю со студенческими работами здесь

Как с javascript создать копию документа и заменить в нем шапку?
как с помощью javascript создать копию документа и заменить в нем шапку?

Сохранить копию документа при печати через Cups
Подскажите - как сохранить копию документа при печати через Cups. т.е. документ отправится на печать, а его копия сохранится в какой...

Word 2007: сохранить копию документа перед выполнением макроса
Здравствуйте, помогите с макросом, который сохраняет копию файла с именем открытого документа. Файл из папки "анализ" перед...

Создать копию закладки
Доброе время суток. Подскажите пожалуйста как программно создать/удалить закладки со всеми полями в TabControl Макет <Window...

Создать копию формы
У меня есть форма и на ней картинка. Мне нужно, чтобы при нажатии на эту форму создавалась еще одна такая же. var X: TForm1; begin ...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru