Страница 1 из 2
Спрятать пункт popup меню
Добавлено: 15 дек 2008, 20:04
galover
Запретить/разрешить пункт popup меню нашел, а как вообще скрыть?
Добавлено: 16 дек 2008, 10:53
galover
Попутно: а изменить наименование пункта меню как?
Re: Спрятать пункт popup меню
Добавлено: 01 апр 2011, 09:13
Marisha_P
Вопрос остался без ответа?:) Подниму темку, может кто-то все-таки сможет подсказать как изменить наименование пункта меню?
Re: Спрятать пункт popup меню
Добавлено: 01 апр 2011, 11:03
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));
}
Re: Спрятать пункт popup меню
Добавлено: 01 апр 2011, 11:10
Vik
Как вариант, можно попробовать сохранить меню как динамическое, зайти в саппорт в таблицу X$resources, найти нужную запись, и подправить в мемо-поле наименование нужного пункта)
Re: Спрятать пункт popup меню
Добавлено: 01 апр 2011, 13:33
Marisha_P
Спасибо!
Следом еще один вопрос - мне нужно при создании нового акта в поле автоматически устанавливать значение. С конфигуратором раньше не связывалась, подскажите, пожалуйста, как это сделать
Re: Спрятать пункт popup меню
Добавлено: 01 апр 2011, 15:29
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.
Re: Спрятать пункт popup меню
Добавлено: 04 апр 2011, 09:05
Marisha_P
Спасибо!
а если потом нужно отслеживать изменения значения и обновлять их, то наверное нужно использовать триггер?
Re: Спрятать пункт popup меню
Добавлено: 04 апр 2011, 11:01
m0p3e
Marisha_P писал(а):Спасибо!
а если потом нужно отслеживать изменения значения и обновлять их, то наверное нужно использовать триггер?
Можно конечно и триггером, но это из пушки по воробьям. Проще событие cmUpdateRecord отслеживать.
Re: Спрятать пункт popup меню
Добавлено: 04 апр 2011, 16:47
oiko
Если вы просто не хотите обновлять данное поле просто заблокируйте конфигуратором его редактирование.
Re: Спрятать пункт popup меню
Добавлено: 04 апр 2011, 18:37
edward_K
тригер хорош когда табла модифицируется в куче фейсов и вам влом докомпилить каждый. Как например приказы в кадрах
Re: Спрятать пункт popup меню
Добавлено: 06 апр 2011, 11:40
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"; в начало, всё равно та же самая ошибка при компиляции.
Что я делаю неправильно?
Re: Спрятать пункт popup меню
Добавлено: 06 апр 2011, 15:51
Vik
Вообще, тут все правильно написано, не должно ругаться. Либо вы не весь код привели, либо одно из двух..
Re: Спрятать пункт popup меню
Добавлено: 06 апр 2011, 16:14
Marisha_P
Данный код сохранен в файле - test.vip
Компилирую проект aktspisp.prj, содержащий текст
#make "test.vip"
Больше никакого текста нет.....
Re: Спрятать пункт popup меню
Добавлено: 06 апр 2011, 16:52
galover
а если явно прописать в cfg System.OpenResources=..\F_MBP.res?