Перенос стандартного пункта меню

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
Buddy
Постоянный обитатель
Сообщения: 119
Зарегистрирован: 02 июн 2016, 15:18
Откуда: Галактика СПб

Перенос стандартного пункта меню

Сообщение Buddy »

Добрый день, коллеги!
Клиент просит вернуть пункт меню "Формирование реестров на открытие банковских счетов" из "Управления персоналом" в "Зарплату" (до недавних обновлений он там и был).
Как это можно сделать? При этом из "Управления персоналом" пункт меню надо убрать.
Den
Местный житель
Сообщения: 1842
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Re: Перенос стандартного пункта меню

Сообщение Den »

viewtopic.php?f=2&t=13015&hilit=addmenuitemex2

Ну и в документации есть набор методов по работе в меню.
Просто загружается нужное меню, добавляется туда пункт, сохраняется как динамическое.
Где ну нужно - прикроете просто protect-ом пункт меню.
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5184
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: Перенос стандартного пункта меню

Сообщение edward_K »

Самое простое - запихать в отчеты пользователя.
В управлении персоналом зарезать протектом(для кадровиков).
Динамические - у вас наверняка есть образцы.
Но есть одна тонкость. При каждом обновлении надо будет динамические меню создавать снова.
+ Ресурс с добавляемым подменю(если вы его будете добавлять, а не пункты меню) должен быть один, и быть доступным всем, иначе возможна ситуация, что в сапорте будет одно, а в галактике другое.
Ну и при большем кол-ве меню возможны глюки - вроде все есть, а меню нет.

Код: Выделить всё

_try
{    MenuID:=LoadMenuEx('C_COMMON::Nastr_Admin',false,true);
    AddMenuItemEx2(MenuID,'Регистрация дополнительных пунктов меню',
                          'Регистрация дополнительных пунктов меню','',cmRunInterface,0,'C_Common::ADD_MenuDynamic');

    //=====================================
    if (not StoreMenuHowDynamics(MenuID,'C_COMMON::Nastr_Admin'))
      _raise ExStoreMenuHowDynamics;
  }
  _except
    on ExStoreMenuHowDynamics:
      message('Ошибка выполнения StoreMenuHowDynamics',error);
    on ExVip:
      message(ExploreException,error);
  _finally {
    if (MenuID<>0) DisposeLoadMenu(MenuID);
  }



Перед добавлением лучше меню удалить, перезайти в галактику и потом снова добавить.

Код: Выделить всё

DeleteMenuHowDynamics('C_Common::Nastr_Admin');
Все это сидит в x$resource.
Ответить