Вы на НеОфициальном сайте факультета ЭиП

На нашем портале ежедневно выкладываются материалы способные помочь студентам. Курсовые, шпаргалки, ответы и еще куча всего что может понадобиться в учебе!
Главная Контакты Карта сайта
 
Где мы?
» » » ОБЪЕКТ КОНФИГУРАЦИИ ПЛАН ВИДОВ ХАРАКТЕРИСТИК

Реклама


ОБЪЕКТ КОНФИГУРАЦИИ ПЛАН ВИДОВ ХАРАКТЕРИСТИК

Просмотров: 11455 Автор: Angel
ОБЪЕКТ КОНФИГУРАЦИИ
ПЛАН ВИДОВ ХАРАКТЕРИСТИК

1. Объект конфигурации План видов характеристик 
Создадим механизм, который позволит пользователю произвольным образом описывать материалы, и, что самое главное, вести учет в разрезе всех тех описаний, которые могут быть заданы пользователем. 
Описывать материалы пользователь сможет следующим образом: для каждого материала будет возможность создать некоторые (произвольные) характеристики этого материала (например, цвет, производитель и пр.). За-тем, при поступлении материалов можно будет задать конкретные значения интересующих характеристик (например, при поступлении электрических ка-белей можно будет указать, что они белого цвета и их сечение равно 2,5 мм2, а при поступлении резиновых шлангов указать, что они черного цвета и произведены на фирме «Fagumit Sp»). 
В дальнейшем всегда можно будет получить информацию о том, сколько и каких материалов есть у нас, скажем, белого цвета, или сколько было израсходовано черных резиновых шлангов. 
Поскольку заранее не известно, какими именно характеристиками пользователь захочет описать тот или иной материал, мы должны предоставить ему некоторый механизм, позволяющий создавать любые характеристики и, что самое важное, указывать, какой тип значения должен быть у этих характеристик. Тогда при задании значений определенной характеристики пользователь сможет выбирать значения строго в соответствии с указанным типом. 
Такую возможность описания характеристик как раз и обеспечивает объект конфигурации План видов характеристик
Таким образом, объект конфигурации План видов характеристик является прикладным объектом и предназначен для описания структуры хранения информации о характеристиках, создаваемых пользователем. На основе объекта конфигурации План видов характеристик платформа создает в базе данных информационную структуру, в которой может храниться информация о том, какие существуют виды характеристик и какой тип должно иметь значение характеристики каждого вида. 
В сущности, план видов характеристик очень напоминает справочник. Однако план видов характеристик имеет более узкую «специализацию»: он хранит, по сути, информацию только о том, какими видами характеристик может описываться какой-либо объект базы данных. Эта информация состоит из названия вида характеристики и ее типа. 
Для того чтобы разработчик мог задать некий «набор» возможных типов значений, которые могут принимать виды характеристик, у объекта конфигурации План видов характеристик существует свойство Тип значения характеристик. Это свойство определяет составной тип данных, в который входят все типы, которые могут понадобиться при указании типа значения характеристики. 
Кроме этого может случиться так, что пользователю станет недос-таточно тех типов данных, которые существуют в конкретной системе (например, он захочет вести учет в разрезе цвета товаров, а справочник Цвет в конфигурации отсутствует). В этом случае он сможет воспользоваться неким вспомогательным справочником, который разработчик создаст заблаговременно и укажет в качестве свойства объекта конфигурации План видов характеристик - дополнительные значения характеристик. 
Тогда пользователь, создав новый вид характеристики «Цвет», сможет создать необходимые значения этого вида характеристики в справочнике до-полнительных значений характеристик. 
Примечательно, что этот справочник является подчиненным плану ви-дов характеристик. Таким образом, если затем пользователь пожелает создать новый вид характеристик «Запах» и создать его значения, он будет создавать их в том же самом справочнике дополнительных характеристик, и они не будут «смешиваться» со значениями цвета. 

Логическая связь объектов 
Для реализации этого примера нам понадобятся три новых объекта конфигурации. Прежде всего, это план видов характеристик, который будет хранить виды характеристик, которыми в принципе можно описывать материалы. Затем это справочник, подчиненный справочнику «Номенклатура», элементы которого будут идентифицировать партии материалов с некоторым фиксированным набором значений характеристик. И третий объект -это регистр сведений, в котором собственно и будет храниться соответствие конкретных значений характеристик некоторому варианту материала. 
В результате использования подобной логической структуры объектов мы получим возможность описывать каждую поступающую партию материала, любым количеством видов характеристик, поскольку это соответствие будет храниться в регистре сведений. И вместе с тем получим возможность вести учет в разрезе видов характеристик, добавив в регистры накопления еще одно измерение для хранения ссылки на элемент справочника, подчиненного справочнику номенклатура. 
 
Теперь для того, чтобы узнать остатки материалов, обладающих некоторым значением характеристики, достаточно будет выбрать из Регистра сведений все эле-менты подчиненного справочника, обладающие таким значением характеристики, и затем по ним и их владельцам получить остатки регистра накопления. 
2. Создание новых объектов конфигурации 
2.1. Создайте несколько новых объектов конфигурации:
1. Объект конфигурации Справочник с именем «ВариантыНоменклатуры», подчиненный справочнику «Номенклатура» (вкладка «Владельцы»). 
2. Объект конфигурации Справочник с именем «ДополнительныеСвойства-Номенклатуры». 
3. Объект конфигурации План видов характеристик с именем «СвойстваНоменклатуры». Тип значения характеристик установим следующим: 
• Число, длина 15, точность 3, 
• Строка, длина 25, 
• Дата, 
• Булево, 
• СправочникСсылка.ДополнительныеСвойстваНоменклатуры: 

Откройте справочник «ДополнительныеСвойстваНоменклатуры» и укажите владельца - план видов характеристик «СвойстваНоменклатуры»:
 
Затем закройте справочник «ДополнительныеСвойстваНоменклатуры» и вернитесь в план видов характеристик «СвойстваНоменклатуры». Определите, что дополнительные значения характеристик плана видов характеристик будут располагаться в справочнике «ДополнительныеСвойстваНоменклатуры»: 
 
2.2. В заключение создадим объект конфигурации Регистр сведений с именем «ЗначенияСвойствНоменклатуры».
Измерения регистра:
• «НаборСвойств», ведущее, тип СправочникСсыл-ка.ВариантыНоменклатуры, 
• «ВидСвойства», тип ПланВидовХарактеристикСсыл-ка.СвойстваНоменклатуры. 
Ресурс регистра: 
• «Значение», тип Характеристика.СвойстваНоменклатуры- 
Обратите внимание, что мы имеем возможность определить тип значения ресурса регистра, как Характеристика.. По сути, это определение представляет собой составной тип данных, как он задан в типе значения соответствующего плана видов характеристик. To есть ресурс регистра может иметь значение любого типа из тех, которые описаны в типе значения плана видов характеристик. 
3. Доработка справочника «Номенклатура» 
3.1. Прежде всего, в справочнике «Номенклатура» нам нужно обеспечить возможность редактирования варианта материала. Для этого укажем, что справочник «Номенклатура» будет редактироваться теперь обоими способами, в списке и в диалоге, и создадим основную форму элемента при помощи конструктора (в области выбора типа формы – установите активной опцию Форма элемента справочника). 
 
3.2. Немного раздвинем форму по ширине и высоте и добавим в нее панель (в меню Форма, команда Вставить элемент управления, а затем Панель): 
После того, как мы слегка изменим положение любой из границ панели, появится вопрос: 

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

3.4. Теперь нам нужно сделать так, чтобы в табличном поле «Свойства» отображались записи регистра сведений, относящиеся только к выбранному в верхнем табличном поле элементу справочника «ВариантыНоменклатуры». 
Поэтому для табличного поля «Варианты» создадим обработчик события «При активизации строки»: 
 
