Изменение процедуры проведения
Создадим движения документа ОказаниеУслуги таким же образом, как мы делали это для документа Приходная Накладная.
- На закладкеДвижения: в списке регистров отметим, что документ будет создавать теперь движения и по регистру СтоимостьМатериалов.
- На закладкеПрочее: нажмем кнопку Модуль объекта. Откроем процедуру обработчика события ОбработкаПроведения. Отредактируем код следующим образом:
Листинг 11.2
Процедура ОбработкаПроведения(Отказ, Режим)
Движения.ОстаткиМатериалов.Записывать = Истина;
Движения.СтоимостьМатериалов.Записывать = Истина;
Для Каждого ТекСтрокаПереченьНоменклатуры Из ПереченьНоменклатуры Цикл
Если ТекСтрокаПереченьНоменклатуры.Номенклатура.ВидНоменклатуры = Перечисления.ВидыНоменклатуры.Материал Тогда
//регистр ОстаткиМатериалов Расход
Движение = Движения.ОстаткиМатериалов.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Материал = ТекСтрокаПереченьНоменклатуры.Номенклатура;
Движение.Склад=Склад;
Движение.Количество = ТекСтрокаПереченьНоменклатуры.Количество;
//регистр СтоимостьМатериалов Расход
Движение = Движения.СтоимостьМатериалов.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Материал = ТекСтрокаПереченьНоменклатуры.Номенклатура;
Движение.Стоимость=ТекСтрокаПереченьНоменклатуры.Количество
*ТекСтрокаПереченьНоменклатуры.Стоимость;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
|
|
В заключение отредактируем командный интерфейс формы документа, чтобы в панели навигации формы иметь возможность переходить к списку записей регистраСтоимость Материалов, связанному с документом.
- Откроем форму документаОказаниеУслуги:перейдем на закладку Командный интерфейс. В разделе Панель навигации раскроем группу Перейти и увидим команду для открытия регистра накопления Стоимость материалов. Установим свойствоВидимостьдля этой команды.
- В режиме 1С: Предприятие
В режиме 1С:Предприятие необходимо перепровести документ оказания услуги. Это необходимо для того, чтобы этот документ создал новые записи в регистрах. Запустим 1С: Предприятие в режиме отладки и откроем список документов, выполнив команду Оказание услуг в панели навигации раздела Оказание услуг.
Откроем документ Оказание услуги № 1 и изменим в нем стоимость одного из материалов. Нажмем кнопку Провести и выполним команду перехода к регистру Стоимость материалов.
Создадим и проведем еще два документа Оказание услуги.
Для этого в форме списка документов нажмем кнопку Создать. Эти документы понадобятся нам в дальнейшем.
|
|
Контрольные вопросы
- Для чего может понадобиться проведение документа по нескольким регистрам.
- Как создать движения документа по нескольким регистрам в обработчике проведения документа.
- Как создать движения документа без использования конструктора движений.
- Как средствами встроенного языка сформировать и записать движения документа в регистр накопления.
- Как добавить в форму документа новый реквизит.
Начать Тест | - Перейти на страницу контрольного тестового задания |
Лабораторная работа № 12
Оборотные регистры накопления.
Ориентировочная продолжительность занятия - 40 минут.
ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
Что такое оборотный регистр накопления
Регистры накопления могут быть регистрами остатков и регистрами оборотов.
Существующие в нашей конфигурации регистры ОстаткиМатериалов и СтоимостьМатериалов являются регистрами остатков.
Если вы помните, при создании отчета Материалыв конструкторе запроса мы видели, что для таких регистров система создает три виртуальные таблицы: таблица остатков, оборотов и совокупная таблица остатков и оборотов.
Оборотный регистр накапливает только обороты, остатки ему безразличны. Поэтому единственной виртуальной таблицей, которую будет создавать система для такого регистра, будет таблица оборотов. В остальном оборотный регистр ничем не отличается от регистра остатков.
Следует сказать об одной особенности конструирования регистров накопления, напрямую связанной с возможностью получения остатков. При создании оборотного регистра накопления нет особой сложности в определении того, какие именно данные должны являться измерениями регистра - мы можем назначить в качестве его измерений любые нужные нам данные.
Совсем иная ситуация в случае регистра накопления, поддерживающего накопление остатков. Для него выбор измерений должен выполняться исходя из того, что движения регистра могут быть осуществлены в две стороны: приход и расход. Таким образом, в качестве измерений нужно выбирать те данные, по которым движения точно будут осуществляться как в одну, так и в другую сторону.
Скорее всего, при поступлении материалов поставщик будет указан, а вот при расходовании материалов, с большой долей вероятности, поставщик указываться не будет. В большинстве случаев это совершенно лишняя информация.
Значит, поставщика следует добавить не как измерение, а как реквизит регистра накопления.
Если же при расходе материалов поставщик будет указываться наверняка, имеет смысл добавить поставщика в измерения регистра.
Иными словами, по каждому из измерений регистра накопления остатков ресурсы обязательно должны изменяться в обе стороны: приход и расход. Не должно существовать таких измерений, по которым осуществляется только приход или только расход.
Нарушение этого принципа построения регистров накопления будет вести к непроизводительному использованию ресурсов системы и как следствие к замедлению работы и падению производительности.
Для реквизитов же регистра этот принцип не важен. По реквизитам регистра ресурсы могут только приходоваться или только расходоваться.
|
|
|
|
ПРАКТИЧЕСКАЯ ЧАСТЬ
Дата добавления: 2020-04-25; просмотров: 679; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!