Открыть прикрепленный файл в режиме редактирования

Тема в разделе "Lotus - Программирование", создана пользователем PDiddy, 23 авг 2010.

  1. PDiddy

    PDiddy Member

    Регистрация:
    29 авг 2009
    Сообщения:
    7
    Симпатии:
    0
    Начальство дало поручение:

    Нужно чтобы при открытии документа, автоматически открывался аттачмент (Word, Excel) в режиме редактирования.

    Для этого юзаю формулу:

    @Command([EditGotoField];"Body");
    @Command([AttachmentLaunch])

    НО, эта формула запускает прикрепленный файл в режиме "Open". В этом режиме внесенные изменения не сохраняются. Потом приходится закрывать файл и заново вручную открывать в режиме "Edit". Это и бесит ленивых начальников. :[
     
  2. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.083
    Симпатии:
    300
    а пример (др. программные продукты), такого дебило-интерфейса, они могут привести?...
     
  3. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    В свойствах формы поставить Automatically enable Edit Mode и Auto Launch?
    Только ленивым начальникам придется сохранять два раза. Один раз - вложение, другой раз - документ. Осилят?
     
  4. Мыш

    Мыш Lotus team
    Lotus team

    Регистрация:
    12 фев 2008
    Сообщения:
    1.021
    Симпатии:
    8
    А SaveOptions не поможет - в плане автосохранения документа?
     
  5. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.083
    Симпатии:
    300
    считаю, что надо быть просто психологом, а не программистом, в таких случаях (что бы доходчево объяснить - почему так делать нежелательно)
    начальство не предъявляет претензии к аське и кипу..., хотя и интерфейс не ах и ф-ции, и секкурити...
    и от ворда с хехелям - не требуют "чудес", не предусмотренных дизайном (а там есть и откровенные ляпы)
     
  6. PDiddy

    PDiddy Member

    Регистрация:
    29 авг 2009
    Сообщения:
    7
    Симпатии:
    0
    Знаете,
    В случае On Open Automatically enable Edit Mode только документ переходит в режим
    редактирования, а в документе же есть вложение..
    Auto Launch -First Attachment- - запускает только первый прикрепленный файл и к тому же в
    режиме "Open", а мне надо чтобы он запускался в режиме "Edit".
    Для открытия одного или нескольких вложений, такая формула:
    @Command([EditDocument];"1");
    @Command([EditGotoField];"Body");
    @For(s:=1;s<=@Length(@Text(Body))+@Attachments+4;s:=s+1;
    @Do(@Command([EditRight]);@Command([AttachmentLaunch])))

    Чтобы пользоваться авто сохранением сперва мне же надо открыть файл в режиме редактирования,
    иначе только документ сохранится, а измененное вложение нет (потому что оно было открыто в
    режиме "Open").


    У нас стоит система эл. документооборота, и мы дорабатываем ее под свои нужды.
    Большая организация, соответственно и документов много а у нашяльников времени мало.
    Они хотят чтобы все было максимально упрощено, т.е. 2-3 клика на обработку одного документа.
    Из-за этого возникла идея об автоматической открытии файлов.
     
  7. Мыш

    Мыш Lotus team
    Lotus team

    Регистрация:
    12 фев 2008
    Сообщения:
    1.021
    Симпатии:
    8
    А если старым дедовским способом - через ShellExecute?
     
  8. alik86

    alik86 Lotus team
    Lotus team

    Регистрация:
    20 ноя 2008
    Сообщения:
    465
    Симпатии:
    0
    Ох уж эти хотелки. Word/Excel - это ниразу не лотус! Вот Вы им и расскажите про "двух зайцев одним выстрелом". Как вариант, предложите отказаться от Word`ов в пользу Symphony (или вообще пусть всё делают в лотус-документе) для реализации этого "одного клика" (правда предлагайте, если будете на 100% уверены, что они не согласятся ;)) либо не выё выдуриваться и делать так как им предлагает IBM.
    P.S. Никогда даже не возникало таких идей, но может быть посмотрите в сторону LotusScript с его NotesEmbeddedObject class - глядишь и поможет. Но я бы не советовал.
     
  9. Xalet

    Xalet Well-Known Member

    Регистрация:
    8 авг 2008
    Сообщения:
    410
    Симпатии:
    0
    @Command( [Execute] ; application ; fileNames )

    а если этой?
     
  10. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.083
    Симпатии:
    300
    это они так считают ;) (на нек. вещи они тратят и поболе... ;) - при 0 профита)
    просто они нашли на ком "оторваться"...
    предоставьте им не Нотус интерфейс, для подобных доков-действий (если уж так приспичило им)
    типа открыл прикладуху, кот. дернет Нотусу и отработает по указ сценарию
    я полагаю - граблей будет меньше
    тулзы:
    - ВСтудень (с КОМой)
    - Затмение/сеть-фасоли - джава ИДЕ

    ведь в таком случае им не нужно "нативного" нотусового дока
     
  11. duchan

    duchan Well-Known Member

    Регистрация:
    20 сен 2006
    Сообщения:
    106
    Симпатии:
    3
    на прямую сделать что бы открывался аатач на редактирование - не получится... если все-таки встанет такая задача, то придется Вам реализовывать самому редактирование аттачей, что есть не самая тривиальная задача...
    вариант 1 - при открытии деаттачите файл на диск, запускаете ворд\ехель (если только MS то можно через ком) открываете там ваш деаттачнутый файл (командами ком или передавая в командной строке если не ком), далее следите за "жизнью" приложения и файла... можно отслеживать сохранение файла и сразу аттачить обратно, можно после закрытия приложения, можно по кнопке на форме.... проблема - сам лотусовый док-т править в этот момент нельзя, ибо получите конфликт, либо файл пихаем в секцию с ограниченным доступом - тогда можно сохранять и то и другое (но не забывать что в локале это не работает без галки в ACL "Enforce a .....")
    вариант 2 - те же яица только в профиль - можно замутить открывать через внедренный объект в форму - тут теже что и в первом варианте пляски с бубном плюс еще и внедренным объектом управлять - но зато красиво все в одном окне лотуса (правда последние версии офиса без спец патча не хотят рабоать во внедренной среде)

    "тараканов" на этом пути множество - так что решите стоит ли игра свечь.... :ya_lamo:
     
  12. Гость

    Я в нашем документообороте так и сделал, как написал DuChan. Пока не жалуются. Совет: чтобы сравнить изменен был документ или нет, нужно при открытии документа скриптом создать папку с названием - содержащую UniversalID документа с которого открываете аттач во временную директорию пользователя, затем туда выгружаете файл. В этот момент дата создания папки всегда позже чем дата последнего изменения файла. При закрытии вашего документа или при каком нибудь другом действии нужно всего лишь найти эту папку, что не составит труда имея UniversalID текущего документа и сравнить дату создания папки с датой последнего изменения файла в этой папке, если дата файла больше просто переаттачить файл. Затем удалить папку. Всего доброго!!!
     
Загрузка...

Поделиться этой страницей