Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Регистр накопления, движения в документах




 

Цель работы

1.1 Познакомиться с регистром накопления

1.2 Научиться отражать изменения, происходящие при проведении документов,

1.3 Накапливать данные о расходах.

1.4 Вносить в документ движения для работы регистра.

 

Краткие теоретические сведения

Объект конфигурации «Регистр накопления» является прикладным и предназначен для описания структуры накопления данных. На основе объекта конфигурации Регистр накопления платформа создает в базе данных информационную структуру, в которой будут накапливаться данные, «поставляемые» различными объектами базы данных. Эти данные будут храниться в регистре в виде отдельных записей, каждая из которых имеет одинаковую, заданную в конфигураторе структуру.

Отличительной особенностью регистра накопления является то, что он не предназначен для интерактивного редактирования пользователем. Разработчик может при необходимости предоставить пользователю возможность редактировать регистр накопления, но предназначение регистра накопления заключается в том, чтобы его модификация производилась на основе алгоритмов работы других объектов базы данных, а не в результате непосредственных действий пользователя.

Рисунок 1 – Алгоритм работы регистра накопления

 

Основным назначением регистра накопления является накопление числовой информации в разрезе нескольких измерений, которые описываются разработчиком в соответствующем объекте конфигурации «Регистр накопления» и являются подчиненными объектами конфигурации.

Виды числовой информации, накапливаемой регистром накопления, называются ресурсами и также являются подчиненными объектами и описываются в конфигураторе.

Например, регистр накопления может накапливать информацию о количестве и сумме товаров на складах. В этом случае он будет иметь измерения Товар и Склад, и ресурсы Количество и Сумма.

Изменение состояния регистра накопления происходит, как правило, при проведении документа, и заключается в том, что в регистр добавляется некоторое количество записей. Каждая запись содержит значения измерений, значения приращений ресурсов, ссылку на документ, который вызвал эти изменения (регистратор) и «направление» приращения (приход или расход). Такой набор записей называется движениями регистра накопления. Каждому движению регистра накопления всегда должен соответствовать регистратор.

Кроме того, регистр накопления может хранить дополнительную информацию, описывающую каждое движение. Набор такой дополнительной информации задается разработчиком при помощи реквизитов объекта конфигурации Регистр накопления.

Движения документа – это записи в регистрах, которые создаются в процессе проведения документа и отражают изменения, производимые документом.

 

Задание

3.1 Создать регистры накопления «ОстаткиМатериалов», отражающий остаток материалов на складе и создать движения регистра в документе «ПриходнаяНакладная» и «ОказаниеУслуги».

 

Ход работы

Откроем в конфигураторе нашу учебную конфигурацию и создадим новый объект конфигурации «Регистр накопления». Зададим имя регистра – «ОстаткиМатериалов». Нажмем «Далее» и перейдем к созданию структуры регистра.

Создадим измерения регистра:

- Материал, с типом СправочникСсылка.Номенклатура,

- Склад, с типом СправочникСсылка.Склады.

Затем создадим ресурс Количество с длиной 15 и точностью 3, неотрицательное.

В результате этих действий регистр «ОстаткиМатериалов» должен иметь следующий вид:

Рисунок 2 – Вид регистра накопления «Остатки материалов»

 

4.1 Создание движений документа «ПриходнаяНакладная»

Движения документа – это записи в регистрах, которые создаются в процессе проведения документа и отражают изменения, производимые документом. Откроем окно редактирования объекта конфигурации «Документ» - «ПриходнаяНакладная».

Перейдем на вкладку «Движения» и в списке регистров конфигурации отметим регистр накопления «ОстаткиМатериалов».

Рисунок 3 – Включение движений в документ «ПриходнаяНакладная»

 

Обратите внимание, что сразу после отметки выбранного регистра становится доступной кнопка «Конструктор движений». Этим конструктором мы и воспользуемся.

Конструктор устроен просто. В списке «Регистры» перечислены регистры, в которых документ может создавать движения. В нашем случае там пока один регистр «ОстаткиМатериалов».

В списке «Реквизиты» документа должны находиться исходные данные для создания движений. А в таблице «Поле» – «Выражение» должны быть заданы формулы, по которым будут вычисляться значения измерений и ресурсов регистра при записи движений.

Рисунок 4 – Конструктор движений

Обратите внимание, что по умолчанию конструктор предлагает создавать движения прихода («Тип движения регистра» – «Приход», символ «+» рядом с названием регистра) по регистру «ОстаткиМатериалов». Это устраивает, ведь документ «ПриходнаяНакладная» и должен приходовать материалы.

В поле выбора «Табличная часть» выберем табличную часть нашего документа – «Материалы». Список реквизитов документа автоматически заполнится реквизитами нашей табличной части. Теперь нажмем кнопку «Заполнить выражения».

В нижнем окне сформируется соответствие полей и выражений.

Рисунок 5 – Заполненные выражения в конструкторе движений регистра

 

Как видите, конструктор движений установил соответствия подходящим образом: в качестве материала в регистр будет записан материал из табличной части документа, в качестве склада – склад, указанный в шапке документа, а в качестве количества – количество из табличной части документа.

Нажмем кнопку OK. Конструктор сформировал в модуле объекта код.

 

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

//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

Для Каждого ТекСтрокаМатериалы Из Материалы Цикл

// регистр ОстаткиМатериалов Приход

