Содержание:
1. Управление статусом объекта в 1С. Статусы документов и их изменение для
решения задач формирования документа
2. Дискретное управления в 1С статусом документов
3. Моделирование процессов переходов управления статусом сведений об объекте в 1С
1. Управление статусом объекта в 1С. Статусы документов и их изменение для решения задач формирования документа
Основа учета – регистрация событий, происходящих с учитываемыми показателями, посредством документирования. Событие есть результат одного или нескольких процессов. Документ служит для фиксации данных о событии. Если документ создается в рамках бухгалтерского учета, то достаточно стандартной возможности различать состояния документа в рамках платформы 1С:Предприятие 8. А именно, состояния «Проведён» и «Пометка Удаления». Когда же имеем дело с управленческим учётом, возникает необходимость документировать событие непосредственно в процессе его развития (т.е. в ”реальном” времени). Информация о происходящем событии может поступать постепенно, поэтому необходимо отследить состояние данных фиксируемых документом.
При работе с документом необходимо решить ряд вопросов. Главный вопрос, когда документ можно провести? Т.е. определить, что документ содержит все необходимые данные и эти данные введены корректно. Таким образом, необходимо у документа зафиксировать состояние – Статус готовности к проведению. В книге «Профессиональная разработка в системе 1С: Предприятие 8» в главе посвящённой документам и их проведению размещён рисунок, на котором обозначено состояние «Документ заполнен» (рис.1), а также приводится пример использования статусов для обработки. На этом тема использования статусов документов в данной книге исчерпывается.
Рис. 1.
Другие вопросы, возникающие при формировании документа это:
- необходимость определения, когда данный документ может быть использован для операций « создание на основании»;
- управление списками документов для различных рабочих мест. Например, кассиру нужно показывать только документы, поданные на оплату;
- управление интерактивным вводом информации в документ, а именно:
· управление доступом к элементам формы (возможностью изменять данные и их отображением);
· управление списками (динамические списки). Например, список номенклатуры содержит только те позиции, которые есть в наличие на заданном складе;
· управление командами формы. Например, блокировка кнопки печати счета 1С.
- взаимодействие с задачами Бизнес-процессов, в которых задействован данный документ и т.п.
Все эти задачи по работе с документом можно решать с помощью 1С статуса документа.
Возможно использование статусов документа, но перевод “черновика” документа по статусам не контролируется системой. Этим и ограничивается тема статусов документов в 1C:ИТС.
Для решения задач формирования документа используется модель описывающая процесс регистрации события, проходящего через некоторое количество стадий.
Для иллюстрации модели будем использовать популярный пример с Продажей. Процесс Продажи состоит из следующих действий:
· сотрудником отдела продаж создается документ, т.е. заполняются основные реквизиты клиент, склад, документ записывается;
· заполняется табличная часть;
· оговариваются услуги по доставке;
· клиенту, в зависимости от суммы заказа, может быть предоставлена персональная скидка, которую согласовывает руководитель отдела продаж;
· после согласования отпускных цен, формируется счёт, который поступает на оплату;
· в случае оплаты, создаётся упаковочный лист;
· склад обирает заказанный товар;
· товар отгружается;
· после доставки товара клиенту, экспедитор сообщает о завершении операции;
· документ Продажа проводится сотрудником отдела продаж;
· Продажа закрыта.
Для данного примера оформления продажи можно выделить следующие состояния (статусы):
· 0 – «Создан»;
· 1 – «Изменён»;
· 2 – «Согласован»;
· 3 – «Оплачен»;
· 4 – «Отгружен»;
· 5 – «Доставлен»;
· 6 – «Пометка Удаления»;
· 7 – «Проведён».
Важно различать состояние документа – т.е. состояние информации о событии, которое должен зарегистрировать этот документ, и состояния (стадии) процесса ведущих к событию. Причем разные последовательности действий могут приводить к разным событиям. Например, клиент, не получив желаемую скидку, аннулирует свой заказ и документ будет помечен на удаление.
2. Дискретное устройство управления в 1С статусом документов
И так наш документ Продажа может находиться в восьми состояниях. Это статические состояния. Изменение состояний происходит под действием внешних воздействий. Для описания таких систем используются детерминированные конечные автоматы.
Это модель дискретного устройства обладающего следующими свойствами:
1. один вход, через который последовательно поступают внешние воздействия, и один выход, сформированный автоматом сигнал (X(i) – вход,Y(i) – выход);
2. автомат может находиться в единственном состоянии из конечного множества возможных состояний (S = {s0, s1, ..., sn});
3. переход в следующее состояние однозначно определяется текущим состоянием и входным символом (функция переходовΦ : S × X → S);
4. выходной символ определяется только текущим состоянием и входным символом (выходная функцияΨ : S × X → Y);
5. определено одно начальное состояние и множество конечных состояний (s0 S, ES).
Обычно под входными воздействиями понимают подачу на вход автомата символов некоторого алфавита, а на выходе – символ другого алфавита. (Примечание. В терминах моделирования данных правильнее было бы использовать не символы и алфавиты, а категории – знаки и типы. Знак – это конкретное значение или конкретный экземпляр объекта. Тип определяется как класс подобных знаков).
Автомат начинает работу в начальном состоянии, получает по одному символу. В соответствии с выходной функцией формируется выходной символ, далее автомат переходит в новое состояние или останется в текущем состоянии.
Помимо математического описания автоматов на языке множеств, можно задать функционирование КА диаграммой состояний и таблице переходов.
Диаграмма состояний- графическое представление множества состояний и функции переходов. Это ориентированный граф, вершины которого - состояния автомата, дуги — переходы из одного состояния в другое. Для нашего примера диаграмма состояний приведена на рис. 2. Для наглядности в диаграмму добавлены символы, обозначающие начальные и конечные состояния, которые в картах Бизнес-процессов обозначают точки старта и завершения.
Таблица переходов и выходов - это табличное представление функции переходов и выходной функции (такое представление ещё называют программой автомата), Ниже приведена такая таблица, но не в классическом виде, принятом в теории автоматов, а в модифицированном для реализации в базе данных.
3. Моделирование процессов переходов управления статусом сведений об объекте в 1С
Перейдем теперь к процессу. Процесс порождает, те самые воздействия xk, которые приводят к смене состояний.
Особенно следует отметить, что концепция времени не входит в формализм автомата. Т.е. длительность нахождения автомата в том или ином состоянии, а также время достижения того или иного состояния никак не определяются. При выполнении условия перехода, смена состояния происходит моментально. Тем не менее, время присутствует опосредованно, а именно, в последовательности входных сигналов xk.
Как уже говорилось выше, каждый переход из одного состояния в другое состояния означает действие, которое развивается во времени. Добавим в нашу модель понятие динамического состояния. Динамическое состояние - это модель перехода из одного статического состояния в другое. Для примера, из состояния «Изменён» возможны переходы в состояния:

Каждый переход рис. 3а моделируется следующей конструкцией рис 3б
Рис. 3
Тогда для состояния «Изменён» будет доступен следующий список доступных состояний:
Для динамического состояния d1 2 будут доступны состояния:

Смысл динамического состояния зафиксировать окончание действия или осуществить откат к исходному статическому состоянию. Явно вводить динамически состояния в диаграммы и таблицы не имеет смысла, так как каждая запись в таблице переходов и есть, по определению, формализуемое действие. При реализации этого механизма, в таблицу не обходимо только добавить поля с именами обработок, выполняемых при переходе из динамического состояния в стационарное.
Использование модели на основании концепции конечного автомата позволяет разработчику лучше понять пожелания заказчика. Описать и задокументировать логику работы системы. Данная модель проще, но не менее эффективна, чем моделирование на языке UML.
СТАТУС ДОКУМЕНТА — это атрибут отображающий состояние документа и стадий процесса регистрируемого документом.
СОБЫТИЕ —Событием может быть названо любое явление, которое, свершаясь, индивидуализируется в своей уникальной и неповторимой сущности и даже обретает собственное имя.
СОБЫТИЕ —В сетевом планировании и управлении - промежуточный или окончательный результат одной или нескольких работ, необходимых для того, чтобы можно было начать одну или несколько других работ. Событие совершается после выполнения всех входящих в него работ, причем момент свершения Событие является моментом окончания последней из работ.
СОСТОЯНИЕ—категория научного познания. С помощью категории Состояние выражается процесс изменения и развития вещей и явлений, который в конечном итоге сводится к изменению их свойств и отношений. Совокупность таких свойств и отношений определяет Состояние вещи или явления.
СОСТОЯНИЕ—совокупность основных параметров и характеристик какого-либо объекта, явления или процесса в определенный момент (или интервал) времени.
ПРОЦЕСС —(лат. processus - прохождение, продвижение) Ход, развитие какого-нибудь явления; последовательная закономерная смена состояний в развитии чего-нибудь.
СТАТИЧНОСТЬ —бездейственность, неподвижность, покой или равновесие, неизменность во времени.
ДИНАМИЧНОСТЬ — активность, подвижность, изменяемость во времени.
Специалист компании "Кодерлайн"
Александр Колосов