3.5. Кроме этого, чтобы не отображать весь регистр при открытии формы, создадим обработчик события для самой формы - «ПриОткрытии», содержащий следующий текст: 
 
4. Доработка справочника ВариантыНоменклатуры 
Теперь нам следует доработать справочник «ВариантыНоменклатуры» таким образом, чтобы пользователь имел возможность создавать новые свойства материалов не только при редактировании самого материала, но и в процессе ввода документов, когда в табличную часть подбирается набор свойств. 
4.1. Поэтому для справочника «ВариантыНоменклатуры» укажем, что он будет редактироваться обоими способами (как в списке, так и в диалоге) и создадим с помощью конструктора основную форму элемента. 
4.2. Доработка формы элемента справочника «ВариантыНоменклатуры» будет сводиться, по большому счету, к тем же действиям, которые мы выполнили с формой справочника «Номенклатура». В форме нам нужно будет расположить табличное поле, которое должно отображать существующие в регистре сведений записи о значениях свойств для этого элемента справочника. 
Откроем основную форму элемента справочника «ВариантыНоменклатуры» и раздвинем форму вниз. На освободившемся пространстве поместим табличное поле с именем «Свойства», типом РегистрСведенийСпи-сок.ЗначенияСвойствНоменклатуры и командной панелью. 
Для колонки «НаборСвойств» снимем флаг видимости: 

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

5. Создание наборов свойств
Запустите 1С:Предприятие в режиме отладки. 
Откройте элемент справочника «Номенклатура» - «Кабель электрический». Перейдем на закладку «Свойства» и создадим набор свойств этого элемента (с ис-пользованием соответствующих справочников) под названием «Белый». 
 
Затем создадим набор свойств для элемента справочника «Номенклатура» - «Шланг резиновый»
Этот набор свойств будет называться «Польша» и состоять из следующих характеристик: 
• «Цвет» - «Черный», 
• «Производитель» - «Fagumit»: 

Посмотрите на записи, которые содержатся в регистре сведений «ЗначенияС-войствНоменклатуры».
6. Доработка документа ПриходнаяНакладная 
Для того чтобы при приходовании товаров пользователь мог указывать набор свойств для каждого приходуемого материала, добавим в табличную часть документа новый реквизит «НаборСвойств» с типом СправочникСсыл-ка.ВариантыНоменклатуры: 
 
После этого расположим этот реквизит в табличном поле формы документа (правая кнопка мыши - Размещение данных): 
 
Для поля ввода, расположенного в колонке «НаборСвойств» снова воспользуемся свойством «Связь по владельцу» ЭлементыФор-мы.Материалы.ТекущиеДанные.Материал. 
 
Теперь при выборе в этом поле ввода будет всегда открываться список элементов справочника «ВариантыНоменклатуры», подчиненных материалу, выбранному в колонке «Материал». 
В заключение откроем процедуру обработки проведения в модуле документа (вкладка Движения, кнопка Действия, команда Открыть модуль объекта) и добавим к формируемым движениям присвоение значения измерению «Набор-Свойств»: 
  
7. Доработка регистра ОстаткиМатериалов 
Для того чтобы обеспечить учет материалов по значениям характеристик нам нужно будет изменить структуру регистра накопления «ОстаткиМатериалов» и добавить в него новое измерение «НаборСвойств» с типом СправочникСсыл-ка.ВариантыНоменклатуры: 
 
8. Запустите 1С:Предприятие в режиме отладки. Откройте документ При-ходная Накладная №2 и укажите, что был закуплен белый электрический кабель в количестве 2 шт. и польский резиновый шланг. 
 Проведите документ и просмотрите на движения документа по регистру ОстаткиМатериалов.


Информация

Комментировать статьи на нашем сайте возможно только в течении 60 дней со дня публикации.

Популярные новости

Статистика сайта






 
Copyright © НеОфициальный сайт факультета ЭиП