Как добавить свой пункт в локальное меню?

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

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

Max
Новичок
Сообщения: 24
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Урал
Контактная информация:

Как добавить свой пункт в локальное меню?

Сообщение Max »

Подскажите пожалуйста, если кто знает, как добавить свой пункт в локальное меню отдельно взятого документа.
Или как указать свою горячую клавишу в том же документе.
Очень надо!!!
ecasoft
Местный житель
Сообщения: 645
Зарегистрирован: 29 мар 2005, 17:49
Откуда: г.Королев МО ООО "Эффективная Комплексная Автоматизация- СОФТ"

Re: Как добавить свой пункт в локальное меню?

Сообщение ecasoft »

Тут уже это много раз обсуждали. Посмотрите по поиску.

P/S/ Думаю вот. А что это даст? Локальное меню только посылает событие в интерфейс. Обработчик интерфейса это событие ловит и обрабатывает. Как Вы подсуните в откомпилированный обработчик свой код, который обработает Ваше событие указанное в меню? Наверное чего-то я не понимаю.
Некоммерческое общение в форуме
Max
Новичок
Сообщения: 24
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Урал
Контактная информация:

Re: Как добавить свой пункт в локальное меню?

Сообщение Max »

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

Re: Как добавить свой пункт в локальное меню?

Сообщение Den »

Можно попробовать задействовать ту форму накладной, которая быстро формируеться. Если в ней в прототип поступает nrec_cur_naklad, то можно забить на все остальное и выцепить из базы все что нужно тебе, в отсортированном, как нужно тебе, и в формате, каком нужно тебе, и какой есте-но поддреживает Г.
Все это реализуется с помощью table struct.
;)
Max
Новичок
Сообщения: 24
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Урал
Контактная информация:

Re: Как добавить свой пункт в локальное меню?

Сообщение Max »

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

Re: Как добавить свой пункт в локальное меню?

Сообщение m0p3e »

А ты попробуй сделать так :
.begin
Запуск своего интерфейса;
NameLinkForm.fExit;
end.
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Re: Как добавить свой пункт в локальное меню?

Сообщение m0p3e »

Кроме того. По Alt+P (справка по документу) отчет формируется неприлично быстро и содержит nrec накладной.
Max
Новичок
Сообщения: 24
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Урал
Контактная информация:

Re: Как добавить свой пункт в локальное меню?

Сообщение Max »

Морзе, поясни пожалуйста, где мне написать блок, который ты написал
.begin
Запуск своего интерфейса;
NameLinkForm.fExit;
end.

"Справка по документу" в принципе не плоха, но нужны ссылки на spsopr, а так сразу я их не увидел
У тебя случайно нет исходника интерфейса накладной?
Deinis
Местный житель
Сообщения: 783
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва
Контактная информация:

Re: Как добавить свой пункт в локальное меню?

Сообщение Deinis »

Зачем тебе ссылки на SpSopr? Морзе пишет, что она содержит nRec накладной, а это KatSopr.nRec
Вот и подцепляй по известному KatSopr.nRec таблицу SpSopr. Если ты сейчас не знаешь описание связей между таблицами, то попробуй понять самостоятельно. Или можешь посмотреть связи в файле DictOPI (правда, если они не устарели ;) ).
По-моему KatSopr.nRec == SpSopr
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Re: Как добавить свой пункт в локальное меню?

Сообщение m0p3e »

Зачем тебе ссылки? Самая главная то есть! нрек накладной. А уж пробежку сам опишешь :)

.LinkForm 'SPRSOPR_01' Prototype is 'SprSopr'
.NameInList 'Справка по документу'
.begin
RunInterface ( 'MyInterface', Накл_нрек );
SPRSOPR_01.fExit;
end.
Бла-бла-бла.
Проблема в том что не во всех формах срабатывает. Теоритически при запуске формы запустится твой интерфейс и когда он закроется выполнение формы завершится.
Max
Новичок
Сообщения: 24
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Урал
Контактная информация:

Re: Как добавить свой пункт в локальное меню?

Сообщение Max »

Как сцепить таблицы я знаю, спасибо
Просто был шанс, что в интерфейсе выгружаются также ссылки на строчки
Там еще много чего собирать придется (прайс, внешние атрибуты и т.д.)
Ладно, направление движения понятно
Спасибо всем, кто помог :)
ecasoft
Местный житель
Сообщения: 645
Зарегистрирован: 29 мар 2005, 17:49
Откуда: г.Королев МО ООО "Эффективная Комплексная Автоматизация- СОФТ"

Re: Как добавить свой пункт в локальное меню?

Сообщение ecasoft »

fExit срабатывает только в тех формах, где разработчики на ВИПе проверяют при каждом цикле событие обрыва отчета. К сожалению, разработчики как-то этим не заморачиваются. В результате есть отчеты, которые не прерываются.

Мы тоже часто пользуемся таким приемом, как вызов интерфейсов из формы. Вообще, как-то странно непродумана функциональность.
Настроить рабочее место можно,т.е. добавить вызовы интерфейсов из меню рабочего места, а вот почему то нельзя используя этот же механизм настройки рабочего места скорректировать меню, вызываемое из штатного интерфейса и настроить из него вызов интерфейса. С точки зрения програмирования ничего особенного и делать то не надо..вся функциональность есть в интерфейсе настройки рабочего места.

Тут наверное просто не делается потому, что в новом конфигураторе будет возможность добавлять в интерфейс кнопки свои и обработчики к ним дописывать...уже года два как об этом разговаривал с разработчиками, но все никак не выходит этот атлантис.
Некоммерческое общение в форуме
Max
Новичок
Сообщения: 24
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Урал
Контактная информация:

Re: Как добавить свой пункт в локальное меню?

Сообщение Max »

Ура!!! ;D ;D ;D
В этом интерфейсе fExit работает!
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Re: Как добавить свой пункт в локальное меню?

Сообщение m0p3e »

РМП тоже та еще вещица. Больше года назад мне еще в ДТП сказали, что забили на него. Взять групповое меню. Создать можно, но вот пользователей разбить на группы по РМП низя... В результате групповое РМП вроде есть, а вот нафиг оно нужно?
ecasoft
Местный житель
Сообщения: 645
Зарегистрирован: 29 мар 2005, 17:49
Откуда: г.Королев МО ООО "Эффективная Комплексная Автоматизация- СОФТ"

Re: Как добавить свой пункт в локальное меню?

Сообщение ecasoft »

PMП - а мы только им и пользуемся. ПРи внедрении (мы партнер) вообще всегда натраиваем РМП и просим работать только через него. По мере вхождения пользователей в понятия Галактики расширяем меню РМП. Интерфейсы тоже не полные там - подчишены конфигуратором под специфику клиента всегда.
Трудно правда сопровождать по телефону...надо в офисе своем иметь копию всех рабочих мест..иначе не поймешь куда они входят.

Удобно понятно чем - не надо ходить по закупкам, продажам - все в одном меню тут. Недостатков много...во-первых не все из штатного меню туда можем перенести...просто кроме интерфейсов есть еще же процессы, которые написаны на Паскале, а как их впихнуть в РМП я не знаю. Получается некоторые отчеты невозможно перенести или писать псевдоинтерфейсы из которых вызываются процессы. Удобно тем еще, что добавляем постоянно свои интерфейсы, а пользователь не знает..свои или штатные...в РМП это отличить нельзя, если Галактику видишь 1 раз.
Некоммерческое общение в форуме
Ответить