наверх
Свободные IT публикации
логин:
пароль:

DEP1C - независимый WEB-портал ввода и запроса данных в 1С [1136]


[8] AdminITD - 2019-08-23 11:34:55



V83, Режим запуска, Управляемое приложение

Вступление


Где бы мне не приходилось работать, везде возникали задачи как доступа к информации систем 1С, так и оперативного ввода информации в 1С без непосредственного входа в программу. Большинство фирм, не говоря о крупных корпорациях, сталкиваются с необходимостью программной регистрации множества рутинных хозяйственных операций. Это всевозможные служебные записки финансового и кадрового характера с последующим оформлением соответствующих документов системы, отчеты о проведении ревизий и проверок, регистрация новой номенклатуры, контрагентов и пр., регистрация заявок на пополнения товарного запаса сетевых торговых точек, регистрация и согласование кредитных заявок, заявок на оплату счетов поставщиков товаров и услуг – это далеко не полный список всевозможных требований и желаний по удаленной/мобильной регистрации данных за пределами основной информационной системы 1С. Способов удовлетворения этих желаний не так уж много. Те, с которыми я сталкивался наиболее часто:
  • Почта + файлы EXCEL (файлы .txt, .dbf и пр.);
  • Мобильные приложения;
  • WEB-интерфейс 1С;
  • Использование мессенджеров (к примеру, использование бота Telegram).
  • WEB-сайт + FTP;
  • WEB-сайт + HTTP-сервис 1С или HTTP-соединение.

В рамках этой публикации не буду проводить их анализ, у всех есть и плюсы, и минусы. К тому же каждая – на любителя. Мне приходилось разрабатывать и сопровождать все перечисленные варианты и связка 1С <-> WEB сайт, на мой взгляд, наиболее удобна. Основная проблема - где взять этот специализированный сайт. Дорабатывать корпоративный сайт или заказывать требуемое WEB-приложение у сторонних разработчиков - затея довольно дорогостоящая и долгосрочная. Представленная разработка позволяет решить эту задачу существенно быстрее и дешевле с использованием независимого WEB – портала DEP1C.

Цель разработки системы DEP1C


Цель разработки - создание независимого, легко масштабируемого и управляемого WEB-интерфейса, удовлетворяющего следующим требованиям:
  • Доступность с любых устройств, имеющих подключение к интернету;
  • Простота интерфейса, использования и обучения;
  • Максимальная адаптация интерфейса для мобильных устройств;
  • Регистрация любых наборов информации, включающих графическую информацию, получаемую с камер мобильных устройств.
  • Возможность выбора справочных значений из списков, загруженных на сайт из 1С.
  • Настраиваемая оптимизация графических данных перед сохранением на сервер (корректировка ориентации, сжатие);
  • Быстрая регистрация новых WEB-форм ввода данных без необходимости программной разработки;
  • Контроль качества регистрируемой информации: контроль заполнения обязательных полей, тип полей ввода соответствует типу вводимой информации;
  • Возможность взаимодействия с любым количеством информационных систем;
  • Любое количество пользователей, система контроля доступа;
  • Возможность как регистрации данных, так и запроса любых данных из 1С с оперативным получением ответа;
  • Автоматическая загрузка зарегистрированных данных в 1С, автоматическое преобразование данных в формат 1С.
  • Возможность утверждения (согласования) полученных с сайта данных на стороне принимающей конфигурации 1С, либо оформление отказа в случае, когда данные не соответствуют определенным требованиям. Выгрузка результатов согласования на сайт с установкой назначенного статуса и указанием причины в случае отказа.
  • Независимая система управления на платформе 1С с возможностью быстрой интеграции в любую конфигурацию 1С (V 8.3, управляемые формы).

Состав DEP1C

  • Независимый самостоятельный web-сайт для регистрации данных.
  • Самостоятельная подсистема 1С (8.3.9.1818 и выше, управляемые формы), независимая от конфигурации, версии БСП и пр.

Стартовая форма редактирования операции на сайте

Все функции управления системой DEP1C собраны в обработке «АРМ_УправлениеСайтомДО».

Особенности DEP1C

  • Для работы с сайтом не требуются лицензии 1С;
  • Сайт не зависит от состояния подключенных систем 1С;
  • Сайт поддерживает подключение любого количества систем 1С;
  • Сайт поддерживает подключение любого количества пользователей;
  • Сайт изолирован от подключенных систем 1С, не имеет к ним никакого доступа, все обмены инициируются со стороны 1С;
  • Сайт создан "с нуля" без использования сторонних CMS систем. Программные модули содержат только код, необходимый для требуемых функций сайта;
  • Все формы сайта формируются динамически согласно настройкам, зафиксированным в программе 1С с помощью обработки управления сайтом.
  • Быстрое добавление любой операции для регистрации любых наборов данных «на лету»;
  • Разграничение доступа к различным операциям сайта;
  • Использование справочников 1С для заполнения на сайте форм регистрации;
  • Настраиваемое сжатие графической информации на стороне клиента до выгрузки на сайт;

