На базе платформы 1С: Предприятие можно создать множество прикладных решений (конфигураций), с которыми работают конечные пользователи, при этом сама платформа не является программным продуктом [1-2]. Такой подход позволяет автоматизировать различные виды деятельности, используя единую технологическую платформу.
Рассмотрим пример создания простой конфигурации «Запись к врачу». Цель её создания – автоматизация процедуры записи к врачам, получение сводной информации по количеству записей к определенному врачу, отражение общего количества записей на каждый день (исследование загруженности поликлиники).
Создадим справочники конфигурации. Справочники хранят условно постоянную информацию, которую можно представить в виде списка. Первый справочник – «Пациенты», хранит информацию о пациентах. Структура справочника приведена в таблице 1.
Таблица 1
Справочник «Пациент»
Реквизит |
Тип |
Краткая информация |
Код Полиса |
Число |
Содержит серию и номер полиса |
ФИО |
Строка |
Содержит ФИО пациентов |
Пол |
ПеречислениеСсылка.Пол |
Содержит перечисление пола (мужской, женский) |
Каждый пациент может иметь определенные жалобы, причем могут быть пациенты, которые имеют несколько жалоб, а кто-то ни одной. Поэтому набор жалоб целесообразно представить в виде табличной части. Табличная часть справочника «Пациенты» представлена в таблице 2.
Таблица 2
Реквизиты табличной части справочника «Пациенты»
Реквизит |
Тип |
Краткая информация |
Жалоба |
Строка |
Содержит серию о жалобе пациента на состояние здоровья |
Дата появления |
Дата |
Содержит информацию о дате появления жалобы |
Итоговый вид справочника «Пациенты» в режиме 1С: Предприятие представлен на рисунке 1.
Рис. 1. Окно добавления нового элемента в справочник «Пациенты»
Следующий справочник – «Врач». Также нужно пояснить, какие реквизиты были созданы для справочника, они представлены в таблице 3.
Таблица 3
Справочник «Врач»
Реквизит |
Тип |
Краткая информация |
Код |
Число |
Содержит код врача |
ФИО |
Строка |
Содержит ФИО врача |
Специалисты |
ПеречислениеСсылка.Специалисты |
Содержит перечисление специалистов (Нарколог, терапевт, стоматолог, педиатр терапевт) |
В качестве типа данных для реквизита «Специалисты» целесообразно использовать перечисление, так как существующие должности врачей известны заранее, их набор пользователем меняться не будет.
Для регистрации факта записи к врачу необходимо определить документ «Запись к врачу». Структура документа представлена в таблице 4.
Таблица 4
Структура документа «Запись к врачу»
Реквизит |
Тип |
Краткая информация |
Номер |
Число |
Номер документа, предопределенный реквизит |
Дата документа |
Дата |
Дата записи документа в базу данных |
Врач |
СправочникСсылка.Врач |
Содержит информацию о враче |
Пациент |
СправочникСсылка.Пациент |
Содержит информацию о пациенте |
Дата записи |
Дата |
Содержит дату записи |
Переходим к созданию регистра сведений. Регистр сведений – «УчетЗаписи», предназначенному для хранения сведений о всех записанных пациентах. Структура регистра представлена в таблице 5.
Таблица 5
Структура регистра «УчетЗаписи»
Измерение |
Тип |
Врач |
СправочникСсылка.Врач |
Пациент |
СправочникСсылка.Пациент |
Ресурсы |
Тип |
Дата |
Дата |
Запись в регистр будет производиться при проведении документа, регистр периодический, период – секунда (на случай большого потока желающих записаться). Процедура проведения документа «Запись к врачу» представлена на рисунке 2.
Рис. 2. Процедура проведения документа «Запись к врачу»
Созданная процедура будет выполнять записи в регистр. Записи в регистре после проведения нескольких документов будут выглядеть в виде списка, содержащего дату документа (так как регистр периодический), регистратор (записи в регистре подчинены документу), все измерения и ресурс (рис. 3).
Рис. 3. Записи в регистре
Теперь перейдем непосредственно к созданию отчета. Определим набор данных, который нам необходим, чтобы получить сводную информацию (рис. 4).
Рис. 4. Конструктор запроса
В результате будет сформирован запрос, представленный на рисунке 5.
Рис. 5. Запрос на выбор данных
Выполним настройку отчета. Так как в каждом документе мы фиксируем одну запись одного пациента к одному врачу – для подсчтеа количества записей можно выполнить подсчт количества документов. Тогда в качестве ресурса определим Количество(Регистратор).
Отчет будет иметь две области. Первая область список всех записей с группировкой по врачам и подсчетом количества. Вторая область должна показывать распределение количества записей по датам.
Рис.6. Настройка отчета
Вид сформированного отчета в режиме 1С: Предприятие представлен на рисунке 7.
Рис. 7. Сформированный отчет «Запись пациентов»
Задача, поставленная в процессе разработки решена. Была получена простая конфигурация, позволяющая учитывать записи пациентов к врачу. Следующим шагом может быть оформление интерфейса программы, пример интерфейса и начальной страницы представлен на рисунке 8.
Рис.8. Основной интерфейс программы
Список литературы
1. Радченко М. Г., Хрусталева Е. Ю. 1С:Предприятие 8.3. Практическое пособие разработчика. Примеры и типовые приемы. М.: 1С-Паблишинг, 2013. 964 с.
2. Рыбалка В. В. Hello, 1C! Пример быстрой разработки приложений на платформе 1С:Предприятие 8.3. Версия 3. М.: 1С-Паблишинг, 2013. 225 с.