Знакомство с программой "1С: Предприятие 8.0". Создание информационной базы

Автор работы: Пользователь скрыл имя, 17 Февраля 2013 в 12:09, лабораторная работа

Описание

"1С: Предприятие 8.0" является универсальной системой автоматизации экономической и организационной деятельности предприятия. Поскольку такая деятельность может быть довольно разнообразной, система "1С: Предприятие 8.0" может "приспосабливаться" к особенностям конкретной области деятельности, в которой она применяется. "1С: Предприятие" является универсальной системой для автоматизации учета

Работа состоит из  1 файл

Лабораторные работы 1с программирования.doc

— 1.13 Мб (Скачать документ)

 

Объект конфигурации Регистр накопления 

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

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

 

I. Создание  регистра накопления "ОстаткиМатериалов"  

Прежде всего, Вам необходима информация о том, сколько и каких материалов есть на складах.

1.Для накопления такой информации создайте регистр ОстаткиМатериалов.

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

3. Нажмите Далее и перейдем к созданию структуры регистра.

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

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

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

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

 

 

 

Если сейчас попытаетесь  запустить "1С: Предприятие" в режиме отладки, то система выдаст сообщение об ошибке:

РегистрНакопления.ОстаткиМатериалов: Ни один из документов не является регистратором  для регистра. Это сообщение еще раз подтверждает тот факт, что назначение регистра накопления в том, чтобы аккумулировать данные, поставляемые различными документами. 

 

II. Создание движений документа "ПриходнаяНакладная"  

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

1.Откройте окно редактирования объекта конфигурации Документ ПриходнаяНакладная.

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

 

 

 

 

 

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

 

 

 

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

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

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

 

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

КонецЦикла;

// записываем движения регистров

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

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

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

 

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

6. Теперь можно посмотреть, как это работает. Запустите "1С: Предприятие" в режиме отладки и откройте одновременно два окна: список документов ПриходМатериалов и список регистра накопления ОстаткиМатериалов.

7.Откройте документ Приходная накладная №1 и нажмите OK. Обратите внимание, что при проведении приходной накладной появляются соответствующие записи в регистрах накопления. Аналогичные действия проделаем и с документом Приходная накладная №2.  

 

III. Создание движений документа "Оказание услуги"

Аналогичным образом  создайте движения документа ОказаниеУслуги. При использовании конструктора будьте внимательны и обратите внимание на то, что документ Оказание услуги должен расходовать материалы. Поэтому перед тем, как нажать кнопку OK, убедитесь, что выбран правильный тип движения регистров (Вам нужен Расход).

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

При правильном создании регистра накопления конструктор в  модуле объекта сформирует следующий  текст: 

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

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

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

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

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

// регистр РасходУслуг Расход

Движение = Движения.РасходУслуг.Добавить();

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

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

Движение.Услуга=ТекСтрокаПереченьНоменклатуры.Номенклатура;Движение.Склад=Склад;

Движение.Количество= ТекСтрокаПереченьНоменклатуры.Количество;

КонецЦикла;

// записываем движения регистров

Движения.РасходУслуг.Записать();

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

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

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

 

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

  1. Для чего предназначен объект конфигурации Регистр накопления?
  2. Почему следует использовать регистры, хотя необходимая информация содержится в других объектах?
  3. Для чего нужны измерения регистра, ресурсы и реквизиты?
  4. Что такое движения регистра и что такое регистратор?
  5. Как создать новый регистр накопления и описать его структуру?
  6. Как средствами встроенного языка обойти табличную часть документа и обратиться к ее данным?
  7. Как средствами встроенного языка сформировать и записать движения документа в регистр накопления?

 

Лабораторная работа № 5.

Тема: Работа с объектом Отчет.

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

Изучив эту  тему вы узнаете:

1. Для чего предназначен  объект конфигурации Отчет;

2. Как создать отчет  с помощью конструктора схемы  компоновки данных. 

 

 

                                                                   Ход работы: 

 

Для анализа итоговой торговой деятельности служат Отчеты. Список Отчетов сгруппирован по их назначению: Продажи, Закупки, Запасы (склад), Денежные Средства и т.д. Например, в группе "Запасы (склад)" могут быть представлены отчеты, которые позволяют посмотреть остатки на складах, оценить остатки товаров в ценах компании, провести анализ оборачиваемости товаров, определить остатки товаров, находящиеся на реализации и т.п.  Объект конфигурации Отчет является прикладным и предназначен для описания алгоритмов, при помощи которых пользователь сможет получать необходимые ему выходные данные. Алгоритм формирования выходных данных описывается при помощи визуальных средств или с использованием встроенного языка. В реальной жизни объектам конфигурации Отчет соответствуют всевозможные таблицы выходных данных, сводных данных, диаграммы и т.п. Кроме стандартных отчетов в конфигурации предусмотрен универсальный механизм представления данных любых регистров с помощью универсальных отчетов "Список/Кросс-таблица" и "Остатки и обороты". предусмотрена также возможность вывода диаграммы по универсальным отчетам. Кроме того в конфигурации имеются средства для построения любых видов произвольных отчетов с помощью обработки "Консоль отчетов". В конфигурации имеются широкие возможности настройки каждого отчета. Причем, в зависимости от настроек, форма отчета может меняться. Итак, приступим к созданию отчета!  

Информация о работе Знакомство с программой "1С: Предприятие 8.0". Создание информационной базы