- Журнал изменений в версиях системы Papyrus
- PAPYRUS (Демо)
- Papyrus: development
- Papyrus: возможности системы
- Papyrus: руководство пользователя
- Введение
- Печать информации
- Бизнес-показатели
- Установка
- Запуск и завершение работы
- Отчетность по расчетам с дебиторами и кредиторами
- Интерфейс пользователя
- Товарная отчетность
- Статистика продаж и прогнозирование спроса
- Интерфейс с сервисом IP-телефонии
- Универсальные концепции
- Географические объекты
- Импорт и экспорт данных
- Настройка и администрирование системы
- Персоналии
- Товары
- Язык описания формул
- Бухгалтерские справочники
- Язык описания данных DL600
- Глоссарий
- Операционные справочники
- Текущие параметры системы
- Документы
- Бухгалтерские документы
- Товарные документы
- Книги продаж и покупок
- Основные средства
- Рента
- Инвентаризация
- Производство
- Персональные карты
- Персональные операции
- Кадры
- Расчет заработной платы
- Управление проектами и задачами
- Отчетность
- Бухгалтерская отчетность
- Язык описания данных DL200
- Розничные продажи и торговое оборудование
- Управление мобильной торговлей
- Разделенные базы данных
- Интеграция со сторонними системами и сервисами
- Специальный процессинг данных
- Job-Server
- Защита и восстановление данных
- COM-интерфейсы
- Приложения
- Библиотека
- Все об обязательной маркировке 2021
- Все об онлайн-кассах
- Презентации
- Руководства
- Свидетельство о регистрации системы Papyrus
- Технологии и функции
Унифицированная конфигурация форматов импорта/экспорта
Унифицированный механизм настройки импорта/экспорта предоставляет возможность обмена данными с другими программами посредством файлов, представленных в различных формах. Этот механизм реализован для части объектов данных, используемых системой. Сюда входят:
Общие принципы работы и структура унифицированных конфигураций импорта/экспорта
Конфигурация импорта/экспорта хранится в текстовом файле bin/impexp.ini. Структура конфигурации содержит следующие атрибуты:
Возможности обмена данными через текстовые файлы
Различные системы используют самый обширный набор форматов представления данных в текстовых файлах.
Настройка конфигурации импорта/экспорта
Общий список конфигураций импорта/экспорта
Доступ к большей части конфигураций импорта/экспорта объединен общим диалогом, показанном на рис. link. Здесь сгруппированы следующие наборы конфигураций:
Заголовочный диалог конфигурации
В заголовочном диалоге необходимо указать основные параметры импорта/экспорта. Вид этого диалога показан на рис. link. Далее в таблице перечисляются управляющие элементы этого диалога.Обратите внимание, что в некоторых случаях, заголовочный диалог может отличаться от представленного на рисунке дополнительными полями, специфичными для конкретной области применения.
- Наименование
- Наименование конфигурации.
- Формат внешних данных
- Формат, в котором представлены входящие (исходящие) файлы. Доступны следующие варианты:
- Текстовый
- Данные представлены в виде текста. При этом детальные опции формата устанавливаются в дополнительном диалоге “Параметры текстового файла”.
- DBF
- Широко распространенный формат представления данных, используемый популярными системами семейства xBase (dBase, FoxPro, Clipper и др.)
- XML
- Текстовый файл в формате XML. На текущий момент поля могут быть определены только в виде тегов XML-файла, но не как атрибуты тегов.
- Excel
- Данные представлены в виде файла в формате Microsoft Excel™.
Работа с такими файлами реализуется средствами COM-интерфейсов программы Microsoft Excel™. Это означает, что она должна быть установлена на том компьютера, на котором запускается сеанс, выполняющий функции импорта/экспорта.
[Параметры текст файла]
✓OEM - кодировка
✓Удалять файлы после импорта
Экспорт/Импорт
[Соответствие полей]
Справа от поля находится кнопка, позволяющая выбрать каталог в стандартном диалоге навигации по файловой системе. При экспорте, если в имени файла содержатся символы '?', то они будут замещаться на цифры так, чтобы сформировать имя файла, уникальное для данного каталога. Заметим, что такие символы допускаются только собственно в имени файла, но не в расширении и не в наименовании каталога.
▼Учетная запись FTP-сервера
H:/PPY/OUT/F???-???.TXT будет последовательно замещаться на H:/PPY/OUT/F000-001.TXT
-Server может по расписанию выполнять те или иные регулярные задания.Вот список типов задач Job-Server'а:
Прием данных из других разделов БД
символ: ObjRecvРезервное копирование nologin
символ: BackupОсуществляет резервное копирование базы данных.Обслуживание базы данных
символ: DBMaintainОбслуживание задач noparam
символ: MaintainPrjTaskЗагрузка данных на кассовый узел
символ: LoadAsyncPOSЗагрузка данных на весы
символ: LoadScaleПересчет скидок по дисконтным картам
символ: SCardDiscRecalcИмпорт/экспорт palm
символ: PalmImpExpПередача изменений в другой раздел
символ: TransmitModifЗакрытие кассовых сессий
символ: CSessCloseЗаполнение таблицы продаж
символ: FillSalesTableПрием объектов charry
символ: CharryImportУдаление временных файлов
символ: RemoveTempFilesТест создания файлов
символ: TestCreateFilesЗапустить приложение
символ: LaunchAppСоздание драфт-документов по кассовым сессиям
символ: CSessCrDraftПроцессинг должников
символ: DebtRateРасчет бизнес-показателей
символ: BizScoreЭкспорт данных Балтика
символ: ExportBaltikaПередача документов с фильтрацией
символ: TransmitBillByFiltЭкспорт документов
символ: ExportBillsСоздание документов заказов поставщикам
символ: AutoSupplOrderСервер RFID устройств
символ: RfidDevicePrcssrОбработка выборки пластиковых карточек
символ: SCardSelectionPrcssrИзменение котировок
символ: UpdateQuotsВызывает функцию изменения котировок.Параметры
Для редактирования параметров вызывается тот же диалог, что и при работе с интерактивной функцией изменения котировок (см. стр. link).Экспорт отчета по именованному фильтру
символ: ExportViewЭкспортируе XML-файл с результатами расчета отчета, определенного заранее подготовленным именованным фильтром.Параметры
Пустое задание (отладка) noparam
символ: DummyТестовая задача, используемая для проверки работы сервера по расписанию.Параметры
Отсутствуют.Команды Job-Server
Job-Server работает как TCP-сервер, принимая команды от клиентского приложения и возвращая ему ответы.TCP-порт сервера
По умолчанию используется TCP-порт 28015, однако это значение может быть переопределено параметром [server] port в файле pp.ini.Формат и синтаксис команд
Команды Job-Server'у посылаются в текстовом формате. Каждая команда завершается парой символов xD xA (бинарный перевод каретки).Параметры команд передаются через пробел. Если параметр содержит несколько слов, разделенных пробелами, то можно обрамлять такие многосложные параметры двойными кавычками. В случае, если внутри такого параметра необходимо передать действительный символ двойной кавычки - его необходимо предварить обратным слэшем .gray "gray hourse" "gray hourse with "quoted string " "
HELLO
Получение информации от сервера.Параметры
Отсутствуют.Возвращаемые значения
1 Название программыLOGIN
Авторизация в базе данных.Параметры
- Символ базы данных
- Имя пользователя
- Пароль пользователя
Возвращаемые значения
- 1
- Авторизация прошла успешно.
- 0
- Ошибка. Сообщение об ошибке можно получить вызовом команды GETLASTERR.
LOGIN normal_base valery gala02
LOGOUT
Выход из сеанса связи с базой данных.Параметры
Отсутствуют.Возвращаемые значения
100HSH
Команда используется для получения строки идентификации текущей сессии. В дальнейшем этот идентификатор может быть использован для восстановления прерванного соединения с сервером.Параметры
Отсутствуют.Возвращаемые значения
Строка идентификатора сессии.SUSPEND
Прерывает соединение с сервером с возможностью последующего восстановления.Параметры
- Таймаут ожидания
- Необязательный параметр, указывающий серверу время в секундах, в течении которого следует ожидать восстановления соединения. По умолчанию, таймаут ожидания восстановления соединения после команды SUSPEND составляет 3600 секунд.
Возвращаемые значения
Строка идентификатора сессии.RESUME
Восстанавливает прерванное до этого соединение.Параметры
- Идентификатор сессии
- Строка идентификатора сессии, полученная перед прерыванием соединения командой HSH или SUSPEND.
Возвращаемые значения
- ACK
- В случае успешного восстановления соединения.
- BUSY
- Восстановить соединение не удалось так как сессия, с которой клиент пытается восстановить соединение занята и не ответила в течении заданного времени (по умолчанию 30 секунд).
- ERR
- Ошибка.
QUIT
Конец сеанса связи с Job Server.Параметры
Отсутствуют.Возвращаемые значения
100 BUYGETLASTERR
Возвращает строку сообщения о последней ошибке.Параметры
Отсутствуют.Возвращаемые значения
1 Сообщение об ошибкеSPII
Обмен данными с КПК на основе PalmOS или Windows Mobile и установленной программой StyloPalmII или StyloWCE.Параметры
Отсутствуют.Возвращаемые значения
100STYLOBHT
Обмен данными с терминалом на основе Windows Mobile и установленной программой StyloBht.Параметры
Отсутствуют.Возвращаемые значения
100STYLOBHTII
Обмен данными с терминалом на основе Windows Mobile и установленной программой StyloBhtII.Параметры
- DbSymb
- символ базы данных
- UserName
- имя пользователя
- Password
- пароль (в зашифрованном виде)
Возвращаемые значения
- 100
- Обмен прошел успешно.
- 0
- Ошибка. Сообщение об ошибке можно получить вызовом команды GETLASTERR.
GETBIZSCORES
Получение названий и значений бизнес-показателей.Параметры
- UserName
- глобальное имя пользователя (PPOBJ_GLOBALUSERACC)
- Password
- пароль (в открытом виде)
Возвращаемые значения
- 100
- текст с наименованиями и значениями показателей] Функция отработала успешно.
- 0
- Ошибка. Сообщение об ошибке можно получить вызовом команды GETLASTERR.
CHECKGLOBALCREDENTIAL
Проверяет правильность имени глобальной учетной записи и соответствующего ей пароля.Параметры
- UserName
- глобальное имя пользователя (PPOBJ_GLOBALUSERACC)
- Password
- пароль (в открытом виде)
Возвращаемые значения
- 1
- Существует учетная запись с заданным именем и переданный пароль правилен.
- 0
- Ошибка. Сообщение об ошибке можно получить вызовом команды GETLASTERR.
GETBBOARD
Возвращает список запущенных задач Job Server.Параметры
Отсутствуют.Возвращаемые значения
Если есть хоть одна запущенная задача, то возвращает все запущенные задачи в виде: 1 Запущенная задача в формате: 1 Дата Время Описание задачи [(Ход выполнения)] Затем возвращает 100. Если не запущено ни одной задачи, то возвращает строку: 0 There are no started tasksGETTDDO
Возвращает текст, построенный по шаблону заданного tddo-файла.Параметры
- FileName
- Имя tddo-файла.
- ArgList
- Список дополнительных аргументов, передаваемых обработчику tddo-файла. Этот список может содержать ноль или более аргументов.
GETTDDO ppgoodsdetail 3401 "еще один аргумент" Здесь:
- ppgoodsdetail
- Имя tddo-файла
- 3401
- Первый аргумент обработчика (будет подставлен в ответ на переменную ${1})
- "еще один аргумент"
- Второй аргумент обработчика (будет подставлен в ответ на переменную ${2})
GETTDDO greeting Вызов обработчика шаблона greeting.tddo без дополнительных аргументов.
TEST
Тестирование обмена данных с сервером.Параметры
Отсутствуют.Возвращаемые значения
- 100
- Тест прошел успешно.
- 0
- Ошибка. Сообщение об ошибке можно получить вызовом команды GETLASTERR.
GETIMAGE
Возвращает файл с изображением, ассоциированным с выбранным объектом данных.Параметры
- ObjType
- Символ типа объекта данных. Команда поддерживает следующие символы:
- GOODS
- Товары
- PERSON
- Персоналии
GETIMAGE goods 12029 Возвращает изображение товара с идентификатором 12029.
EXECVIEW
Запускает расчет отчета по именованному фильтру и возвращает XML-файл с результатами.Параметры
- NamedFiltSymb
- Символ именованного фильтра.
- DL600DataName
- Не обязательный. Наименование структуры DL600, которую следует использовать для формирования файла отчета. Если этот параметр опущен, то сервер попытается использовать структуру данных, ассоциированную с отчетом по умолчанию (не все КАД'ы определяют такой отчет).
EXECVIEW goodsrest02 Возвращает файл результата расчета по фильтру с символом goodsrest02.
SELECT
Команда со сложным синтаксисом, предназначенная для извлечения данных из системы.Формат возвращаемого значения
Сервер возвращает запрошенные данные в формате XML. Для большинства типов объектов формат одной записи следующий:- Id
- Идентификатор объекта.
- ParentId
- Идентификатор родительского объекта (может быть 0).
- Name
- Наименование объекта.
Синтаксис команды SELECT
Общий принцип состоит в том, что клиентское приложение формирует запрос, содержащий тип объекта, записи которого следует извлечь, и список критериев, которым должны удовлетворять извлекаемые записи.Критерии задаются следующей конструкцией: criterion-clause ::= criterion subcriterion-clause criterion-value-clause subcriterion-clause ::= nothing | .subcriterion criterion-value-clause ::= nothing | ( criterion-value )То есть, каждый критерий состоит из трех частей (некоторые из которых могут отсутствовать): наименование критерия (criterion), подкритерий (subcriterion), значение критерия (criterion-value).Наименования критериев и подкритериев будут описаны подробно для каждого типа объектов. Значение критерия заключается в скобки. Внутри скобок значения, даже текстовые, не должны обрамляться кавычками.SELECT GOODS BY PARENT.NAME(Сигареты) Приведенная конструкция извлекает список товаров, принадлежащих группе с именем “Сигареты”.
- DL600
- Запись в формате структуры DL600. После символа DL600 должно следовать наименование структуры и лишь за тем - критерии. Критерии:
- ID
- Идентификатор данных, которые должны быть извлечены. Подкритерии отсутствуют.
SELECT DL600 UhttPerson by id(21319) Извлекает данные о персоналии (в формате UhttPerson) с идентификатором 21319.
Здесь речь идет о втором поколении котировок, реализованном в Papyrus . Общая инфраструктура котировок на момент написания этого раздела не переведена на второе поколение. Таким образом, котировки, которыми можно манипулировать в стандартном сеансе системы не могут быть (пока) извлечены вызовом этой команды.
Примеры
Приведем несколько примеров использования команды SELECT:SELECT goods BY goodsgroup.code(33)SELECT goods BY brand(10014) goodsgroup(14)SELECT goods BY barcode(4607089460013)SELECT person BY kind.symb(BANK)SELECT person BY register.def(10022, 5550005)SELECT PERSON BY ID(19) ID(2301) ID(1429)SELECT personkind by id(1002) id(1003)SELECT DL600 UhttPerson by id(21319)SELECT QUOT BY KIND(1) GOODS.CODE(4602666140609)SELECT QUOT BY ACTUAL KIND(1) LOCATION.CODE(1400000001)CREATE
Эта команда позволяет создать некоторые объекты данных с ограниченным набором атрибутов.- PERSON
- Создает запись персоналии.
- Name
- Наименование персоналии. Обязательный параметр.
- Status
- Юридический статус новой персоналии. Может быть указан только один статус. Если указано более одного, то применяется последний (в лексикографическом порядке). Если статус не указан, то персоналия получает принадлежность статусу по первому встретившемуся виду (в порядке следования идентификаторов), для которого задан статус персоналий по умолчанию, если такой вид отсутствует, то персоналия получает зарезервированный статус Юридическое лицо. Подкритерии:
- ID
- (default) Идентификатор статуса.
- CODE
- Символ юридического статуса.
- NAME
- Наименование статуса (поиск по точному соответствию имени без учета регистров символов).
SET
Команда SET позволяет установить некоторые атрибуты для ряда объектов данных.Синтаксис этой команды аналогичен синтаксису команды SELECT, однако здесь отсутствует ключевое слово BY.- GOODSARCODE
- Устанавливает код товара, связанного с заданным контрагентом.
- SELLER
- Обязательный параметр. Персоналия, с которой должен быть связан код товара. Подкритерии:
- ID
- (default) Идентификатор персоналии.
- CODE
- Номер поискового регистра вида персоналии (не путать с поисковым регистром таблицы аналитических статей).
- NAME
- Наименование персоналии (поиск по точному соответсвию имени без учета регистров символов).
Примеры
Приведем примеры использования команды SET:set quot kind(1) goods.code(4602666140609) location.code(1400000001) value(65.90)set goodsarcode goods.code(46072740) seller.code(tobacco-world) value(33001)SETGLOBALUSER
Устанавливает значение глобальной учетной записи для текущего потока сервера.Параметры
- GlobalUser
- Наименование или идентификатор устанавливаемой глобальной учетной записи. Если этот параметры может быть интерпретирован системой как число и существует идентификатор глобальной учетной записи, равный этому числу, то текущей устанавливается эта запись. В противном случае система ищет запись по имен, соответствующем этому параметру и, если находит, то устанавливает такую запись текущей. Если идентифицировать запись по параметру не удалось, то возвращается ошибка.
Возвращаемые значения
- 1
- Удалось установить текущую глобальную учетную запись.
- 0
- Ошибка. Сообщение об ошибке можно получить вызовом команды GETLASTERR.
GETGLOBALUSER
Возвращает идентификатор текущей глобальной учетной записи.Параметры
Отсутствуют.CCHECKCREATE
Инициирующая команда для создания распределенного кассового чека.Параметры
Синтаксис параметров этой команды аналогичен синтаксису параметров команды SELECT. То есть, в произвольном порядке перечисляются критерии запроса. Вот список допустимый критериев:- POSNODE
- Определяет кассовый узел, которому должен принадлежать чек. Этот узел обязательно должен иметь тип распределенного кассового узла.
- LOCATION
- SCARD
- AMOUNT
- DISCOUNT
CCHECKADDLINE
Не реализована. Команда добавления в распределенный кассовый чек новой строки.CCHECKFINISH
Завершающая команда создания распределенного кассового чека.SCARDREST
Возвращает остаток стредств на кредитной либо бонусной карте.SCARDWITHDRAW
Выполняет операцию списания заданной суммы с кредитной либо бонусной карты.SETPERSONREL
Создает отношение заданного типа между персоналиями.Критерии:- PRIMARY
- Обязательный параметр. Первичная персоналия в отношении. Подкритерии:
- ID
- (default) Идентификатор персоналии.
- CODE
- Номер поискового регистра вида персоналии (не путать с поисковым регистром таблицы аналитических статей).
- NAME
- Наименование персоналии (поиск по точному соответствию имени без учета регистров символов).
GETPERSONREL
Возвращает список персоналий, связанных с заданной отношениями.Критерии:- PRIMARY
- Первичная персоналия в отношении. Подкритерии аналогичны используемым в команде SETPERSONREL. Если этот параметр указан, то команда возвращает список персоналий, с которыми связана эта персоналия.
- SECONDARY
- Вторичная персоналия в отношении. Подкритерии аналогичны используемым в команде SETPERSONREL. Если этот параметр указан, но PRIMARY не определен, то команда возвращает список персоналий, которые связаны с этой персоналией (обратные отношения). Если определены и PRIMARY и SECONDARY, то возвращается SECONDARY, если она связана с PRIMARY либо отношением PERSONRELTYPE, либо любым отношением при отсутствии критерия PERSONRELTYPE.
- PERSONRELTYPE
- Тип персонального отношения. Подкритерии аналогичны используемым в команде SETPERSONREL. Критерий ограничивает список возвращаемых персоналий только теми, которые имеют данный тип отношения.
SETOBJECTTAG
Устанавливает значение тега для объекта данных.Критерии:- TAG
- Обязательный параметр. Может присутствовать в команде один и только один раз. Тип тега, значение которого должно быть установлено. Подкритерии:
- ID
- (default) Идентификатор типа тега.
- CODE
- Символ типа тега.
- NAME
- Наименование типа тега.
Примеры
Приведем примеры использования команды SETOBJECTTAG:setobjecttag tag{key
INCOBJECTTAG
Увеличивает значение тега для объекта данных.Критерии аналогичны тем, что применяются для команды SETOBJECTTAG. Несколько меняется смысл критерия VALUE: если критерий пуст или отсутствует, то значение тега увеличивается на единицу.Если значение критерия VALUE не пустое и не может быть преобразовано к положительному числу, то сервер возвращает ошибку.Если тип тега не числовой, то сервер возвращает ошибку.
DECOBJECTTAG
Уменьшает значение тега для объекта данных.Команда полностью аналогична INCOBJECTTAG с той лишь разницей, что значение тега уменьшается.
GETOBJECTTAG
Возвращает значение тега объекта данных.Критерии:
Если до этого критерия в команде уже встречались критерии GOODS или GLOBALUSER, то сервер вернет ошибку смешения типов объектов. Если тег, заданный критерием TAG не относится к типу объектов Персоналии, то сервер вернет ошибку несоответствия тега объекту, к которому он применяется.
Если до этого критерия в команде уже встречались критерии PERSON или GLOBALUSER, то сервер вернет ошибку смешения типов объектов. Если тег, заданный критерием TAG не относится к типу объектов Товары, то сервер вернет ошибку несоответствия тега объекту, к которому он применяется.
Если до этого критерия в команде уже встречались критерии PERSON или GOODS, то сервер вернет ошибку смешения типов объектов. Если тег, заданный критерием TAG не относится к типу объектов Глобальные учетные записи, то сервер вернет ошибку несоответствия тега объекту, к которому он применяется.