Передача данных через SQL-таблицу ExtDocs: различия между версиями
Admin (обсуждение | вклад) м (1 версия: Все статьи из старой AltaPedia) |
Belousov (обсуждение | вклад) (→Статусы и коды ошибок обработки записи) |
||
| (не показаны 4 промежуточные версии 2 участников) | |||
| Строка 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())
)