Алгоритм изменения группы каталогизатора
Алгоритм служит для обработки события изменения группы в каталогизаторе. Ссылка на алгоритм задается в менеджере настроек отображения.
Параметры алгоритма:
ВЫЧИСЛИТЬ (ПЕРЕМ АНАЛИТ_КОНТЕКСТ: контекст; ПЕРЕМ СТРОКА: группа; ПЕРЕМ СТРОКА: рез) // ... КОНЕЦ
- контекст - входной параметр. Код корневого объекта ветки или имя группы каталогизатора + имя режима настроек.
- группа - входной параметр. Имя редактируемой группы.
- рез - выходной параметр. Результат выполнения алгоритма.
- OK - возвращается в случае успешного выполнения алгоритма
- CANCEL - возвращается в случае ошибки
- CONTINUE - возвращается в случае, если по завершении работы алгоритма запускается стандартный диалог
Пример
Пример иллюстрирует применение алгоритма изменения группы каталогизатора, в результате которого происходит переименование группы каталогизатора и вывод сообщения с новым именем группы.
В Настройке отображения добавьте для ветки необходимого каталогизатора в узле "Группы" алгоритм изменения.
Показатьподробное объявление типов для диалогового окна
ТИП Доб_Каталог(ДИАЛОГ)
[
СТРОКА: заголовок = "Переименование группы";
ЧИСЛО: ширина = 461;
ЧИСЛО: высота = 100;
ЧИСЛО: верхний = 169;
ЧИСЛО: левый = 103;
РЕДАКТОР: ред_имя = [ левый = 145,
верхний = 20,
высота = 25,
ширина = 250,
табиндекс = 1,
изменение = изменение_имени ];
ТЕКСТ: текст_название = [
левый = 25,
верхний = 20,
высота = 15,
ширина = 110,
текст = "Новое имя группы:" ];
КНОПКА: кн_Отмена = [ левый = 255,
верхний = 60,
высота = 25,
ширина = 70,
табиндекс = 3,
текст = "Отмена",
нажатие = наж_отмена ];
КНОПКА: кн_Ок = [ левый = 175,
верхний = 60,
высота = 25,
ширина = 70,
табиндекс = 2,
доступный = НЕТ,
текст = "Ok",
нажатие = наж_ок ];
//закрытие диалога при нажатии кнопки "ОK" с возвратом кода OK
ФУНКЦИЯ наж_ок(ПЕРЕМ КНОПКА: кнопка)
ЗАКРЫТЬ("OK")
КОНЕЦ_ФУНКЦИИ
//закрытие диалога при нажатии кнопки "Отмена" с возвратом пустой строки
ФУНКЦИЯ наж_отмена(ПЕРЕМ КНОПКА: кнопка)
ЗАКРЫТЬ("")
КОНЕЦ_ФУНКЦИИ
//если введено имя каталогизатора, то кнопка "OK" становится активной
ФУНКЦИЯ изменение_имени(ПЕРЕМ РЕДАКТОР: ред)
ЕСЛИ ред_имя.текст <> "" ТО
кн_Ок.доступный = ДА
ОБНОВИТЬ
ИНАЧЕ
кн_Ок.доступный = НЕТ
ОБНОВИТЬ
КОНЕЦ_ЕСЛИ
КОНЕЦ_ФУНКЦИИ
]
ВЫЧИСЛИТЬ(ПЕРЕМ АНАЛИТ_КОНТЕКСТ: контекст; // вход
ПЕРЕМ СТРОКА: группа; // вход/выход
ПЕРЕМ СТРОКА: рез) // вход/выход
// OK - CANCEL - CONTINUE
ПЕРЕМ Доб_Каталог: длг
//при нажатии кнопки "OK" присваиваем группе имя, введенное пользователем
ЕСЛИ длг.ПОКАЗАТЬ_МОДАЛЬНЫЙ = "OK" ТО
группа = длг.ред_имя.текст
СООБЩЕНИЕ("Имя группы успешно изменено на '" + группа + "'")
рез = "OK"
//при нажатии кнопки "Oтмена" отменяем действия алгоритма
ИНАЧЕ
рез = "CANCEL"
КОНЕЦ_ЕСЛИ
КОНЕЦ