|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Порядок проведения документа по нескольким регистрамСейчас созданная вами конфигурация позволяет учитывать только количественное движение материалов в ООО "Мастер". Для этих целей вы создали регистр накопления ОстаткиМатериалов. Однако, одного только количественного учета совершенно недостаточно для нужд ООО "Мастер". Очевидно, что необходимо также знать, какие денежные средства были затрачены на приобретение тех или иных материалов, и каковы материальные запасы ООО "Мастер" в денежном выражении. Предположим, что руководство ООО "Мастер" высказало пожелание, чтобы весь суммовой учет материалов велся бы теперь по средней стоимости. То есть при закупке материалов они должны учитываться в ценах приобретения, а при расходе – по средней стоимости, которая рассчитывается исходя из общей суммы закупок данного материала и общего количества этого материала, находящегося в ООО. Поскольку подобная информация имеет совершенно другую структуру, нежели количественный учет, для хранения данных об общей стоимости тех или иных материалов необходим еще один регистр накопления СтоимостьМатериалов. Таким образом, документы ПриходнаяНакладная и ОказаниеУслуги должны будут создавать движения не только в регистре ОстаткиМатериалов, но одновременно и в регистре СтоимостьМатериалов, отражая изменения суммового учета. 3.10.1. Создание регистра "Стоимость материалов" Откройте конфигуратор и создайте регистр накопления СтоимостьМатериалов. Создайте одно измерение регистра – Материал с типом СправочникСсылка.Номенклатура и один ресурс – Стоимость с длиной 15 и точностью 2. После создания регистр СтоимостьМатериалов должен выглядеть в дереве конфигурации следующим образом (рис. 80): Рис. 80. Регистр "СтоимостьМатериалов" 3.10.2. Изменение процедуры проведения документа "ПриходнаяНакладная" Откройте в конфигураторе окно редактирования объекта конфигурации Документ ПриходнаяНакладная и перейдите на закладку Движения. В списке регистров отметьте, что документ будет создавать теперь движения и по регистру СтоимостьМатериалов. Запустите конструктор движений и согласитесь с тем, что существующая процедура ОбработкаПроведения будет замещена. На экране появится окно конструктора движений, которое будет содержать созданные вами ранее движения документа по регистру ОстаткиМатериалов. Добавьте в список регистров, по которым формируются движения, еще один – СтоимостьМатериалов. Выберите для него ту же табличную часть Материалы и заполните выражения. Для ресурса Стоимость выберите значения реквизита табличной части Сумма (рис. 81). Рис. 81. Добавьте в список регистров новый регистр Нажмите кнопку " OK " и посмотрите на текст, который сформировал конструктор. Как вы видите, конструктор создал два цикла обхода табличной части документа – отдельно для каждого регистра. Так происходит потому, что в общем случае документ может иметь несколько табличных частей, и информация, содержащаяся в каждой из них, может предназначаться для своего отдельного регистра. Так как вы используете одну табличную часть, можно объединить эти два цикла в один, закомментировав следующие строки: // КонецЦикла; // Для Каждого ТекСтрокаМатериалы Из Материалы Цикл Запустите 1С:Предприятие в режиме отладки и перепроведите документы ПриходнаяНакладная №1 и №2. Затем откройте Приходную накладную №1 и убедитесь, что документ создает желаемые записи в регистрах накопления (рис. 82, 83, 84). Рис. 82. "ПриходнаяНакладная №1" Рис. 83. Записи регистра "ОстаткиМатериалов" Рис. 84. Записи регистра "СтоимостьМатериалов" 3.10.3. Изменение процедуры проведения документа "ОказаниеУслуги" Предположим, что руководство ООО "Мастер" решило, что на первом этапе, при списании материалов, израсходованных в процессе оказания услуги, должна быть возможность указывать различную стоимость для одного и того же материала, которая рассчитана руководством исходя из текущих конъюнктурных соображений. Поскольку в документе ОказаниеУслуги отражена только цена номенклатуры, вам понадобится добавить в табличную часть документа еще одно поле, в котором будет указываться стоимость номенклатуры. Откройте в конфигураторе окно редактирования объекта конфигурации Документ ОказаниеУслуги, перейдите на закладку Данные и создайте новый реквизит табличной части документа с именем Стоимость, типом Число, длиной 15 и точностью 2 (рис. 85). Рис. 85. Изменение документа "ОказаниеУслуги" После этого откройте форму ФормаДокумента документа ОказаниеУслуги и добавьте в табличное поле колонку, отображающую новый реквизит Стоимость, расположив ее после колонки Номенклатура (рис. 86). Для этого выделите табличное поле и выполните команду контекстного меню Размещение данных. В окне Размещение данных отметьте реквизит Стоимость и нажмите кнопку "ОK". После этого с помощью мыши перетащите колонку Стоимость после колонки Номенклатура. Рис. 86. Изменение формы документа "ОказаниеУслуги" Теперь создайте движения документа ОказаниеУслуги таким же образом, как делали это для документа ПриходнаяНакладная. Откройте в конфигураторе окно редактирования объекта конфигурации Документ ОказаниеУслуги и укажите, что он будет создавать движения по регистру накопления СтоимостьМатериалов. Запустите конструктор движений документа и добавьте в список регистров регистр СтоимостьМатериалов. Опишите движения документа следующим образом (обратите внимание, что стоимость вычисляется как произведение стоимости и количества, указанных в табличной части) – рис. 87: Рис. 87. Конструктор движений документа Нажмите кнопку "OK" и в тексте, сформированном конструктором, восстановите изменения, внесенные вами ранее (не записывать движения, если номенклатура – не материал). Также объедините два цикла обхода табличной части документа в один: Процедура ОбработкаПроведения(Отказ, Режим) //{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ // Данный фрагмент построен конструктором. // При повторном использовании конструктора, // внесенные вручную изменения будут утеряны!!! Для Каждого ТекСтрокаПереченьНоменклатуры Из ПереченьНоменклатуры Цикл Если ТекСтрокаПереченьНоменклатуры.Номенклатура.ВидНоменклатуры <> Перечисления.ВидыНоменклатуры.Материал Тогда Продолжить; КонецЕсли; // Регистр ОстаткиМатериалов Расход Движение = Движения.ОстаткиМатериалов.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Расход; Движение.Период = Дата; Движение.Материал = ТекСтрокаПереченьНоменклатуры.Номенклатура; Движение.Склад = Склад; Движение.Количество = ТекСтрокаПереченьНоменклатуры.Количество; // Регистр СтоимостьМатериалов Расход Движение = Движения.СтоимостьМатериалов.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Расход; Движение.Период = Дата; Движение.Материал = ТекСтрокаПереченьНоменклатуры.Номенклатура; Движение.Стоимость = ТекСтрокаПереченьНоменклатуры.Стоимость * ТекСтрокаПереченьНоменклатуры.Количество; КонецЦикла; // Записываем движения регистров Движения.ОстаткиМатериалов.Записать(); Движения.СтоимостьМатериалов.Записать(); //}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ КонецПроцедуры Запустите 1С:Предприятие в режиме отладки и укажите стоимость выбранных материалов в документе ОказаниеУслуги №1 (рис. 88). Рис. 88. Документ "ОказаниеУслуги №1" Проведите документ ОказаниеУслуги №1 и посмотрите на движения этого документа по регистру СтоимостьМатериалов (рис. 89). Рис.89. Записи регистра "СтоимостьМатериалов" Теперь создайте и проведите еще два документа ОказаниеУслуги. Эти документы понадобятся в дальнейшем, поэтому будьте внимательны и обратите внимание на то, что эти документы созданы другими датами (рис. 90, 91). Рис. 90. Документ "ОказаниеУслуги №2" Рис. 91. Документ "ОказаниеУслуги №3" Движения документов ОказаниеУслуги №2 и №3 должны выглядеть соответственно следующим образом (рис. 92, 93): Рис. 92. Движения документа "ОказаниеУслуги №2" Рис. 93. Движения документа "ОказаниеУслуги №3" Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.007 сек.) |