Как узнать имя локального меню?
Модераторы: m0p3e, edward_K, Модераторы
Re: Как узнать имя локального меню?
Повторный запуск необходим в случае, если разработчики меню изменили. Если не переинициализировать свои доработки, то оно останется без новых пунктов.
-
- Местный житель
- Сообщения: 370
- Зарегистрирован: 28 сен 2006, 15:43
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Как узнать имя локального меню?
Я понимаю, что вы хотите проверку на существование меню сделать. Просто функция эта вам не поможет, она отслеживает состояние пунктов меню. Это следует хотя бы из ее названия. Если бы вы все-таки прочитали посты выше, как я вам советовал, вы бы увидели один из способов реализации проверки на то, было меню изменено уже или нет. Теперь об ошибке. Вы как указываете имя меню? Необходимо с указанием компоненты.
Заходим в Складской учет - Операции - Калькулятор
Код: Выделить всё
.......
if(not MenuChanged('MENU L_SKLAD::SKLOPER') )
{
if (UserIsAdmin)
{
var iMenu: longint;
iMenu := LoadMenuEx ( 'L_SKLAD::SKLOPER', true, false);
AddMenuItem ( iMenu, 'separator', 666 );
AddMenuItemEx2 ( iMenu, 'КАЛЬКУЛЯТОР', '', '', cmRunInterface, 0, 'AtlCalc' );
StoreMenuHowDynamics ( iMenu, 'L_SKLAD::SKLOPER' );
DisposeLoadMenu ( iMenu );
}
}
.........
Function MenuChanged(nameMenu: string): boolean;
{
result := (RecordExists X$Resources where (( 3 == X$Resources.XR$Type
and nameMenu == X$Resources.XR$Name))
= tsOk);
}
Function UserIsAdmin: boolean;
{
result := false;
if (GetFirst FastFirstRow X$Users where (( UserId == X$Users.Atl_NRec)) = tsOk)
result := (X$Users.Xu$Type = 1);
}
Re: Как узнать имя локального меню?
Подключил ресурс через саппорт, меню создано )
Но проблема образовалась в другом: Мой нтерфейс каким то образом перешёл в объекты, а в списке интерфейсах его нет.
Не хотит ))
Увидел что подключаю как компонент ) Как правильно подключить ресурсник в таком случае?
Но проблема образовалась в другом: Мой нтерфейс каким то образом перешёл в объекты, а в списке интерфейсах его нет.
Не хотит ))
Увидел что подключаю как компонент ) Как правильно подключить ресурсник в таком случае?
хороший программист — это человек, который переходя улицу с односторонним движением смотрит в обе стороны
Re: Как узнать имя локального меню?
Все разобрался. теперь по меню.
Сделал как вы сказали - все отлично получилось. Но при отключении ресурса меню то не пропадает, а это не правильно, нужно чтобы при подключении менюшка появлялась, а при отключении скрывалась.
Сделал как вы сказали - все отлично получилось. Но при отключении ресурса меню то не пропадает, а это не правильно, нужно чтобы при подключении менюшка появлялась, а при отключении скрывалась.
хороший программист — это человек, который переходя улицу с односторонним движением смотрит в обе стороны
-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
Re: Как узнать имя локального меню?
а зачем отключать? Скройте протектом кому не надо и все.
Re: Как узнать имя локального меню?
Почемуто в Галактике все так говорят, а зачем это делать можно сделать так через заднюю дверь. Неправильная концепция
Потому что это правильно. Например сейчас мой ресер полдключен к нескольким людям разрешенный, а общий запрещен. Но менюшка то у всех показана. Это не правильно же.
Потому что это правильно. Например сейчас мой ресер полдключен к нескольким людям разрешенный, а общий запрещен. Но менюшка то у всех показана. Это не правильно же.
хороший программист — это человек, который переходя улицу с односторонним движением смотрит в обе стороны
-
- Постоянный обитатель
- Сообщения: 194
- Зарегистрирован: 12 сен 2007, 16:34
- Откуда: Глазов
- Контактная информация:
Re: Как узнать имя локального меню?
Может тогда удалять меню при выходе из интерфейса?
Re: Как узнать имя локального меню?
Это если юзает галактику один юзер. А если их много? перекроется. не канает )))Ренат писал(а):Может тогда удалять меню при выходе из интерфейса?
хороший программист — это человек, который переходя улицу с односторонним движением смотрит в обе стороны
-
- Местный житель
- Сообщения: 370
- Зарегистрирован: 28 сен 2006, 15:43
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Как узнать имя локального меню?
n0where, чем же плох этот вариант?edward_K писал(а):Скройте протектом кому не надо и все.
Чем ваша дверь с подключением ресурсов конкретным пользователям более передняя? Для чего тогда вообще Protect делали, если это, вдруг, стало неправильной концепцией?)n0where писал(а):Почемуто в Галактике все так говорят, а зачем это делать можно сделать так через заднюю дверь. Неправильная концепция
Re: Как узнать имя локального меню?
Такая ситуация:
Через протект дал права юзерам,
Потом через саппорт всем обрубил ресурс, в итоге не рабочее меню.
Случай частный, и врядли так будет использоваться, но я имею ввиду принцип.
Через протект дал права юзерам,
Потом через саппорт всем обрубил ресурс, в итоге не рабочее меню.
Случай частный, и врядли так будет использоваться, но я имею ввиду принцип.
хороший программист — это человек, который переходя улицу с односторонним движением смотрит в обе стороны
-
- Местный житель
- Сообщения: 370
- Зарегистрирован: 28 сен 2006, 15:43
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Как узнать имя локального меню?
Так можно про любой ресурс Галактики сказать) По-моему, это уже ваша задача правильно организовать работу с вашим же ресурсом. Если отключили ресурс, позаботьтесь, чтоб и меню было удалено. Например, напишите утилиту, которая при запуске Галактики проверяет, подключен ли нужный ресурс, если нет, то зачищает за отключенным интерфейсом все "следы".
Re: Как узнать имя локального меню?
Спасибо очень помогли
хороший программист — это человек, который переходя улицу с односторонним движением смотрит в обе стороны
-
- Местный житель
- Сообщения: 370
- Зарегистрирован: 28 сен 2006, 15:43
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Как узнать имя локального меню?
Если это сарказм, то он явно не уместен. Я вам сказал одно из возможных решений. Хотите, чтоб я его и реализовал еще? Таблицы Components, X$Resources, точки расширения - посмотрите, почитайте.
Re: Как узнать имя локального меню?
нет не сорказм. Спасибо за пояснение и обсуждение.
Я просто понял что нет смысла пытаться делать в ВИПе так как привык в Делфи, ПХП и др языках.
Я просто понял что нет смысла пытаться делать в ВИПе так как привык в Делфи, ПХП и др языках.
хороший программист — это человек, который переходя улицу с односторонним движением смотрит в обе стороны
Re: Как узнать имя локального меню?
Есть точка расширения на вход в модуль. Вот там можно пытаться обыграть ситуацию, но динамическое меню в данном случае не годится. Нужно искать возможность менять меню для сеанса пользователя.