Имя: Пароль:
1C
1С v8
1С и WIA - не работает команда wiaCommandDeleteAllItems
0 Dirk Diggler
 
18.07.18
15:50
В продолжении вот этой темы.
Автоматизация добавления фото к элементам справочника/документам

Наваял скриптик, установил Wiaaut.dll.



Device = Новый COMОбъект("WIA.DeviceManager");
Количество = Device.DeviceInfos.Count;
Для ин=1 По Количество Цикл
    //Сообщить(Device.DeviceInfos(ин).Type)
    Если Device.DeviceInfos(ин).Type = 2 Тогда // тип устройства (VideoDeviceType)
        dev = Device.DeviceInfos(ин).Connect();
        dev.ExecuteCommand("{E208C170-ACAD-11D2-A093-00C04F72DC3C}"); // Удаляем все итемы   wiaCommandDeleteAllItems
        dev.ExecuteCommand("{AF933CAC-ACAD-11D2-A093-00C04F72DC3C}"); // сделать снимок (wiaCommandTakePicture)
        Вспомогательный.Пауза(2000);
        Item = dev.Items.Item(dev.Items.Count);
        Image = Item.Transfer("{B96B3CAE-0728-11D3-9D7B-0000F81EF32E}"); // в формат JPG (wiaFormatJPEG)
        Image.SaveFile("Z:\2.jpg");
        Прервать;
    КонецЕсли;
КонецЦикла;


Так вот ругается на строку:
        dev.ExecuteCommand("{E208C170-ACAD-11D2-A093-00C04F72DC3C}"); // Удаляем все итемы   wiaCommandDeleteAllItems


Ошибка следующая:

Встроенный язык: Строка кода 7: Ошибка при вызове метода контекста (ExecuteCommand): Произошла исключительная ситуация: Не поддерживается


Константа верная, можно проверить.
https://docs.microsoft.com/ru-ru/previous-versions/windows/desktop/wiaaut/-wiaaut-consts-commandid

Если её закомментить, все работает. Как бы все-таки удалить итемы?
1 Dirk Diggler
 
18.07.18
16:05
Забыл сказать. ОС Win7 x64
2 Dirk Diggler
 
18.07.18
16:52
up
3 Garykom
 
гуру
18.07.18
16:57
Ты с веб-камеры хочешь картинки по команде из 1С получать?
4 Dirk Diggler
 
18.07.18
16:57
типа того
5 Garykom
 
гуру
18.07.18
16:58
Не страдай фигней, камеру в онлайн режим через mjpg-streamer и из 1С по http запросом получаешь сколько угодно раз.
6 Garykom
 
гуру
18.07.18
16:59
(5)+ Главный плюс камера может быть даже на другом компе и другой оси не win.
7 Dirk Diggler
 
18.07.18
17:00
(5) какую камеру? веб? у них разрешение недостаточно.
8 Dirk Diggler
 
18.07.18
17:01
я купил одну достаточно неплохую для тестов. и она вообще не тянет. плюс нужна вспышка и т.п.
9 Dirk Diggler
 
18.07.18
17:02
поэтому с фотоаппарата хочу получать. вот этот скрипт работает, у меня фотик снимает, текст читается. Но вот итемы походу придется руками удалять. Может просто скрипт запускать из 1С?
10 Garykom
 
гуру
18.07.18
17:07
(7) Веб-камеры с разным разрешением бывают, в т.ч. fullhd
https://technopoint.ru/product/b01b83423ff3526f/veb-kamera-logitech-hd-pro-c920-sale/

Для трансляции есть куча софта типа http://www.yawcam.com/download.php

С фотоаппарата надо сразу рассчитывать на приличные типа Canon EOS или Nikon, причем дешевые Nikon'ы не могут с компа управляться - покупайте подороже.

Когда то пытался решить похожую проблему для съемки ювелирки.
11 Garykom
 
гуру
18.07.18
17:09
(8) Насчет "вспышки" снимать что планируем, какие предметы и их размер?
12 Dirk Diggler
 
18.07.18
17:22
(10) у меня кажись как раз такая
(11) документы А4 и А3.
13 Dirk Diggler
 
18.07.18
17:23
причем это склад, там бывает холодно и сыро. я подключил coolpix 100, водозащищенный. снимает.
14 Garykom
 
гуру
18.07.18
17:51
(13) Nikon Coolpix AW100 ?

Я с Canon EOS через его SDK работал, вроде как у никона тоже такое есть
https://habr.com/post/226201/
15 Dirk Diggler
 
19.07.18
14:45
Да, его. Не хочется привязываться к sdk того или иного производителя, универсального варианта хочется.
16 Garykom
 
гуру
19.07.18
15:01
(15) Сказал же самый универсальный вариант это получать картинку (в 1С) по http от веб-сервера.

А как веб-сервер получит эту картинку с устройства уже не волнует, там может быть что угодно!

Не надо засовывать все в 1С, она для этого не предназначена, она для учетных программ а не работы с оборудованием на низком уровне.
17 oleg_km
 
19.07.18
15:24
(12) Для сканирования документов у нас просто стоит планшетный сканер и автоматом в нужный приходник все что нужно сканирует.
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс