• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Лотус вьюшка

  • Автор темы Xalet
  • Дата начала
X

Xalet

Мде. Хреновенько. У меня канешн есть несколько идеек, как всё это обойти, но все они немножко кривые и не особо нравятся. Неужели в лотусе ничего не предусмотрено для таких случаев?
 
O

Omh

Дублирование данных only (я имею в виду для view)
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
Чем папки-то не устраивают? Что за тяга к представлениям? :)
 
X

Xalet

Чем папки-то не устраивают?
Папки как минимум автоматом не обновляются. Скажем изменил я значение в поле, по которому условие проверяется в документе, во вьюшке достаточно рефреш сделать, а в папке он так и останется, пока агент не прокрутится...
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
Зачем ждать? Запусти агент сам в PostSave.
Шедульный агент нужен для того, чтобы проверять условия связанные со временем.
 
X

Xalet

Зачем ждать? Запусти агент сам в PostSave.
Да всё это понятно. Но агенты надо тогда вешать не только на сэйв, надо отслеживать и удаление еще. Я ж не говорю, что всё это нереализуемо, но вьюшка в данном случае куда удобнее.
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
Удаление тоже можно отследить.
Вьюшка в данном случае вообще сливает. :)
 
T

techNICK

Господа, есть вопрос. Необходимо, чтоб во вьюшке выводилась инфа строго определенная. Как то. Есть форма "ЛИЧНЫЙ ЛИСТОК ПО УЧЕТУ КАДРОВ" в ней есть табличка со списком родственников (Братья-Сестры-Дети-Родители), так вот, необходимо, чтоб по каждому КАДРУ выводился список его детей до 18 лет.
Вообще родственников можно вывести Rodst1:Rodst2 и т.д. Но как вывести именно тех, кто нужен определенного возраста?
 
K

K-Fire

Ну и какие проблемы? Вместо Rodst1:Rodst2 пишешь (@if(Rodst1_Age<=18;Rodst1;"") : (@if(Rodst2_Age<=18;Rodst2;"") и т.п.
Только потом всю формулу в @Trim() не забыть "одеть" :)
 
T

techNICK

Ну и какие проблемы? Вместо Rodst1:Rodst2 пишешь (@if(Rodst1_Age<=18;Rodst1;"") : (@if(Rodst2_Age<=18;Rodst2;"") и т.п.
Ээээ, спасибо :) щас попробую.
P.S. Оперативненько :)
=====
Нет, не работает. Но не работает из-за того, что я не полно объяснил :)
Поле Rodst содержит "звание" родственника( Брат-Сестра и т.д.) Поэтому сравнение-то не проканает. Вычисление годов должно быть из поля DataRod т.е. Из даты должно вычисляться кол-во лет (что тоже не знаю как :) хотя и пример есть, но че-та не въеду) И уж оттуда выбирать только тех, кому <= 18
Вот, теперь вроде полнее. :)
 
K

K-Fire

Кол-во лет считать, самый примитивный способ: Year(Today) - Year(DataRod).

Если в поле хранятся не только дети, то тоже никакой проблемы, можно сбацать формулу типа @if(Rodst="Дети";Year(Today) - Year(DataRod);99), т.е. если дети - считаем реальный возраст, если не дети, то пишем 99 чтобы уж точно было больше 18ти :)


Другой подход реализации этой задачи: на событие PostSave/QuerySave вешаешь лотус-скриптовый код, где формируешь списочное поле с этими твоими детьми. Т.е. вместо формул в столбцах, вычисление переносится на форму документа.

Если есть сложности с языком формул, то можно и так делать, разницы большой нет в подходах.
 
T

techNICK

Хм, а если имя поля Rodst может содержать разные значения (Сын, Дочь)? И нужно пробежаться по всей таблице, проверить что записано в поле?
Т.е. поля Rodst с порядковым номером числом пять, т.е. Rodst_1, Rodst_2 и т.д. Формула такого вида @If (Rodst_1:Rodst_2:Rodst_3="Сын":"Дочь";@Year (@Today)-@Year (ДатаРождения);99) уже не проканает?

Блин, хреново, когда не помнишь то, что не знал :D
Сильно не ржите, только-только сел за лотус :)
 
K

K-Fire

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

Т.е. у тебя должен быть набор полей, типа такого:

RodName_1 ... RodName_N - имя родственника
RodType_1 ... RodType_N - тип родственника (делаешь поле типа диалог лист)
RodBirthday_1 ... RodBirthday_N - дата рождения
и т.п.

Во вьюшке ты собираешь список. Каждый элемент списка - это некая формула где используются только i-тые поля, где i от 1 до N. Поэтому формула Rodst_1:Rodst_2:Rodst_3="Сын":"Дочь" некорректна.
 
K

K-Fire

Вариант есть, хранить все значения каждого вида данных в списочном поле (multivalue). Т.е. 1 поле на имя, одно на тип, и одно на дату. Единственная проблема будет с вводом данных, т.к. их красиво в виде таблички не отобразишь.
 
T

techNICK

Единственная проблема будет с вводом данных, т.к. их красиво в виде таблички не отобразишь.
Это-то и плохо. Мало того, что я слабо разбираюсь. Так еще и юзерам надо, чтоб было просто :D На скрине как главная форма выглядит. Так же она и на печать, по мере надобности, будет выводиться
screen.jpg
Не лучше ли респонсами сделать?
А чуточку подробнее можно. И, подоступнее :)
 
K

K-Fire

ИМХО, ввод и редактирование данных во вьюшке сделан нереально коряво. Или может в 8-ке это улучшили?
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!