Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
№10 Использование объекта План видов характерис...doc
Скачиваний:
5
Добавлен:
13.11.2019
Размер:
518.66 Кб
Скачать

Доработка справочника Номенклатура

П режде всего, в справочнике « Номенклатура» нам нужно обеспечить возможность редактирования варианта материала. Для этого укажем, что справочник « Номенклатура» будет редактироваться теперь обоими способами, в списке и в диалоге, и создадим основную форму элемента при помощи конструктора. Немного раздвинем форму по ширине и высоте и добавим в нее панель ( Форма | Вставить элемент управления | Панель):

После того, как мы слегка изменим положение любой из границ панели, появится вопрос:

На этот вопрос мы ответим утвердительно, и все элементы управления переместятся в д обавленную панель:

Т еперь мы скорректируем размеры панели и добавим в нее новую страницу ( добавление страницы - контекстное меню правой кнопки мыши на поле формы - Добавить страницу...):

Зададим имя и заголовок новой страницы - « Свойства», а первую страницу также переименуем в « Основные» и зададим ей такой же заголовок ( группа свойств « Текущая страница» в палитре свойств формы):

После этого выделим все элементы управления, расположенные панели, и выполним команду Форма | Центрирование | Центрировать по вертикали:

Теперь перейдем на страницу « Свойства» и добавим надпись « НадписьВариантыНоменклатуры» с заголовком « Варианты номенклатуры:». Укажем для нее начертание шрифта « Жирный».

Под этой надписью расположим табличное поле с командной панелью с именем « Варианты» и типом СправочникСписок.ВариантыНоменклатуры. Из табличного поля удалим колонку « Код». Для этого табличного поля установим свойство « Связь по владельцу» - СправочникОбъект.Ссылка:

У становка этого свойства будет обеспечивать нам то, что для источника данных этого поля - реквизита формы « Варианты», имеющего тип СправочникСписок.ВариантыНоменклатуры, - значение отбора по владельцу всегда будет равно ссылке на редактируемый элемент справочника « Номенклатура». Иными словами, список справочника, содержащийся в реквизите формы « НаборСвойств» всегда будет содержать только элементы, подчиненные редактируемому элементу справочника « Номенклатура». А значит и табличное поле « Варианты», для которого этот реквизит является источником данных, будет отображать только элементы, подчиненные редактируемому элементу справочника « Номенклатура».

Ниже разместим аналогичным образом еще одну надпись « НадписьЗначенияСвойств» с заголовком « Значения свойств:» и начертанием шрифта « Жирный».

Под ней расположим табличное поле с командной панелью с именем « Свойства» и типом РегистрСведенийСписок.ЗначенияСвойствНоменклатуры. Для колонки « НаборСвойств» снимем флаг « Видимость», а для поля ввода в колонке « Значение» установим связь по типу - ЭлементыФормы.Свойства.ТекущиеДанные.ВидСвойства:

Связь по типу будет обеспечивать нам то, что тип значений, вводимых в это поле ввода, будет ограничен только типом характеристики, выбранной в поле « Вид свойства». Однако этим мы никак не можем повлиять на само значение, хранимое в этом поле. Если не предпринять никаких дополнительных действий, то получится, что в случае, когда в поле « Значение» было введено какое- либо значение, поменять его на значение другого вида характеристики не удастся. При выборе другого вида характеристики будет возникать несоответствие между типом хранимого значения и типом, которым ограничен ввод в элементе управления. В этом случае, естественно, система будет предлагать вводить тот тип, который имеет хранимое значение.

Чтобы избежать такой ситуации, нам нужно будет при смене значения в поле « Вид свойства» привести значение поля « Значение» к типу характеристики, выбранной в поле « Вид свойства».

П оэтому для поля ввода в колонке « Вид свойства» создадим обработчик события « При изменении»:

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

П оэтому для табличного поля « Варианты» создадим обработчик события « При активизации строки»:

К роме этого, чтобы не отображать весь регистр при открытии формы, создадим обработчик события формы « ПриОткрытии», содержащий следующий текст: