Файл словаря данных (1cv7.dd) создается или модифицируется при каждом сохранении изменений структуры базы данных 1С вне зависимости от вида конфигурации и используемых компонентов (бухгалтерия, расчет или торговля). Словарь данных представляет собой текстовой файл в WIN-кодировке (ANSI), в котором описывается структура базы данных (таблицы, поля, индексы). Кроме этого файл содержит строки комментариев, начинающихся с символа #.
Каждая строка данных начинается с символа, задающего тип описания со знаком равенства. Типы описаний могут быть следующих типов:
1) D – описание словаря данных;
2) T – таблица;
3) F – поле;
4) I – индекс.
Строка описания самого файла DD располагается в самом начале файла и представляет собой запись из двух полей: кодового имя файла словаря и его текстового описания с указанием в скобках кодовой страницы: (для русскоязычной версии: 1251RUS).
Строка описания таблицы имеет следующий формат (после знака равенства):
№ п/п |
Наименование (содержание показателя) |
Длина |
1 |
Имя файла с таблицей |
8 |
2 |
Описание таблицы |
30 |
3 |
Тип таблицы |
13 |
4 |
Имя таблицы в базе данных (Для DBF совпадает с именем файла) |
11 |
5 |
Признак повторного использования (1 или 0) |
8 |
Строка описания поля имеет следующий формат (после знака равенства):
№ п/п |
Наименование (содержание показателя) |
Длина |
1 |
Имя поля |
10 |
2 |
Описание поля |
20 |
3 |
Тип поля |
4 |
4 |
Длина поля |
6 |
5 |
Точность данных в поле (число знаков за запятой) |
9 |
Строка описания индекса имеет следующий формат (после знака равенства):
№ п/п |
Наименование (содержание показателя) |
Длина |
1 |
Имя индекса |
10 |
2 |
Описание индекса |
14 |
3 |
Признак уникальности (0 или 1) |
6 |
4 |
Формула ключа индекса (в основном список индексируемых полей через запятую) |
58 |
5 |
Имя индекса в базе данных |
10 |
Различные объекты 1С-Предприятия имеют набор предопределенных скрытых от пользователя (а зачастую и от программиста) полей имеющих общее назначение, набор значений, тип и т.п. Эти поля создаются системой автоматически при формировании структуры конфигурации. Приведу список таких полей, сгруппированных по видам объектов 1С:
№ п/п |
Имя |
Описание |
Тип |
Длина |
Возможные значения |
Уникаль- ность |
Справочники |
||||||
1 |
ID |
Внутренний идентификатор |
С |
9 |
Назначается автоматически системой |
Да |
2 |
ISFOLDER |
Признак папки |
N |
1 |
1 или 2 |
|
3 |
ISMARK |
Признак пометки удаления |
N |
1 |
* или NULL |
|
4 |
PARENTEXT |
Ссылка на поле ID в таблице-владельце |
С |
9 |
Поле присутствует только в подчиненных таблицах |
|
5 |
PARENTID |
Ссылка на поле ID владельца в текущей таблице |
С |
9 |
|
|
6 |
VERSTAMP |
Штамп версии |
С |
6 |
|
|
7 |
CODE |
Код |
С |
Назначается в конфигураторе |
По умолчанию -5 |
|
8 |
DESCR |
Наименование |
С |
Назначается в конфигураторе |
По умолчанию -25 |
|
Документы |
||||||
1 |
IDDOC |
Внутренний идентификатор |
С |
9 |
Назначается автоматически системой |
Да |
2 |
LINENO |
Номер строки документа |
N |
4 |
Только для таблицы множественной части |
|
Константы |
||||||
1 |
ACTNO |
Номер действия |
N |
6 |
|
|
2 |
DATE |
Дата установки значения |
D |
8 |
|
|
3 |
DOCID |
Ссылка на документ, установивший значение |
С |
9 |
|
|
4 |
ID |
Идентификатор параметра |
C |
4 |
|
|
5 |
LINENO |
Номер строки документа |
N |
4 |
|
|
6 |
OBJID |
Идентификатор объекта |
С |
9 |
0 – для констант |
|
7 |
PARTNO |
Номер части |
N |
3 |
|
|
8 |
TIME |
Время изменения |
С |
6 |
|
|
9 |
TVALUE |
|
С |
3 |
|
|
10 |
VALUE |
Значение |
С |
23 |
|
|
Журналы |
||||||
1 |
IDJOURNAL |
Идентификатор журнала |
С |
4 |
|
|
2 |
DATE |
Дата |
D |
8 |
|
|
3 |
CLOSED |
Признак закрытия документа |
N |
1 |
|
|
4 |
IDDOC |
Идентификатор документа |
С |
9 |
|
|
5 |
IDDOCDEF |
Идентификатор описателя документа |
С |
4 |
|
|
6 |
DOCNO |
Номер документа |
С |
6 |
|
|
7 |
ISMARK |
Пометка |
С |
1 |
|
|
8 |
ACTCNT |
Счетчик действий |
С |
6 |
|
|
9 |
APPCODE |
Код приложения |
N |
3 |
|
|
10 |
VERSTAMP |
Штамп версии |
С |
6 |
|
|
11 |
DNPREFIX |
Префикс номера документа |
С |
18 |
|
|
12 |
TIME |
Время |
С |
6 |
|
|
Остальные типы данных описываются средствами конфигуратора и не имеют отдельного табличного представления.
Словарь данных не располагает информацией о межтабличных связях. Однозначно установить зависимости по именам полей также не представляется возможным, поэтому для составления перечня зависимостей необходимо использовать многошаговый алгоритм анализа и проверки с возможностью ручной правки.
Статья находится в разработке. Замечания и предложения шлите на адрес sklowsky@narod.ru с начальной фразой в теме письма: DD.