Выгрузка информации обо всех мебельных элементах
Основная таблица выгрузки – TElems.
|
|
|
---|---|---|
UnitPos |
Числовой длинное целое |
Уникальный номер мебельного элемента |
ParentPos |
Числовой длинное целое |
Номер родителя элемента |
TopParentPos |
Числовой длинное целое |
Номер 'верхнего' родителя элемента |
DetailPos |
Числовой длинное целое |
Номер элемента в рамках объекта |
CommonPos |
Числовой длинное целое |
Пользовательский номер элемента |
LevelPos |
Числовой длинное целое |
Иерархический номер элемента |
FurnType |
Текстовый |
Тип мебельного элемента |
FurnKind |
Текстовый |
Подтип мебельного элементы |
Name |
Текстовый |
Имя элемента |
PriceID |
Числовой длинное целое |
ID элемента в номенклатурном справочнике |
GoodsID |
Числовой длинное целое |
ID элемента в справочнике сборочных единиц |
SumCost |
Денежный формат |
Стоимость элемента |
XUnit |
Числовой двойной с плавающей точкой |
X габарит элемента |
YUnit |
Числовой двойной с плавающей точкой |
Y габарит элемента |
ZUnit |
Числовой двойной с плавающей точкой |
Z габарит элемента |
Count |
Числовой длинное целое |
Количество мебельных элементов |
HashCode |
Числовой длинное целое |
Хэш-код элемента |
MatrA11 - MatrA34 |
Числовой двойной с плавающей точкой |
Коэффициенты матрицы положения |
Data |
Memo |
Дополнительные данные о элементе |
Матрица положения объекта в пространстве имеет следующий вид:
Матрица определяет положение элемента относительно его родительского элемента, или, если элемент является элементом верхнего уровня и не имеет родителя, то относительно глобальной системы координат (ГСК).
Габариты объекта определяются в его локальной системе координат.
Поля UnitPos, ParentPos, TopParentPos, DetailPos, CommonPos, LevelPos, FurnType, FurnKind, PriceID содержат значения одноименных атрибутов. Если элемент является сборочной единицей, то полу GoodsID содержит идентификатор из справочника сборочных единиц. В этом случае поле PriceID=-1. Если элемент содержится в номенклатурном справочнике, поле GoodsID=-1. Поле Name содержит значение атрибута ElemName. Поле Data содержит значение атрибута PrimM.
Поле SumCost содержит рассчитанную стоимость мебельного элемента.
Отдельно имеет смысл описать поле HashCode. Это хэш-код элемента, который служит он для выборки одинаковых элементов из разных заказов. Он гарантировано одинаковый для одинаковых элементов, но может совпадать для разных элементов. То есть, если нужно, чтобы была гарантированная точность, то элементы с одинаковым хэш-кодом нужно сравнивать дополнительно. Правда вероятность такого события составляет где-то 1/58000.
На данный момент хэш-коды создаются не для всех типов элементов. Если для какого-то элемента хэш-код не вычислялся, то значение поля HashCode равно -1. В дальнейшем число элементов с вычисляемым хэш-кодом будет увеличиаться.
Дополнительно к вышеперечисленным данным каждый мебельный элемент может содержать дополнительную информацию в других таблицах.
|
|
---|---|
|
|
|
|
|
|
Атрибуты[править | править код]
Основная таблица выгрузки – TAttributes
|
|
|
---|---|---|
UnitPos |
Числовой длинное целое |
Номер элемента в таблице TElems |
Name |
Текстовый |
Имя атрибута |
AttrType |
Числовой длинное целое |
Тип атрибута |
AttrReal |
Числовой двойной с плавающей точкой |
Значение числового или логического атрибута |
AttrString |
Текстовый |
Значение строкового атрибута |
AttrText |
Memo |
Значение текстового атрибута |
В K3 каждому мебельному элементу могут быть приписаны пользовательские атрибуты. Таблица TAttributes предназначена для выгрузки значений этих атрибутов. В данную таблицу попадают только те атрибуты, имена которых содержаться в файле AttrList.txt (по одному имени в строке). Файл AttrList.txt находится в папке Proto. Если этот файл отсутствует, то в таблицу TAttributes попадают все атрибуты. Если пользователь изменял этот файл, то изменения вступают в силу после перезапуска K3 Мебель.
В зависимости от типа атрибута (числовой, логический, строковой или текстовый), значение атрибута содержится в полях:
- AttrReal для строкового или логического атрибута;
- AttrString для строкового атрибута;
- AttrText для текстового атрибута.
Поле AttrType содержит код типа атрибута:
- 1 – строковый атрибут;
- 2 – числовой атрибут;
- 3 – текстовый атрибут;
- 4 – логический атрибут.
Параметры[править | править код]
Основная таблица выгрузки – TParams.
|
|
|
---|---|---|
ParamID |
Числовой длинное целое |
Уникальный ID универсального параметра |
UnitPos |
Числовой длинное целое |
Номер элемента для параметра в таблице TElems |
HoldTable |
Текстовый |
Таблица, где хозяин параметра |
Hold1 |
Числовой длинное целое |
Первый идентификатор ключа записи |
Hold2 |
Числовой длинное целое |
Второй идентификатор ключа записи |
Hold3 |
Числовой длинное целое |
Третий идентификатор ключа записи |
ParamName |
Текстовый |
Название параметра |
ParamType |
Числовой длинное целое |
Тип параметра |
NumValue |
Числовой двойной с плавающей точкой |
Значение параметра |
StrValue |
Текстовый |
Значение параметра |
Параметры мебельного элемента содержатся в Scratch атрибуте ProtoParams. По умолчанию, параметры мебельного элемента представляют собой параметры прототипа, по которому этот мебельный элемент создан.
Помимо указанного, таблица универсальных параметров TParams может содержать параметры другого рода. В любом случае, в поле HoldTable указывается имя таблицы, к которому относится параметр, UnitPos, если не сказано иное, содержит уникальный номер элемента, к которому относится параметр. Поля Hold1, Hold2, Hold3, содержат идентификаторы ключа записи. Назначение и смысл этих идентификаторов описывается отдельно. Для мебельных элементов значения этих идентификаторов равны нулю.
Поле ParamName содержит строку с именем параметра. Желательно, чтобы имена параметров для одного мебельного элемента имели уникальные номера.
Поля NumValue и StrValue содержат значение параметров для числового и строкового параметра соответственно. Тип параметра определяется значением поля ParamType:
- 0 – параметр числового типа;
- 1 – параметр строкового типа.
Отверстия[править | править код]
Основная таблица выгрузки – THoles.
|
|
|
---|---|---|
UnitPos |
Числовой длинное целое |
Номер элемента, где есть отверстие |
HolePos |
Числовой длинное целое |
Номер отверстия в рамках элемента |
MatrA11 - MatrA34 |
Числовой двойной с плавающей точкой |
Коэффициенты матрицы положения |
Diameter |
Числовой двойной с плавающей точкой |
Диаметр отверстия |
Depth |
Числовой двойной с плавающей точкой |
Глубина отверстия |
HolderPos |
Числовой длинное целое |
Номер элемента (UnitPos), породившего отверстие |
Как уже было сказано, отверстия считаются не для всех мебельных элементов, а только для панелей и профилей. Положение отверстия относительно мебельного элемента определяется его матрицей положения[embim11.wmf], коэффициенты которой содержатся в таблице THoles в одноименных полях. Поле HolderPos содержит номер элемента (его UnitPos), породившего отверстия – то есть номер элемента, в составе которого находился отрезок сверловки, по которому построено отверстие.
![]() |
Информация о положении отверстий выгружается в базу только при наличии специализированного Модуля технологического экспорта |
Отделки[править | править код]
Основная таблица – TDecorates.
|
|
|
---|---|---|
DecoratePos |
Числовой длинное целое |
Номер отделки (в рамках элемента) |
UnitPos |
Числовой длинное целое |
Номер элемента, которому принадлежит отделки |
Map |
Числовой длинное целое |
Номер секции отделки: 1 - Торец E (Y+) 2 - Торец D (Y-) 3 - Торец C (X+) 4 - Торец B (X-) 5 - Пласть “A” верхняя (Z+) 6 - Пласть “F” нижняя (Z-) 7 - Угол 1 8 - Угол 2 9 - Угол 3 10 - Угол 4 11 – Первая дополнительная секция 12 – Вторая дополнительная секция -1 - Отделка всех поверхностей -2 - Отделка торцов |
Order |
Числовой длинное целое |
Порядковый номер отделки |
TypeID |
Числовой длинное целое |
Тип отделки |
MaterialID |
Числовой длинное целое |
Тип материала отделки |
TypeName |
Текстовый |
Название типа отделки |
IsParametric |
Логический |
Признак параметрической отделки |
Square |
Числовой двойной с плавающей точкой |
Площадь отделки в кв. м. |
Поле Мар содержит номер секции отделки согласно таблице.
Поле Order содержит порядок наложения отделок на секцию.
Поле TypeID содержит ID типа отделки из номенклатурного справочника. Поле MaterialID содержит ID материала отделки из номенклатурного справочника. Отделка представляет собой комбинацию типа отделки и материала отделки. Например «Лакировка лак красный» и пр.
Поле TypeName содержит название типа отделки, которому соответствует TypeID.
Поле IsParametric равно «истине», если отделка имеет параметры. В противном случае значение равно «ложь».
Поле Square содержит площадь отделки в кв. м.