Передача данных через SQL-таблицу ExtDocs: различия между версиями
Belousov (обсуждение | вклад) (→Статусы и коды ошибок обработки записи) |
|||
(не показано 5 промежуточных версий 3 участников) | |||
Строка 45: | Строка 45: | ||
|image | |image | ||
|Собственно документ в одном из разрешенных форматов: | |Собственно документ в одном из разрешенных форматов: | ||
− | * XML таможенного формата (в соответствии с [http://www.customs.ru/index.php?option=com_content&view=article&id= | + | * XML таможенного формата (в соответствии с [http://www.customs.ru/index.php?option=com_content&view=article&id=17127 альбомами форматов] утвержденными ФТС). |
* XML внутреннего формата "Альта-ГТД". Для ЭД-2 документов совпадает с таможенным, для ГТД и Инвойса существенно отличается. Примеры можно получить выгрузив любой готовый документ через меню "Каталог|Выгрузка/Загрузка дополнительная|Выгрузка в XML (Альта)". | * XML внутреннего формата "Альта-ГТД". Для ЭД-2 документов совпадает с таможенным, для ГТД и Инвойса существенно отличается. Примеры можно получить выгрузив любой готовый документ через меню "Каталог|Выгрузка/Загрузка дополнительная|Выгрузка в XML (Альта)". | ||
* Бинарник внутреннего формата. Расширение соответствует типу документа, например "GTD" или "INV". Закрытый формат, получается выгрузкой из программы "Альта-ГТД" на другом рабочем месте. | * Бинарник внутреннего формата. Расширение соответствует типу документа, например "GTD" или "INV". Закрытый формат, получается выгрузкой из программы "Альта-ГТД" на другом рабочем месте. | ||
Строка 93: | Строка 93: | ||
Удаление обработанных записей, как и их добавление, осуществляется внешней КИС. Таким образом ExtDocs может являться одновременно и логом с информацией о загруженных документах, если удалять их не сразу, а через какое-то время. | Удаление обработанных записей, как и их добавление, осуществляется внешней КИС. Таким образом ExtDocs может являться одновременно и логом с информацией о загруженных документах, если удалять их не сразу, а через какое-то время. | ||
+ | |||
+ | Ниже приведен скрипт для создания таблицы '''ExtDocs'''. После его выполнения и перезапуска программы ГТД загрузка новых документов "зеленой стрелкой" начинает работать автоматически. | ||
+ | |||
+ | <font size="3"> | ||
+ | <source lang=sql> | ||
+ | CREATE TABLE [dbo].[ExtDocs]( | ||
+ | [DocExt] [varchar](10) NULL, | ||
+ | [DocName] [varchar](50) NULL, | ||
+ | [DocNum] [varchar](50) NULL, | ||
+ | [SendDate] [datetime] NULL, | ||
+ | [SendFrom] [varchar](16) NULL, | ||
+ | [SendTo] [varchar](16) NULL, | ||
+ | [GetDate] [datetime] NULL, | ||
+ | [Data] [image] NULL, | ||
+ | [Status] [int] NULL, | ||
+ | [Comment] [varchar](100) NULL, | ||
+ | [DOCGUID] [uniqueidentifier] NULL, | ||
+ | [GID] uniqueidentifier NOT NULL PRIMARY KEY NONCLUSTERED ROWGUIDCOL DEFAULT (newid()) | ||
+ | ) | ||
+ | </source> | ||
+ | </font> | ||
+ | |||
+ | == См. также == | ||
+ | [[Форматы ввода вывода Альта-ГТД]] | ||
+ | |||
+ | [[Интеграция с КИС]] | ||
+ | |||
[[Категория:Альта-ГТД]] | [[Категория:Альта-ГТД]] | ||
[[Категория:Автоматизация]] | [[Категория:Автоматизация]] |
Текущая версия на 17:02, 19 марта 2014
Для передачи документов в программу "Альта-ГТД" из пользовательской КИС часто бывает удобнее вместо папки с файлами использовать таблицу на SQL-сервере. При этом в таблице хранятся по сути те же самые файлы (XML или бинарные), загруженные в поле типа BLOB.
Стандартное имя такой таблицы в рабочей БД ГТД - ExtDocs
При появлении в ней необработанных записей (Status=0 или NULL) на панели инструментов ГТД появляется кнопка "зеленая стрелка", которая позволяет загрузить их из таблицы в текущую папку рабочей БД. Это та же самая кнопка, которая показывает наличие документов в папке "автозагрузки". Выборочная загрузка возможна через меню "Каталог|Выгрузка/Загрузка дополнительная|Внешние документы из SQL-базы".
По умолчанию таблица ExtDocs в базе отсутствует, чтобы создать ее и начать работу с данным механизмом необходимо хотя бы один раз зайти в упомянутое меню "Внешние документы из SQL-базы". Так сделано чтобы не замедлять работу большинства пользователей ненужными SQL-запросами.
Поля таблицы ExtDocs
Жирным шрифтом выделены обязательные для заполнения поля
Поле | Тип | Описание |
---|---|---|
DocExt | varchar(10) | Тип файла, чаще всего "XML" |
DocName | varchar(50) | Название док-та (для отображения в списке) |
DocNum | varchar(50) | Номер документа (для отображения в списке) |
SendDate | datetime | Время создания записи |
SendFrom | varchar(16) | Имя создателя записи (для отображения в списке) |
SendTo | varchar(16) | Имя загрузившего запись (логин пользователя в смысле "Альта-ГТД", заполняется при обработке записи) |
GetDate | datetime | Время загрузки (заполняется при обработке записи) |
Data | image | Собственно документ в одном из разрешенных форматов:
|
Status | int | Статус (при создании записи 0 или NULL, при обработке присваивается код результата операции) |
Comment | varchar(100) | Комментарий (для отображения в списке) |
DOCGUID | uniqueidentifier | Guid документа, для последующей его идентификации в таблице Docs рабочей БД.
|
GID | uniqueidentifier | Номер записи в таблице, PRIMARY KEY, присваивается автоматически |
Статусы и коды ошибок обработки записи
Код | Описание |
---|---|
0 | Новая запись, не обработана |
1 | Документ успешно загружен |
-1 | Ошибка записи на диск |
-2 | Неизвестный тип данных в поле DocExt |
-3 | Ошибка при конвертации документа, неверный формат |
-4 | Дубль, документ с таким DocGUID уже есть в базе |
Удаление обработанных записей, как и их добавление, осуществляется внешней КИС. Таким образом ExtDocs может являться одновременно и логом с информацией о загруженных документах, если удалять их не сразу, а через какое-то время.
Ниже приведен скрипт для создания таблицы ExtDocs. После его выполнения и перезапуска программы ГТД загрузка новых документов "зеленой стрелкой" начинает работать автоматически.
CREATE TABLE [dbo].[ExtDocs](
[DocExt] [varchar](10) NULL,
[DocName] [varchar](50) NULL,
[DocNum] [varchar](50) NULL,
[SendDate] [datetime] NULL,
[SendFrom] [varchar](16) NULL,
[SendTo] [varchar](16) NULL,
[GetDate] [datetime] NULL,
[Data] [image] NULL,
[Status] [int] NULL,
[Comment] [varchar](100) NULL,
[DOCGUID] [uniqueidentifier] NULL,
[GID] uniqueidentifier NOT NULL PRIMARY KEY NONCLUSTERED ROWGUIDCOL DEFAULT (newid())
)