ОШИБКА Switchboard и Updateattach

Тема в разделе "Готовые продукты, вопросы, обсуждения", создана пользователем lensu1, 10 авг 2011.

  1. lensu1

    lensu1 Active Member

    Регистрация:
    6 сен 2010
    Сообщения:
    37
    Симпатии:
    0
    Ситуация такая.
    Есть скрипт, который из документа выдергивает заголовок, аттачи, вызывает форму, где все это перечислено, выбираешь из формы адресата и все это счастье пересылается в отдельную почтовую базу в виде письма.

    Все работает, если это кнопка. Но как только делаешь агента на той же форме с таким же текстом - вылазят 2 ошибки

    1) Dim sb As New Switchboard - Class or type name not found: SWITCHBOARD и соответственно:
    Set staffDB = sb.GetDatabase ("ITStaffManager") - Illegal parenthesized reference: GETDATABASE

    2) Call updateAttach2(note, wdDoc) - Not a sub or function name: UPDATEATTACH4


    Я в скриптах новичок, не кидайте тапками. Может какую библиотеку включить?..
    И почему кнопкой работает...
     
  2. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.046
    Симпатии:
    18
    в агенте в USE нужно указать ту же библиотеку что и в форме, в кнопке библиотеку необязательно указівать, скорее всего библиотека указана в глобалах формы и возможно называется так же USE "SWITCHBOARD"
    и подозреваю что её когд вынесен во внешний файл :)
     
  3. lensu1

    lensu1 Active Member

    Регистрация:
    6 сен 2010
    Сообщения:
    37
    Симпатии:
    0

    Да, с перечислением тех же библотек, что и в аналогичной кнопке в options первая проблема исчезла.
    Дабы устранить вторую, которая видимо тоже на библиотеках завязана, задаю еще один вопрос - где удобнее всего поискать наличие тех или иных функций в библиотеках? Чтоб самим найти библиотеку?
     
  4. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    В синопсисе
     
  5. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    получается, что updateAttach2 юзает UPDATEATTACH4, которое где-то описано в подключенных библиотеках (ну, или где-то в кнопке или глобальных областях того элемента дизайна, на котором расположена кнопка).
    если код открыт и доступен - поиском имени ф-ции по лотусскриптовым библиотекам в дизайнере. в старых версиях (6-7) можно задействовать синопсис в дизайнере и еще бывают довольно удобные платные утилиты.
     
  6. lensu1

    lensu1 Active Member

    Регистрация:
    6 сен 2010
    Сообщения:
    37
    Симпатии:
    0
    А что делать, если lotus не может подгрузить соответствующий модуль/библиотеку, в которой находиться жизненно важная функция?
     
  7. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    а библиотека, которая не может подгрузиться, идет с открытым кодом и не содержит ошибок? Библиотеки, которые она использует (если есть), тоже не содержат ошибок? возможно, придется перекомпилировать лотусскрипт в БД или пересохранить нужные элементы дизайна вручную в порядке использования.
    кстати, "не может подгрузить" - это как? в дизайнере или это на этапе исполнения уже ошибка?
     
  8. lensu1

    lensu1 Active Member

    Регистрация:
    6 сен 2010
    Сообщения:
    37
    Симпатии:
    0
    Ошибка возникает в дизайнере - ругается на функцию UpdateAttach2/3/4
    Поиском определила, что данная функция есть в библиотеке PrintDocAppl.lss в части ScriptLibraries базы, в которой я делаю агента.
    Попытка подключить эту базу вызывает ошибку Duplicate PUBLIC name TITLEERROR in USE module PrintDocAppl.
    В вышеупомянутой библиотеке ошибок нет.

    В свою очередь подключила все библиотеки, которые есть на форме из options - но все равно не находит этот чертов UpdateAttach((
     
  9. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    не знаю, в какой БД у вас эта ошибка проявляется, когда-то давно такая была, пофиксили убиранием глобальности, т.е. описали в PrintDocAppl
    Private Const TitleError =

    Добавлено: перенесла тему в специальный раздел.
     
Загрузка...

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