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