Интеграция PERCo-S-20 с 1С 8.3

Обмен - Обмен с другими системами

PERCo СКУД Интеграция

3
Конфигурация 1С PERCo-S-20 Версия 3.9.2.0 предназначена для мониторинга входов/выходов сотрудников, зарегистрированных в СКУД PERCo-S-20, а также для отображения Организаций/Подразделений в виде дерева. На одном из внедрений пришлось столкнуться с интеграцией 1С ЗУП и СКУД PERCo-S-20. Т.к. основной интерфейс PERCo-S-20 не давал больших возможностей для модификации данных перекинутых из ЗУПа, то пришлось пробежаться по структуре самой базы данных  PERCo (Firebird).  Одним из результатов изучения и явилось написание данной конфигурации.

Конфигурация состоит из Константы (хранится строка подключения) и единственной обработки.

При запуске 1С Предприятия необходимо в константе прописать строку подключения вида: "DRIVER={Firebird/InterBase(r) driver};DBNAME= TagertComp/:C:\SCUD.FDB;UID=SYSDBA;PWD=masterkey;CHARSET=WIN1251;client=C:\FBCLIENT.dll"
где:
TagertComp - имя сервера Перко,
C:\SCUD.FDB - путь к базе на сервере,
также на компе пользователя д.б. установлен клиент Firebird (можно скачать с сайта). В данном случае client=C:\FBCLIENT.dll
также д.б. установлен драйвер ODBC (инструкции установки описывать не буду)

След шаг-открытие обработки из подсистемы Перко.

При открытии заполняется таб часть "Сотрудники". В таб части "События (Входы/Выходы)" будут отображены проходы, зарегистрированные в Перко на текущую дату для активной строки Сотрудников.

В табличной части "События (Входы/Выходы)" есть возможность изменять/удалять выбранные записи.

Алгоритм работает с двумя таблицами PERCo (staff (Сотрудники) и TABEL_INTERMEDIADATE(Проходы). Также есть отображение Организаций/Подразделений в виде дерева (таблица subdiv_ref).

Прим: в   PERCo  есть ещё таблица проходов reg_events, но не нашел как используются её данные. По крайней мере в моём случае удалось обойтись таблицей TABEL_INTERMEDIADATE.

Разработано на платформе 1С 8.3.10.2580.

3

Скачать файлы

Наименование Файл Версия Размер
Интеграция PERCo-S-20 с 1С 8.3:
.cf 17,84Kb
03.05.18
5
.cf 17,84Kb 5 Скачать

См. также

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
2. dimaster 39 03.12.18 16:30 Сейчас в теме
доброе!
мой пример константы для подключения
====
DRIVER={Firebird/InterBase® driver};DBNAME= 192.168.2.133:D:\Perco_S20\SCD17K.FDB;UID=SYSDBA;PWD=masterkey;CHARSET=WIN1251;client=C:\Windows\System32\fbclient.dll
====
сначала ругалось на адо, невозможность загрузить клиента и тп.
проверил пользовательским DSN, добился подключения, потом уже в константу внес.
если кому нужно - выложил как у меня.
но, видимо структура бд не та, хотя тоже perco s-20
ругается
----
{Обработка.PERCo_S_20.Форма.Форма.Форма(44)}: Ошибка при вызове метода контекста (Execute)
ВыборкаПодразделения = Соединение.Execute(ТекстЗапросаПодразделения);
по причине:
Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [ODBC Firebird Driver][Firebird]Dynamic SQL Error
SQL error code = -206
Column unknown
P1.N_LEVEL
At line 4, column 4
----
возможно, есть идеи, как победить?
3. kindly73 13 04.12.18 10:09 Сейчас в теме
(2)
Добрый! Первое, что бросается в глаза, то это:
В строке после IP сервера перко не указали слэш:
192.168.2.133/
Попробуйте, если не поможет, то дальше разруливать надо...
6. dimaster 39 04.12.18 10:57 Сейчас в теме
(3) вот как раз и написал строку подключения, что со слешом вообще ошибка была. этот пример верный. ругалось уже после установки соединения. почему-то в моей перке нет поля level в той таблице. заремарил, дальше в коде просто ноль присвоил.
это выборка подразделений, уровень в иерархии.

ТекстЗапросаПодразделения = "
|select p1.ID_REF, p1.N_LEFT,
|p1.N_RIGHT,
//p1.N_LEVEL,
| p1.DISPLAY_NAME
| from subdiv_ref p1 order by N_LEFT";
4. kindly73 13 04.12.18 10:22 Сейчас в теме
(2) Методом исключения можно попробовать закомментить в коде ОбновитьПодразделенияНаСервере();
5. dimaster 39 04.12.18 10:55 Сейчас в теме
все, разобрался. ibexpert показал, что этого поля нет вовсе.
Оставьте свое сообщение