Изменение процедуры проведения



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

- На закладкеПрочее: нажмем кнопку Модуль объекта. Откроем процедуру обработчика события ОбработкаПроведения. Отредактируем код следующим образом:

Листинг 11.2

Процедура ОбработкаПроведения(Отказ, Режим)

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

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

//регистр ОстаткиМатериалов Расход
Движение = Движения.ОстаткиМатериалов.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Материал = ТекСтрокаПереченьНоменклатуры.Номенклатура;
Движение.Склад=Склад;
Движение.Количество = ТекСтрокаПереченьНоменклатуры.Количество;

//регистр СтоимостьМатериалов Расход
Движение = Движения.СтоимостьМатериалов.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Материал = ТекСтрокаПереченьНоменклатуры.Номенклатура;
Движение.Стоимость=ТекСтрокаПереченьНоменклатуры.Количество
*ТекСтрокаПереченьНоменклатуры.Стоимость;
КонецЕсли;
КонецЦикла;
КонецПроцедуры

В заключение отредактируем командный интерфейс формы документа, чтобы в панели навигации формы иметь возможность переходить к списку записей регистраСтоимость Материалов, связан­ному с документом.
- Откроем форму документаОказаниеУслуги:перейдем на закладку Командный интерфейс. В разделе Панель навигации раскроем группу Перейти и увидим команду для открытия регистра накопления Стоимость материалов. Установим свойствоВидимостьдля этой команды.

  • В режиме 1С: Предприятие

В режиме 1С:Предприятие необходимо перепровести документ оказания услуги. Это необходимо для того, чтобы этот документ создал новые записи в регистрах. Запустим 1С: Предприятие в режиме отладки и откроем список документов, выполнив команду Оказание услуг в панели навигации раздела Оказание услуг.
Откроем документ Оказание услуги № 1 и изменим в нем стоимость одного из материалов. Нажмем кнопку Провести и выполним команду перехода к регистру Стоимость материалов.
Создадим и проведем еще два документа Оказание услуги.
Для этого в форме списка документов нажмем кнопку Создать. Эти документы понадобятся нам в дальнейшем.

Контрольные вопросы

  • Для чего может понадобиться проведение документа по нескольким регистрам.
  • Как создать движения документа по нескольким регистрам в обработчике проведения документа.
  • Как создать движения документа без использования конс­труктора движений.
  • Как средствами встроенного языка сформировать и запи­сать движения документа в регистр накопления.
  • Как добавить в форму документа новый реквизит.

Начать Тест

- Перейти на страницу контрольного тестового задания

 


Лабораторная работа № 12

Оборотные регистры накопления.

Ориентировочная продолжительность занятия - 40 минут.

ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

Что такое оборотный регистр накопления

Регистры накопления могут быть регистрами остатков и регистрами оборотов.
Существующие в нашей конфигурации регистры ОстаткиМатериалов и СтоимостьМатериалов являются регистрами остатков.
Если вы помните, при создании отчета Материалыв конструкторе запроса мы видели, что для таких регистров система создает три виртуальные таблицы: таблица остатков, оборотов и совокупная таблица остатков и оборотов.
Оборотный регистр накапливает только обороты, остатки ему безраз­личны. Поэтому единственной виртуальной таблицей, которую будет создавать система для такого регистра, будет таблица оборотов. В остальном оборотный регистр ничем не отличается от регистра остатков.
Следует сказать об одной особенности конструирования регистров накопления, напрямую связанной с возможностью получения остатков. При создании оборотного регистра накопления нет особой сложности в определении того, какие именно данные должны являться измерениями регистра - мы можем назначить в качестве его измерений любые нужные нам данные.
Совсем иная ситуация в случае регистра накопления, поддерживаю­щего накопление остатков. Для него выбор измерений должен выпол­няться исходя из того, что движения регистра могут быть осущест­влены в две стороны: приход и расход. Таким образом, в качестве измерений нужно выбирать те данные, по которым движения точно будут осуществляться как в одну, так и в другую сторону.
Скорее всего, при поступлении материалов поставщик будет указан, а вот при расходовании материалов, с большой долей вероятности, поставщик указываться не будет. В большинстве случаев это совер­шенно лишняя информация.
Значит, поставщика следует добавить не как измерение, а как реквизит регистра накопления.
Если же при расходе материалов поставщик будет указываться наверняка, имеет смысл добавить поставщика в измерения регистра.
Иными словами, по каждому из измерений регистра накопления остатков ресурсы обязательно должны изменяться в обе стороны: приход и расход. Не должно существовать таких измерений, по которым осуществляется только приход или только расход.
Нарушение этого принципа построения регистров накопления будет вести к непроизводительному использованию ресурсов системы и как следствие к замедлению работы и падению производительности.
Для реквизитов же регистра этот принцип не важен. По рекви­зитам регистра ресурсы могут только приходоваться или только расходоваться.


ПРАКТИЧЕСКАЯ ЧАСТЬ


Дата добавления: 2020-04-25; просмотров: 679; Мы поможем в написании вашей работы!

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






Мы поможем в написании ваших работ!