MyStaffMenu Menu
{
- 'Приказы (прием на работу)', cmRunInterface ( 'Z_STAFF::Prikaz' );
}
В протекте новый пункт видно.
Извините, что так долго не отвечал. Были на то личные причины. Скажите добавление меню происходит в модуль управления персоналом. Если туда, то где оно должно появится ? Я скомпилил исходник, а ничего не поменялось ? И что значит #ifdef ComponentVersion ?
Я так понимаю это вводилось для Галактики 8.1, где появилась компонентная принадлежность. Для кода самой Галактики оно ясно и понятно. Но зачем нагромождать свой код этими макросами мне непонятно. Народ действительно делает поддержку для нескольких версий Галактики? Что, у кого-то фунциклирует несколько Галактик? Тогда почему вот такой код оставляют
LoadMenu('Z_STAFFMENU::MYSTAFFMENU'); // для Галактики ниже 8.1 это выстрелит исключением
// По правильному тогда
LoadMenu(
#ifdef ComponentVersion
'Z_STAFFMENU::MYSTAFFMENU'
#else
'MYSTAFFMENU'
#end
);
Извините, что так долго не отвечал. Были на то личные причины. Скажите добавление меню происходит в модуль управления персоналом. Если туда, то где оно должно появится ? Я скомпилил исходник, а ничего не поменялось ?
Сервис/Утилиты/Запуск внешнего интерфейса там выбрать интерфейс ShangeStaffMenu.
Результат смотреть в модуле "Управление персоналом". УП выбрано в качестве теста. Свой обратботчик встраиваете в модуль по задаче.
Я так понимаю это вводилось для Галактики 8.1, где появилась компонентная принадлежность. Для кода самой Галактики оно ясно и понятно. Но зачем нагромождать свой код этими макросами мне непонятно. Народ действительно делает поддержку для нескольких версий Галактики? Что, у кого-то фунциклирует несколько Галактик? Тогда почему вот такой код оставляют
У меня в болванке интерфейса так настроено. По идее конструкция необязательная, но существуют регламенты разработки и следование им является "хорошим тоном".
BlazeBio писал(а):m0p3e,ChangeStaffMenu во внешних интерфейсах нет. И там же я не нахожу группы интерфейсов с компонентом Z_STAFFMENU ? В чём может быть причина ?
Vip.VisibleAllInterface=On в cfg и будет вам счастье, в противном случае фейсы без визуальной части не показываются - а здесь ее нет.
edward_K, интерфейс виден, только при запуске вылетает ошибка "ExLoadMenuError(ExVip), что интерфейс Z_STAFFMENU::MYSTAFFMENU не найден в ресурсе ". Из-за чего это может быть ?
Да, появилось Z_STAFFMENU::ChangeStaffMenu. А как удалить созданное меню? Я нашёл, что есть команда DeleteMenuItem. Там есть 4 параметра. Как я понимаю для моего случая menuID:=LoadMenu('Z_STAFFMENU::STAFFDATABASEMENU') и name='Приказы (прием на работу)'. А command и commandParams что за они?
edward_K писал(а):В общем раз сие не следует запускать каждый раз то лучше код m0p3e добавить в добавление настроек в обработчик
BlazeBio писал(а):Да, появилось Z_STAFFMENU::ChangeStaffMenu. А как удалить созданное меню? Я нашёл, что есть команда DeleteMenuItem. Там есть 4 параметра. Как я понимаю для моего случая menuID:=LoadMenu('Z_STAFFMENU::STAFFDATABASEMENU') и name='Приказы (прием на работу)'. А command и commandParams что за они?
DeleteMenuHowDynamics ( 'Z_STAFFMENU::STAFFDATABASEMENU' ); - удаляет измененное меню из x$resources (сбрасывает по дефолту).
Вообще рекомендую не бояться читать доки и хелпы. Наблюдаются явные пробелы в знаниях.