gifts2017

Фиксация изображений с видеокамер (Devline Линия, Acumen, E-Castle) по заданному событию

Опубликовал Андрей Ричов (IS-Andrey) в раздел Администрирование - Сервисные утилиты

Пример использования консольной утилиты CamsCapture, для фотофиксации событий в 1С с камер видеонаблюдения.

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

Программа проста в использовании, не требует установки, запускается как консольное приложение с параметрами командной строки. Всего 6 параметров, они должны быть разделены пробелами:

1)ip адрес объекта видеонаблюдения, если Acumen, то ip без последней цифры (октета)

2)тип оборудования для Линия – linia, Линия6 – linia6, Acumen – ip, E-Castle – dvr

3)имя пользователя для доступа к объекту видеонаблюдения

4)пароль пользователя

5)номера камер и названия файлов, в которые будут сохраняться снимки. Для Линии и E-Castle нумерация камер идет с 0. Для Acumen вместо номера необходимо указать последнюю цифру ip адреса камеры (октет). Имя файла указывается в скобках. Номеров и названий, можно указать любое нужное количество, через запятую. Пример для Acumen: если ip камер 192.168.0.231, 192.168.0.232 и 192.168.0.233, то этот параметр будет: 231(fistcam.jpg),232(secondcam.jpg),233(thirdcam.jpg)

6)Путь, с указанием директории, куда будут сохранены файлы, локальный, либо сетевой. Если в пути есть пробелы, то его необходимо заключить в кавычки.

Пример использования в программе 1С, при записи документа «Реализация в розницу» фиксируем фото обстановки в магазине: 

Процедура СделатьСнимки()
            РасположениеЗапускаемогоФайла = """C:\work\CamsCapture.exe""";
            ОбщаяПапкаДляСнимков = """\\s-file\Capture\""";
            ИмяПользователя = "admin";
            Пароль = "pass";
            ИмяФайла1 = ЭтотОбъект.Номер + "_" + Формат(ТекущаяДата(), "ДФ=ддММгггг") + "_1.jpg";
            ИмяФайла2 = ЭтотОбъект.Номер + "_" + Формат(ТекущаяДата(), "ДФ=ддММгггг") + "_2.jpg";
            ИмяФайла3 = ЭтотОбъект.Номер + "_" + Формат(ТекущаяДата(), "ДФ=ддММгггг") + "_3.jpg";
            ИмяФайла4 = ЭтотОбъект.Номер + "_" + Формат(ТекущаяДата(), "ДФ=ддММгггг") + "_4.jpg";
            //Для Линии и Линии 6
            IPАдрес = "192.168.1.2";
            ТипОборудования = "linia6"; // или "linia"
            Камера1 = "0" + "(" + ИмяФайла1 + ")";
            Камера2 = "1" + "(" + ИмяФайла2 + ")";
            Камера3 = "2" + "(" + ИмяФайла3 + ")";
            Камера4 = "3" + "(" + ИмяФайла4 + ")";
            //Для камер Acumen
            IPАдрес = "192.168.2.";
            ТипОборудования = "ip";
            Камера1 = "230" + "(" + ИмяФайла1 + ")";
            Камера2 = "231" + "(" + ИмяФайла2 + ")";
            Камера3 = "232" + "(" + ИмяФайла3 + ")";
            Камера4 = "233" + "(" + ИмяФайла4 + ")";
            //Для видеорегистраторов E-Castle
            IPАдрес = "192.168.3.50";
            ТипОборудования = "dvr";
            Камера1 = "0" + "(" + ИмяФайла1 + ")";
            Камера2 = "1" + "(" + ИмяФайла2 + ")";
            Камера3 = "2" + "(" + ИмяФайла3 + ")";
            Камера4 = "3" + "(" + ИмяФайла4 + ")";
            //Запускаем CamsCapture
            Команда = РасположениеЗапускаемогоФайла + " " + IPАдрес + " " + ТипОборудования + " " + ИмяПользователя + " " + Пароль + " " + Камера1 + "," + Камера2 + "," + Камера3 + "," + Камера4 + " " + ОбщаяПапкаДляСнимков;
            КомандаСистемы = Новый ComОбъект("wscript.shell");
            КомандаСистемы.Run("cmd /c " + """" + Команда + """", 0);
            //Заполняем реквизиты
            СнимокКамера1 = СтрЗаменить(ОбщаяПапкаДляСнимков, """", "") + ИмяФайла1;
            СнимокКамера2 = СтрЗаменить(ОбщаяПапкаДляСнимков, """", "") + ИмяФайла2;
            СнимокКамера3 = СтрЗаменить(ОбщаяПапкаДляСнимков, """", "") + ИмяФайла3;
            СнимокКамера4 = СтрЗаменить(ОбщаяПапкаДляСнимков, """", "") + ИмяФайла4;
КонецПроцедуры
В форме списка, при выборе документа смотрим снимки:
Процедура СписокПриАктивизацииСтроки(Элемент)
            Строка = ЭлементыФормы.Список.ТекущаяСтрока;
            Если Строка = Неопределено ИЛИ Строка.СнимокКамера1 = "" Тогда
                        Возврат;
            КонецЕсли;
            ФайлСнимокКамера1 = Новый ДвоичныеДанные(Строка.СнимокКамера1);
            ФайлСнимокКамера2 = Новый ДвоичныеДанные(Строка.СнимокКамера2);
            ФайлСнимокКамера3 = Новый ДвоичныеДанные(Строка.СнимокКамера3);
            ФайлСнимокКамера4 = Новый ДвоичныеДанные(Строка.СнимокКамера4);
            СнимокКамера1 = Новый Картинка(ФайлСнимокКамера1);
            СнимокКамера2 = Новый Картинка(ФайлСнимокКамера2);
            СнимокКамера3 = Новый Картинка(ФайлСнимокКамера3);
            СнимокКамера4 = Новый Картинка(ФайлСнимокКамера4);
            Элементыформы.ПолеКартинки1.Картинка = СнимокКамера1;
            Элементыформы.ПолеКартинки2.Картинка = СнимокКамера2;
            Элементыформы.ПолеКартинки3.Картинка = СнимокКамера3;
            Элементыформы.ПолеКартинки4.Картинка = СнимокКамера4;
КонецПроцедуры   

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

См. также

Подписаться Добавить вознаграждение
В этой теме еще нет сообщений.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа