-- Вставляем из ADS ДАННЫЕ в стейджинговую таблицу
insert into stg_1c.src_table
select * from stg_1c.nifi_to_adb;
-- Записей передано из всех источников в разрезе источников
select data_source, count(*) from stg_1c.src_table
group by data_source;
-- Передано из всех источников
select * from stg_1c.src_table;
-- Показываем вставленные данные
select to_timestamp(ts::double precision / 1000) sql_ts, * from stg_1c.src_table
order by ts desc limit 100;
-- Чистим таблицу с сообщениями
truncate table stg_1c.src_table;
-- Выбираем метаданые
select * from stg_1c.src_table_metadata stm;
-- Чистим таблицу с сообщениями с метаданными
truncate table stg_1c.src_table_metadata;
op | Операция передаваемого сообщения: C — первичная/ полная выгрузка (снапшот), U — создание и модификация, D — удаление |
version | Номер версии метаданных источника |
ts | Время изменения |
name | Имя коннектора (служит для определения платформы) |
db | Имя информационной базы |
schema | Схема |
connector_uid | Уникальный идентификатор инстанции, служит для разделения данных информационных баз-копий с одинаковыми именами |
data_source | Код источника данных |
lsn | Номер записи полной/ инициализационной выгрузки |
Тип 1С | Дополнительно | Базовый тип (Primitive type) | Логический тип (Logical-Type) | Размер (Size) | Разряды (precisiom) | Смещение (scale) |
УникальныйИдентификатор | string | uuid | Нет | Нет | Нет | |
УникальныйИдентификатор | Можно выбрать только вручную | fixed | uuid | Да | Нет | Нет |
Дата | ЧастиДаты.Дата | string | date | Нет | Нет | Нет |
Дата | ЧастиДаты.Время | int | time-millis | Нет | Нет | Нет |
Дата | ЧастиДаты.ДатаИВремя | int | timestamp-millis | Нет | Нет | Нет |
Строка | Длина > 0 | string | Да | Нет | Нет | |
Строка | Неограниченная длина | string | Нет | Нет | Нет | |
Булево | boolean | Нет | Нет | Нет | ||
Число | Разрядность > 0 РазрядностьДробнойЧасти > 0 ИЛИ Разрядность > 18 РазрядностьДробнойЧасти = 0 | bytes | decimal | Нет | Да | Да |
Число | Можно выбрать только вручную | double | Нет | Нет | Нет | |
Число | 0 < Разрядность < 10 РазрядностьДробнойЧасти = 0 | int | Нет | Нет | Нет | |
Число | 9 < Разрядность < 19 РазрядностьДробнойЧасти = 0 | long | Нет | Нет | Нет |
№ п/п | Тип объекта | Объект | Действие в 1С | Сообщение, выгружаемое в КХД | OP | Примечание |
1 | Документ | Реализация товаров и услуг | Запись нового документа | Создается 1 сообщение по выгрузке шапки документа. Создаются сообщения по количеству равные количеству строк в документе на вкладке «Товары» | U |
|
2 | Документ | Реализация товаров и услуг | Добавление/ удаление строки из вкладки «Товары» | Создается 1 сообщение по выгрузке шапки документа. Создаются сообщения по количеству равные количеству строк в документе на вкладке «Товары» | U | Если все строки из документа будут удалены, то сформируется 1 сообщение, по таблице «Товар», номер строки — «null» |
3 | Документ | Реализация товаров и услуг | Проведение документа | Создается 1 сообщение по выгрузке шапки документа. Создаются сообщения по количеству равные количеству строк в документе на вкладке «Товары» | U |
|
Регистр накопления | Выручка и себестоимость товаров | Создаются сообщения по количеству равные количеству уникальных номенклатур в документе на вкладке «Товары». Дополнительно могут выгружаться строки по закрытию периода в 1С | U |
| ||
4 | Документ | Реализация товаров и услуг | Добавление/ удаление строки из вкладки «Товары» | Создается 1 сообщение по выгрузке шапки документа. Создаются сообщения по количеству равные количеству строк в документе на вкладке «Товары» | U | Если все строки из документа будут удалены, то сформируется 1 сообщение, по таблице «Товар», номер строки — «null» |
Регистр накопления | Выручка и себестоимость товаров | Перезапись данных по измененному регистратору в регистре | Создаются сообщения по количеству равные количеству уникальных номенклатур в документе на вкладке «Товары». Дополнительно могут выгружаться строки по закрытию периода в 1С | U | На стороне КХД необходимо идентифицировать выгрузку по регистру и удалить/проигнорировать предыдущие записи | |
5 | Документ | Реализация товаров и услуг | Распроведен / помечен на удаление документ | Создается 1 сообщение по выгрузке шапки документа. Создаются сообщения по количеству равные количеству строк в документе на вкладке «Товары» | U |
|
Регистр накопления | Выручка и себестоимость товаров | Автоматическое удаление записей по документу и расчету себестоимости | Все записи по документу и по закрытию периода по документу удаляются | D | На стороне КХД необходимо идентифицировать выгрузку по регистру и удалить записи по данному регистратору | |
6 | Документ | Реализация товаров и услуг | Удаление документа из базы 1С | Создается 1 сообщение по выгрузке шапки документа. Создается 1 сообщение по выгрузке вкладки «Товары» | D | Номер строки в таблице «Товар» будет «null». Необходимо удалить из таблицы «Шапки» документа и «Товары» записи по данному регистратору |
№ п/п | Тип объекта | Объект | Действие в 1С | Сообщение, выгружаемое в КХД | OP | Примечание |
1 | Документ | Реализация товаров и услуг | Запись нового документа | Создается 1 сообщение по выгрузке шапки документа. Создаются сообщения по количеству равные количеству строк в документе на вкладке «Товары» | U | |
Регистр сведений | Распределение по бизнес-регионам | Автоматическая запись нового значения по продаже | Создается 1 сообщение с информацией по новой записи в регистре | U | ||
2 | Документ | Реализация товаров и услуг | Добавление/ изменение/ удаление бизнес-регионов в документе реализация товаров и услуг | Создается 1 сообщение по выгрузке шапки документа. Создаются сообщения по количеству равные количеству строк в документе на вкладке «Товары» | U | |
Регистр сведений | Распределение по бизнес-регионам | Автоматическое удаление предыдущей записи и добавление новой | Создаются 2 сообщения по выгрузке регистра сведений | D + U | ||
3 | Регистр сведений | Распределение по бизнес-регионам | Изменение в ручном формате строки в регистре сведений | Создаются 2 сообщения по выгрузке регистра сведений | D + U | Удаление предыдущей записи и добавление новой |
4 | Документ | Реализация товаров и услуг | Распроведен/ помечен на удаление документ | Создается 1 сообщение по выгрузке шапки документа. Создаются сообщения по количеству равные количеству строк в документе на вкладке «Товары» | U | |
Регистр | Выручка и себестоимость товаров | Автоматическое удаление записей по документу и расчету себестоимости | Все записи по документу и по закрытию периода по документу удаляются | D | На стороне КХД необходимо идентифицировать выгрузку по регистру и удалить записи по данному регистратору | |
5 | Документ | Реализация товаров и услуг | Удаление документа из базы 1С | Создается 1 сообщение по выгрузке шапки документа. Создается 1 сообщение по выгрузке вкладки «Товары» | D | Номер строки в таблице «Товар» будет «null». Необходимо удалить из таблицы «шапки» документа и «Товары» записи по данному регистратору |
Регистр сведений | Распределение по бизнес-регионам | Автоматическое удаление записи | Создаются 1 сообщение по выгрузке регистра сведений | D | На стороне КХД необходимо идентифицировать выгрузку по регистру и удалить записи по данному регистратору |
CREATE TABLE stg_1c.src_table (
payload json NOT NULL,
"version" text NULL,
ts text NULL,
name text NULL,
db text NULL,
"schema" text NULL,
data_source text NULL,
lsn int4 NULL,
op text NULL
)
DISTRIBUTED BY ("version"); CREATE TABLE stg_1c.src_table_metadata (
id serial4 NOT NULL,
"version" int4 NOT NULL,
ts timestamp NULL,
"name" text NULL,
db text NULL,
connector_uid text NULL,
"schema" text NULL,
data_source text NULL,
op bpchar(1) NULL,
table_schema json NOT NULL
)
WITH (
appendonly=true,
orientation=column
)
DISTRIBUTED BY (id);