Страница 1 из 2

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

Добавлено: 30 янв 2004, 15:07
Max
Подскажите пожалуйста, если кто знает, как добавить свой пункт в локальное меню отдельно взятого документа.
Или как указать свою горячую клавишу в том же документе.
Очень надо!!!

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

Добавлено: 30 янв 2004, 15:22
ecasoft
Тут уже это много раз обсуждали. Посмотрите по поиску.

P/S/ Думаю вот. А что это даст? Локальное меню только посылает событие в интерфейс. Обработчик интерфейса это событие ловит и обрабатывает. Как Вы подсуните в откомпилированный обработчик свой код, который обработает Ваше событие указанное в меню? Наверное чего-то я не понимаю.

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

Добавлено: 03 фев 2004, 12:06
Max
Да, Игорь
Вы правы
Но было намерение залезать по самые уши (доставать исходник интерфейса и т.д.)
Но наша тех.поддержка меня отговорила
Решил посмотреть другие варианты...
Но, для начала - суть проблемы: очень медленно печатается накладная на отпуск. А при здешних объемах это неприемлемо
Хотелось бы из АРД отчета узнать текущий открытый документ, но пока не нашел, где он это держит
Пробовал найти его маркер, чтобы можно было выделить в списке накладную и затем ее идентифицировать, не цепляется к нему
Может, я что-то не так делаю?
Если есть какие-еще идеи, подскажите пожалуйста

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

Добавлено: 03 фев 2004, 12:18
Den
Можно попробовать задействовать ту форму накладной, которая быстро формируеться. Если в ней в прототип поступает nrec_cur_naklad, то можно забить на все остальное и выцепить из базы все что нужно тебе, в отсортированном, как нужно тебе, и в формате, каком нужно тебе, и какой есте-но поддреживает Г.
Все это реализуется с помощью table struct.
;)

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

Добавлено: 03 фев 2004, 12:59
Max
Дело в том, что тормозит сам прототип и время формирования любой из выходных форм до безобразия велико :(
Во время формирования потока от зачем-то рассчитывает сальдовые остатки, что, естественно, не ускоряет формирование

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

Добавлено: 03 фев 2004, 13:52
m0p3e
А ты попробуй сделать так :
.begin
Запуск своего интерфейса;
NameLinkForm.fExit;
end.

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

Добавлено: 03 фев 2004, 13:56
m0p3e
Кроме того. По Alt+P (справка по документу) отчет формируется неприлично быстро и содержит nrec накладной.

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

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

"Справка по документу" в принципе не плоха, но нужны ссылки на spsopr, а так сразу я их не увидел
У тебя случайно нет исходника интерфейса накладной?

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

Добавлено: 03 фев 2004, 15:04
Deinis
Зачем тебе ссылки на SpSopr? Морзе пишет, что она содержит nRec накладной, а это KatSopr.nRec
Вот и подцепляй по известному KatSopr.nRec таблицу SpSopr. Если ты сейчас не знаешь описание связей между таблицами, то попробуй понять самостоятельно. Или можешь посмотреть связи в файле DictOPI (правда, если они не устарели ;) ).
По-моему KatSopr.nRec == SpSopr

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

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

.LinkForm 'SPRSOPR_01' Prototype is 'SprSopr'
.NameInList 'Справка по документу'
.begin
RunInterface ( 'MyInterface', Накл_нрек );
SPRSOPR_01.fExit;
end.
Бла-бла-бла.
Проблема в том что не во всех формах срабатывает. Теоритически при запуске формы запустится твой интерфейс и когда он закроется выполнение формы завершится.

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

Добавлено: 03 фев 2004, 15:37
Max
Как сцепить таблицы я знаю, спасибо
Просто был шанс, что в интерфейсе выгружаются также ссылки на строчки
Там еще много чего собирать придется (прайс, внешние атрибуты и т.д.)
Ладно, направление движения понятно
Спасибо всем, кто помог :)

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

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

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

Тут наверное просто не делается потому, что в новом конфигураторе будет возможность добавлять в интерфейс кнопки свои и обработчики к ним дописывать...уже года два как об этом разговаривал с разработчиками, но все никак не выходит этот атлантис.

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

Добавлено: 03 фев 2004, 17:25
Max
Ура!!! ;D ;D ;D
В этом интерфейсе fExit работает!

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

Добавлено: 03 фев 2004, 19:33
m0p3e
РМП тоже та еще вещица. Больше года назад мне еще в ДТП сказали, что забили на него. Взять групповое меню. Создать можно, но вот пользователей разбить на группы по РМП низя... В результате групповое РМП вроде есть, а вот нафиг оно нужно?

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

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

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