Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Перечисления.ВидыНоменклатуры.Материал Тогда




Регистр Продажи

Расчитать стоимость материала

Регистр СтоимостьМатериалов Расход

Регистр ОстаткиМатериалов Расход

Движение = Движения.ОстаткиМатериалов.Добавить();

Движение.ВидДвижения = ВидДвиженияНакопления.Расход;

Движение.Период = Дата;

Движение.Материал = ВыборкаРезулыатаЗапроса.Ноченклатура;

Движение.Склад = Склад;

Движение.Количество = ВыборкаРезультатаЗапроса.Количество;

Движение = Движения.СтоимостьМатериалов.Добавить();


Движение.ВидДвижения = ВидДвиженияНакопления.Расход;

Движение.Период = Дата;

Движение.Материал = ВыборкаРезультатаЗапроса.Номенклатура;

СтоимостьМатериала =

?(ВыборкаРезультатаЗапроса.КоличествоОстаток = Null, 0, ВыборкаРезультатаЗапроса.СтоимостьОстаток / ВыборкаРезультатаЗапроса.КоличествоОстаток); Движение.Стоимость = СтоимостьМатериала *

ВыборкаРезультатаЗапроса.Количество; КонецЕсли;

Движение = Движения.Продажи.Добавить();

Движение.Период = Дата;

Движение.Номенклатура = ВыборкаРезультатаЗанроса.Номенклатура;

Движение.Клиент = Клиент;

Движение.Мастер = Мастер;

Движение.Количество = ВыборкаРезультатаЗапроса.Количество;

Движение.Выручка = ВыборкаРезультатаЗапроса.Сумма;

Если ВыборкаРезультатаЗапроса.ВидНоменклатуры =

Движение.Стоимость = СтоимостьМатериала *

ВыборкаРезультатаЗапроса.Количество; Иначе

Движение.Стоимость = 0; КонецЕсли; КонецЦикла;

// записать движения регистров Движения.ОстаткиМатериалов.Записать();

Движения.СтоимостьМатериалов.Записан,(); Движения.Продажи.Записать();

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

Запустим 1С:Предприятие в режиме отладки и проверим работу нового обработчика события «ОбработкаПроведения», перепроведя все документы «ОказаниеУслуги».

В заключение следует сделать небольшое отступление, которое касается задания параметров виртуальных таблиц, использовавшихся в наших запросах.


 


248



Использование основных объектов конфигурации


Оптимизация процедуры проведения документа ОказаниеУслуги


 


Как в первом, так и во втором запросах мы использовали условие что материал должен находиться в списке значений, задаваемом одним из параметров запроса:


Что нового мы узнали


 


| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СтоимостьМатериалов.Остатки(
| &МоментВремени,

Материал В (&СписокНоменклатурыДокумента))

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

| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СтоимостьМатериалов.Остатки(

| &МоментВремени,

| Материал В (ВЫБРАТЬ РАЗЛИЧНЫЕ Номенклатура

| ИЗ

| Документ.ОказаниеУслуги.ПереченьНоменклатуры

| КАК ОказаниеУслугиПереченьНоменклатуры

| ГДЕ ОказаниеУслугиПереченьНоменклатуры.Ссылка =

| &Ссылка))

Выбор одного или другого решения требует сравнительных тестов
и зависит от конкретной информационной базы, размеров документа,
количества одновременно работающих пользователей,

производительности компьютеров и т.д.

Теперь мы можем на некоторое время отвлечься от запросов, с которыми мы достаточно «плотно» работали в этой главе, и обратить свое внимание на не менее интересные возможности, которые предоставляет разработчику платформа 1С:Предприятие 8.0.


- как система 1С:Предприятие выполняет обращение к

ссылочным данным - как используется кэш объектов - почему для доступа к массивам данных информационной

базы предпочтительнее использовать запросы - как запросом получить остатки регистра накопления - когда следует использовать ключевое предложение ДЛЯ

ИЗМЕНЕНИЯ - на что следует обращать внимание при задании

параметров виртуальных таблиц запросов - почему при неоперативном проведении документов не

нужно контролировать остатки

- как и зачем можно передать вложенный запрос в параметры виртуальной таблицы


 


250



План видов характеристик


Глава 7. План видов характеристик

В этой главе мы познакомимся с новым объектом конфигурации -План видов характеристик - и узнаем, каким образом можно использовать этот объект для расширения возможностей нашей конфигурации.


Постановка задачи

З

адача, которую мы перед собой поставим, будет заключаться в следующем: мы создадим механизм, который позволит пользователю произвольным образом описывать материалы, и, что самое главное, вести учет в разрезе всех тех описаний, которые могут быть заданы пользователем.

Описывать материалы пользователь сможет следующим образом: для каждого материала будет возможность создать некоторые (произвольные) характеристики этого материала (например, цвет, производитель и пр.). Затем, при поступлении материалов можно будет задать конкретные значения интересующих характеристик (например, при поступлении электрических кабелей можно будет указать, что они белого цвета и их сечение равно 2,5 мм2, а при поступлении резиновых шлангов указать, что они черного цвета и произведены на фирме «Fagumit Sp. z о.о.»).

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

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

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


 


252