Движение = Движения.ОстаткиМатериалов.Добавить();

Движение.ВидДвижения = ВидДвиженияНакопления.Приход;

Движение.Период = Дата;

Движение.Материал = ТекСтрокаМатериалы.Материал;

Движение.Склад = Склад;

Движение.Количество = ТекСтрокаМатериалы.Количество;

КонецЦикла;

//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

КонецПроцедуры

 

Конструктор создал обработчик события «ОбработкаПроведения» объекта конфигурации «Документ» и поместил его в модуль объекта.

Внутри обработчика расположен цикл, который предназначен для перебора строк табличной части нашего документа. В цикле обращение к табличной части документа происходит по имени («Материалы»), а строки табличной части документа представляют собой коллекцию значений, для перебора которой можно использовать конструкцию «Для Каждого … Из … Цикл».

Объект встроенного языка «ДокументОбъект» имеет свойство «Движения». Оно возвращает коллекцию наборов записей регистров, которые принадлежат этому документу. К набору записей документа, принадлежащему конкретному регистру, можно обратиться, указав через точку имя этого регистра.

Таким образом, в первой строке тела цикла мы добавляем к набору записей, который создает наш документ в регистре, новую запись и сохраняем ее в переменной «Движение».

Затем мы присваиваем нужные значения всем полям этой записи и после перебора всех строк документа (после завершения цикла) «одним махом» записываем в регистр «ОстаткиМатериалов» весь набор записей движений документа.

Для проверки работы регистра накопления запустим 1С Предприятие в режиме отладки. Перепроведем ранее созданный документ «ПриходнаяНакладная». Откроем регистр накоплений: «Операции» - «Регистр накоплений» и проверим движения.

Рисунок 6 – Движения в регистре «ОстаткиМатериалов»

 

4.2 Создание движений документа «ОказаниеУслуги»

Теперь аналогичным образом создадим движения документа «ОказаниеУслуги».

При использовании конструктора будем внимательны и обратим внимание на то, что документ «ОказаниеУслуги» должен расходовать материалы. Поэтому перед тем, как нажать кнопку «OK», убедимся, что выбран правильный тип движения регистров (нам нужен «Расход»). Кроме того, при автоматическом заполнении поле «Материал» не заполнится автоматически. Если мы оставим это так, как есть, то в регистре накопления в строках с типом «Движение регистра» – расход имя номенклатуры фиксироваться не будет. Чтобы избежать этого, надо выбрать поле «Материал» и в поле «Реквизиты» документа дважды щелкнуть по строке «ТекСтрокаПереченьНомеклатуры.Номенклатура». Таким образом, имя номенклатуры для строк регистра накопления будет выбираться из табличной части документа.

Сформированные таким образом движения этого документа будут не совсем правильны. Дело в том, что в документе «ОказаниеУслуги», в отличие от документа «ПриходнаяНакладная», могут содержаться не только расходуемые материалы, но и услуги. Поэтому в регистр «ОстаткиМатериалов» будут попадать записи и о расходуемых услугах, что неправильно. Пока оставим данную версию регистра, для последующей доработки регистра с помощью объекта «Перечисления». В итоге движения в документе «ОказаниеУслуги» должны иметь вид:

Рисунок 7 – Вид движений в документе «ОказаниеУслуги»

 

Нажимаем кнопку «OК».

Запустим 1С Предприятие в режиме отладки и создадим документ оказания услуги, который будет расходовать одну ОЗУ Trancend DDR2 1gb.

Проведем документ оказания услуги и убедимся, что в регистре накопления он создал верные движения.

Рисунок 8 – Проверка движений после проведения документа «ОказаниеУслуги»

 

Чтобы открыть регистр накоплений, на форму нужно добавить кнопку, для этого откроем нужную форму, и нажмем правой кнопкой на командную панель > добавить, в открывшемся окне выберем кнопка, дадим ей какое либо название (Остатки материалов).

В поле ИмяКоманды нажмешь кнопку «многоточие», после чего выберем подменю «Глобальные команды» > Параметизируемые > Объект > Остатки материалов > Ссылка, запустим отладку и проверим.


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

5.1 Что такое регистр накопления?

5.2 Опишите создания движения «Приход»?

5.3 Какова отличительная особенность регистра накопления?

5.4 Что такое движения документа?

5.5 Что такое ресурсы?

 

Содержание отчета

6.1 Название работы

6.2 Цель работы

6.3 Описание хода работы со снимками экрана

6.4 Ответы на контрольные вопросы

6.5 Выводы к работе

 

Список литературы

7.1 Радченко М. Г. 1С:Предприятие 8.1. Практическое пособие разработчика. Примеры и типовые приемы. – СПБ.: 1С-Паблишинг, 2008. – 512 с.

7.2 Белоусов П.С., Островерх А.В. 1С:Предприятие 8.0 от 8.1. Практическое пособие. - М.: 1С-Паблишинг, 2008. -286 с.

7.3 Байдаков В., Дранищев В, Краюшкин А, Кузнецов И, Лавров М, Моничев А. 1С:Предприятие 8.1 Описание встроенного языка. В 4-х томах.- М.: Фирма «1С», 2004. -2575с.


Практическая работа №5

Отчеты

Цель работы

1.1 Научиться создавать объекты конфигурации «Отчет», выбирать данные для включения в отчет из документов, регистров и справочников.

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...