Копировать ссылку на страницу

Как правило, при разработке и адаптации систем на IS-Builder возникает необходимость изменять структуру таблиц данных. Например, добавить новые поля в справочники. IS-Builder имеет встроенные средства для изменения структуры таблиц данных.

Все реквизиты, которые можно использовать для описания структуры справочников и карточек документов, должны быть описаны в компоненте Реквизиты справочников и Реквизиты документов. После того, как реквизит описан, его необходимо сгенерировать при условии, что свойство «Сохранять» реквизита имеет значение «Да». В результате этого действия в соответствующие таблицы будут добавлены одно или несколько новых полей.

При генерации реквизитов большинства типов состав изменяемых таблиц зависит от раздела реквизита:

Карточка – MBAnalit, replMBAnalit, SBEDoc, replSBEDoc;
Таблица(2..N) – MBAnValR(2..12), replMBAnValR, SBEDocValR(3..6), replSBEDocValR(3..6).

Исключением является генерация реквизитов типа «Текст» – независимо от раздела, к которому относится реквизит:

при генерации реквизитов справочников изменяется структура таблиц MBText и replMBText;
при генерации реквизитов документов изменяется структура таблиц SBEDoc, replSBEDoc, SBEDocValR(3..6), replSBEDocValR(3..6).

Количество и типы добавляемых полей при генерации реквизитов зависят от типов реквизитов:

«Целое число» – добавляется одно поле типа int;
«Дробное число» – добавляется одно поле типа float;
«Строка» – добавляется одно поле типа varchar, причем размер поля равен значению свойства «Длина» реквизита;
«Дата» – добавляется одно поле типа datetime;
«Признак» – добавляется одно поле типа char(1);
«Справочник» – добавляется одно поле типа int;
«Текст» – добавляются три поля:
типа image, имя поля совпадает со значением свойства «Имя поля» реквизита. Содержит собственно данные;
типа varchar(10), имя поля формируется по принципу Type<ИмяПоляТипаТекст>. Предназначено для хранения типа данных, которые будут храниться в поле с данными. Необходимо для организации полнотекстового поиска средствами SQL-сервера;
типа datetime, имя поля формируется по принципу <ИмяПоляТипаТекст>LastUpd. Предназначено для хранения даты-времени последнего изменения значения поля с данными. Необходимо для организации полнотекстового поиска средствами SQL-сервера.

После того как реквизит сгенерирован, изменение некоторых его свойств невозможно: код реквизита, имя поля, раздел, сохранять, тип. В зависимости от типа реквизита также накладываются дополнительные ограничения:

для реквизитов типа «Строка» невозможно менять размер строки и параметры форматирования;
для реквизитов типа «Справочник» нельзя менять свойство «Тип справочника»;
для реквизитов типа «Признак» можно только добавлять новые значения признака, но нельзя удалять уже существующие.

См. также

 

© 2016 Компания DIRECTUM Сообщество пользователей DIRECTUM