Добавление в систему новой операции


Все представленные ниже примеры исключительно демонстрационные и служат для презентации возможностей системы DEP1C.
В качестве первого примера предлагаю решение следующей задачи:
Добавить возможность удаленной регистрации контрагентами счетов на оплату с подкреплением копий подтверждающих документов и возможностью отслеживания статуса заявки. Автоматическая загрузка зарегистрированных данных в 1С с возможностью их проверки, отказа или согласования для последующего автоматического создания и заполнения соответствующих объектов 1С.
Регистрируемые данные:
  • Объект аренды;
  • Месяц оплаты;
  • Сумма;
  • Комментарий.
  • Расшифровка суммы в виде таблицы с колонками «Номенклатура(услуга), период, сумма, комментарий».
  • Скан копии (фотокопии) документов, подтверждающих оплату.

Функции управления подсистемой собраны в обработке "Настройка DEP1C". Далее описано использование этой обработки.

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


Для того, чтобы использовать справочники 1С на сайте, необходимо подготовить и выгрузить на сайт соответствующие справочные данные. В рамках текущего примера используются 2 справочника: «Объект аренды» и «Номенклатура». Для подключения справочника «Объекты аренды» к сайту DEP1C необходимо:
- создать новый вид справочных данных на странице «Служебные справочники -> Виды справочных данных»

- выбрать в форме редактирования соответствующий источник данных:

- определить представление объектов справочника на сайте. В текущем случае элементы будут отображаться на сайте в виде адреса объекта аренды:

- сохранить и выгрузить справочник «Объекты аренды» на сайт:

При сохранении нового вида справочной информации в справочнике «Метаданные» автоматически регистрируется соответствующий тип данных «Объекты аренды». Теперь при использовании этого типа данных, на сайте доступен выбор из соответствующего справочника.
Справочник «Номенклатура» регистрируется подобным образом.

Создание и выгрузка на сайт требуемых видов реквизитов.


Зарегистрированные виды реквизитов могут использоваться в любых операциях. Новый вид реквизита создается в случае если требуемый вид реквизита не зарегистрирован ранее. Для регистрации нового вида реквизита «Объект аренды» необходимо:
- создать новый вид реквизита в обработке «Настройка DEP1С» на странице «Служебные справочники -> Виды реквизитов операций»; выбрать соответствующий тип значения из справочника «Метаданные сайта»:

- Заполнить обязательные поля и выгрузить на сайт:

Подобным образом регистрируются все требуемые виды реквизитов.
Назначение свойств вида реквизита:
  • «Наименование» определяет заголовок реквизита в формах операций на сайте;
  • «Код параметра» определяет наименование параметра для алгоритмов справочника «Классификаторы вычисляемых параметров», описывающих получение в 1С запрашиваемых с сайта данных. Используется в операциях запроса данных из 1С.
  • «Доп. описание» содержит дополнительную информацию, отображаемую со значением реквизита (к примеру, ед. изм.).
  • Поля «Разделитель наименования» и ТЧ «Состав списка» используются для определения реквизита табличного типа.

Создание и выгрузка на сайт реквизита табличного вида.


В рамках примера необходимо регистрировать список оплачиваемых услуг. Для этого требуется создать новый вид реквизита и установить для него тип значения «Табличные данные»:

- Заполнить основные реквизиты, определить состав колонок списка услуг:

- выгрузить на сайт с помощью соответствующей команды:

Описание свойств реквизитов:
  • Свойство «Обязательный» определяет контроль обязательного заполнения соответствующего поля на сайте;
  • Свойство «Порядок» определяет порядок следования соответствующих полей в формах сайта;
  • Свойство «Включается в описание» определяет использование реквизита при формировании краткого описания строки данных в форме списка на сайте. Реквизиты, выбранные для формирования краткого наименования, разделяются строкой, определенной в поле «Разделитель наименования строки списка»;
  • Свойства «Многострочный» и «Формат данных» определяют формат и вид соответствующих полей ввода на формах сайта.

Создание новой операции «Счет на оплату».


Для этого требуется создать новую операцию на вкладке «Настройка операций сайта», добавить в список реквизитов требуемые виды реквизитов:

- установить требуемые настройки реквизитов:

- Установить возможность произвольного состава вложенных копий документов, Назначить операции роль доступа и выгрузить на сайт соответствующей командой:

На этом основная настройка новой операции для DEP1C завершена. Мы можем регистрировать требуемые данные на сайте и они будут автоматически загружены в 1С. В среднем на регистрацию новой операции сайта уходит 5-15 мин.

Ограничение списка выбора справочника в рамках выбранной операции.


Перед входом на сайт, для более удобной работы, добавим настройку списка выбора номенклатуры, оставив для новой операции только возможность выбора услуг. Для этого требуется:
- создать новый список подбора на странице «Служебные справочники -> Списки подбора», заполнить вид операции и реквизит, значения которого будут выбираться из этого списка:

- выбрать на вкладке значения требуемую номенклатуру услуг:

Список подбора будет использоваться на сайте только в формах выбранного вида операции.
Если на вкладке "Пользователи сайта" выбрать пользователей, то текущий список подбора будет использоваться на сайте только для этих пользователей.

Немного о правилах доступа


Доступ к ресурсу "dep1c.ru" является свободным при использовании подсистемы управления 1С. При инициализации подсистемы управления в 1С присваивается уникальный код агента, определяющий связь сайта DEP1C с текущей базой данных 1С. Этот код отображается в обработке "Настройка DEP1C" на вкладке "Доступ на сайт". На этой же вкладке можно создать и настроить новых пользователей и новые роли доступа:

При регистрации или настройке пользователя сайта указываются соответствующие ему подразделение, сотрудник или контрагент для использования при заполнении документов(справочников), создаваемых на основании данных сайта.

Телефон и email могут быть использованы в качестве логина для входа на сайт. Кроме этого, на указанный адрес почты автоматически высылается пароль и ссылка доступа при нескольких попытках ввода неверного пароля.

Регистрация данных на сайте DEP1C.


Вход на сайт осуществляется по ссылке http://dep1c.ru
Далее представлена работа с DEP1C в SAFARI на мобильном устройстве:

- Выбор операции из списка доступных:

- Создание новой операции кнопкой «+»:

-Выбор объекта аренды, заполнение месяца, суммы:

- Заполнение списка услуг:

- Заполнение списка вложений:

- Возврат к стартовой форме операции и отправка данных в 1С:

Регистрация данных на стороне 1С


Данные загружаются с сайта в 1С автоматически. Опрос сайта на наличие зарегистрированных данных производится со стороны 1С. В демонстрационных базах загрузка с сайта осуществляется каждые 3 сек. Загруженные данные отображаются на вкладке "Список операций сайта" в обработке "Настройка DEP1C":

Проверка загруженных данных производится в форме операции:

Основные реквизиты загруженной операции

Вкладка табличных данных

Тестовый отказ в регистрации данных:

Отображение отказа на сайте:

Операция с отказом в списке

Форма отклоненной операции

Повторная отправка исправленных данных

Установка статуса "принято" в 1С

Отображение согласованной операции на сайте

Добавление в систему операции запроса данных


Для регистрации в системе DEP1C операции запроса данных необходимо при создании новой операции установить для нее признак "Это операция запроса информации":

В рамках системы запрашиваемые с сайта данные расчитываются с помощью механизма вычисляемых параметров.
Центральный элемент механизма вычисляемых параметров - справочник "Классификатор вычисляемых параметров".

Каждый элемент справочника является самостоятельным вычисляемым объектом, обладающим свойствами:
  • "Наименование" - имя параметра, подчиняется правилам формирования имен переменных 1С. Используется в качестве идентификатора в алгоритмах расчета других параметров;
  • "Представление" определяет отображение вычисляемого параметра в формах интерфейса;
  • "Вид алгоритма" определяет, каким образом расчитывается значение параметра, может принимать одно из значений:
 Запрос SQL - значение будет получено с помощью прямого запроса к БД;
Запрос 1С - значение является результатом выполнения запроса 1С;
Формула 1С - результат определяется расчетом произвольного выражения на языке 1С. Алгоритм вычисления может содержать другие вычисляемые параметры, выделенные символом "&" (как параметры запросов 1С);
  • "Алгоритм" содержит текст запроса или формулу вычисления;
  • "Вид значения" определяет каким объектом 1С является результат расчета параметра (число, строка, ссылка, массив, структура и т.п.);
  • "Тип значения" определяет элемент справочника "Метаданные сайта", соответствующий результату расчета параметра. Определяет, в каком формате расчитанное значение будет отображено на сайте;
  • Табличная часть "Параметры" содержит список параметров формулы расчета. Ими могут быть как реквизиты операции запроса данных с сайта DEP1C, так и другие параметры.

В текущей версии DEP1C поддерживаются только запросы, возвращающие только 1 значение простого либо ссылочного типа. Расширение доступных видов результата запроса - в ближайших планах.
Вернемся к регистрации новой операции запроса. В поле "Вычисляемый параметр запроса" выбирается соответствующий параметр из классификатора вычисляемых параметров. Если требуемый параметр отсутствует, то он предварительно создается.

