Лекции по дисциплине



бет14/23
Дата06.01.2022
өлшемі1,77 Mb.
#14617
түріКонспект
1   ...   10   11   12   13   14   15   16   17   ...   23
3.4. Документы
Документы предназначены для хранения первичных данных о хозяйственных операциях. Последовательность документов, привязанных к шкале времени, позволяет восстановить последовательность событий. Поэтому каждый документ обладает двумя стандартными реквизитами – датой и номером документа. Кроме того, стандартными реквизитами документа являются пометка удаления, ссылка, проведен.

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

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

Для облегчения ввода данных в документах могут использоваться данные справочников


При создании документов автоматически создаются связанные с ними программные объекты.

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

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

Документы.Документ1.

Объект ДокументВыборка обеспечивает доступ к данным документа. Обеспечивает динамическую подгрузку данных. Программный доступ осуществляется так:

Выборка = Документы.Документ1.Выбрать();

Объект ДокументСсылка обеспечивает доступ на чтение к экземпляру документа.

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



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

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


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

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



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

Рис. 3.7. Проведение документа
Таким образом, Проведение документа – алгоритм, выполняемый предопределенной процедурой ОбработкаПроведения, формирующий учетные записи в регистрах.

Регистратор – это документ, влияющий на содержимое регистра.

Движение – учетная запись в регистре, как правило (неподчиненные регистры сведений - исключение) привязанная к регистратору.

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


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

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

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

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

Пример оперативного проведения.







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

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

С точки зрения разработчика механизм представляет собой метод-обработчик ОбработкаЗаполнения(), который вызывается при выборе пользователем пункта меню На основании. В качестве параметра метода передается переменная Основание, которая содержит ссылку на объект, который служит основанием для ввода данных.
Полная синтаксическая диаграмма метода Выбрать такова:

Выбрать (<Дата начала>, <Дата окончания>, <Отбор>, <Порядок>)

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

Дата начала - Дата и время начала периода выборки документов.

Дата окончания - Дата и время конца периода выборки документов.

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



Порядок - Строка, задающая реквизит и направление сортировки выборки документов, например, «Контрагент Возр» или «Оклад Убыв». Может быть указано поле Дата или имя индексированного реквизита документа. Если порядок не задан, то выборка упорядочивается по хронологии докумен­тов.

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







Достарыңызбен бөлісу:
1   ...   10   11   12   13   14   15   16   17   ...   23




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет