Все обращения к базе данных производятся путем вызова хранимых процедур, каждая из которых имеет один входной параметр и один выходной параметр. Входной и выходной параметры имеют тип VARCHAR(32640) Входные и выходные данные передаются в формате XML, кодировка UTF-8 Если размер входного XML превышает 32640 байт , необходимо «нарезать» его на части нужного размера, и вызвать несколько раз процедуру prepare_param . Последняя часть передается в качестве параметра нужной процедуре.
Пример на PHP:
$param = $xml->asXML(); while (strlen($param) > 32640) < $slice = substr($param,0, 32640); $param = substr($param, 32640); $query = ibase_query(‘select * from prepare_param(?)’, $slice); ibase_fetch_row ($query); >
Размер выходного XML также может превышать 32640, поэтому нужно конкатенировать получаемые из процедуры строки :
$queryres = »; $query = ibase_query(‘select * from ‘.$proc.'(?)’, $param); while ($row = ibase_fetch_row ($query)) $queryres = $queryres.$row[0];
Если в процессе работы процедуры возникает ошибка, то возвращается пакет из 2 полей ErrorCode и ErrorParams и одной записи, содержащей код и параметры ошибки
Бестужев-Рюмин, Михаил Петрович
Схема XML
XML представляют собой пакеты данных табличной структуры. Каждый пакет содержит набор общих параметров, набор полей и набор записей, в каждой из которых содержатся значения полей. XML для обмена данных должен иметь кодировку UTF-8 . Некоторые имена полей (в частности, хиповых) являются регистрозависимыми, поэтому рекомендуется соблюдать регистр как в именах тэгов, так и в значениях атрибутов. XML для обмена данными имеет следующую структуру :
Общие параметры Поля Записи
Общие параметры
Общие параметры – глобальные параметры пакета данных. Описание каждого параметра имеет вид : Имя ” Value=” Значение ” />
Используются следующие общие параметры :
Эти параметры являются обязательными :
USERID – код пользователя ГБ, возвращается при успешном логине. ATTACHMENT – код подключения, возвращается при успешном логине.
Эти параметры являются необязательными :
CURRPROC – имя вызываемой процедуры. Нужен для корректного отображения в инструментах мониторинга. Крайне желательно, чтобы он был заполнен
DEPOT – код удаленного отдела. Его заполнение требуется в особых случаях :
- Когда нужно выполнить какие-либо действия в обход контроля доступа
- Когда нужно создать объект, код которого имеет заданное значение, в обход генераторов.
- Когда нужно, чтобы сделанные изменения не ушли по обмену в другие базы
Поля
Поля описывают структуры таблицы, содержащейся в пакете данных. Описание каждого поля имеет вид :
FieldName=”Имя” FieldType=”Тип” > Параметры поля
- I4 – целое
- I2 – короткое целое
- Sn – строка длиной n ( например, S20). n не может превышать 250
- F8 – число с плавающей точкой
- D8 – дата
- B – блоб (двоичные данные)
Параметры используется только в выходных данных, во входном XML их можно не заполнять.
Список фамилий, Которые Имеют Дворянское Происхождение! А Вы в нем есть ?
Используются следующие параметры полей :
Nature – внутренний тип поля. Возможные значения : 1 – в поле хранится количество (например, товара, в штуках) 2 +256*n – в поле хранится сумма в валюте с кодом n 3 – в поле хранятся проценты 4 – в поле хранится дата 6 +256*n – в поле хранится имя, максимальная длина n символов 7+256* n – в поле хранится код объекта с типом n 2 +256*n – в поле хранится цена товара в валюте с кодом n 10 – в поле хранится субсет 11- в поле хранится хип 12 – в поле хранится логическое значение 14 – в поле хранится путь к файлу 15 +256*n – в поле хранится число, которое должно быть отформатировано с n знаками после запятой, и по которому не предполагается вычисление итогов 16 +256*n – в поле хранится число, которое должно быть отформатировано с n знаками после запятой, и по которому предполагается вычисление итогов
Attrs – атрибуты поля, битовая маска, используется только в ГБ, можно игнорировать.
Label – подпись к полю
Записи
Каждая запись имеет вид :
RowState=”Состояние” Поле=”Значение” … > Субсеты
- Хип – ровно одна запись из любого числа полей строкового типа, каждое поле может иметь любое имя без ограничений. Поле, содержащее в себе хип, как правило, имеет имя Heap
Поле> Имя” Value=”Значение” /> … Поле>
- Субсет – вложенная таблица
Поле> Описание вложенной таблицы Поле>
Основные методы работы
Запуск процедуры
Подготовить XML с входными данными Установить общие параметры При необходимости порезать полученный XML на части и вызвать нужное число раз процедуру prepare_param Вызвать нужную процедуру и профетчить из нее результаты, сконкатенировав результирующую строку Пропарсить полученный XML. Проверить, не содержит ли он описание ошибки. Если содержит – достать описание ошибки и запустить ее обработку.
Пример на PHP с использованием SimpleXML :
Вызов процедуры с входным XML, содержащим однострочную таблицу без субсетов
Однострочная таблица используется для описания входных параметров всех отчетов, а также процедур вида XXX_GET, возвращающих свойства объекта, поэтому рекомендуется реализовать отдельный метод для вызова таких процедур.
function packet_get($proc, $args, $values) < // create params xml $xml = simplexml_load_string(‘ ‘); foreach ($args as $fieldname => $fieldtype) < $field = $xml->MetaData->Fields->addChild(‘Field’); $field->addAttribute(‘FieldName’, $fieldname); $field->addAttribute(‘FieldType’, $fieldtype); > // add row, fill values $row = $xml->RowData->addChild(‘Row’); for ($i = 0; $i < count($values); $i++) < $fieldname = $xml->MetaData->Fields->Field[$i][‘FieldName’]; $row->addAttribute($fieldname, $values[$i]); > return execute_procedure($proc, $xml); >
Логин
Выполнить процедуру security_connect_packet , в качестве входных параметров однострочная таблица, поле username типа строка содержит имя пользователя, поле computername типа строка содержит имя или IP- адрес хоста, с которого производится вход, поле login (целое) содержит 1. Проверить, что вход успешен ( не произошло ошибки и в выходной таблице LoginResult=1) . Запомнить возвращенный код пользователя (в выходных данных, поле User ) и код подключения ( в общих параметрах, параметр ATTACHMENT) для последующих вызовов
Пример на PHP с использованием SimpleXML :
Логофф
Необходимо выполнять в конце работы
Выполнить процедуру security_connect_packet , в качестве входных параметров однострочная таблица, поле login (целое) содержит 0. Обнулить запомненные коды пользователя и подключения
Пример на PHP с использованием SimpleXML :
function gb_logoff($user) < global $userid, $attachment; try < $xml = packet_get(‘security_connect_packet’,array(‘username’=>’S200′,’computername’=>’S200′,’login’=>’I4′),array($user,’www’,0)); > catch(PacketError $e) < return false; >$userid = 0; $attachment = 0; return true; >
Получение свойств объекта
Получение свойств одного или нескольких объектов заданного типа производится путем вызова процедуры XXX_GET, где XXX – название типа, которое определяется по таблице типов http://wiki.gbsoft.ru/wiki/ Типы_объектов_ГБ
Способ вызова процедур стандартный – на входе задается XML с 3 полями
Type , тип I4 – код типа объекта (из таблицы) Ids , тип B – список кодов объектов через точку с запятой. Максимальная длина списка 8192 байт, если нужно получить свойтва для большего числа объектов, нужно вызывать процедуру несколько раз Props , тип B – список требуемых свойств объектов, через точку с запятой, в начале и в конце списка тоже точка с запятой. Например, если требуется получить название объекта, в поле Props нужно передать ;Name; Если нужно получить все свойства объекта, можно передать в Props значение *
На выходе процедура вернет XML, содержащий запрошенные поля и по одной записи на каждый запрошенный объект .
Перечень стандартных свойств объектов приведен в приложении 1.
Очевидно, что можно реализовать универсальный метод GB_GET, который по типу объекта, массиву кодов и массиву свойств вернет таблицу с нужными кодами и свойствами.
Пример на PHP громоздкий и непрозрачный, поэтому здесь не приведен
Работа с отчетами
В идеале реализация процедуры AddIndirectFields должна поддерживать рекурсию, чтобы допускать задание полей в виде Articul.Node.Name или даже Partner.City.Name – здесь нужно сперва достать регионы из партнеров, а затем названия регионов.
Изменение объектов
Для создания, изменения и удаления объектов используются процедуры XXX_PUT
На входе эти процедуры получают данные той же структуры, что возвращает XXX_GET , с информацией о том, что изменилось
Для создания объекта нужно : Вызвать XXX_GET с Ids=-1 и Props=* Будет получен XML с одной записью, в которой все поля пусты, а субсеты содержат набор полей. Нужно установить RowState записи = 4 и заполнить поля. Если при создании добавляются записи в субсеты, то нужно для каждой записи субсета также установить RowState=4
Например, нужно создать документ. Для этого сперва вызываем Documents_Get. Получаем поля документа, а также поля товарных строк документа в субсете Goodies.
Заполняем поля документа, добавляем записи в субсет Goodies, вызываем Documents_Put
Для удаления объекта с заданным кодом нужно : Вызвать XXX_GET с Ids= код и Props=* Будет получен XML с одной записью . Нужно установить в ней RowState=2 и вызвать XXX_PUT
Для изменения заданных полей объекта с заданным кодом нужно : Вызвать XXX_GET с Ids= код и Props=* Будет получен XML с одной записью . Нужно установить в этой записи RowState = 1, затем создать новую запись (тэг Row) с RowState = 8 и заполнить в нем только изменяемые поля . Если изменяется субсет, то субсет в записи с RowState=8 должен содержать только изменения, по тем же правилам : вставка записи – RowState=4, удаление записи – RowState=2, изменение – пара записей, оригинальная с RowState=1 и измененные поля c RowState=8
За один вызов процедуры можно вставить, изменить или удалить любое количество объектов.
Последняя версия ГБ
Последние сообщения на форуме
- On-Line кассы! Нужно решение.
Orso (05.02.18 15:42) - Нужны драйвера для ШТРИХ-М2 on Line и РИТЕЙЛ-01Ф on Line
BS (28.12.17 04:12) - Журналы регистрации приемочного контроля
AlexeyRaevsky (14.08.17 15:32) - Поддержка On-Line ККМ
Orso (27.07.17 03:45) - передача лицензий
Orso (27.07.17 03:38)
Источник: www.gbsoft.ru
Программа граф бестужев инструкция
Программный комплекс «ГБ-Аптека» разработан специально для автоматизации аптек и аптечных сетей, с учетом специфики фармацевтического бизнеса. «ГБ-Аптека» является удобным инструментом для оптимизации всех основных бизнес-процессов аптечной организации. Внедрение программного комплекса позволяет значительно повысить эффективность работы персонала, избавиться от большого объема рутинной работы, существенно сократить количество ошибок и упростить ведение товарного учета в аптеке.
Возможности программного комплекса:
Формирование заказов Поставщикам
• технология «автозаказа» (автоматическая/полуавтоматическая)
• расчет Потребности на основе заложенных алгоритмов (согласовывается с Заказчиком)
• удобный встроенный сводный прайс-лист «AS-Price» (без навязчивой рекламы и ненужной информации!)
• автоматическая обработка Потребности и добавление товара в Корзину (к примеру по мин. цене), не нужно набивать заявки вручную!
• возможность выставления приоритетов по Поставщикам, Товарным группам, Ценовым категориям и др.
Поступление товара на склад
• загрузка электронных накладных любого формата!
• автоматическое ценообразование по заложенным алгоритмам, для ЖНВЛС настраиваются с учетом действующего в конкретном субъекте федерации законодательства (розн. опт. коэффициенты и пр.).
• возможность гибкой настройки индивидуальных алгоритмов ценообразования, с учётом ценовой категории товара, его маржинальности, Поставщика, маркетинговых акций и пр.
• печатать комплекта сопроводительных документов «одним нажатием клавиши», помимо унифицированных форм (Ценник, Товарная накладная ТОРГ-12, Счет-фактура, Накладная на возврат, Акт о списании товаров ТОРГ-16, Товарный отчет ТОРГ-29, Стеллажная карта и тд.) есть возможность создать любую печатную форму по желанию Заказчика
Реализация товара через ККТ
• удобное кассовое приложение АРМК «АС-Касса», интуитивно понятный интерфейс, большой набор функциональных возможностей, гибкая настройка под конкретного Заказчика
• регистрация всех продаж с использованием «внутреннего» и/или «заводского» штрих-кода товара, печать чека (копии чека) на ККМ согласно 54-ФЗ (онлайн-кассы)
• все виды комбинированных оплат (наличными, банковской картой, бонусными баллами и др.)
• добавление в чек маркированного товара путем сканирования «Кода маркировки»
• применение «скидки по СМС», можно не тратить средства на выпуск пластиковых карт
Различные виды дисконтных систем
• фиксированные скидки на товарные группы или конкретные товары
• накопительные бонусные системы с изменяющимся %-ом скидки в зависимости от суммы покупок
• дебетовые / кредитовые карты, подарочные сертификаты, купоны, скидки при расчете по пл.карте и многое другое!
• СМС-уведомления Покупателям о присвоении нового статуса, начислении бонусов, проведении акций и по др. событиям
• интеграция с внешники бонусными системами, приём сторонних бонусных карт
Автоматическое обновление данных (справочников)
• возможность работы с централизованным справочником «Товары»
• ежедневное обновление спр-ка ЖНВЛС, инструменты для работы со справочником (поиск, выявление расхождений и пр.)
• ежедневное обновление справочника «Реестр забракованных серий», поиск и печать писем РЗН не выходя из программы
• возможность автоматического обновления справки по товару
Интеграция с информационными системами Аптечных ассоциаций
• автоматический инф. обмен по требованиям Ассоциации
• инструменты для контроля выполнения планов по различным «маркетинговым активностям», как по всей организации так и каждого фармацевта отдельно
• выделение Акционного товара на кассе, отображение подсказок фармацевтам
• набор удобных аналитических отчетов
Другие виды интеграций, экспорт данных
• выгрузка данных в бухгалтерские программы («1С:Бухгалтерия», «Контур», «СБИС», «Бэст» и пр.), как автоматический так и в ручном режиме
• выгрузка прайс-листа и прием заявок с «Интернет-аптек», работа с web-порталами (выдача заявок собранных внешним складом, сборка заявок из товарных остатков аптеки)
• загрузка выписок и выгрузка платежных поручений в Клиент-Банк
• загрузка накладных в формате XML из систем ЭДО
Инструменты для повышения эффективности
• подсказки на кассе для фармацевтов: «Товар по акции», «Истекающие сроки», «Не забудь предложить», «С этим товаром покупают»…
• ведение «Адресного хранения», присвоение адреса каждому товару
• выставление «рейтинга товара» на основе ABC/XYZ-анализа (ведение истории изменения рейтинга)
• системы мотивации персонала с возможностью в реальном времени отслеживать персональные показатели не отходя от рабочего места фармацевта
• расчет с Поставщиками за поставленный товар, автоматическое создание Платежных поручений на основе реестра приходных документов, выгрузка П/П в клиент-банк и загрузка выписок в программу, формирование Актов сверок с поставщиками
Аналитика для управленческого учета
• анализ показателей эффективности каждого сотрудника и торговой точки
• автоматический расчет заработной платы (базовая и динамическая части), по согласованным алгоритмам
Единое информационное пространство для аптечных сетей
• информационный обмен м/у всеми аптеками сети
• централизация данных, контроль товарных остатков и движения товара из «Офиса»
• формирование заявок Поставщикам из одного места с учетом «товара под заказ»
• оперативное перемещение товара м/у аптеками, перемещение «залежалого» товара и товара с истекающими сроками
Список возможностей программного комплекса «ГБ-Аптека» на этом не ограничивается, продукт динамично развивается и совершенствуется, создаются новые технологии/сервисы. Возможна доработка продукта по индивидуальному заказу Клиента.
Источник: www.areal-soft.ru
Граф Бестужефф 6.03
Торговые системы — процессами в торговых предприятиях. В отличии от стандартных бухгалтерских программ, в торговой системе главная роль отдана не фискальному, а управленческому учету. Акцент делается на товарной подсистеме, финансовая бухгалтерия отходит на второй план.
Программы разработчика
Граф Бестужефф 6.03
GBsoft
Торговые системы — процессами в торговых предприятиях.
Multipass 2.2
GBSoft
Простой и дружественный администратор паролей.
Альтернативные программы
Граф Бестужефф 6.03
GBsoft
Торговые системы — процессами в торговых предприятиях.
Бизнес-Комфорт
ООО «Ретро-тех»
Многопользовательская программа для управления Бизнес-процессами, построенная на современной технологии.
Инталев: Бизнес-процессы 1.0
Unknown
Продукт разработан для системы «1С:Предприятие» и предназначен для управления бизнес-процессами компании.
Process 2.0.2
Щирин Евгений
Process Traffic — это программа, следящая и управляющая за всеми процессами (программами), которые запущены в системе.
ПСП-Сервис 2.0
Unknown
Назначение программ: автоматизация торговой и сервисной деятельности предприятия.
Process Traffic V1.0
Щирин Евгений
Process Traffic — это программа, следящая и управляющая всеми процессами (программами), которые запущены в системе.
ВС:Бухгалтерия 2.1
Компания
КОНВОЙ, 1.3.0.187
ЗАО Компания ИСБП
Универсальная платформа управления бизнес-процессами.
торговля и учет товаров и услуг -одна из первых торговых программ для учета товара и денег: опт/розница/комиссия : продукты, промтовары, одежда, обувь, книги, оргтехника, ювелирка, цветы и др.
Маркет 6.03
УралИнфоПроект
Программно-технологический комплекс (ПТК) «Маркет» представляет собой комплекс программ автоматизации торговой деятельности.
Другие программы категории
Active File Compare 2.0
Евгений Баянов
Утилита для сравнения и синхронизации любых ASCII текстовых файлов в визуальном режиме; превосходный инструмент для сравнения версий исходных текстов программ на языках программирования, так как поддерживает синтаксическое выделение и непосредственное исправления найденных различий между версиями.
Icon XP Pro
Unknown
1st Page 2000 2.0 Final
EVRSoft
1st Page 2000 2.
SMS Subscribe v1.01
almaz
Если Вы хотите получать на Ваш сотовый телефон какую-либо информацию из Интернет, то можете использовать данную программу.
RV-SMS v1.0
Райчев Евгений
Отправка sms-сообщений на мобильные телефоны, много операторов, записная книжка, очень проста в использовании.
Поиск
Наш выбор
WinRAR 6.10 Beta 1
WinRAR самый лучший архиватор.
Источник: pcwin.ru