- •Ок Перечисление
- •Объект конфигурации Перечисление
- •Реорганизация справочника Номенклатура
- •Изменение процедуры проведения документа Оказание услуги
- •Листинг 1. Движения документа ОказаниеУслуги
- •Проведение документа по нескольким регистрам
- •Зачем нужно проведение документа по нескольким регистрам?
- •Создание регистра Стоимость материалов
- •Изменение процедуры проведения документа Приходная накладная
- •Листинг 2. Процедура ОбработкаПроведения()
- •Листинг 3. Объединение двух циклов в один
- •Изменение процедуры проведения документа Оказание услуги
- •Листинг 3
Листинг 1. Движения документа ОказаниеУслуги
Если ТекСтрокаПереченьНоменклатуры.Номенклатура.
ВидНоменклатуры <> Перечисления.ВидыНоменклатуры.Материал Тогда Продолжить;
КонецЕсли;
Добавленный текст исключает из выполнения операторов цикла те строки документа, в которых номенклатура не является материалом. К значению перечисления Материал мы обращаемся, используя менеджер перечисления ВидыНоменклатуры (Перечисления. ВидыНоменклатуры) и указывая в качестве его свойства имя нужного нам значения перечисления.
Запустим 1С:Предприятие в режиме отладки и проверим работу процедуры проведения документа Оказание услуги.
Откроем документ Оказание услуги № 1 и внесем в него следующие изменения (Рис.4.).
Рис.4.
После того как провели документ, откройте список регистра Остатки материалов, содержащий движения этого документа. Для этого выполним команду Перейти ► Остатки материалов из командной панели списка документа.
Убедитесь, что в движения по регистру Остатки материалов включаются только строки, содержащие материалы.
Проведение документа по нескольким регистрам
Эта тема посвящена тому, как один и тот же документ может «поставлять» информацию в различные регистры конфигурации и для чего может понадобиться такая возможность.
Необходимо будет создать еще один регистр накопления нашей конфигурации и изменить процедуру проведения документов так, чтобы они записывали необходимые данные как в один, так и в другой регистр.
Зачем нужно проведение документа по нескольким регистрам?
До сих пор мы учитывали только количественное движение материалов в ООО «Респект Продакшн». Для этих целей мы создали регистр накопления ОстаткиМатериалов. Однако, одного только количественного учета совершенно недостаточно для нужд предприятия.
Очевидно, что необходимо также знать, какие денежные средства были затрачены на приобретение тех или иных материалов, и каковы материальные запасы ООО «Респект Продакшн» в денежном выражении.
После того, как мы начали автоматизировать наше предприятие, руководство ООО «Респект Продакшн» высказало пожелание, чтобы весь суммовой учет материалов велся бы теперь по средней стоимости. То есть при закупке материалов они должны учитываться в ценах приобретения, а при расходе - по средней стоимости, которая рассчитывается исходя из общей суммы закупок данного материала и общего количества этого материала, находящегося в ООО «Респект Продакшн».
Поскольку подобная информация имеет совершенно другую структуру, нежели количественный учет, для хранения данных об общей стоимости тех или иных материалов будем использовать еще один регистр накопления СтоимостьМатериалов.
Таким образом, документы ПриходнаяНакладная и ОказаниеУслуги должны будут создавать движения не только в регистре ОстаткиМатериалов, но одновременно и в регистре СтоимостьМатериалов, отражая изменения суммового учета.
Создание регистра Стоимость материалов
Регистр СтоимостьМатериалов совсем не сложен, поэтому не будем подробно останавливаться на его создании. Этот регистр будет иметь всего одно измерение - Материал с типом СправочникСсылка.Номенклатура и один ресурс - Стоимость с длиной 15 и точностью 2.
После создания регистра СтоимостьМатериалов должен выглядеть в дереве конфигурации следующим образом (Рис.5.).:
Рис.5.
Теперь мы можем приступить к внесению изменений в процедуры проведения документов.
Начнем с самого простого – документа Приходная Накладная.