В список реквизитов операции должны быть добавлены все виды реквизитов, требуемые для расчета выбранного вычисляемого параметра. Сответствие параметра алгоритма запроса реквизиту операции определяется по свойству "Код параметра" вида реквизита.

Код параметра, соответствующий параметру в запросе

Соответствующий параметр запроса

После окончания редактирования операция выгружается на сайт.

Использование операции запроса данных на сайте


Выполнение запроса на сайте в браузере "YANDEX":

Выбор операции запроса из списка


Журнал запросов


Форма нового запроса


Выбор склада


Выбор номенклатуры


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

Время выполнения запроса зависит от частоты регламентного опроса сайта. В демонстрационных конфигурациях - 3с.

Выполненный запрос в журнале


Форма выполненой операции

Описание форм и команд сайта


Работа с журналом операции:

Основная форма операции:

Форма редактирования файловых вложений:

Форма редактирования страниц вложений:

Команда редактирования наборов реквизитов:

Форма списка наборов:

Форма редактирования набора реквизитов:

Правила использования сайта


Подключиться к сайту DEP1C.ru могут все желающие. На сайте действуют следующие ограничения:
  • Время хранения на сайте файловых вложений (скан/фото копий) ограничено. Для пользователей, работающих с демо-конфигурацией управления DEP1C(закрытые модули) или в демонстрационном режиме (под агентом "SPA") - файлы изображений хранятся не сайте не более 30 мин. Для пользователей с открытой системой управления срок хранения вложений - не более 7 дней.
  • Для пользователей, работающих с демо-конфигурацией управления DEP1C(закрытые модули) или в демонстрационном режиме (под агентом "SPA") все графические вложения сжимаются перед сохранением на сервер до геометрического размера 600px (по горизонтали или вертикали, в зависимости от ориентации изображения). Для пользователей с открытой системой показатели сжатия изображений настраиваются. При этом размер сохраняемого изображения не может превышать 1600px.
  • Любые операции, созданные под демонстрационно-тестовыми аккаунтами, могут быть удалены с сайта в любой момент и без предупреждения с целью очистки ресурсов сайта.
  • Данные операций, размещенных на сайте DEP1C.ru, и файловые вложения к ним, хранятся в базе данных сайта и доступны только непосредственно автору операции.
  • Все данные авторизации пользователей хранятся в базе данных сайта, используются только для аутентификации и не могут быть открыты третьим лицам при любых условиях.
  • E-mail, указанный при авторизации, используется только в качестве логина входа или для восстановления пароля.

Параметры доступа на сайт:
  • "Агент" - уникальный код ИБ, подключаемой к сайту. Формируется автоматически при первом запуске обработки управления сайтом в 1С.
  • "Логин" - уникальное в рамках агента имя пользователя сайта. Формируется либо администратором агента в обработке управления 1с, либо автоматически на сайте при использовании агента "SPA". В качестве логина может быть использован привязанный к пользователю номер телефона, либо адрес электронной почты.
  • "Пароль" - код, подтверждающий право доступа пользователя на сайт. При ошибочном вводе пароля более 3-х раз, параметры доступа будут высланы на привязанный к пользователю электронный адрес.

Для всех, кто желает проверить работу сайта без использования системы управления 1С, доступен демонстрационный агент "SPA". Для создания демо-аккаунта при авторизации в поле "Агент" необходимо установить значение "SPA", в поле логин - ввести адрес доступной электронной почты. После команды "Вход", на указанную почту будут высланы параметры тестового доступа и ссылка быстрого входа на сайт DEP1C:

Кроме описанных выше ограничений, для подключений под агентом "SPA" доступен только тестовый список операций и недоступны запросы к базе 1С.

Заключение


Представленная система очень молодая, создана исключительно на личном интересе к используемым технологиям, поэтому с удовольствием буду продолжать ее развитие и поддержку. Рассмотрю любые предложения о сотрудничестве и вариантах использования системы, к примеру, развертывание индивидуального WEB-портала и расширение его функционала. Всем, кто проявит к предложенной разработке интерес и приобретет подсистему управления DEP1C, доступ к новым функциям системы будет открыт автоматически без дополнительных условий.
Как владелец сайта dep1c.ru, оставляю за собой возможность запросить подтверждение права использования системы управления DEP1C, и перевод агента в статус тестового в случае отказа.

● Файлы для скачивания:

для получения доступа требуется авторизация размер: 596.4 кб, скачиваний: 20. cодержимое архива: dep_new_close_20200220.dt, dep_new_close_20200220.cf

для получения доступа требуется авторизация размер: 726.8 кб, скачиваний: 0. cодержимое архива: dep_new_open_20200220.dt, dep_new_open_20200220.cf

● Комментарии:

Для добавления комментария необходима авторизация.

Нет комментариев