Проведение документа «Оказание услуги» по трем регистрам.

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

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

ЗАДАНИЕ

  1. Загрузите конфигурацию «Учебная база данных Фамилия» в режиме конфигуратора
  2. Создайте оборотный регистр накопления Продажи
  3. Добавьте созданный регистр в интерфейс приложения
  4. Измените процедуру проведения документа ОказаниеУслуги, добавив движения по регистру Продажи
  5. Добавьте в форму документа ОказаниеУслуги команду перехода к записям регистра Продажи
  6. Перепроведите документы оказания услуг и проверьте работоспособность созданного механизма
  7. Выгрузите созданную информационную базу.

До сих пор создавались в регистрах накопления движения только для строк документа, которые содержат материалы. Услуги, содержащиеся в документе никак не учитывались. При учете услуг важны совершенно другие критерии, нежели при учете материалов.

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

■ какие именно услуги были оказаны (чтобы составить рейтинг услуг);

■ какому именно клиенту оказывались услуги (чтобы, например, предоставить ему скидку от объема оплаченных ранее услуг);

■ какой мастер предоставлял услуги (чтобы начислить ему заработную плату).

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

Регистры накопления могут быть регистрами остатков и регистрами оборотов. Существующие в учебной конфигурации регистры ОстаткиМатериалов и СтоимостьМатериалов являются регистрами остатков.

При создании отчета Материалы (лаб. раб № 6) в конструкторе запроса видно, что для таких регистров система создает три виртуальные таблицы: таблица остатков, оборотов и совокупная таблица остатков и оборотов.

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

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

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

При поступлении материалов поставщик будет указан, а вот при расходовании материалов, это совершенно лишняя информация. Значит, поставщика следует добавить не как измерение, а как реквизит регистра накопления. Если же при расходе материалов поставщик будет указываться наверняка, имеет смысл добавить поставщика в измерения регистра.

Иными словами, по каждому из измерений регистра накопления остатков ресурсы обязательно должны изменяться в обе стороны: приход и расход. Не должно существовать таких измерений, по которым осуществляется только приход или только расход. Нарушение этого принципа построения регистров накопления будет вести к непроизводительному использованию ресурсов системы и как следствие к замедлению работы и падению производительности.

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

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

1. В режиме Конфигуратор создайте новый объект конфигурации Регистр накопления и назовите его Продажи и определите вид регистра - Обороты.

2. Задайте Расширенное представление списка как Движения по регистру Продажи. Этот заголовок будет отображаться в окне списка записей регистра.

Рис. 11.1 Создание оборотного регистра накопления Продажи

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

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

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

- Клиент, тип СправочникСсылка.Клиенты;

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

  У регистра будет три ресурса:

- Количество, тип Число, длина 15, точность 3;

- Выручка, тип Число, длина 15, точность 2;

- Стоимость, тип Число, длина 15, точность 2.

Рис. 11.2 Данные регистра Продажи

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

6. Аналогично, выделите подсистемы ОказаниеУслуг и УчетМатериалов. в панели навигации включите видимость у команды Продажи и перенесите ее в группу См.также.

Проведение документа «Оказание услуги» по трем регистрам.

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

8. Перейдите на закладку Прочее и откройте модуль документа, для этого нажмите кнопку Модуль объекта.

9. Откройте процедуру обработчика события ОбработкаПроведения. В конце цикла после строки КонецЕсли и перед строкой КонецЦикла добавьте строки кода, создающие движения регистра Продажи, производимые документом ОказаниеУслуги.

Перед началом цикла установите свойство Записывать набора записей движений по этому регистру в значение Истина. В результате процедура ОбработкаПроведения будет выглядеть следующим образом:

Рис. 11.3 Листинг движения документа ОказаниеУслуги

У оборотного регистра отсутствует свойство ВидДвижения, поскольку отражение вида движения (приход или расход) имеет смысл лишь при учете остатков. В случае регистра оборотов интересует только значение, которое должно быть записано в ресурс регистра. Также заметьте, что команды, создающие движения в регистре Продажи, находятся в конце цикла обхода строк табличной части документа, после условия выполнения цикла только для материалов. Это важно, так как движения в этом регистре создаются как для материалов, так и для услуг.

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

11. В режиме 1С:Предприятие нужно перепровести все документы оказания услуг и проверить, что они создают правильные движения в регистре Продажи.

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


Дата добавления: 2019-07-15; просмотров: 628; Мы поможем в написании вашей работы!

Поделиться с друзьями:




Мы поможем в написании ваших работ!