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

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

 

В этой теме вы узнаете о некоторых важных принципах выбора измерений и реквизитов регистров накопления. Создадим оборот­ный регистр накопления и добавим в один из наших документов движения еще и по этому регистру.

 

Необходимость создания еще одного регистра

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

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

 

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

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

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

 

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

 

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

Когда мы создавали регистры ОстаткиМатериалов и СтоимостьМатериалов, мы специально не останавливались на двух ви­дах регистров накопления, которые существуют в системе 1С:Предприятие.

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

Существующие в нашей конфигурации регистры Ос­таткиМатериалов и СтоимостьМатериалов являются регистра­ми остатков. При создании отчета Материалы в конструкторе запроса мы видели, что для таких регистров система создает три виртуальные таблицы: таблица остатков, оборотов и со­вокупная таблица остатков и оборотов.

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

В остальном оборотный регистр ничем не отличается от регистра остатков.

Следует сказать об одной особенности конструирования регис­тров накопления, напрямую связанной с возможностью получения остатков.

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

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

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

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

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

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

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

Нарушение этого принципа построения регистров накопления будет вести к непроизводительному использованию ресурсов сис­темы и как следствие замедлению работы и падению производи­тельности.

Теперь, когда мы знаем «практически все» о регистрах накопле­ния, откроем конфигуратор и создадим новый объект конфигурации Регистр накопления. Назовем его Продажи и определим вид ре­гистра - Обороты. (рис.1)

 

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

 

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

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

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

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

 

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

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

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

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

Рис. 2. Измерения и Ресурсы

 

Откроем окно редактирования объекта конфигурации Доку­мент ОказаниеУслуги и на закладке Движения укажем, что этот документ будет создавать движения по регистру Продажи. (рис. 3)

 

Рис. 3. Создание движения по регистру

 

Запустим 1С:Предприятие в режиме отладки и откроем фор­мы списка регистров накопления Продажи и Остатки материалов. Обратите внимание, что формы практически одинаковы, за исклю­чением состава измерений и ресурсов. (рис.4)

 

Рис.4. Фор­мы списка регистров накопления Продажи и Остатки материалов