Загрузка в 1С данных с проходной из СКУД на базе firebird 2.0

08.09.16

Разработка - Разработка внешних компонент

Загрузка в 1С 8.3 данных о проходах сотрудников через турникет

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
1C_Firebird
.7z 339,19Kb
21 2 500 руб. Купить
Отчет по посещениям на СКД
.erf 8,15Kb
14 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Система контроля доступа - это автономная система, которая хранит свои данные на firebird. Система позволяет строить отчеты по различным разрезам, однако на каждое рабочее место оператора нужно покупать лицензию. Поэтому решено было для пользователей, которым нужны отчеты, перегружать эти данные в 1С, а для ресепшена оставить текущую систему.

В лицензии на ПО была строчка "ОГРАНИЧЕНИЕ НА ВСКРЫТИЕ ТЕХНОЛОГИИ И ДЕКОМПИЛЯЦИЮ.  Запрещается вскрывать технологию или декомпилировать программу. ". Однако программу мы не вскрывали, просто подключились к кроссплатформенной системе управления базами данных firebird.

Добавляем в конфигурацию справочник "Посещения" и в нем фиксируем сотрудника, дату прихода и флаг "Вход" или "Выход".

Далее периодически подгружаем новые данные. Делается это через компоненту COMОбъект("AutoIBX.Application"); Компонента позволяет подключаться к файлу *.FDB или *.gdb и далее читать данные.

Функция ПодключитьИБ(ИБ)
    ЮзерДБ="SYSDBA";
	ПарольДБ="masterkey";
	ИмяДБ="E:\Kronwerk\Temp\IBNET.FDB";
	
	ИБ.SetUser(СокрЛП(ЮзерДБ),СокрЛП(ПарольДБ));

	Рез=ИБ.Connect(ИмяДБ);
		
	Если Рез>0 тогда
		Сообщить("Соединение установлено!");
		Возврат 1;
	КонецЕсли;
	Возврат Рез;
КонецФункции

Подключаться можно не только к локальной базе на текущем компьютере, но также по сети.

имя-сервера:буква-диска:\путь-к-файлу\имя-файла-базы-данных

Для чтения данных используем следующий запрос:

Зап="select 
		|	events.EV_ID, 
		|	events.ev_date, 
		|	events.ev_objid, 
		|	owner.OW_MIDDLENAME, 
		|	owner.ow_firstname, 
		|	owner.ow_lastname, 
		|	owner.ow_jd_id
		|from 
		|	events, owner 
		|where 
		|	events.ev_ow_id = owner.ow_id 
		|	and EV_ID > " + MaxCode();
	Рез=СоединениеИБ.ExecQuery("",Зап);
    Рез_= СоединениеИБ.FirstRecord();

	Пока Рез_>0 цикл 
		ИД			= СоединениеИБ.GetItem("EV_ID");
		ДатаСобытия = СоединениеИБ.GetItem("Ev_date");
		КодВхода    = СоединениеИБ.GetItem("ev_objid");	
		Имя		    = СоединениеИБ.GetItem("ow_firstname");	
		Фамилия     = СоединениеИБ.GetItem("ow_lastname");	
        Рез_=СоединениеИБ.NextRecord();
     КонецЦикла

Загружаем только новые данные, для этого функция MaxCode() возращает номер последней записанной строки.

Код элемента справочника Посещения равен ID в таблице посещений на firebird.

Отчет к справочнику "Посещения" строим на основе СКД. Можно вывести приход и уход с подстветкой, если сотрудник опоздал. Также можно вывести, сколько раз сотрудник бегал "покурить" на улицу.

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

В архиве внешняя компонента AutoIBX.dll для подключения к базе firebird 2.0 и обработка 1С 8.3 для загрузки данных в 1С из firebird.

Просмотреть файл *.gdb можно с помощью http://sqlly.com/ 

Система управления базами данных firebird 2.0 http://firebirdsql.org/en/firebird-2-0/

Вступайте в нашу телеграмм-группу Инфостарт

обработка загрузки в 8.3 из firebird 2.0

См. также

Внешние источники данных Программист Бизнес-аналитик Пользователь 1С:Предприятие 8 1C:Бухгалтерия Узбекистан Беларусь Кыргызстан Молдова Россия Казахстан Платные (руб)

Готовое решение для автоматической выгрузки данных из 1С 8.3 в базу данных ClickHouse, PostgreSQL или Microsoft SQL для работы с данными 1С в BI-системах. «Экстрактор данных 1С в BI» работает со всеми типовыми и нестандартными конфигурациями 1С 8.3 и упрощает работу бизнес-аналитиков. Благодаря этому решению, специалистам не требуется быть программистами, чтобы легко получать данные из 1С в вашей BI-системе.

28500 руб.

15.11.2022    29495    36    49    

44

Внешние источники данных Программист Бизнес-аналитик 1С:Предприятие 8 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Розница 3.0 Платные (руб)

Обработка для выгрузки данных из подготовленных СКД в фоновом режиме в базу ClickHouseDB, PostgreSQL, MySQL, в шину данных с поддержкой REST API (CSV, JSON. SQL), в локальные файлы (CSV, JSON, XLS, XLSX) или в Google Sheets. Это дополнительная подключаемая обработка.

18000 руб.

21.08.2024    7089    18    4    

15

Внешние источники данных Пользователь 1С:Предприятие 8 1C:Бухгалтерия 1С:Розница 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 Платные (руб)

