Команда @if

  • Автор темы kilcher
  • Дата начала
K

kilcher

Гость
#1
Добрый день! Видимо я что-то делаю не так,но условие с несколькими параметрами работать отказывается.
Есть кнопка "удалить запись о сотруднике" она работает по условию
@If ( myField1 = "1";
@Do(
FIELD Untitled1:="2. ";
@Command( [RefreshHideFormulas] );
);
............
@Success
)
проблема в том,что мне нужно,чтобы запись нельзя было удалить если поле1="согласовано"(поле2,поле3 и т.д). При записи дополнительного условия в код данной кнопки выдается ошибка. Несколько условий нельзя писать?
 
K

kilcher

Гость
#3
Так у меня там для 15 полей. Т.е. после @Success еще один @If c другими параметрами написать нельзя?
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
2
#4
Для: kilcher
Ты давай полностью вопрос опиши. :)
Можно не строить километровые условия, а использовать @Return(см хелп):
Код:
@If(поле1 = "согласовано"; @Return(@True); @Nothing);
@If(поле2 = "согласовано"; @Return(@True); @Nothing);
@If(поле3 = "согласовано"; @Return(@True); @Nothing);
@Prompt([OK]; ""; "Условия не сработали")
 
K

kilcher

Гость
#7
Поля с именами сотрудников я с помощью условий(прописанных) в кнопке скрываю.Т.е. получается вроде удаляю их.Но дело в том,что если сотрудник согласовал уже(у меня это равносильно что поле1="согласовано" ) его запись удалять нельзя. Получается что к первоначальным условиям в кнопке надо дописать еще (чтобы не удалили). Всего скрытых полей(список сотрудников заполняемый) у меня 15,соответственно и условия для 15 полей.
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
2
#8
Для: kilcher
Т.е. есть 15 сотрудников и для каждого есть поле-признак, что он согласовал? Что-то здесь не так. :)
 
K

kilcher

Гость
#9
Ну да. Их может быть и двое. :) 15 это с запасом
 
K

kilcher

Гость
#11
Такого быть точно не может :) Это согласование по прохождению испытательного срока. А один человек не может быть подчиненным(или взаимодействующим) сразу с 15 отделами. 15 это я и так много сделала
 

Omh

Well-Known Member
Lotus team
04.07.2007
2 210
1
#12
Для: kilcher
Не, проект явно неправильный.
Неудобно расширяемый, неудобно управляемый.
Medevic правильно говорит, что что-то не так :)
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
2
#13
Для: kilcher
Если я правильно понял, то тебе надо писать так:
Код:
@If ( myField1 = "1" & поле1!="согласовано";
@Do(
FIELD Untitled1:="2. ";
@Command( [RefreshHideFormulas] );
);
............
@Success
)
 
K

kilcher

Гость
#14
Для: kilcher
Не, проект явно неправильный.
Неудобно расширяемый, неудобно управляемый.
Medevic правильно говорит, что что-то не так :)
Не судите так строго. Я же только учусь и это первое что я делаю в Lotuse.

И все так просто оказалось :) Спасибо тебе большое! А я в очередной раз ругаю себя из-за невнимательности, могла бы и сама догадаться
 
K

kilcher

Гость
#15
И все так просто оказалось :) Спасибо тебе большое! А я в очередной раз ругаю себя из-за невнимательности, могла бы и сама догадаться
 

Constantin A Chervonenko

Well-Known Member
Lotus team
30.05.2006
1 334
4
#16
Ну да. Их может быть и двое. :) 15 это с запасом
16 одинаковых полей в одном документе??? Детский сад.
С точки зрения СУБД такая запись не удовлетворяет уже 1-й нормальной форме. Такие данные разбиваются на 2 таблицы (нормализуются)

Лотус - non-1st-normal form база. Но и в нем это бредятина. Заменяется на ОДНО многозначное поле