- •Лабораторная работа № 10 Доработка объектов конфигурации с использованием Плана видов характеристик.
- •Пояснения к работе
- •Доработка справочника Номенклатура
- •Доработка справочника ВариантыНоменклатуры
- •Доработка регистра ОстаткиМатериалов
- •Доработка документа ПриходнаяНакладная
- •Создание наборов свойств
- •Содержание отчета
- •Контрольные вопросы
Доработка справочника Номенклатура
П
режде
всего, в справочнике « Номенклатура»
нам нужно обеспечить возможность
редактирования варианта материала. Для
этого укажем, что справочник « Номенклатура»
будет редактироваться теперь обоими
способами, в списке и в диалоге, и создадим
основную форму элемента при помощи
конструктора. Немного раздвинем форму
по ширине и высоте и добавим в нее панель
(
Форма |
Вставить
элемент управления |
Панель):
После того, как мы слегка изменим положение любой из границ панели, появится вопрос:
На
этот вопрос мы ответим утвердительно,
и все элементы управления переместятся
в д
обавленную
панель:
Т
еперь
мы скорректируем размеры панели и
добавим в нее новую страницу ( добавление
страницы - контекстное меню правой
кнопки мыши на поле формы - Добавить
страницу...):
Зададим имя и заголовок новой страницы - « Свойства», а первую страницу также переименуем в « Основные» и зададим ей такой же заголовок ( группа свойств « Текущая страница» в палитре свойств формы):
После этого выделим все элементы управления, расположенные панели, и выполним команду Форма | Центрирование | Центрировать по вертикали:
Теперь перейдем на страницу « Свойства» и добавим надпись « НадписьВариантыНоменклатуры» с заголовком « Варианты номенклатуры:». Укажем для нее начертание шрифта « Жирный».
Под этой надписью расположим табличное поле с командной панелью с именем « Варианты» и типом СправочникСписок.ВариантыНоменклатуры. Из табличного поля удалим колонку « Код». Для этого табличного поля установим свойство « Связь по владельцу» - СправочникОбъект.Ссылка:
У
становка
этого свойства будет обеспечивать нам
то, что для источника данных этого поля
- реквизита формы « Варианты», имеющего
тип СправочникСписок.ВариантыНоменклатуры,
-
значение отбора по владельцу всегда
будет равно ссылке на редактируемый
элемент справочника « Номенклатура».
Иными словами, список справочника,
содержащийся в реквизите формы «
НаборСвойств» всегда будет содержать
только элементы, подчиненные редактируемому
элементу справочника « Номенклатура».
А значит и табличное поле « Варианты»,
для которого этот реквизит является
источником данных, будет отображать
только элементы, подчиненные редактируемому
элементу справочника « Номенклатура».
Ниже разместим аналогичным образом еще одну надпись « НадписьЗначенияСвойств» с заголовком « Значения свойств:» и начертанием шрифта « Жирный».
Под ней расположим табличное поле с командной панелью с именем « Свойства» и типом РегистрСведенийСписок.ЗначенияСвойствНоменклатуры. Для колонки « НаборСвойств» снимем флаг « Видимость», а для поля ввода в колонке « Значение» установим связь по типу - ЭлементыФормы.Свойства.ТекущиеДанные.ВидСвойства:
Связь по типу будет обеспечивать нам то, что тип значений, вводимых в это поле ввода, будет ограничен только типом характеристики, выбранной в поле « Вид свойства». Однако этим мы никак не можем повлиять на само значение, хранимое в этом поле. Если не предпринять никаких дополнительных действий, то получится, что в случае, когда в поле « Значение» было введено какое- либо значение, поменять его на значение другого вида характеристики не удастся. При выборе другого вида характеристики будет возникать несоответствие между типом хранимого значения и типом, которым ограничен ввод в элементе управления. В этом случае, естественно, система будет предлагать вводить тот тип, который имеет хранимое значение.
Чтобы избежать такой ситуации, нам нужно будет при смене значения в поле « Вид свойства» привести значение поля « Значение» к типу характеристики, выбранной в поле « Вид свойства».
П
оэтому
для поля ввода в колонке « Вид свойства»
создадим обработчик события « При
изменении»:
Теперь нам нужно сделать так, чтобы в табличном поле « Свойства» отображались записи регистра сведений, относящиеся только к выбранному в верхнем табличном поле элементу справочника « ВариантыНоменклатуры».
П
оэтому
для табличного поля « Варианты» создадим
обработчик события « При активизации
строки»:
К
роме
этого, чтобы не отображать весь регистр
при открытии формы, создадим обработчик
события формы « ПриОткрытии», содержащий
следующий текст:
