Description of structures and methods for exchange between different buhgalet software
Описание структур(типов) и методов для взаимодействия разных бухгалтерских программ
Описание не зависит от реализации, предполагается использование в рамках XML-RPC, JSON-RPC, внутреннего вызова в среде.
======== Назначение папок:
- types - описание комплексных типов данных
- methods - описание методов, которые может реализовывать сервер.
- implementations - замечания о реализации в той или иной среде.
======== Описание методов идет в формате: Имя метода(параметр1, параметр2, параметр3): результат
Типы и назначение параметров и результата указываются далее по тексту.
Допустимы следующие типы:
- Integer - Целое число
- Real - Действительное число
- String - Строка.
- BinaryString - Строка, содержащая данные, отличные от человекочитаемого представления (в т.ч. непечатаемые символы).
- Datetime - Дата со временем или без. Если функция чувствительна ко времени - об этом должно быть указано явно.
- Boolean - Логическое "да" или "нет".
- Массивы
- Структуры
Массивы описываются следующим образом:
-
[переменная1, переменная2, переменная3] - набор из 3х различных переменных, различающихся по смыслу. Описание переменных приводится далее по тексту, аналогично методам. Использование разных типов технически допускается, но строго не рекомендуется из-за возможных проблем реализации.
-
[переменная,...] - набор одинаковых по смыслу переменных. Описание приводится для смысла и типа переменной непосредственно после описания массива.
Структуры описываются следующим образом:
-
{поле1!: переменная1; поле2: переменная2} - структура из двух полей с фиксированными именами (поле1, поле2) и значениями, описанными далее по тексту. Поля, помеченные ! - обязательны (поле1); поля, не помеченные ! могут отсутствовать.
-
{@переменная1: переменная2,...} - структура из некоторого количества полей. Порядок задания имен и значений полей приводится далее по тексту.