• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

проблема при обновлении Viewки

  • Автор темы Gor
  • Дата начала
G

Gor

Здравствуйте. С недавнего времени изучаю Lotus. Вопрос вот какой возник. Попробую вратце обрисовать ситуацию)) Если что будет непонятно спросите ещё раз ОК?)
Пробую создать базу для регистрации установленных компьютеров.
Имеется три Viewки и две Formы.
Form1 - содержит поля s/n, model,nick...... на основе её строится View1
Form2 - coдержит поля old nick, old department (ниже описано для чего она нужна и как всё работает)
View1 - Информация о новых установленных компьютерах и текущем владельце компьютера (s/n,model,nick,department,current owner)
View2 - Отображает сколько комп-ов в каком отделе установлено, в общем отчёт
View3 - это история, она должна отображать предыдущего владельца компьютера. Причём она создана так:
2 колонки из одной формы - s/n и nick(текущий владелец)
у колонки s/n св-во show twistie column
по открытию twistie column появляются колонки old nick, old department(т.е. старый владелец и старый отдел где был этот комп)
Как это всё работает теперь))
Например регистрируем новый установленный копьютер.
Т.е. Создаём новую запись во View1. Заполняем все поля nick,s/n,model....
Во View2 это всё автоматически фиксируется
Через какое то время требуется передать комп другому человеку в другой отдел. Нажимаем на строчку во View1 ранее созданную. попадаем на Form1.
с заполненными уже полями. на Form1 создана кнопка Add history([compose]) при нажатии этой кнопки переходим на Form2. Причём когда мы делаем переход, значение полей из Form1 (nick, dep) переносятся в Form2 и записываются автоматически в другие поля cоответственно old nick и old department. Это сделано с помощью @ формулы Setfield чтобы названия у полей были разные. Сохраняем Form2 и закрываем форму.([filesave] [fileclosewindow]). Тем самым переносимся на Form1 где ТРЕБУЕТСЯ исправить поля department и nick на новые т.к. владелец и отдел сменились а старые значения полей владельца и отдела отправились во View3. При изменении этих полей и сохранении Form1 вылезает проблемка......во View1 появляется новая строка с новым значением колонок department и nick при исправлении записи в форме, а ТАКЖЕ остаётся старая запись со старым значением колонок department и nick. Возможно ли как нибудь сделать чтобы при исправлении в Form1 нескольких полей и дальнейшем сохранении исправлений в ней, во View1 записывалась только одна запись с уже исправленными значениями в колонках.
Чёта канешна я расплывчато расписал....всё.... но бошка пухнет просто уже и в голову ничё не лезет как по другому это объяснить...
Может быть я сильно замудрил всё? и как нибудь по дпугому можно историю сделать? Чтобы можно было изменить поля ник и отдел убрать их в историю а заместо них написать новых... и чтобы все изменения везде отображались..
МОжет....кто подскажет?...заранее благодарен
 
D

Domino6

Если передача только по пользователям то просто сделай в форме 1 вычисляемое многозначное именное поле(HistoryOwner) + еще одно дата передачи(HistoryDate)
При нажатии на кнопу "Передать" заноси значения

HistoryOwner:=имя Пользователя/Отдел/Департамент/Город:HistoryOwner
HistoryDate:=@Now:HistoryDate

В виде для высветки склеивай эти поля или используй по отдельности

Имя можеш брать составное не то которое у пользователя а свое, главное чтобы влезало в ограничения 4 юнита 1 организация

Для красоты категоризации в виде используй @Name([ToKeywor];HistoryOwner) - это уберет СN и перевернет иерархию
 
A

Afrael

А зачем тебе 2 формы ?
по моему всю инфйормацию , котрая тебе необходимо можно деражть в одном документе и потом соответсвенно менять их тоже в одной форме.

Форма в лотусе - средство отображения полей документа. не более.
Мне кажетья что ты пытаешься сделать базу на осове "старых" "реляционных" привычек.
в этой базе тебе это удастья, но потом ....
в Лостсу лучше всего держать все "логически связанные сущности" в одном документе.
Возможно я не прав. Заранее извиняюсь
 
G

Gor

<!--QuoteBegin-Afrael+7:06:2005, 14:03 -->
<span class="vbquote">(Afrael @ 7:06:2005, 14:03 )</span><!--QuoteEBegin-->Форма в лотусе - средство отображения полей документа. не более.
Мне кажетья что ты пытаешься сделать базу на осове "старых" "реляционных" привычек.
в этой базе тебе это удастья, но потом ....
в Лостсу лучше всего держать все "логически связанные сущности" в одном документе.
Возможно я не прав. Заранее извиняюсь
[snapback]20728" rel="nofollow" target="_blank[/snapback]​
[/quote]
В моём случае можно сделать всё на одной форме .... но знаний моих мне не хватит.... Ведь потребуется тогда на одной форме размещать рядом поля
department и old department , nick и old nick ..... Причём необходима будет тогда кнопка в этой форме при нажатии которой данные с department перейдут в old department и также nick в old nick и всё это должно будет происходить на одной и той же форме... т.к. поля все будут вместе...
а после того как данные из полей dep и nick перейдут в поля olddep и oldnick
придётся на этой форме исправить вручную текущие значения полей department и nick ....после сохранения с историей будет всё в порядке с(с вьюхой 3) .... а вот во view1 добавится cтрока с исправленной колонкой department и nick но прошлая запись не уберётся в этой вьюшке с прошлым значением department и nick которая уже ушла в историю по нажатию на кнопку в форме1. Именно проблема в том чтобы отображалась в первой вьюшке только последняя исправленная запись без предыдущей созданной..
может сейчас пояснее объяснил)
Насчёт многозначного именного поля не совсем понял...
 
G

GROMILA

Ой, пробегал мимо, лень читать, но заметил фишки типа ОЛД ЮЗЕР!!!

сделай одну форму c версионностью (история для одного документа)
Историю выводи в виде ответных документов.

Побежал дальше :)
 
N

nor

Уважаемый, Gor

Чтобы помочь тебе наверняка, мне необходима следующая информация:
1. Формулы отбора документов во всех трех представлениях.
2. Исходный код кнопки формирования истории (Add history).
Мне кажется, что твоя проблема заключается в неправильном построении формы документов и представлений. Историю изменения документа лучше хранить не в одном, а в ответных документах либо в новых независимых документах.
Возможно, на на первой форме у тебя стоит версионность документов. Если это так, то необходимо убрать это свойство. Иначе я не понимаю, каким образом редактирования существующего документа приводит к созданию нового документа с измененными атрибутами и сохранению строй версии документа с прежними атрибутами.
Возможно, формула отбора документов в первом представлении включает документы второй формы.
 
G

Gor

nor, спасибо за предложенную помощь.
Всё уже получилось. Для истории всё таки пришлось оставить только одну форму, со скрытыми полями. Чтобы поля появлялись только тогда когда мы нажимали бы на строчку во вьюхе. Ошибка была также в формуле отбора документов как ты уже подметил. Всем спасибо за оказанную помощь. Честно говоря не ожидал такого шквала ответов))
 
Мы в соцсетях:

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