mc1C

Управление медицинским центром 1С + Настройка 1С
Бесплатно
Загрузите дополнение из админки вашего сайта.
Как загрузить?
Автор дополнения
Андрей Степаненко
Пакетов
25
Закачек
6 281
Автор дополнения
Пакетов
25
Закачек
6 281
Версия 1.0.5-beta
Дата выпуска 30.11.2018
Загрузки 31
Просмотры 5 821
Приложение для синхронизации конфигурации 1С: Управление медицинским центром от компании «1 БИТ» и сайта на MODX REVOLUTION.
Сущетсвует 2 метода синхронизации через SOAP или через FTP.

Внимание!!! Для настройки требуется усилия как 1С программиста так и веб программистом так как настройки для синхронизации не стандартные (это не Ecommerce встроенная синхронизация с сайтом).

Синхронизируются:
  • Клиники (можно синхронизировать несколько клиник)
  • Группы наменклатуры (категории minishop)
  • Наменклатура (товары minishop)
  • Специалисты клиники со специальностями и услугугами
  • График работ специалистов

Автоматически создаются на сайте категории, товары, страницы со специалистами и услугами которые оказывает специалист а так же график работы специалиста.

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

Клиники могут быть созданны в ручную или получены из 1С по протоколу SOAP


Создание и публикация ресурсов

В системных настройках предусмотрены параметры для ресурсов
  • Создавать ресурс Да/Нет
  • Публиковать по умочанию Да/Нет
  • Назначение шаблона для ресурса


Отправка заказа в 1С

После отправки заказа в 1С предусмотрена возможность отправить письмо с информацией о заявки на email пользователя менеджера указанного в настройках.

Управление ресурсами

Для синхронизации используется поле:


По этому вы можете сами создавать в ручную страницы с врачами и назначать им индитификаторы из 1С чтобы в дальнейшем можно было сделать заявку через форму записи на прием


Форма отправки заявки

На сайт синхронизируется график работ сотрудников а так же время свободного и занятого времени



Работа через FTP

Для синхронизации необходимо создать клинику и настроить выгрузку каталога
core/components/mc1c/temp

Работа через SOAP

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

Описание работы веб-сервисов и данных xml

Crontab

Установка crontab заданий для синхронизации 1С с сайтом
// Задание для забора каталога услуги, специалистов и графика работ из 1С
core/components/mc1c/crontab/synccatalog.php

// Задание для отправки заявок в 1С
core/components/mc1c/crontab/syncorder.php

Форма отправки заявок в 1С
[[!mc1c]]

Вывод списка категорий с услугами
<div class="row">
        <div class="col-md-4">
            <h3>Категории</h3>
            {$_modx->runSnippet('pdoMenu', [
                'parents' => 11,
                'where' => ['class_key' => 'msCategory'],
                'depth' => 4,
                'level' => 4,
                'hideSubMenus' => 1,
                'outerClass' => 'nav nav-pills flex-column',
                'tplOuter' => '@INLINE <ul [[+classes]]>[[+wrapper]]</ul>',
                'tpl' => '@INLINE <li class="nav-item"><a class="nav-link" href="[[+link]]">[[+menutitle]]</a>[[+wrapper]]</li>',
            ])}

        </div>
        <div class="col-md-8 mt-1">
            <h1>{$modx->resource->pagetitle}</h1>
            <div class="row justify-content-center ">
                <div class="col-lg-11">
                    [[!msProducts?
                        &tpl=`tpl.mc1c.service.row`
                    ]]
                </div>
            </div>
        </div>
    </div>


Вывод списка специальносте с врачами
<div class="three-colums abc-list">
    <div class="d-flex pb-3">
        <ul>
            {$_modx->runSnippet('pdoResources', [
                'parents' => 13,
                'class' => 'modResource',
                'depth' => 0,
                'limit' => 35,
                'sortby' => 'menuindex',
                'sortdir' => 'ASC',
                'tpl' => 'tpl.mc1c.specialization.row',
                'includeTVs' => 'images',
                'groupby' => 'Employee.specialization',
                'where' => [
                    'modResource.isfolder' => 0,
                    'Employee.clinic:!=' => '00000000-0000-0000-0000-000000000000',
                    'Employee.specialization:!=' => ''
                ],
                'select' => '{
                    "modResource":"*",
                    "Employee":"uid",
                    "Employee":"name as name",
                    "Employee":"specialization as specialization"
                }',

                'innerJoin' => '{
                    "Employee":{"class":"mc1cEmployee","on":"Employee.uid = modResource.link_attributes"}
                }',
            ])}

            <li><a href="{$modx->resource->id|url}">Все специалисты</a></li>
        </ul>
    </div>
</div>

{if !$.get.specialization}
    {set $query = [
        'modResource.isfolder' => 0,
        'Employee.clinic:!=' => '00000000-0000-0000-0000-000000000000'
    ]}
{else}
    {set $query = [
        'modResource.isfolder' => 0,
        'Employee.clinic:!=' => '00000000-0000-0000-0000-000000000000'
        'Employee.specialization' => $.get.specialization
    ]}
{/if}

{$_modx->runSnippet('pdoResources', [
    'parents' => $id,
    'class' => 'modResource',
    'depth' => 0,
    'limit' => 35,
    'sortby' => 'menuindex',
    'sortdir' => 'ASC',
    'tpl' => 'tpl.mc1c.doctor.row',
    'includeTVs' => 'images',
    'where' => $query,
    'showLog' => 1,
    'select' => '{
    "modResource":"*",
    "Employee":"uid"
    }',

    'innerJoin' => '{
    "Employee":{"class":"mc1cEmployee","on":"Employee.uid = modResource.link_attributes"}
    }',
])}

Страница врача
{set $employee = $modx->resource->employee}
            
            <div class="row justify-content-center">
                <div class="col-lg-4">
                    {set $images = $modx->resource->getTvValue('images')}
                     <img width="318px" height="318px" src="{if $images}{$images}{else}/assets/noneimages.png{/if}" alt="">

                </div>
                <div class="col-lg-8">
                    <h1>{$modx->resource->pagetitle}</h1>
                    Специальность: {$employee.specialization}
                </div>
            </div>
            <hr>
            {if count($employee.services) > 0}
            <div class="row justify-content-center bg-light text-dark">
                <div class="col-lg-11">
                    {foreach $employee.services as $key => $value}
                        <div class="row py-3 align-items-center justify-content-center">
                            <div class="col-lg-7">
                                <h6>{$value.pagetitle}</h6>
                                <p class="fs-08">Код услуги {$value.article}</p>
                            </div>
                            <div class="col-lg-2">
                                <h6>{$value.price} руб.</h6>
                            </div>
                            <div class="col-lg-2">
                                <a href="{13330|url}/?employee={$employee.id}&service={$value.id}" class="btn" >Записаться</a>
                            </div>
                        </div>
                    {/foreach}
                </div>
            </div>
            {else}
                Услуги не указаны
            {/if}

1.0.5-beta

  • Исправление сниппета mc1c
  • Добавлена кнопка на получения врачей из 1С

Последние обсуждения в сообществе MODX.pro