Функциональные возможности




 

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

· создание, изменение и удаление записей;

· выбор записей в заданном интервале по заданным критериям;

· выбор записей по регистратору;

· получение значений ресурсов записей, соответствующих указанному периоду и значениям измерений;

· получение значений ресурсов наиболее ранних и наиболее поздних записей регистра, соответствующих указанному периоду и значениям измерений.

 

 

Регистры накопления

 

Регистры накопления используются в системе для накопления информации о наличии и движении средств — товарных, денежных и других величин.

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

Так же как и с регистром сведений, работа с регистром накопления заключается в работе с записями (движениями регистра).

Существует два вида регистров накопления: регистры накопления остатков и регистры накопления оборотов. Регистр накопления остатков позволяет хранить как итоговые значения ресурсов - остатки, так и изменения этих ресурсов - обороты. Регистр накопления оборотов является более "специализированным" видом регистра накопления и позволяет хранить только изменения ресурсов - обороты.

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

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

· выбор записей в заданном интервале по заданным критериям;

· выбор записей по регистратору;

· получение остатков и оборотов на указанный момент времени по заданным значениям измерений;

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

· отключение использования текущих итогов;

· расчет итогов на указанную дату;

· чтение, изменение и запись набора записей в регистр;

· возможность записи в регистр без пересчета итогов;

· полный пересчет итогов и пересчет итогов за указанный период.

 

 

 

Пример выполнения

Постановка задачи

 

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

Необходимо организовать хранение информации:

· о номенклатуре

· о контрагентах нашей фирмы

· о сотрудниках компании

· о складах компании

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

· ценах (по какой цене купили товар и по какой продали)

· остатках товара на складе

 

Для начала конфигурирования удалите все объекты, созданные в 1-ой лабораторной работе.

 

3.2 Создание справочников

 

Создание справочников продемонстрируем на 2 примерах: справочник «Номенклатура» и «Сотрудники».Зайдём в дерево конфигурации и создадим новый справочник:

· Основные: Имя и Синоним - Номенклатура

· Иерархия: Иерархический справочник, Иерархия групп и элементов

Затем создадим ещё один справочник:

· Основные: Имя и Синоним - Сотрудники

· Данные: Реквизиты:

- Должность (Тип: Строка, Длина: 30)

- Зарплата (Тип: Число, Длина: 15, Точность: 2)

 

Табличная часть ТрудоваяДеятельность:

- Организация (Тип: Строка, Длина: 50)

- Должность (Тип: Строка, Длина: 30)

- Дата зачисления (Тип: Дата, Состав даты: Дата)

- Дата увольнения (Тип: Дата, Состав даты: Дата)

 

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

 

 

3.3 Создание регистров и перечислений

 

Для хранения цен, по которым мы покупали и продавали товар, нам необходим регистр сведений Цены со следующими измерениями: Товар (что мы продаём или покупаем), Контрагент (у кого мы покупаем или кому мы продаём), ТипЦен (Цена продажи или цена покупки). С одной стороны кажется, что хранить тип цены избыточно, ведь у нас есть измерение Контрагент: если контрагент - это поставщик, то понятно, что товар у него мы покупаем, а если контрагент - это покупатель, то продаём. Однако может возникнуть ситуация, когда поставщик и покупатель - это одно и тоже лицо (например, наша компания занимается производством: покупает детали у поставщика и ему же продаёт готовую продукцию).

Для того, чтобы хранить типы цен можно использовать Справочник, а можно воспользоваться более удобным объектом - Перечислением. Это обусловлено тем, что с течением времени вряд ли появятся новые типы цен. К тому же к элементам перечисления можно легко обращаться из встроенного языка.

Создадим Перечисление:

· Основные: Имя и Синоним - ТипыЦен

· Данные: Значения: - ЦенаПродажи

- ЦенаПокупки

 

 

Приступим к созданию регистра сведений:

· Основные: Имя и Синоним - Цены

Периодичность: По позиции регистратора

Режим записи: Подчинение регистратору

· Данные: Измерения:

