На повестке дня) два вопроса

Тема в разделе "Lotus - Программирование", создана пользователем stonew1987, 30 окт 2008.

Статус темы:
Закрыта.
  1. stonew1987

    stonew1987 Гость

    @PickList - расскажите поподробней о её таком плюсе, как загрузка всех сталбцов независимо от формулы?
    как загружать отдельный столбец знаю))))
    @IsCategory расскажите о ней))) и как её использовать?\

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

    Представление:
    >изделие
    ....комплектующее
    ....>изделие
    ..........комплектующее
    ..........комплектующее
    ....комплектующее
    ....комплектующее
    ....>изделие
    ..........комплектующее
    ..........комплектующее
    ..........>изделие
    .................комплектующее
    .................комплектующее
    ..........
    Заранее огромное спасибо
     
  2. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    по поводу иерархии... тебе просто нужно иметь три формы:
    1) изделие (document);
    2) изделие (response to response);
    3) комплектующее (response to response);

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

    по поводу собак в хэлпе все написано
     
  3. stonew1987

    stonew1987 Гость

    Вот что там написано @PickList( [Custom] : [Single] ; "" : "" ; "(IzdelView)" ; "Выбор родительского документа" ; "";2 )
    но меня унтересует ""загрузка всех сталбцов независимо от формулы""
    \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
    Это сложнее реализовать, да и глубина вложенности минимальна(((
    \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
    Представление:
    >изделие
    ....комплектующее
    ....>изделие
    ..........комплектующее
    ..........комплектующее
    ....комплектующее
    ....комплектующее
    ....>изделие
    ..........комплектующее
    ..........комплектующее
    ..........>изделие
    .................комплектующее
    .................комплектующее

    Остаётся вопрос открытым
    Я пытаюсь сделать через, к примеру, пока 10 зафиксированных столбцов,
    В форме есть поле(с множественными переменными) в нём по сути должна храниться вся иерархия
    а в столбцах пока поле[1], поле[2] ......
     
  4. Medevic

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

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Непонятно. Какой формулы, какая загрузка?

    Почему сложнее? Такую иерархию можно реализовать только через response. При необходимости можно использовать финт DEFAULT $Ref = ..., но суть всё равно та же.
     
  5. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    исользуйте вложенные представления
     
  6. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    кхм... боюсь, что ты не понимаешь того, что такое ответные документы в лотусе, и как строить для них представление...

    если мне память не изменяет, то ты сможешь создать до 32-36 уровней ответных документов (вложенности).
    форма 1 позволит тебе создать основной документ, корневой.
    форма 2 - ответный к нему, т.е. вложенный, а также вложенный к этому вложенному.
    форма 3 - ответный к любому из документов.

    т.о. то, что тебе надо очень даже реализуемо.

    теперь о @PickList... я не зря упомянул о справке. @PickList не имеет такого "плюса" как ""загрузка всех сталбцов независимо от формулы""

    если тебе надо достать несколько значений из документа, который выбирают @PickList'ом, то для этого придется воспользоваться доп. конструкциями.

    к примеру, можно сделать вид, в котором в первом столбце (скрытом от пользователя) будет unid документа, который и будет получать @PickList, потом по этому униду мы можем достать значения полей, либо воспользовавшись @GetDocField, либо связкой @DbLookup + специальный вид...

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

    т.е. варианты реализации есть...

    ну что за глупости? :) это ж только будет перегружать интерфейс
     
  7. stonew1987

    stonew1987 Гость

    Спасиб, будем думать над этим, как появятся новые вопросы, отпешусь)))
     
  8. stonew1987

    stonew1987 Гость

    Вопрос:
    Я не очень понял по поводу
    @IsCategory
    @IsCategory( trueString )
    @IsCategory( trueString ; falseString )
    Написано: Используется в формуле столбца, возвращает указанную строку, если любой элемент в строке представления определен как категория.

    Расскажите о ней подробнее, а то мне не понятно её применение :)
     
  9. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    та мутная формула ;)

    @IsCategory
    возвращает *, если в строке вида (в столбцах справа от столбца, вызывающего функцию) есть категории
    если строка не категория, а документ, то возвращает пустую строку

    @IsCategory( trueString )
    аналогично, только вместо * возвращает значение trueString

    @IsCategory( trueString ; falseString )
    аналогично, только вместо * возвращает значение trueString,
    а вместо пустой строки falseString...

    функцию нужно обязательно лепить левее от столбца в котором может быть категория...

    я вот только не пойму, если документ содержит ответные, т.е. является и документом, и категорией, то что она вернет :))
     
  10. stonew1987

    stonew1987 Гость

    Akupaka понимаешь какая штука, я препаду про отклики втирал, ток он говорит, что через отклики не надо делать, и сказал мне поколдовать с функцией @IsCategory, я над формой тружусь сейчас)))
    А возмодно такое чтобы в одном столбще отображалить и категории и документы? А длина столбцов всего 3, надо както сделать чтобы при этой длине поле полностью отображалось))) т.е. залезало на другие столбцы как это делает категория)))
     
  11. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    О_о не очень представляю что нужно получить :)

    короче гря, если у документа есть ответный, то он будет выглядеть как категория
     
  12. stonew1987

    stonew1987 Гость

    Как лучше и проще посчитать количество документов в представлении?
    Спасибо
     
  13. abbatik

    abbatik Lotus team
    Lotus team

    Регистрация:
    20 окт 2008
    Сообщения:
    277
    Симпатии:
    0
    Добавляешь столбец со значением 1, а в свойствах столбца внизу, ставишь Total.
     
  14. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    можно потыкать пальцем
    можно выделить галочками, если в представлении отображаются только доки, без категорий, то Ctrl + A, в статусе смотришь кол-во
    можно сделать столбец-Totals, в котором можно отображать 1, если это документ (например по наличию формы @If(@IsAvailable("Form"); 1; 0))
    тогда в сумме этого столбца будет кол-во доков...

    если программно, то смотри свойства NotesView
    .AllEntries
    .EntryCount
    .TopLevelEntryCount

    правда, я не помню, включает ли EntryCount категории или только документы...

    возможно придется перебирать AllEntries для того, чтобы посчитать... но если вид не категоризирован, то тогда чистое кол-во доков должно вернуть...

    .EntryCount вернул только документы, без категорий

    еще если посчитать кол-во доков нужно из открытого вида, то можно сделать агент, который запускается на всех доках вида и получить кол-во через NotesDatabase.UnprocessedDocuments.Count
     
  15. stonew1987

    stonew1987 Гость

    Спасиб
     
  16. stonew1987

    stonew1987 Гость

    А как лучше организовать глобальную переменную?
    И о Shared Code\ Field, Columns
     
  17. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    ну, однозначного ответа нет, т.к. уровней глобальности несколько и каждый случай требует по-своему глобализировать переменные, хотя вообще глобальные переменные не всегда хорошо, тем более те, у которых не очень уникальные имена, типа db, doc и т.п.

    об остальном читай книжки и справку, там все написано...
     
Загрузка...
Статус темы:
Закрыта.

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