Лабораторная работа 3

 

1. На ветке конфигурации Документы создайте документ ПриходнаяНакладная, который будет фиксировать факт поступления необходимых материалов. Представление списка: Приходные накладные. Документ доступен в подсистемах УчетМатериалов и Бухгалтерия. Реквизит: Склад, тип СправочникСсылка.Склады. Значение заполнения: Основной (см. рис. 6.3).

2. В документе ПриходнаяНакладная создайте табличную часть Материалы. У этой табличной части установите свойство Проверка заполнения в значение Выдавать ошибку. Добавьте реквизиты табличной части:

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

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

Цена, тип Число, длина 15 точность 2, неотрицательное;

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

Для каждого реквизита свойство Проверка заполнения установите в значение Выдавать ошибку (см. рис. 6.4).

3. В командном интерфейсе подсистемы УчетМатериалов установите видимость команды Приходная накладная: создать.

4. Проверьте работу документа Приходная накладная в пользовательском режиме. Создайте несколько таких документов (не менее 5) (Рис. 6.11).

Рис. 6.11

 

5. Измените документ Приходная накладная таким образом, чтобы сумма в каждой строке табличной части рассчитывалась автоматически при изменении количества или цены.

6. Создайте документ ОказаниеУслуги в виде указанном на рис. 6.12. Этот документ будет отражать не только материалы, но и услуги, поэтому назовите табличную часть именем ПереченьНоменклатуры.

Рис.6.12

 

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

7. Проверьте работу документа Оказание услуги в пользовательском режиме. Создайте несколько таких документов (не менее 5).

 

Регистры

 

7.1. Назначение и свойства

 

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

Благодаря их использованию конфигурации «1С: Предприятие» обладают существенно лучшей производительностью. Это обеспечивается как правильным использованием регистров для хранения данных, так и наличием у них специального механизма – виртуальных таблиц.

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

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

Лучше всего назначение и роль регистров видна в объектной модели данных. Пользователь осуществляет первичный ввод данных при помощи соответствующих документов. Документы могут являться регистраторами по отношению к регистрам – то есть вызывать при своем закрытии специальную процедуру проведения, которая изменяет состояние регистра. Процедура проведения добавляет в регистр новую запись, при этом в поля записи переносятся данные из реквизитов документа. Таким образом, данные попадают в регистры. Один документ может проводить осуществлять движения по нескольким регистрам и один регистр может иметь несколько регистраторов.

Измерения предназначены для идентификации записей регистра и анализа данных. Набор значений измерений для каждой записи представляет собой уникальный идентификатор в пределах регистра. Разработчик может обращаться к регистру и осуществлять отбор данных по заданным измерениям (рис.7.1). При этом каждое измерение выступает как плоскость (разрез) данных регистра, а сам регистр можно представить как n-мерный гиперкуб, где n – число измерений. Часто, например, говорят: «анализ остатков в разрезе поставщиков».

 

Рис.7.1. К определению измерений и ресурсов

 

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

Реквизиты в регистрах играют такую же роль, как и в других основных объектах.

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

Контроль учета и документооборота осуществляется на основе значений показателей трех видов.

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

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

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

 

7.2. Виды регистров

 

В «1С: Предприятии» существует 4 вида регистров.

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

Регистры сведений могут быть периодическими или непериодическими. В периодических регистрах появляется предопределенное измерение период, в котором содержится дата создания записи. Это измерение должно быть уникальным в пределах периода. Периодом может быть секунда, день, месяц, квартал, год.

Регистры накоплений предназначены для хранения специфической информации об остатках и оборотах; могут изменяться только регистратором.

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

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

 

7.3. Виртуальные таблицы

 

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

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

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

Таблица ПолучитьПервое возвращает записи регистра сведений, наиболее близкие в будущем к заданной в параметре таблицы дате.

Таблица ПолучитьПоследнее возвращает записи регистра сведений, наиболее близкие в прошлом к заданной в параметре таблицы дате.

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

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

 

7.4. Программные объекты регистров

 

Каждому регистру объектной модели данных соответствует набор программных объектов, при помощи которых разработчик может решать прикладные задачи (рис. 7.2). Рассмотрим их. (В описаниях объектов вид регистра, например «РегистрСведений», заменено на «Регистр»).

Объект РегистрыМенеджер представляет собой коллекцию всех регистров конфигурации.