Быстро и легко. Выгрузка всех элементов и групп номенклатуры (с их иерархией), кроме помеченных на удаление. Без использования COM-объектов.

4880 руб.

16.08.2023    3334    7    8    

9

Оптовая торговля Розничная торговля Внешние источники данных Прайсы 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Управленческий учет Платные (руб)

Хотите, чтобы остатки и цены товаров в вашей базе всегда были актуальными без лишних усилий? Теперь это возможно - автоматизируйте процесс загрузки и обновления данных о номенклатуре от ваших поставщиков или конкурентов. Как это работает? Вы сами настраиваете правила и расписание для каждого поставщика, чтобы обновление информации из произвольных форматов прайс-листов происходило автоматически.

15250 руб.

15.05.2024    3604    6    1    

7

Внешние источники данных Мастера заполнения Бизнес-аналитик Бухгалтер Пользователь 1С:Предприятие 8 1С:Бухгалтерия государственного учреждения 1С:Бухгалтерия 3.0 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 11 1С:Розница 3.0 1С:Документооборот Россия Платные (руб)

Решение позволяет по ИНН производить проверку контрагентов, получая сведения: видов деятельности, данных ЕГРЮЛ, связанных организаций, отчетности, налогов, финансовый анализ, а также в один клик заполнить карточки справочников контрагентов/партнеров по ИНН в программе 1С по данным государственных реестров.

6000 руб.

12.08.2025    2323    8    20    

9

Розничная торговля Внешние источники данных Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С:Предприятие 8 1С:Бухгалтерия 3.0 Фармацевтика, аптеки Россия Бухгалтерский учет Платные (руб)

Внешняя обработка загрузки данных из файла-выгрузки, сформированного в программе F3 TAIL версии 3.4 (и выше) или еФарма версии 2.1, в базу конфигурации 1С: Бухгалтерия предприятия 8, ред. 3.0 (Базовая, ПРОФ, КОРП, ФРЕШ (тонкий клиент)).

17080 руб.

19.12.2016    52477    111    107    

78
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Diego_Iv 36 08.09.16 16:36 Сейчас в теме
С какой целью "Посещения" сделаны справочником???
Логичнее - регистр сведений.
2. zzhiraf 8 08.09.16 17:16 Сейчас в теме
Регистр сведений - логичнее сделать, и он быстрее работает. Обработка работает с 2013 года, тогда казалось что справочник лучше подходит для этих задач. Сейчас уже неохота переделывать. Загрузка месяца данных занимает около минуты.
3. DrAku1a 1789 15.09.16 03:30 Сейчас в теме
Компонента своя? Работает на 64-битном сервере?
Пробовал свою делать ВК - но она только 32-битная, в итоге сделал программу, которая коннектится к FDB и сохраняет данные в виде XML-файла. Программа 32-битная, но нормально запускается из фонового задания. Медленно работает, но зато - стабильно!
5. zzhiraf 8 26.09.16 11:04 Сейчас в теме
К(3) DrAku1a,

Компонента самописная, писал прог. для проекта под 1С 7.7 для магазина розницы. Скорость работы довольно быстрая. Сейчас запускаю её на 64 win 10 для загрузки посещений - все работает.
4. Valet 56 16.09.16 08:48 Сейчас в теме
ODBC драйвера для FireBird/Interbase позволяют подключаться без компонент посредством виндового COM объекта ADODB. Есть версии и для x64.
6. ustinov_greendale 02.12.16 13:59 Сейчас в теме
Очень помогло при интеграции систем контроля доступа Кронверк, так что до сих пор актуально.
7. darkpsm 23.08.18 11:12 Сейчас в теме
Вот для 1с77 чтение из fdb
но должны быть установлены
Firebird-2.5.8.27089_0_Win32
и
Firebird_ODBC_2.0.5.156_Win32
Прикрепленные файлы:
1c77_Perco _fdb.ert
8. Stanislav1993 13.03.19 13:41 Сейчас в теме
Что нужно указать в параметре функции ПодключитьИБ()?
9. zzhiraf_ 80 13.03.19 17:45 Сейчас в теме
ИБ = Новый COMОбъект("AutoIBX.Application");

Сейчас я уже не использую эту компоненту. Переделал все на стандартный
СоединениеИБ = Новый COMОбъект("ADODB.Connection");
Проблема в компоненте была с кодировкой. Не мог выбирать CHARSET и русские буквы возвращались не читаемыми.


СоединениеИБ.ConnectionString = "DRIVER={Firebird/InterBase® driver};Dialect=3;CHARSET=NONE;DBNAME=C:\Kronwerk\RSTART.FDB;" + //
"UID=SYSDBA;" + // UID=SYSDBA;
"PWD=masterkey;"; // PWD=masterkey;

СоединениеИБ.ConnectionTimeOut = 1200;
СоединениеИБ.CursorLocation = 3;
Попытка
СоединениеИБ.Open(СоединениеИБ.ConnectionString);
Исключение
Сообщить("Невозможно установить соединение с Firebird:
| "+ОписаниеОшибки());
Возврат;
КонецПопытки;

Рез=СоединениеИБ.Execute(Зап);

Ном=0;
Пока Рез.EOF=0 цикл
ИД = Рез.Fields("ev_id").value;
КонецЦикла;
Для отправки сообщения требуется регистрация/авторизация