|
|
|
КИС ALFA
|
|||
|---|---|---|---|
|
#18+
DOSSМне нужна инструкция по настройке наборов данных, фильтров, диалоговых форм. Если у кого есть , то опубликуйте. Какой проект? Версия системы? релиз? У меня есть доки, описывающие макроязык для текущего свежего релиза системы 4.1.35.sp2. И поясняющие настройки, какие можно сделать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2007, 16:43 |
|
||
|
КИС ALFA
|
|||
|---|---|---|---|
|
#18+
icelady Какой проект? Версия системы? релиз? У меня есть доки, описывающие макроязык для текущего свежего релиза системы 4.1.35.sp2. И поясняющие настройки, какие можно сделать. Сейчас пользуемся Alfa-Configurator 4.1.34.0 . Если такого нету , то доки по релизу 4.1.35 тоже сгодятся. Для расширения макроязыка предлагаю купить у Майкрософта Microsoft Forms 2.0 (FM20.DLL) или VBA и внедрить в Альфу. Также как это сделал AutoCAD 2000. В VBA есть редактор диалоговых форм и отладчик Бейсика. Есть еще Microsoft Script Control (MsScript.ocx) , но в нем нет диалоговых форм. Не все функции должен выполнять Oracle, некоторые (например перевод числа из цифровой записи в словесную) может выполнить процессор клиентской машины. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2007, 12:25 |
|
||
|
КИС ALFA
|
|||
|---|---|---|---|
|
#18+
Как пользоваться функцией альфы CallPluginFunction ? Как выглядет плагин ? Где должен находиться плагин ? Покажите работающий пример. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2007, 12:56 |
|
||
|
КИС ALFA
|
|||
|---|---|---|---|
|
#18+
Слабое звено Альфы - это в большинстве случаев фиксированный пользовательский интерфейс. Нельзя добавить новую форму или изменить существующую. Рекомендую приобретать Альфу вместе с исходником на Delphi, несмотря на более высокую стоимость. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2007, 13:57 |
|
||
|
КИС ALFA
|
|||
|---|---|---|---|
|
#18+
Народ, слушайте все!!! (знаю не по наслышке) Контора полная гнилье!!! Отношение свинское во всех ракурсах (зп, условия, продукт, пользовательское отношение). Ни в коем случае не идите туда работать. А большие контракты, которые были и на которых держится данная контора исключительно благодаря личным знакомствам и связям топ руководства. Ничего путного сейчас продать не могут (так как продукт глючный и контора не хочет подстраиваться под реалии бизнеса). Реально загнивающая контора!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2008, 11:01 |
|
||
|
КИС ALFA
|
|||
|---|---|---|---|
|
#18+
DOSSКак пользоваться функцией альфы CallPluginFunction ? Как выглядет плагин ? Где должен находиться плагин ? Покажите работающий пример. Поздновато уже, но думаю, всё равно стоит тут, раз уж я сюда заглянул. Пусть будет хотя для будущих посетителей... Не понимаю, в чём проблемы были? По первому требованию служба поддержки может отправить Вам вот такой текст: CallPluginFunctionCallPluginFunction(spPluginFileName, spFunctionName[, spParamToSend]) При обработке инструкции будет выполнена функция, имя которой указано параметром spFunctionName из библиотеки плагина, имя которой указано параметром spPluginFileName. (см.также Плагины) Третьим параметром передаётся список имён параметров (через точку с запятой), значения которых требуется передать в функцию. Функции будет передана текущая сессия операции и двухколоночный массив, содержащий в первой колонке имена запрошенных к передаче параметров, а во второй - их значения. Строка-результат, которую вернёт вызванная функция в результате своей работы, будет вставлена в код PRE_PL/SQL блока на место директивы CallPluginFunction. Это может быть * пустая строка * обычный PL/SQL коментарий * какое-либо значение, сформированное внутри функции. Для его использования, функцию плагина можно использовать в составе выражения... * PL/SQL-код Подключаемые модули(Перенаправлено с Плагины) В системе Alfa сделана поддержка плагинов. Плагины распологаются в подпапке Plugins рабочей папки приложения. Загружаются в память при запуске модуля и перезагружаются после подключения пользователя к системе, если для него настроен другой путь к рабочей папке. Плагин на текущий момент может быть двух уровней сопряжённости с системой: * Это может быть bpl, опирающаяся только на DirectOracleAccess (doa40d6.bpl) и содержащая функции, которые система Alfa может вызывать из PRE_PL/SQL кода функцией CallPluginFunction. (см.также Как написать подключаемый модуль с функциями). Функции такого плагина получают сессию и значения запрошенных параметров. Примечание: Плагин на этом уровне сопряжённости не может взаимодействовать с пользователем через графический интерфейс из-за особенностей организации собственного интерфейса системы Alfa. Любая попытка вызова ShowModal приведёт к сообщению о системной ошибке. * Это может быть bpl, опирающаяся на ядро системы Alfa (icFramework.bpl) со всеми нашими компонентами и классами, и содержащая классы окон, поддерживающие и использующие все возможности окон системы Alfa. Такой плагин добавляет окна, доступные для использования в приложении. Класс такого окна может быть указан 1. В тексте операции, при вызове директив препроцессора [@DeclareOutDelphi()], [@DelphiLookup()] и [@UseAdditionalParams()] 2. В описании домена 3. В описании типа * Для обеспечения доступа к операции, она может быть 1. привязана к настройке набора данных 2. привязана к меню в профиле меню 3. вызвана из другой операции * Для обеспечения доступа к Домену, он может быть 1. открыт из операции 1. директивой [@DeclareOutDomainShowing()] - как результат выполнения операции 2. директивой [@DomainLookup()] - для выбора значения, нужного для её выполнения 2. привязан к меню в профиле меню 3. привязан к 1. колонке набора данных 2. параметру фильтра 3. атрибуту справочника 4. и т.п… * Для обеспечения доступа к типу, он может быть привязан к домену, и тогда окно будет использоваться у полей выбора значения командой «открыть карточку» Как написать подключаемый модуль с функциями 1. Установить в Delphi пакет компонентов DirectOracleAccess, который используется системой Alfa. Для этого 1.1. Получить у нас библиотеку DOA в составе bpl-файла и соответствующего ему файла dcp и разместить их в папке "C:\Program Files\Borland\Delphi6\Projects\Bpl" 1.2. В Delphi, в меню "Component" выбрать команду "Install Packages", в открывшемся диалоге нажать кнопку Add и выбрать файл библиотеки. 2. Создать свой пакет (меню File/New/Other..., далее на закладке New - строка Package). 3. Сохранить пакет в отдельную папку 4. Добавить в пакет модуль (File/New/Unit) 5. Сохранить модуль в папку пакета 6. Реализовать в модуле одну или несколько функций плагина: 6.1. В части interface вписать раздел uses и добавить модуль Oracle. Примечание: Этот модуль входит в библиотеку DOA. Для его использования не требуется никаких файлов, кроме bpl и dcp файлов библиотеки DOA) 6.2. В части interface объявить тип T2DVariantArray (см. пример ниже) 6.3. Объявить спецификацию функции. 6.4. Объявить функцию доступной для вызова из библиотеки 6.5. В части implimentation написать тело функции. Для обращения к переданным параметрам можно использовать следующие выражения: * Length(AParameters[0])-1: Это количество переданных параметров. * AParameters[0][i]: это имя параметра с индексом i. Индекс первого параметра равен нулю. * AParameters[1][i]: это значение параметра с индексом i. Значение параметра может быть массивом (VarArray). Для работы с массивом используйте функции модуля Varinats: VarIsArray, VarToStrDef, VarArrayLowBound и VarArrayHighBound. Для обращения к элементу массива используйте синтаксис AParameters[1][i][j], где j - индекс элемента массива. Примечание Полученную сессию нельзя уничтожать. Транзакцию в сессии нельзя ни комитить, ни откатывать. При необходимости управления транзакцией, делайте это в операции, вызывающей вашу функцию, опираясь на возвращаемый функцией результат. 7. В параметрах пакета (Project/Project options) установить путь к директории, куда должен попасть скомпилированный пакет. Рекомендется в качестве пути ставить точку (обозначение текущей папки в путях) - это скажет компилятору собирать библиотеку плагина в папку проекта. 8. Скомпилировать библиотеку. При этом в библиотеку потребуется добавить зависимость от библиотеки DOA, по идее среда должна сама это сделать после получения подтверждения. Объявление типа T2DVariantArray: type T2DVariantArray = array of array of Variant; Шаблон объявления функции плагина: function <Имя функции>(ASesion: TOracleSession; AParameters: T2DVariantArray):string; stdcall; exports <Имя функции>; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2010, 21:10 |
|
||
|
|

start [/forum/topic.php?fid=29&gotonew=1&tid=1526503]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
164ms |
get topic data: |
13ms |
get first new msg: |
8ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
| others: | 15ms |
| total: | 288ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...