powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ERP и учетные системы [игнор отключен] [закрыт для гостей] / КИС ALFA
6 сообщений из 31, страница 2 из 2
КИС ALFA
    #34605528
icelady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DOSSМне нужна инструкция по настройке наборов данных, фильтров, диалоговых форм.
Если у кого есть , то опубликуйте.

Какой проект? Версия системы? релиз?

У меня есть доки, описывающие макроязык для текущего свежего релиза системы 4.1.35.sp2. И поясняющие настройки, какие можно сделать.
...
Рейтинг: 0 / 0
КИС ALFA
    #34607315
Фотография DOSS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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, некоторые (например перевод числа из
цифровой записи в словесную) может выполнить процессор клиентской машины.
...
Рейтинг: 0 / 0
КИС ALFA
    #34628543
Фотография DOSS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как пользоваться функцией альфы CallPluginFunction ?
Как выглядет плагин ?
Где должен находиться плагин ?
Покажите работающий пример.
...
Рейтинг: 0 / 0
КИС ALFA
    #34661075
Фотография DOSS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Слабое звено Альфы - это в большинстве случаев фиксированный пользовательский интерфейс.
Нельзя добавить новую форму или изменить существующую.
Рекомендую приобретать Альфу вместе с исходником на Delphi, несмотря на более высокую стоимость.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
КИС ALFA
    #35597647
zmod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Народ, слушайте все!!! (знаю не по наслышке)
Контора полная гнилье!!! Отношение свинское во всех ракурсах (зп, условия, продукт, пользовательское отношение).
Ни в коем случае не идите туда работать.
А большие контракты, которые были и на которых держится данная контора исключительно благодаря личным знакомствам и связям топ руководства. Ничего путного сейчас продать не могут (так как продукт глючный и контора не хочет подстраиваться под реалии бизнеса).
Реально загнивающая контора!!!
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
КИС ALFA
    #36527103
Nashev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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 <Имя функции>;
...
Рейтинг: 0 / 0
6 сообщений из 31, страница 2 из 2
Форумы / ERP и учетные системы [игнор отключен] [закрыт для гостей] / КИС ALFA
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]