В RTC:
- не поддерживается функция INPUT диалога;
- не поддерживаются процедуры, связанные с отметкой записей (MARK,MARKEDONLY и т.д.). В нем вообще нет такого как отметка записей;
- нельзя создать страницу на основе таблицы 2000000068 Record Link.
Функция CurrPage.EDITABLE
В RTC не поддерживается функция CurrPage.EDITABLE или CurrPage.TextBox1.EDITABLE. Вместо неё можно использовать такой прием:
- Объявляем глобальную булевую переменную, например, PageEditable.
- В её свойствах устанавливаем IncludeInDataset = Yes.
- Теперь у элемента (вкладка, отдельное поле, субстраница) в свойствах выставляем Editable = PageEditable.
- Осталось только прописать код, который будет менять значение булевой переменной в зависимости от требуемой логики.
Подкрашивание полей
Подкрасить поля, к сожалению, можно только в определенные цвета (а точнее назначить им стиль из ограниченного списка). У поля на странице есть 2 свойства: Style и StyleExpr.
Style как раз задает необходимый стиль, который может принимать одно из 4 значений:
- Strong – текст в поле будет выделен жирным (и при просмотре и при редактировании)
- Attention – текст выделен красным (только при просмотре, при редактировании выглядит как и должен по умолчанию)
- Favorable – текст в поле будет зеленого цвета и выделен жирным (во время редактирования, в просмотре просто выделение жирным)
- Unfavorable – текст в поле будет красного цвета и выделен жирным курсивом (во время редактирования, в просмотре просто выделение жирным курсивом)
Теперь о свойстве StyleExpr. Оно влияет на применение стиля, указанного в свойстве StyleExpr, к полю на странице. Это может быть как булевая константа, так и переменная или процедура. Аналогично предыдущему примеру, необходимо:
- Создать глобальную булевую переменную, в свойствах которой необходимо установить IncludeInDataset = Yes.
- В StyleExpr указать созданную переменную.
- Прописать код, который будет устанавливать необходимое значение в переменную в зависимости от логики.
Программный вызов карточки двойным кликом в зависимости от поля
Если вам нужно на списочной странице программно вызывать разные карточки в зависимости от некоего поля, то это можно реализовать следующим образом:
- На списочной странице добавить PageAction , например, “Карточка”
- Назначить ему ShortCutKey = Enter
- Написать простой код типа такого:
- CASE Type OF
- Type::Open : PAGE.RUN(PAGE::“Page 1”, Rec);
- Type::Released : PAGE.RUN(PAGE::“Page 2”, Rec);
- END;
Авторы: Утяганов Айрат, Батыршин Рафаэль
Добавить комментарий
Для отправки комментария вам необходимо авторизоваться.