Спрятать пункт popup меню

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

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

galover
Местный житель
Сообщения: 794
Зарегистрирован: 16 ноя 2007, 13:52

Спрятать пункт popup меню

Сообщение galover »

Запретить/разрешить пункт popup меню нашел, а как вообще скрыть?
galover
Местный житель
Сообщения: 794
Зарегистрирован: 16 ноя 2007, 13:52

Сообщение galover »

Попутно: а изменить наименование пункта меню как?
Marisha_P
Местный житель
Сообщения: 232
Зарегистрирован: 10 ноя 2010, 13:49

Re: Спрятать пункт popup меню

Сообщение Marisha_P »

Вопрос остался без ответа?:) Подниму темку, может кто-то все-таки сможет подсказать как изменить наименование пункта меню?
galover
Местный житель
Сообщения: 794
Зарегистрирован: 16 ноя 2007, 13:52

Re: Спрятать пункт popup меню

Сообщение galover »

Я с ТП списывался по этому вопросу. Они присоветовали примерно следующее, поясню кодом

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

   mnuMain menu
   {
      menuItem 'Тест', cmTest,,, 'F4', kbF4;
      menuItem 'Обновить', cmRefreshSelPlPors;
   }
   
   var _mainMenuId : longint; 

   private procedure PreparePopupMenu;
   {
      _mainMenuId := LoadMenu('mnuMain');

      if (нужно спрятать)
         SetMenuItemState(_mainMenuId, 'Test', cmTest, mfHidden);
   }
   
   cmHotKeys:
   {
      PreparePopupMenu();
      PutHotCommand(RunLoadMenu(_mainMenuId));
   }
Vik
Местный житель
Сообщения: 370
Зарегистрирован: 28 сен 2006, 15:43
Откуда: Санкт-Петербург
Контактная информация:

Re: Спрятать пункт popup меню

Сообщение Vik »

Как вариант, можно попробовать сохранить меню как динамическое, зайти в саппорт в таблицу X$resources, найти нужную запись, и подправить в мемо-поле наименование нужного пункта)
Marisha_P
Местный житель
Сообщения: 232
Зарегистрирован: 10 ноя 2010, 13:49

Re: Спрятать пункт popup меню

Сообщение Marisha_P »

Спасибо!
Следом еще один вопрос - мне нужно при создании нового акта в поле автоматически устанавливать значение. С конфигуратором раньше не связывалась, подскажите, пожалуйста, как это сделать :)
spark
Местный житель
Сообщения: 478
Зарегистрирован: 19 окт 2005, 13:38
Контактная информация:

Re: Спрятать пункт popup меню

Сообщение spark »

Marisha_P писал(а):Спасибо!
Следом еще один вопрос - мне нужно при создании нового акта в поле автоматически устанавливать значение. С конфигуратором раньше не связывалась, подскажите, пожалуйста, как это сделать :)
Я это делаю через докомпиляцию перехватывая событие cmSetDefault:

Например:

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

#define ComponentVersion
#Component "L_SOPRDOC"
alter interface SOPRDOC;
tableEvent table katsopr
cmSetDefault:
{
 Inherited::HandleEvent(cmSetDefault);
 katsopr.CPODRFROM:=coGetTune('OPER.BUY.NAKLPRMS.GETSKLAD');
}
end
end.
Marisha_P
Местный житель
Сообщения: 232
Зарегистрирован: 10 ноя 2010, 13:49

Re: Спрятать пункт popup меню

Сообщение Marisha_P »

Спасибо!
а если потом нужно отслеживать изменения значения и обновлять их, то наверное нужно использовать триггер?
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Re: Спрятать пункт popup меню

Сообщение m0p3e »

Marisha_P писал(а):Спасибо!
а если потом нужно отслеживать изменения значения и обновлять их, то наверное нужно использовать триггер?
Можно конечно и триггером, но это из пушки по воробьям. Проще событие cmUpdateRecord отслеживать.
oiko
Местный житель
Сообщения: 419
Зарегистрирован: 29 мар 2005, 17:49

Re: Спрятать пункт popup меню

Сообщение oiko »

Если вы просто не хотите обновлять данное поле просто заблокируйте конфигуратором его редактирование.
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: Спрятать пункт popup меню

Сообщение edward_K »

тригер хорош когда табла модифицируется в куче фейсов и вам влом докомпилить каждый. Как например приказы в кадрах
Marisha_P
Местный житель
Сообщения: 232
Зарегистрирован: 10 ноя 2010, 13:49

Re: Спрятать пункт popup меню

Сообщение Marisha_P »

Подскажите, пожалуйста, в чем проблема данного проекта, он не комплируется :(

#define ComponentVersion
#Component "F_MBP"
alter interface SPIS_MBP;
tableEvent table mbpmove
cmSetDefault:
{
Inherited::HandleEvent(cmSetDefault);
if pTypeDoc = 5 mbpmove.dopinfo:='Выбытие спецоснастки';
}
end;
end.

Выводится ошибка - Ожидался interface, const или конец файла (стр.2 поз.1)
Добавляю строку #setCurEnv "galnet"; в начало, всё равно та же самая ошибка при компиляции.
Что я делаю неправильно?
Vik
Местный житель
Сообщения: 370
Зарегистрирован: 28 сен 2006, 15:43
Откуда: Санкт-Петербург
Контактная информация:

Re: Спрятать пункт popup меню

Сообщение Vik »

Вообще, тут все правильно написано, не должно ругаться. Либо вы не весь код привели, либо одно из двух..
Marisha_P
Местный житель
Сообщения: 232
Зарегистрирован: 10 ноя 2010, 13:49

Re: Спрятать пункт popup меню

Сообщение Marisha_P »

Данный код сохранен в файле - test.vip
Компилирую проект aktspisp.prj, содержащий текст
#make "test.vip"

Больше никакого текста нет.....
galover
Местный житель
Сообщения: 794
Зарегистрирован: 16 ноя 2007, 13:52

Re: Спрятать пункт popup меню

Сообщение galover »

а если явно прописать в cfg System.OpenResources=..\F_MBP.res?
Ответить