Использование основных объектов конфигурации


План видов характеристик


 


Объект конфигурации План видов характеристик

О

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

В сущности, план видов характеристик очень напоминает справочник. Однако план видов характеристик имеет более узкую «специализацию»: он хранит, по сути, информацию только о том, какими видами характеристик может описываться какой-либо объект базы данных. Эта информация состоит из названия вида характеристики и ее типа. Разработчик и, что самое важное, пользователь могут задать в нем любое необходимое им количество видов характеристик.

Для того чтобы разработчик мог задать некий «набор» возможных типов значений, которые могут принимать виды характеристик, у объекта конфигурации План видов характеристик существует свойство Тип значения характеристик. Это свойство определяет составной тип данных, в который входят все типы, которые могут понадобиться при указании типа значения характеристики.

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

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

Примечательно, что этот справочник является подчиненным плану видов характеристик. Таким образом, если затем пользователь


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

%Для тех, ктоработал с версией 7.7.

В версии 7.7 нет прямого соответствия прикладному объекту конфигурации план видов характеристик. Точнее всего будет сказать, что один план видов характеристик включает в себя me функциональные возможности, которыми в версии 7.7 обладали все объекты конфигурации вида «Вид субконто». Таким образом, в терминах 7.7, планы видов характеристик позволяют создавать несколько «наборов» объектов «Вид субконто».

Однако описание механизма ведения аналитического учета на счетах не является теперь основной задачей для плана видов характеристик. Использование подобного механизма было обобщено в виде возможности задания переменного количества свойств, которые могут описывать объект конфигурации. Причем возможность задания свойств существует как в режиме Конфигуратора, так и в режимеработы пользователя «1С:Предприятие».

Работа с планом счетов рассматривается теперь не как основное предназначение плана видов характеристик, а как частный случай, вытекающий из его возможностей. Конечно, как мы увидим далее, взаимодействие плана видов характеристик с планом счетов максимально автоматизировано средствами платформы (no сравнению с взаимодействием с другими объектами конфигурации). Однако основной акцент делается на универсальность механизма, предоставляемого планом видов характеристик. В частности это видно и из названия объекта, где вместо слова субконто (разрез аналитического учета) теперь используется слово характеристика, обозначающее свойство объекта конфигурации, описанное вне его самого (в другом объекте конфигурации).


 


254



Использование основных объектов конфигурации


План видов характеристик


 


<*" Узнай больше!

О структуре объектов встроенного языка, предназначенных для работы с планами видов характеристик, можно прочитать в главе «Планы видов характеристик» на странице 586.

План видов характеристик не имеет внутренних предопределенных механизмов привязки вида характеристики к тому объекту, который должен описывать этот вид характеристики. Он лишь предоставляет возможность разработчику и пользователю описать некий набор характеристик и задать их тип. Каким образом хранить соответствие конкретного вида характеристик или значения характеристик конкретному объекту базы данных, - решает сам разработчик в зависимости от создаваемого прикладного решения.

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


Логическая связь объектов

Д

ля реализации этого примера нам понадобятся три новых объекта конфигурации. Прежде всего, это план видов характеристик, который будет хранить виды характеристик, которыми в принципе можно описывать материалы. Затем это справочник, подчиненный справочнику «Номенклатура», элементы которого будут идентифицировать партии материалов с некоторым фиксированным набором значений характеристик. И третий объект -это регистр сведений, в котором собственно и будет храниться соответствие конкретных значений характеристик некоторому варианту материала.

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


 



 


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


256



Использование основных объектов конфигурации


План видов характеристик


 


обладающие таким значением характеристики, и затем по ним и их владельцам получить остатки регистра накопления.


Реализация решения

Создание новых объектов конфигурации

К

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

Затем создадим еще один объект конфигурации Справочник с именем «ДополнительныеСвойстваНоменклатуры».

После этого создадим объект конфигурации План видов характеристик с именем «СвойстваНоменклатуры». Тип значения характеристик установим следующим:

Число, длина 15, точность 3,

Строка, длина 25,

• Дата,

• Булево,

• СправочникСсылка.ДополнительныеСвойстваНоменкла
туры:


 



 


 


258



Использование основных объектов конфигурации


План видов характеристик


 


Справочнику «ДополнительныеСвойстваНоменклатуры» укажем владельца - план видов характеристик «СвойстваНоменклатуры» После этого определим, что дополнительные значения характеристик плана видов характеристик будут располагаться в справочнике «ДополнительныеСвойстваНоменклатуры»:

В заключение создадим объект конфигурации Регистр сведений с именем «ЗначенияСвойствНоменклатуры».

Измерения регистра:


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

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

П

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


тип

• «НаборСвойств», ведущее,
СправочникСсылка.ВариантыНоменклатуры,

• «ВидСвойства», тип
ПланВидовХарактеристикСсылка.СвойстваНоменклатуры.

Ресурс регистра:

• «Значение», тип Характеристика.СвойстваНоменклатурЫ-

Обратите внимание, что мы имеем возможность определить тип значения ресурса регистра, как Характеристика.<имя>. По сути, это


260






Поделиться с друзьями:


Дата добавления: 2014-11-16; Просмотров: 820; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.