Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Белояр вместе с 1С8.pdf
Скачиваний:
42
Добавлен:
10.04.2015
Размер:
6.18 Mб
Скачать

8-й день. Перечисления

8.1. Добавление перечисления

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

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

229.Выберите на дереве объектов конфигурации ветвь Перечисления, МП, Добавить, в поле Имя введите ВидыНоменклатуры.

230.Выберите вкладку Данные, нажмите Добавить, введите значения Материал и Услуга.

231.Затем добавим в справочник новый реквизит: выберите

Справочники, Номенклатура, введите реквизит ВидНоменклатуры с типом ПеречислениеСсылка.ВидыНоменклатуры.

232. Выберите Отладка, Начать отладку, на появившийся вопрос: редактируемая конфигурация отличается от конфигурации базы данных. Обновить конфигурацию базы данных? выберите Да, в окне Реорганизация информации выберите Принять.

233. При сообщении о том, что наше перечисление не включено нив одну подсистему игнорируем его.

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

8.2. Изменение процедуры проведения документа

 

Когда создавались движения

документа

«ОказаниеУслуги»

по

регистру накопления «ОстаткиМатериалов», мы сказали, что

они не совсем правильные, поскольку в регистр будут попадать не только записи об израсходованных материалах, но и записи об оказанных услугах.

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

расходу материалов. Эта доработка будет не совсем эффективна с точки зрения производительности, зато позволит нам получить нужные данные в регистре «ОстаткиМатериалов».

235. Скорректируем движения документа, исключив из обработки те строки табличной части, в которых находятся услуги. Для этого в обработчик события «ОбработкаПроведения», расположенный в модуле документа «ОказаниеУслуги», добавим следующий текст (добавленный текст выделен жирным шрифтом): в окне Конфигуратора выберите на дереве объект Документы, выберите ОказаниеУслуги, МП, выберите Открыть Модуль объекта, добавьте строки кода

Процедура ОбработкаПроведения(Отказ, Режим) //{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

//Данный фрагмент построен конструктором.

//При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

Движения.ОстаткиМатериалов.Записывать = Истина;

Для Каждого ТекСтрокаПереченьНоменклатуры Из ПереченьНоменклатуры Цикл

Если

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

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

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

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

Движение.Материал = ТекСтрокаПереченьНоменклатуры.Номенклатура;

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

Движение.Количество = ТекСтрокаПереченьНоменклатуры.Количество;

КонецЕсли;

КонецЦикла; //}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

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

Добавленный текст исключает из выполнения операторов цикла те строки документа, в которых номенклатура не является материалом. К значению перечисления «Материал» мы обращаемся, используя менеджер перечисления «ВидыНоменклатуры» (Перечисления.ВидыНоменклатуры), указывая в качестве его свойства имя нужного нам значения перечисления.

236. Выберите Отладка, Начать отладку, на появившийся вопрос: редактируемая конфигурация отличается от конфигурации базы данных. Обновить конфигурацию базы данных? выберите Да, в окне Реорганизация информации выберите Принять.

237. Откроем документ Оказание услуги №1 и внесем в него следующие изменения: удалите из табличной части строку содержащую Транзистор, добавьте услугу Подключение воды, добавьте материал

Шлаг резиновый, нажмите Провести.

Обратите внимание, что цены подставляются автоматически из регистра сведений Цены.

238. Выберите Остатки материалов в панели навигации, чтобы перейти к записям регистра Остатки материалов. Убедимся, что в движения по регистру «ОстаткиМатериалов» включаются только строки, содержащие материалы, т.е. шланг резиновый есть. А запись про услугу Подключение воды в движения не попала.