Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


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



Прежде всего, в справочнике Номенклатура нужно обеспечить возможность редактирования варианта материала. Для этого укажите, что справочник Номенклатура будет редактироваться теперь обоими способами (на закладке Форма) – в списке и в диалоге.

Далее создайте основную форму элемента при помощи конструктора. Немного раздвиньте форму по ширине и высоте и добавьте в нее панель (Форма –> Вставить элемент управления –> Панель) – (рис. 185).

Рис. 185. Редактирование формы элемента справочника Номенклатура

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

Рис. 186. Редактирование формы элемента справочника Номенклатура

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

Рис. 187. Редактирование формы элемента справочника Номенклатура

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

Рис. 188. Редактирование формы элемента справочника Номенклатура

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

Рис. 189. Редактирование формы элемента справочника Номенклатура

После этого выделите все элементы управления, расположенные в панели, и выполните команду Форма –> Центрирование –> Центрировать по вертикали (рис. 190).

Рис. 190. Редактирование формы элемента справочника Номенклатура

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

Рис. 191. Редактирование формы элемента справочника Номенклатура

Под этой надписью расположите командную панель с именем КоманднаяПанельВарианты. Под этой командной панелью расположите табличное поле с именем Варианты и типом значений СправочникСписок.ВариантыНоменклатуры. В окне свойств командной панели КоманднаяПанельВарианты установите флаг АвтоЗаполнение и ИсточникДействий – Варианты. Из табличного поля удалите колонку Код. Для этого табличного поля установите свойство Связь по владельцу – СправочникОбъект.Ссылка (рис. 192).

Рис. 192. Редактирование формы элемента справочника Номенклатура

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

Рис.193. Редактирование формы элемента справочника Номенклатура

Под этой надписью расположите командную панель с именем КоманднаяПанельСвойства. Под командной панелью расположите табличное поле с именем Свойства и типом значений РегистрСведенийСписок.ЗначенияСвойствНоменклатуры. В окне свойств командной панели КоманднаяПанельСвойства установите флаг АвтоЗаполнение и ИсточникДействий – Свойства. Для колонки НаборСвойств снимите флаг Видимость, а для поля ввода в колонке Значение установите связь по типу – ЭлементыФормы.Свойства.ТекущиеДанные.ВидСвойства (рис. 194).

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

Процедура СвойстваВидСвойстваПриИзменении(Элемент)

ДанныеВидСвойства = ЭлементыФормы.Свойства.ТекущиеДанные.ВидСвойства;

Если ДанныеВидСвойства.ТипЗначения < > Неопределено Тогда

ЭлементыФормы.Свойства.ТекущиеДанные.Значение =

ДанныеВидСвойства.ТипЗначения. ПривестиЗначение

(ЭлементыФормы.Свойства.ТекущиеДанные.Значение);

КонецЕсли;

КонецПроцедуры

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

 

Рис. 194. Редактирование формы элемента справочника Номенклатура

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

Процедура ВариантыПриАктивизацииСтроки(Элемент)

ЭлементыФормы.Свойства.Значение.Отбор.НаборСвойств.Установить

(Элемент.ТекущиеДанные.Ссылка, Истина);

КонецПроцедуры

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

Процедура ПриОткрытии()

ЭлементыФормы.Свойства.Значение.Отбор.НаборСвойств.Установить(, Истина);

КонецПроцедуры

 


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

Теперь следует доработать справочник ВариантыНоменклатуры таким образом, чтобы пользователь имел возможность создавать новые свойства материалов не только при редактировании самого материала, но и в процессе ввода документов, когда в табличную часть подбирается набор свойств.

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

Откройте основную форму элемента справочника ВариантыНоменклатуры и раздвиньте форму вниз. На освободившемся пространстве расположите командную панель с именем КоманднаяПанельСвойства. Под командной панелью расположите табличное поле с именем Свойства и типом значений РегистрСведенийСписок.ЗначенияСвойствНоменклатуры. В окне свойств командной панели КоманднаяПанельСвойства установите флаг АвтоЗаполнение и ИсточникДействий – Свойства. Для колонки НаборСвойств снимите флаг видимости (рис. 195).

Рис. 195. Основная форма элемента справочника ВариантыНоменклатуры

Затем для поля ввода, расположенного в колонке Значение, задайте связь по типу ЭлементыФормы.Свойства.ТекущиеДанные.ВидСвойства.

Для поля ввода, расположенного в колонке ВидСвойства, создайте обработчик события ПриИзменении:

Процедура СвойстваВидСвойстваПриИзменении(Элемент)

ДанныеВидСвойства = ЭлементыФормы.Свойства.ТекущиеДанные.ВидСвойства;

Если ДанныеВидСвойства.ТипЗначения < > Неопределено Тогда

ЭлементыФормы.Свойства.ТекущиеДанные.Значение = ДанныеВидСвойства.

ТипЗначения. ПривестиЗначение(ЭлементыФормы.Свойства.ТекущиеДанные.Значение);

КонецЕсли;

КонецПроцедуры

В модуле формы создайте обработчик события ПриИзмененииСсылки, в котором установите требуемый отбор:

Процедура ПриИзмененииСсылки(ПутьКДанным)

Свойства.Отбор.НаборСвойств.Установить(Ссылка, Истина);

КонецПроцедуры

Затем в тело модуля формы добавьте вызов этого обработчика:

ПодключитьОбработчикИзмененияДанных(" СправочникОбъект.Ссылка", " ПриИзмененииСсылки" );

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

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

Процедура СвойстваПередНачаломДобавления(Элемент, Отказ, Копирование)

Если ЭтоНовый() Тогда

Записать();

КонецЕсли;

КонецПроцедуры

 


Поделиться:



Популярное:

Последнее изменение этой страницы: 2016-05-03; Просмотров: 673; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.018 с.)
Главная | Случайная страница | Обратная связь