Объект РегистрМенеджер предназначен для управления отдельным регистром. При помощи свойств и методов этого объекта разработчик может работать с формами, обращаться к записям.

Объект РегистрСписок обеспечивает управление списком записей регистра в элементах управления.

ОбъектРегистрВыборка поддерживает механизм динамического перебора элементов справочника для получения доступа к их реквизитам. Данные доступны только для чтения.

Объект РегистрНаборЗаписей представляет собой коллекцию записей регистра. Позволяет добавлять и удалять записи, изменять их данные.

Объект РегистрЗапись представляет собой отдельную запись регистра, является элементом коллекции объекта РегистрНаборЗаписей.

Объект РегистрКлючЗаписи содержит поля записи, представляющие собой уникальный идентификатор записи.

 

Рис. 7.2. Взаимосвязь объектов для работы с регистрами

 

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

 

Регистры накопления используются в системе для накопления информации о наличии и движении средств – товарных, денежных и других величин. Можно сказать, что регистр накопления представляет собой n-мерную систему координат, в узлах которой располагаются наборы числовых характеристик. Оси координат называются измерениями, например, это могут быть Склады или Материалы. Числовые характеристики называются ресурсами, например, Количество или Сумма (рис. 7.3).

 

 

Рис.7.3

 

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

 

7.6. Движения документа

 

Чтобы отобразить движения документа в регистре, необходимо в окне редактирования документа на закладке Движения отметить нужные регистры и по соответствующей кнопке запустить Конструктор движений. (рис. 7.4).

 

 

Рис.7.4

 

В поле выбора Табличная часть задать нужную табличную часть и нажать кнопку Заполнить выражения. Конструктор сам предложит соответствие реквизитов документа измерениям и ресурсам регистра (рис. 7.5). При необходимости это соответствие можно изменить вручную.

 

 

Рис. 7.5

 

При нажатии кнопки ОК в Модуле объекта (закладка Прочие) конструктор создаст обработчик события ОбработкаПроведения (рис. 7.6)

 

Рис.7.6

 

Объект встроенного языка ДокументОбъект имеет свойство Движения. Оно возвращает объект КоллекцияДвижений, содержащий коллекцию наборов записей регистров, по которым этот документ может формировать движения. К конкретному набору записей этой коллекции можно обратиться, указав через точку имя регистра, которому принадлежит этот набор записей. Например, Движения.ОстаткиМатериалов. Затем через точку можно использовать различные методы набора записей регистра, например, Движения.ОстаткиМатериалов.Добавить(). Метод Добавить() добавляет новую запись в набор записей.

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

Внутри обработчика расположен цикл Для Каждого ... Из ... Цикл. Он предназначен для перебора строк табличной части документа. В цикле обращение к табличной части документа происходи по имени Материалы. Переменная ТекСтрокаМатериалы содержит объект с данными текущей строки табличной части документа. Эта переменная создается в начале цикла и меняется по мере его прохождения. В первой строке тела цикла, используя метод До6авить(), добавляется новая запись к набору записей, который создает документ в регистре. Тем самым создается объект РегистрНакопленияЗапись, который сохраняется в переменной Движение. Используя этот объект, происходит обращение к полям этой записи через точку от этой переменной (например, Движение.Количество). Причем Движение.Материал, Движение.Склад – это измерения регистра, Движение.Количество – это ресурс регистра, а Движение.ВидДвижения и Движение.Период –­ стандартные реквизиты регистра, которые создаются автоматически.

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

Таким образом, присваиваются нужные значения всем полям новой записи. После перебора всех строк документа в этом наборе записей (Движения.ОстаткиМатериалов) будет отражаться столько записей, сколько строк в табличной части документа.

 

7.7. Командный интерфейс регистров

 

Команды открытия регистров используются не так часто как списки справочников и документов. Поэтому в панели навигации можно установить видимость у регистра ОстаткиМатериалов и перенести его из группы Панель навигации.Обычное в группу Панель навигации.См. также (рис. 7.7). Тем самым мы переносим команду открытия списка регистра накопления в конец списка подобных команд раздела, так как её приоритет невысок.

 

 

Рис. 7.7

 

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

 

 

Рис. 7.8

 








Дата добавления: 2016-02-16; просмотров: 1048;


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

При помощи поиска вы сможете найти нужную вам информацию.

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

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.023 сек.