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

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

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

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

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

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


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

Добавление оборотного регистра накопления

Откроем конфигуратор и создадим новый объект конфигурации Регистр накопления.
 - На закладке Основные: имя - Продажи; вид регистра – Обороты; расширенное представление списка – Движения документа по регистру Продажи.

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

 - На закладке Данные:  создадим измерения регистра:

Создадим три ресурса

Рис. 12.1. Создание регистров

 - В дереве объектов конфигурации выделим ветвь Подсистемы, вызовем Все подсистемы: В открывшемся окне выделим подсистему Бухгалтерия; в группе Панель навигации.Обычное включим видимость у команды Продажи и мышью перетащим ее в группу Панель навигации.См.также.
Аналогично, выделив подсистемы ОказаниеУслуг и УчетМатериалов, в панели навигации включим видимость у команды Продажи и перенесем ее в группу См.также.

Проведение документа «Оказание услуги» по трем регистрам
Изменим процедуру проведения доку­мента ОказаниеУслуги, а затем в режиме :Предприятие перепро­ведем все эти документы.

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

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

Листинг 12.1

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

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

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

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

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

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

КонецЦикла;
КонецПроцедуры

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

В режиме 1С: Предприятие  перепроведем все документы для этого запустим 1С: Предприятие в режиме отладки и откроем по очереди каждый документ Оказание услуги.


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

Начать Тест

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