Расход по регистру накопления
Задание для самостоятельного выполнения
Создайте документ Отгрузка. В области шапки документа размешается один дополнительный реквизит – Заказчик (тип данных – СправочникСсылка.Фирмы). В табличной части документа (имя Перечень) размещаются два реквизита:
Товар (тип данных – СправочникСсылка.Номенклатура);
Количество (тип данных - Число).
На закладке Движение с помощью конструктора подготовить создание процедуры обработки проведения документа. В качестве типа движения регистра указать Расход.
В режиме «1С: Предприятие» заполните документ Отгрузка и посмотрите форму списка регистра накопления.
Оборотный регистр накопления
Оборотные регистры накопления предназначены для подсчета, например, заявок или услуг, за определенный период времени. Оборотные регистры накапливают обороты, а остатки в них не учитываются. В этом случае система создает только одну виртуальную таблицу – таблицу оборотов.
Задание для самостоятельного выполнения
Создайте регистр накопления – ИнформацияОЗаказах. На закладке Основные в поле Вид регистра установите – Обороты.
На закладке Данные создайте для данного регистра:
измерение – Фирма (тип данных – СправочникСсылка.Фирма);
измерение – Товар (тип данных – СправочникСсылка.Номенклатура);
ресурс – Количество (тип данных – Число).
Создайте документ Заказ. Область шапки содержит один дополнительный реквизит – Заказчик (тип данных – СправочникСсылка.Фирмы). Табличная часть документа имеет имя Перечень и в нем два реквизита:
Товар – (тип данных – СправочникСсылка.Номенклатура);
Количество - (тип данных – Число без дробной части) для внесения количества заказанных изделий.
В окне редактирования документа Заявка на закладке Движения необходимо указать регистр накопления – ИнформацияОЗаказах.
Воспользовавшись конструктором движений, создайте процедуру обработки движения документа (Рис. 9).
Просмотрите листинг программной процедуры, которая формирует движения по регистру при проведении документа (листинг 2).
В режиме «1С: Предприятие» заполните документ Заявка и посмотрите форму списка регистра накопления.
Рис. 9. Окно конструктора движений регистра
Листинг 2. Процедура, выполняемая при проведении документа Заявка
Процедура ОбработкаПроведения(Отказ, Режим)
//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
// регистр ИнформацияОЗаказах
Движения.ИнформацияОЗаказах.Записывать = Истина;
Для Каждого ТекСтрокаПеречень Из Перечень Цикл
Движение = Движения.ИнформацияОЗаказах.Добавить();
Движение.Период = Дата;
Движение.Организация = Заказчик;
Движение.Товар = ТекСтрокаПеречень.Товар;
Движение.Количество = ТекСтрокаПеречень.Количество;
КонецЦикла;
//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
КонецПроцедуры
Получение выборки информации из регистра
Рассмотрим программный доступ к информации, содержащейся в регистрах накопления. Выборка из регистра производится с помощью метода Выбрать (). Данный метод имеет три параметра. С их помощью можно установить период выборки, условие отбора и способ сортировки записей.
Задание для самостоятельного выполнения
Создайте обработку ПолучениеВыборки и на форме разместите поле списка – ПереченьДокументов (Рис.10).
Воспользовавшись кнопкой Модуль, создайте процедуру для извлечения информации из регистра ИнформацияОЗаказах (листинг 3).
В режиме «1С: Предприятие» просмотрите результат работы обработки (Рис.11).
Рис. 10. Форма обработки для формирования перечня документов
Листинг 3. Процедура извлечения информации из регистра накопления
&НаСервере
Процедура ВыполнитьОбработкуНаСервере()
РегистрЗаказ = РегистрыНакопления.ИнформацияОЗаказах;
Данные = РегистрЗаказ.Выбрать ();
ПереченьДокументов.Очистить ();
Пока Данные.Следующий () Цикл
Информация = "Регистратор: " + Данные.Регистратор + " Номенклатура " + Данные.Товар + " Количество: " + Данные.Количество;
ПереченьДокументов.Добавить (Информация);
КонецЦикла;
КонецПроцедуры
&НаКлиенте
Процедура ВыполнитьОбработку(Команда)
ВыполнитьОбработкуНаСервере();
КонецПроцедуры
Рис. 11. Результат выборки информации из регистра накопления