После первоначальной установки системы она уже работоспособна, благодаря тому, что наиболее общие принципы и настройки уже установлены "по умолчанию". Система готова к тому, чтобы пользователи начали осуществлять ввод документов и нормативно-справочной информации, то есть готова к оперативному учету. Однако, необходимо четко представлять себе, что будет делать каждый конкретный пользователь и какие стадии будет проходить документ в электронном учете. Поэтому перед началом эксплуатации и настройки системы рекомендуется выполнить три мероприятия:
Объектом в системе является сущность некоторого определенного класса (типа). Все имеющиеся в системе классы объектов перечислены в корневой папке "Классы" системы.
Рис.3.1. Классы объектов в системе находятся в одноименной папке
При просмотре в окне проводника в колонке "Наименования" показывается название класса, а в колонке "Расширение" - его системное имя.
Ядро системы предоставляет пользователю следующие возможности:
Из перечисленных выше возможностей только система безопасности требует дополнительных настроек, которые связаны с установлением прав доступа пользователей к объектам системы. Концепция системы безопасности и методика распределения прав доступа описаны ниже.
Пользователем системы является субъект внешнего мира, который использует функциональные возможности системы. Примером пользователя может служить менеджер отдела продаж, оформляющий в системе счета или сам администратор.
Пользователи могут объединяться в рабочие группы в соответствии с общими признаками, такими как возможность создавать одни и те же объекты в системе или производить операции над одними и теми же объектами. Например, пользователи группы "Склад" могут иметь права на создание приходных и расходных накладных и права на просмотр остатков товарных позиций на складе.
Пользователи и рабочие группы находятся в корневой папке "Пользователи и группы". Рекомендуется новых пользователей и группы создавать в этой же папке.
Рис.3.2. Пример папки, которая содержит пользователей и рабочие группы
После первоначальной установки в системе присутствует только пользователь "Администратор", который является зарезервированным системным пользователем и ассоциируется с именем регистрации (login) администратора (sa) MS SQL Server. Таким образом, когда вы входите в систему, используя имя регистрации sa, то система воспринимает вас как пользователя "Администратор". Особенностью данного пользователя является то, что он всегда имеет в системе все права без ограничений и необходимости их где-то явно указывать. Данного пользователя нельзя также удалить из системы.
Для того, чтобы создать нового пользователя, необходимо войти в систему, как Администратор. Зайдите в папку "Пользователи и группы", инициируйте операцию создания нового объекта, выберите из списка доступных создаваемых классов класс "Пользователь" и заполните поле "Пользователь" в форме создания пользователя.
Рис.3.3. Пример создания нового пользователя
Поле "Сотрудник" можно пока не заполнять. Это необходимо сделать позднее, когда в базе данных уже будет занесена информация по сотрудникам. Тогда вы сможете однозначно ассоциировать пользователя Иванова с сотрудником Ивановым.
После сохранения формы в папке появляется новый объект класса "Пользователь". Данный объект уже существует в системе, но не имеет регистрации на SQL Server, а следовательно, не сможет и войти в систему. Для создания регистрации пользователя выберите из контекстного меню объекта операцию "Пользователь SQL Server". В появившемся окне заполните имя регистрации для данного пользователя и назначьте ему пароль. Требования к именам регистрации и паролям SQL Server приведены в разделе "Managing SQL Server Logins" главы 9 книги [4]
Рис.3.4. Пример создания регистрации SQL Server для пользователя системы
После подтверждения действия по "ОК" на SQL Server создается регистрация для данного пользователя. Теперь пользователь может входить в систему под этим именем регистрации (Ivanov) и при этом он будет восприниматься системой, как пользователь Иванов.
Кроме того, после создания регистрации для пользователя, в систем также создается личная папка для него, которая располагается в корневой папке "Личные папки".
Рис.3.5. В системе создается личная папка для пользователя
После того, как вы создадите несколько пользователей, имеет смысл начать их объединение в рабочие группы. Это необходимо для упрощения управления правами пользователей в системе, которое будет описано в следующем разделе главы.
Изначально в системе присутствует группа "Все пользователи", которая включает в себя всех пользователей системы. При добавлении или удалении пользователя из системы он автоматически добавляется или удаляется из этой группы. Эта группа является системной и не может быть удалена.
Рис.3.6. Группа "Все пользователи" включает в себя всех пользователей системы
Для того, чтобы создать новую рабочую группу, необходимо войти в систему, как Администратор. Зайдите в папку "Пользователи и группы", инициируйте операцию создания нового объекта, выберите из списка доступных создаваемых классов класс "Рабочая группа". В появившемся окне создания группы заполните поле "Наименование" и сохраните объект. После этого в папке появится только что созданная вами рабочая группа, которая пока не содержит ни одного пользователя. Теперь будем добавлять пользователей в группу. Для этого вызовите операцию редактирования этой группы и в появившемся окне добавьте в таблицу новых пользователей.
Рис.3.7. Добавление пользователей в рабочую группу
Один и тот же пользователь может быть членом одной и более рабочих групп. В рабочую группу можно назначать и тех пользователей, которые еще не имеют регистрации на SQL Server, но поскольку такие пользователи не имеют возможности работать в системе, то смысл в этом может быть разве что в случае предварительного деления пользователей на группы согласно организационному плану внедрения системы.
Для каждого объекта в системе может быть определен доступ со стороны пользователя или группы пользователей. Доступ к объекту разделяется на следующие категории:
Последняя категория является неявной и означает, что у пользователя или группы нет ни одного из вышеперечисленных категорий доступа к объекту. В этом случае, при работе пользователя в системе он не видит данный объект в окне проводника.
Как было описано в "Основах работы в системе" (см. Руководство пользователя), каждый объект в системе имеет собственное контекстное меню, которое раскрывается при щелчке правой кнопки мыши на объекте либо при нажатии клавиши "Контекстное меню" на клавиатуре Windows95 или по комбинации клавиш Alt+F10. Контекстное меню каждого объекта, как правило, разделено на 5 основных частей, начиная с самого верхнего пункта. Для доступа к операции каждой части меню пользователю необходимо иметь права доступа определенной категории.
Рис.3.8. Контекстное меню каждого объекта разделено на части
Табл.3.1. Соответствие разделов меню категориям правам доступа пользователя
Раздел контекстного меню и его условное название | Необходимая категория прав доступа к объекту для пользователя |
1 - операции чтения (просмотра) | чтение |
2 - операции записи (редактирования) | запись |
3 - операции печати | чтение |
4 - операции перемещения (пересылки, копирования) | перемещение |
5 - системные операции (администраторские) | полный доступ |
Для того чтобы назначить права доступа к объекту для пользователя или рабочей группы, следует выбрать операцию "Права доступа" из контекстного меню этого объекта. При этом появится окно информации о текущем состоянии прав доступа к данному объекту со стороны рабочих групп и пользователей.
Рис.3.9. Здесь можно посмотреть, кто и какие права имеет на данный объект (в данном случае, на папку "Документы")
По умолчанию показываются только рабочие группы, имеющие доступ к данному объекту. Для того, чтобы увидеть пользователей, имеющих доступ к данному объекту, надо включить опцию "показать пользователей".
Мы настоятельно рекомендуем работать с рабочими группами, а к назначению прав конкретным пользователям прибегать только в крайних случаях по собственному усмотрению, когда это необходимо.
Для того, чтобы добавить доступ со стороны другой рабочей группы или пользователя, надо нажать кнопку "Добавить...".
Рис.3.10. Добавление доступа к объекту со стороны других групп или пользователей
В окне будут показаны только те группы и пользователи, которые еще не имеют доступа к данному объекту, причем пользователи показываются только в том случае, если вы установили опцию "показать пользователей" в предыдущем окне. Выбор добавляемой группы или пользователя осуществляется двойным щелчком мыши на объекте или выделением его в списке и нажатием "ОК".
После добавления группа или пользователь получают минимальные прав доступа к объекту, то есть прав категории "чтение". Чтобы изменить категории прав, необходимо выделить нужную группу или пользователя в списке (см. рис.3.9) и нажать кнопку "Изменить...".
Рис.3.11. Изменение прав доступа к объекту со стороны группы или пользователя
В появившемся окне установите опции необходимых категорий прав доступа. Если объект является папкой, то включив опцию "включая входящие объекты" можно установить данный набор прав доступа ко всем объектам, расположенным в данной папке, всех папках, входящих в нее и т.д. до самого конца этой древовидной структуры. После подтверждения по "ОК" прав доступа будут установлены.
Если вы хотите запретить доступ к объекту для группы или пользователя, необходимо выделить нужную группу или пользователя в списке (см. рис.3.9) и нажать кнопку "Удалить...".
Рис.3.12. Запрет доступа к объекту
Опция "включая входящие объекты" здесь включена по умолчанию и работает так же, как и в операции изменения прав доступа. Отключение этой опции в общем случае не имеет практического смысла: если вы запретите доступ к папке, то пользователь ее не будет видеть, а следовательно не сможет раскрыть ее и получить доступ к объектам, лежащим внутри этой папки. После подтверждения по "ОК" пользователь или группа лишаются доступа к этому объекту и не будут видеть его в окне проводника.
Отдельно следует рассмотреть папки. При создании пользователем любого нового объекта в системе, он наследует все права доступа от папки, в которой этот объект создается. При перемещении объекта из папки-источника в папку-приемник права доступа к объекту изменяются следующим образом: аннулируются все права, которые объект имел в папке-источнике; устанавливаются права доступа к объекту, соответствующие правам доступа к папке-приемнику. Таким образом можно организовать совместную работу пользователей в нескольких общих папках, дав им соответствующие права только на сами папки.
Права доступа категории "создание" имеют смысл для объектов класса "Класс объекта", располагающихся в папке "Классы". Пользователь имеет право создавать в системе объект данного класса только если он имеет права категории "создание" к объекту, обозначающему в системе этот класс. Например, чтобы пользователь имел возможность создавать товарные позиции, необходимо назначить ему права доступа категории "создание" к объекту класса "Класс документа" с названием "Товарная позиция".
Шаблоном в системе называется объект, который служит основой для инициирования создания другого объекта и первоначального заполнения его атрибутов значениями из шаблона. Например, шаблон приходной накладной вызывает форму создания приходной накладной и заполняет заголовок документа значениями из шаблона. Более подробно о шаблонах документов будет рассказано ниже при описании настройки документооборота.
Шаблоны могут применяться для облегчения рутинного ввода данных. Например, при создании в системе справочника должностей сотрудников можно упростить эту операцию. Для этого создайте в системе шаблон следующего вида:
Рис.3.13. Пример шаблона для создания объектов класса "Должность сотрудника"
В общем случае, при выборе опции "Создать объект по шаблону" или при двойном щелчке мыши на шаблоне, в системе создается новый объект класса, указанного в поле шаблона "Класс документа". В форме создания объекта поля "Наименование", "Расширение" и "Дата" будет заполнено соответствующими значениями из шаблона. Создаваемый объект сохраняется в БД в папке, указанной в поле "Создать в папке" шаблона. Если папка не указана, то объект создается в личной папке пользователя, который создает объект по данному шаблону.
Если объект не имеет некоторых атрибутов, соответствующих атрибутам шаблона, то их значение игнорируется. Например, класс "Должность сотрудника" не имеет атрибута "Дата". При создании объекта класса "Должность сотрудника" по шаблону, даже если в нем будет заполнено поле "Дата", то его значение игнорируется. Логически можно себе представить, что класс "Должность сотрудника" "не умеет" обрабатывать значения поля "Дата" из шаблона.
В нашем примере название должности заполняется пустым значением и потребует операторского ввода, но уже заранее определяется, что сохраняться они будут в папке "Должности сотрудников".
ONTARIO1 имеет возможность хранения файлов в БД. Например, можно поместить в БД документ MS Word, а затем работать с ним также, как если бы он находился на локальном диске. Для того, чтобы сохранить в БД уже имеющийся на локальном диске файл, необходимо создать новый объект класса "Файл", в появившейся форме выбрать опцию "создать на основе существующего", нажать кнопку "Выбрать.." и осуществить выбор файла на диске..
Рис.3.14. Создание нового файла на основе существующего
Опция "упаковать файл" включена по умолчанию и приводит к сжатию файла, прежде чем он будет сохранен в БД. Это позволяет уменьшить размер БД, но если такая необходимость отсутствует (например, если размер файла достаточно велик, а необходимо работать с ним с максимальной скоростью), то опцию можно отключить.
После сохранения файла в БД его можно открывать (одноименная опция в контекстном меню) и работать с ним из ассоциированного с типом данного файла приложением, установленным на компьютере пользователя. Например, если открыть файл документа MS Word, то система попытается найти MS Word на рабочей станции и в случае успеха откроет файл в этом редакторе. В случае неуспеха, выводится сообщение об ошибке "Нет зарегистрированных приложений для данного типа файлов".
Шаблоном файла является объект одноименного класса, связанный с каким-либо файлом, который и принимается за шаблон, то есть за основу при создании нового файла в БД. Например, можно создать шаблон для пустого файла MS Word. Для этого создайте в системе новый объект класса "Шаблон файла" (или используйте имеющийся в системе незаполненный шаблон "Файл MS Word")
Рис.3.15. Пример создания шаблона файла
В качестве файла, который будет использоваться при создании нового файла в БД по этому шаблону, выберете в поле "Файл шаблона для создания" предварительно созданный в БД согласно предыдущему примеру пустой документ MS Word.
Теперь, если выбрать опцию "Создать объект по шаблону" у только что созданного нами шаблона, то будет инициировано создание нового файла в БД.
Рис.3.16. Создание файла в БД по шаблону
Остается только Записать в поле "Комментарий" название для создаваемого файла, а в поле названия можно будет подправить имя файла, которое будет использоваться при работе с файлом из приложения на рабочей станции. Это название должно удовлетворять требованиям к именам файлов операционной системы на рабочей станции. В O1 приняты допустимым названия из латинских или кириллических символов и цифр, а также пробелы, тире и символ подчеркивания. В противном случае выдается сообщение о некорректном имени файла.
После сохранения файла в БД можно будет также открыть его вышеуказанным способом. Файл сохраняется в БД в папке, указанной в поле "Создать в папке" шаблона. Если папка не указана
Шаблоны файлов могут применяться, если вы решаете хранить в БД ваши неструктурированные документы (письма, заявления, приказы и т.п.). При этом можно будет создать для каждого из них файл-шаблон, например, в виде документа MS Word и сохранить его в БД. Далее, необходимо создать шаблоны файлов в БД и связать их с файлами шаблонов. После этого, пользователи смогут быстро создавать в БД новые документы MS Word по шаблонам.
Шаблоны файлов рекомендуется создавать в соответствующей одноименной папке (путь "Шаблоны\Шаблоны файлов").
Все изменения, которые производят пользователи над объектами в системе фиксируются в журнале. Для того, чтобы посмотреть историю изменений выберите опцию "История изменений" в контекстном меню объекта.
Рис.3.17. Пример истории изменений объекта "Курс конвертации валюты"
Все события, которые фиксируются в системе находятся в папке "Система\Системные события".
Каждый пользователь, если он имеет права категории "перемещение", может переслать объект другому пользователю. Для этого выберете опцию "Переслать объект пользователю" в контекстном меню объекта.
Рис.3.18. Пересылка объекта другому пользователю
При пересылке объект перемещается из папки, в которой он находится в личную папку пользователя, указанного в поле диалогового окна пересылки. При этом права доступа к объекту не изменяются.
Каждый пользователь, если он имеет права категории "перемещение", может переслать ссылку на объект другому пользователю. Для этого выберете опцию "Переслать ссылку на объект пользователю" в контекстном меню объекта.
Рис.3.19. Пересылка ссылки на объект другому пользователю
При пересылке ссылки на объект сам объект остается в той же папке. В личной папке пользователя, указанного в поле диалогового окна пересылки, создается объект-ссылка, с которым можно работать так же, как и с самим объектом. При этом права доступа к объекту так же не изменяются.
Учет в системе ведется путем регистрации хозяйственных операций между субъектами отношений по поводу объектов учета. Каждая операция имеет в качестве атрибутов субъекта-агента, субъекта-контрагента, субъекта места, непосредственно сам объект учета, его серию/партию и назначение. Все операции отображаются в системе в момент фиксации факта хозяйственного события в виде какого-либо документа, который переводится в статус "Проведено" или "Закрыто". Например, операции перемещения товара со склада возникают при переводе расходной накладной в состояние "Проведено".
В O1 реализован одно-валютный учет с возможностью вести оперативный учет первичных документов в любой валюте. Это означает, что весь внутренний учет в системе ведется в одной выбранной валюте, а сами первичные документы могут быть оформлены в любой другой или той же самой валюте. Внутренний учет используется в системе для расчета балансов и другой финансовой отчетности, то есть все данные о состоянии баланса предприятия и его подразделений будут выводится в учетной валюте.
Валюты располагаются в системе в папке "Справочники\Валюты", а курсы в папке "Справочники\Курсы".
При установке в системе присутствуют две валюты "Внутренняя" и "Рубль РФ", а также курс между ними "Внутренний" в соотношении 1:1. Это означает, что по умолчанию в системе установлена внутренняя учетная валюта, эквивалентная рублю. Если вы хотите вести внутренний учет в другой валюте, например, в долларах США, то для этого необходимо сделать следующее:
Теперь учетной валютой в вашей системе будет созданная валюта (USD). Для остальных валют, которые вы планируете использовать при оформлении документов следует завести как минимум один курс по отношению к учетной.
Подробнее о ведении курсов рассказано в руководстве пользователя.
Регистром учета в системе является абстрактный счет аналитической бухгалтерии с возможностью устанавливать детализацию счета по уровням аналитики. Регистры располагаются в папке "Система\Регистры учета".
После установки регистры уже настроены на работу и, как правило, не требуют дополнительной настройки. Рассмотрим атрибуты объекта класса "Регистр учета" на примере регистра учета "ТМЦ".
Рис.3.20. Атрибуты регистра учета
Регистр "ТМЦ" используется в системе для учета движения товарно-материальных ценностей в натуральном измерении по хозяйственным операциям. Дата начала учета является просто датой создания регистра в системе и не несет другой нагрузки.
Знак остатка по регистру определяет, каким должно быть сальдо операций на каждый момент времени. Если остаток должен быть положительный, то при получении в какой-либо момент в результате хозяйственной операции отрицательного остатка по регистру, система автоматически сгенерирует ошибку учета и отменит эту операцию.
Натуральное выражение остатка может быть количественным или суммовым (денежным) и определяет, знак остатка по какому измерителю контролирует система: по натуральному или по денежному. Детализация аналитики определяет, в пределах каких значений атрибутов хозяйственной операции будет накапливаться значение по регистру. Как уже было сказано, у каждой операции есть агент, контрагент, место, объект учета, серия/партия и назначение. Для регистра ТМЦ важными являются аналитики агента, объекта учета и его серии/партии. Это означает, что в системе будут накапливаться остатки по каждому объекту учета (как правило, в данном случае это товарная позиция) с учетом его серии/партии по каждому агенту (как правило, в данном случае это будет склад).
Аналитика по учетному периоду присутствует всегда и поэтому не выводится. Для всех регистров учета учетным периодом в системе является один день.
Изменить настройки учета можно только в случае, когда по данному регистру еще нет ни одной хозяйственной операции, то есть в начале цикла эксплуатации системы.
Налог (налоговый сбор) в системе является классом объектов, наследуемых от класса регистров учета. Поэтому все, что было сказано про регистры учета относится и к налоговым сборам. Настройки налоговых сборов также, как правило, не требуют изменений. Сами налоговые сборы находятся в папке "Система\Налоговые сборы".
При использовании в учете, налоговые сборы объединяются в схемы и ставки налогообложения.
Схема налогообложения-это простой набор из одного или нескольких налоговых сборов, которая предназначена для привязки к каждому конкретному документу, то есть схема определяет, какие налоги будут начисляться или выделяться по факту хозяйственного события по данному документу. Схемы налогообложения находятся в папке "Справочники\Схемы налогообложения".
Ставка налогообложения также представляет собой набор из одного или нескольких налоговых сборов с указанием их очередности начисления и процентной ставкой. Ставка привязывается к какому-либо объекту учета, например, товарной позиции, и служит для того, чтобы в соответствии с указанной в операции с данным объектом учета суммой, начислить на нее налоги. При этом важен порядок начисления. Например, если к товару привязана ставка из двух налогов: 1-НДС (20%) и 2-налог с продажи (5%), то при начислении налога на сумму в 100 рублей получится (100*1,2)*1,05=126 рублей. Таким образом, каждый налог начисляется на базу, полученную от начисления предыдущего налога.
При начислении налога в документе используется сравнение состава привязанной к нему схемы налогообложения и ставки по каждому объекту учета, входящему в документ. Например, если к товару привязана ставка "1-НДС (20%) и 2-налог с продажи (5%)", а к документу схема "НДС+Акциз на спиртосодержащие продукты", то в результате по этому товару будет начислен только НДС.
В системе определены два класса единиц измерения. Базовые единицы измерения служат для внутреннего учета в натуральных показателях. В качестве базовых единиц измерения приняты обычные единицы физической системы мер "Си". Базовые единицы не используются при работе пользователей с документами и другими объектами системы. Базовые единицы измерения находятся в папке "Справочники\Единицы измерения\Базовые единицы измерения".
Производные единицы измерения служат для оперативного учета в первичных документах в натуральных показателях. Каждая производная единица имеет свою базовую, с которой она связан соотношением пропорции, позволяющей переводить количество из одной единицы измерения в другую. Например, производная единица "килограмм" связана с базовой единицей "грамм" соотношением 1:1000.
Рис.3.21. Производная единица измерения связан с базовой соотношением
Формат отображения определяет внешний вид количества, которое будет выводится в документах, отчетах и других объектах системы, где применяется форматированный вывод. Сведения о форматах отображения приведены в Приложении 3.
Таким образом, во всех документах и хозяйственных событиях при первичном оперативном учете производится запись количественных натуральных значений в производных единицах измерения. При совершении факта хозяйственного события и внесении его в учет системы, все количественные значения переводятся из производных в соответствующие базовые единицы измерения. В дальнейшем, все отчетные формы могут быт получены в любой производной единице измерения, имеющей соотношение с базовой. Например, если товар "Сахар" учитывается в граммах, то он может также оформляться в документах, как в граммах, так и в килограммах или тоннах. При просмотре остатков сахара на складе, остаток выводится в граммах по умолчанию, но его также можно будет вывести в килограммах или тоннах, указав требуемую единицу.
Шаблоны документов являются наследниками шаблонов объектов, и обладают теми же свойствами, но имеют дополнительные атрибуты, свойственные документам, например, атрибуты "Агент" и "Контрагент" документа. Шаблоны документов располагаются в папке "Шаблоны\Шаблоны документов". Шаблоны документов в системе выполняют следующие основные функции:
Рассмотрим пример типичного шаблона операционного документа с составом.
Рис.3.22. Шаблон операционного документа - атрибуты объекта
Рис.3.23. Шаблон операционного документа - атрибуты операционного документа
Рис.3.24. Шаблон операционного документа - атрибуты состава операционного документа
В соответствии с примером (рис.3.22-3.24), по данному шаблону создается новый документ класса "Приходная накладная". Документ будет сохранены в папке "Приход (Ariston, EWt)". Поля "Наименование", "Расширение" (используется в документах, как номер) и дата остаются незаполненными. Атрибуты закладки "Объект" соответствуют атрибутам любого класса объектов в системе, так как все классы объектов наследуются от класса "Абстрактный объект".
Атрибуты накладной "Агент", "Место", "Валюта", "Курс" и "Схема налогообложения" заполняются значениями из соответствующих полей шаблона на закладке "Документ". Атрибуты этой закладки соответствуют атрибутам любого класса документов, наследуемого от класса "Операционный документ".
Атрибуты накладной "налог включен в цену" и "Колонка прайс-листа" также будут заполнены значениями из шаблона. Атрибуты этой закладки соответствуют атрибутам класса документов "Операционный документ с составом".
Таким образом, при создании документа оператору останется только внести значение поля "Контрагент" и заполнить состав накладной, после чего документ сохранится в указанной папке.
Данный шаблон является наиболее общим и может применяться для создания практически любого класса документов. Если в классе будут отсутствовать некоторые атрибуты шаблона, то их значения игнорируются. Для документов других классов, например "Товарный чек" или "Приход на расчетный счет" в системе существуют специальные шаблоны, отличающиеся от класса "Шаблон документа" наличием дополнительных атрибутов, присущих данному класса документов. Например, шаблон класса "Шаблон операционного документа с составом" имеет дополнительный атрибут "Расчетный узел/касса", который используется при создании товарных чеков.
Рис.3.25. Дополнительный атрибут шаблона операционных документов с составом
Потоком документооборота в системе является совокупность документов одного класса, объединенных общими значениями своих атрибутов. Например, потоком являются все рублевые приходные накладные, оформляемые в подразделении "Склад". При этом необходимо учитывать, что фирма и ее подразделения имеют древовидную структуру, поэтому обобщать или детализировать потоки можно также по атрибутам субъектов отношений: "Агент", "Контрагент" и "Место". Так если определить в системе поток для документов со значением атрибута "Агент" равным самой фирме, то все документы с атрибутом "Агент", равным подразделению фирмы также попадают в этот поток, если для подразделения не существует своего потока (то есть потока со значением "Агент"=данное подразделение).
Рис.3.26. Пример потока документа для всех документов фирмы "ООО Группа СК"
Выбор потока происходит в системе при каждом создании нового документа. Документом считается объект любого класса, наследуемого от класса "Абстрактный документ". Выбор потока необходим для того, чтобы присвоить документу его уникальный, в пределах этого потока, номер. Алгоритм выбора потока при создании нового документа следующий:
Если поток найден, то происходят следующие действия:
Как видно из рис.3.27, данный поток может принимать любой документ, имеющий в качестве значения атрибута "Агент" любое подразделение фирмы "ООО Группа СК" или саму фирму. Приведем пример более детализированного потока.
Рис.3.28. Максимально детализированный поток
В этот поток (рис.3.28) попадают только рублевые приходные накладные от поставщика "Теплоимпорт" (или от подразделений и фирм, входящих в его состав, если таковые есть), приходуемые в подразделении "Торговый зал" (или в других подразделениях торгового зала, если таковые есть). В качестве места в документах должен быть указан "Отдел учета и движения товаров" (или других подразделения отдела, если таковые есть).
Маска номера документа является важным настраиваемым атрибутом. Номер документа при автоматической нумерации составляется на основе маски, который может включать в себя любые символы и сам номер. Допустимы следующие маски: