
- •Лабораторная работа 10. Документ и регистр сведений
- •10.1. Основные понятия
- •10.2. Изменение настройки регистра сведений "ДанныеОс"
- •10.2.1. Изменение формы списка
- •10.3. Документ "Поступление"
- •10.3.1. Закладка "Основные"
- •10.3.2. Закладка "Данные"
- •10.3.3. Закладка "Нумерация"
- •10.3.7. Самостоятельная работа: закладка "Формы"
- •10.4. Работа с документами из встроенного языка системы
- •10.4.1. Менеджер документа
- •10.4.2. Самостоятельная работа: организация выборки
- •10.4.3. Работа с Документом как с объектом
- •10.5.1. Обработка событий от элементов формы
- •10.5.2. Получение итогов в подвале табличного поля
- •10.5.3. Обработка событий формы
- •10.6.2. Доработка процедуры ОбработкаПроведения(…)
- •10.6.3. Работа с движениями в форме документа
- •10.7. Работа с документом в режиме "1с:Предприятие"
- •10.8. Что мы узнали
- •Лабораторная работа 11(10_2). Отчеты и Запросы
- •11.1. Создание отчета (запроса) "вручную"
- •11.1.2. Особенности создания формы отчета
- •11.1.3. Модуль формы отчета
- •11.1.4. Изменение текста запроса и его выполнение
- •11.1.5. Выборка данных из результата запроса
- •11.2. Вызов отчета из интерфейса конфигурации
- •11.3. Обращение к отчету из встроенного языка системы
- •11.3.1. Модуль отчета
- •11.4. Конструктор выходных форм
Лабораторная работа 10. Документ и регистр сведений
Система "1С:Предприятие 8.0" использует концепцию работы "от документа". Это значит, что документ служит не столько для формирования печатной формы некоторого первичного "бумажного" документа, сколько для отражения в системе некоторого акта хозяйственной деятельности произошедшего на предприятии.
10.1. Основные понятия
В этом разделе мы рассмотрим принципы, положенные в основу системы для работы с документами. Сначала отметим, что каждый сохраненный в ИБ документ имеет некоторую позицию на оси времени. Эта позиция, тип данных МоментВремени, который содержит дату, включая время, и ссылку на объект ИБ. Именно таким образом система определяет взаимный порядок расположения двух документов на оси времени.
Время в реквизите Дата может быть использовано не только для отражения реального (астрономического) времени происшедшего акта хозяйственной деятельности, но и для указания взаимной хронологии двух событий, если реальное время совершения хозяйственных актов пользователю неизвестно. Тогда пользователь, явно указывая в реквизите "Дата" конкретное время, только относит (регистрирует) акт хозяйственной деятельности, который реально произошел, происходит или еще будет происходить на предприятии.
Очень важным является понятие о проведении документа.
Рис.
10.1. Расположение документов на
воображаемой оси времени.
Если документ проведен, то это означает, что его содержимое отражено в регистрах конфигурации. При этом проведенный документ может иметь несколько связанных с ним учетных записей, которые документация к программе называет Движениями (см. рис. 10.1).
Движения очень тесно связаны с документом. Так, например, для большинства видов документов в конфигурации, если произвести его исправление с последующим повторным проведением (уже проведенного документа), то система удалит предварительно сформированные старые движения и на их место разместит новые. Такой способ поведения документа система устанавливает по умолчанию для новых видов документов. И этот способ гарантирует, что документ будет либо проведен, либо состояние ИБ вернется в момент до его проведения. Впрочем, возможна такая настройка документа, что при его проведении Вы сами будете решать: какие движения (записи) сохранить, какие добавить, а какие из уже имеющихся движений удалить.
В процессе проведения документа система открывает не явным образом транзакцию. Такой подход гарантирует, что документ будет либо проведен, либо состояние системы вернется в момент до его проведения, что обеспечивает целостность вносимых в объекты ИБ изменений.
Проведение документа одним пользователем не блокирует проведение другого документа другим пользователем. Поэтому два и более пользователя могут работать с документами, практически независимо друг от друга.
Как следствие, два и более документа могут иметь одну и туже дату (и время) и, тем не менее, у них моменты времени будут различны. Их взаимное расположение (один раньше – другой позже) можно определить с использованием методов типа данных "МоментВремени".
Все документы, как уже было сказано, образуют единую хронологическую последовательность, поэтому в режиме "1С:Предприятие" существует возможность их группового проведения. Такая возможность имеется в системе из-за того, что запись документа и его проведение могут выполняться как отдельные этапы работы с ним в соответствии с порядком заполнения данных, который определяется конфигурацией. В силу этой возможности, любой документ (если это не запрещено на этапе конфигурирования) может быть изменен и проведен "задним числом". Но что должно произойти с документами, которые расположены позже по оси времени? Ответ на этот вопрос зависит от характера прикладной задачи.
Если нет зависимости между документами, то ничего делать не нужно, т.к. такое проведение задним числом следует рассматривать как отражение акта хозяйственной деятельности, который уже произошел на предприятии.
Если проведение одного документа зависит от данных формируемых при проведении других документов, то в этом случае можно восстановить хронологию обработки актов хозяйственной деятельности путем повторного проведения необходимых документов.
Идеальной можно считать ситуацию, когда все документы проводятся последовательно друг за другом. В этом случае можно на этапе конфигурирования включить механизм оперативного проведения, который позволяет при проведении документа текущей датой устанавливать его время так, чтобы он всегда располагался бы последним документом в хронологической последовательности.
Если для документа включено оперативное проведение, и он вводится в систему задним числом, то при его проведении можно определить режим проведения и тем самым оптимизировать время обработки. Заметим, что обработка проведения должна выполняться максимально быстро, т.к. при большом времени ее работы пользователь будет каждый раз ожидать ее завершения.