Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1С: Лабораторная работа №5.doc
Скачиваний:
43
Добавлен:
23.03.2016
Размер:
516.1 Кб
Скачать

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

Задание для самостоятельного выполнения

  1. Создайте документ Отгрузка. В области шапки документа размешается один дополнительный реквизит – Заказчик (тип данных – СправочникСсылка.Фирмы). В табличной части документа (имя Перечень) размещаются два реквизита:

  • Товар (тип данных – СправочникСсылка.Номенклатура);

  • Количество (тип данных - Число).

  1. На закладке Движение с помощью конструктора подготовить создание процедуры обработки проведения документа. В качестве типа движения регистра указать Расход.

  2. В режиме «1С: Предприятие» заполните документ Отгрузка и посмотрите форму списка регистра накопления.

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

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

Задание для самостоятельного выполнения

  1. Создайте регистр накопления – ИнформацияОЗаказах. На закладке Основные в поле Вид регистра установите – Обороты.

  2. На закладке Данные создайте для данного регистра:

  • измерение – Фирма (тип данных – СправочникСсылка.Фирма);

  • измерение – Товар (тип данных – СправочникСсылка.Номенклатура);

  • ресурс – Количество (тип данных – Число).

  1. Создайте документ Заказ. Область шапки содержит один дополнительный реквизит – Заказчик (тип данных – СправочникСсылка.Фирмы). Табличная часть документа имеет имя Перечень и в нем два реквизита:

  • Товар – (тип данных – СправочникСсылка.Номенклатура);

  • Количество - (тип данных – Число без дробной части) для внесения количества заказанных изделий.

  1. В окне редактирования документа Заявка на закладке Движения необходимо указать регистр накопления – ИнформацияОЗаказах.

  2. Воспользовавшись конструктором движений, создайте процедуру обработки движения документа (Рис. 9).

  1. Просмотрите листинг программной процедуры, которая формирует движения по регистру при проведении документа (листинг 2).

  1. В режиме «1С: Предприятие» заполните документ Заявка и посмотрите форму списка регистра накопления.

Рис. 9. Окно конструктора движений регистра

Листинг 2. Процедура, выполняемая при проведении документа Заявка

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

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

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

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

// регистр ИнформацияОЗаказах

Движения.ИнформацияОЗаказах.Записывать = Истина;

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

Движение = Движения.ИнформацияОЗаказах.Добавить();

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

Движение.Организация = Заказчик;

Движение.Товар = ТекСтрокаПеречень.Товар;

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

КонецЦикла;

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

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

Получение выборки информации из регистра

Рассмотрим программный доступ к информации, содержащейся в регистрах накопления. Выборка из регистра производится с помощью метода Выбрать (). Данный метод имеет три параметра. С их помощью можно установить период выборки, условие отбора и способ сортировки записей.

Задание для самостоятельного выполнения

  1. Создайте обработку ПолучениеВыборки и на форме разместите поле списка – ПереченьДокументов (Рис.10).

  2. Воспользовавшись кнопкой Модуль, создайте процедуру для извлечения информации из регистра ИнформацияОЗаказах (листинг 3).

  3. В режиме «1С: Предприятие» просмотрите результат работы обработки (Рис.11).

Рис. 10. Форма обработки для формирования перечня документов

Листинг 3. Процедура извлечения информации из регистра накопления

&НаСервере

Процедура ВыполнитьОбработкуНаСервере()

РегистрЗаказ = РегистрыНакопления.ИнформацияОЗаказах;

Данные = РегистрЗаказ.Выбрать ();

ПереченьДокументов.Очистить ();

Пока Данные.Следующий () Цикл

Информация = "Регистратор: " + Данные.Регистратор + " Номенклатура " + Данные.Товар + " Количество: " + Данные.Количество;

ПереченьДокументов.Добавить (Информация);

КонецЦикла;

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

&НаКлиенте

Процедура ВыполнитьОбработку(Команда)

ВыполнитьОбработкуНаСервере();

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

Рис. 11. Результат выборки информации из регистра накопления