- Номенклатура (Тип: СправочникСсылка.Номенклатура)

- Контрагент (Тип: СправочникСсылка.Конт рагенты)

- ТипЦен (Тип: ПеречислениеСсылка.ТипыЦен)

 

Ресурсы:

- Цена (Тип: Число, Длина: 15, Точность: 2)

 

 

 

 

Перейдём к созданию регистра накопления:

· Основные: Имя и Синоним - ОстаткиНоменклатуры

Вид регистра: Остатки

· Данные: Измерения:

- Номенклатура (Тип: СправочникСсылка.Номенклатура)

- Склад (Тип: СправочникСсылка.Склады)

 

Ресурсы:

- Количество (Тип: Число, Длина: 15, Точность: 3)

- Сумма (Тип: Число, Длина: 15, Точность: 2)

 

 

3.4 Создание документов

 

Мы уже создали Справочники, Регистры и даже одно Перечисление, осталось создать Документы, которые на основании справочной информации позволят нам воздействовать на регистры и накапливать нужную нам информацию.

 

Создадим 1-ый Документ:

· Основные: Имя и Синоним - ПриходнаяНакладная

· Данные: Реквизиты:

- Склад (Тип: СправочникСсылка.Склады)

- Сотрудник (Тип: Справочник Ссылка.Сотрудники)

- Контрагент (Тип: СправочникСсылка: Контрагенты)

 

Табличная часть Товары:

- Номенклатура (Тип: СправочникСсылка.Номенклатура)

- Количество (Тип: Число, Длина: 15, Точность: 3)

- Цена (Тип: Число, Длина: 15, Точность: 2)

- Сумма (Тип: Число, Длина: 15, Точность: 2)

· Движения: Цены и ОстаткиНоменклатуры

 

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

Однако пока наш документ не содержит функциональной части, т.е. мы можем заполнить его, но при проведении ничего не произойдёт. Чтобы документ взаимодействовал с регистром нужно написать обработку проведения. Однако пока мы не будем углубляться в программирование и создадим эту обработку специальным конструктором, который можно вызвать при настройке объекта из вкладки «Движения». При запуске конструктора он спрашивает, для какого регистра сформировать движения. Можно выбрать любой, после чего открывается окно конструктора.

 

 

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

Подстановку данных можно выполнить вручную, а можно автоматически, для этого нажмите кнопку «Заполнить выражения». При этом заполнится только Контрагент. Действительно в списке реквизитов документа отсутствуют реквизиты табличной части, поэтому они и не могут подставиться. Чтобы отобразить реквизиты табличной части документа в конструкторе есть специальное поле выбора, которое так и называется «Табличная часть». Выберем в ней табличную часть Товары - при этом список реквизитов справа увеличился. Снова нажмём «Заполнить выражения» - теперь не заполненным осталось измерение «ТипЦен». Это тоже логично, т.к. в документе просто нет такого реквизита. Чтобы заполнить это поле, придётся писать значение вручную «Перечисления.ТипыЦен.ЦенаПокупки».

 

 

Чтобы описать движения по второму регистру необходимо добавить его в список регистров сверху. При этом у нас появилась возможность выбирать тип движения: приход или расход. Приходная накладная увеличивает количество товара на складе, значит мы имеем дело с приходом. Нажимаем «Заполнить выражения», а затем «ОК» - если всё сделано правильно, то конструктор перебросит нас в модуль объекта и отобразит текст, отвечающий за проведение документа по 2 регистрам. Сразу хочется оговориться, что данное проведение является сильно упрощённым и не оптимальным, однако оно наглядно демонстрирует каким образом документ формирует записи в регистрах.

 

 

Нам необходимо создать ещё один документ «РасходнаяНакладная», однако он идентичен предыдущему документу. Разница будет только при формировании движений. В конструкторе для регистра Цены в качестве ТипаЦен нужно указать ЦенуПродажи, а для регистра ОстаткиНоменклатуры указать Вид движения: расход. Также стоит обратить внимание на строчку

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

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

Так как состав объектов изменился, необходимо изменить интерфейсы.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-27 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: