Автоматизация · 11 мин
Как сделать фото в 1С:Предприятие
Как сделать фото в 1С:Предприятие: встроенные средства мобильного клиента, внешние компоненты для веб-камеры, прикрепление файлов и типовые ошибки при настройке.
Сделать фото в 1С:Предприятие можно несколькими способами: через мобильный клиент с камерой смартфона, через внешнюю компоненту работы с веб-камерой на компьютере, через сканер документов либо простым прикреплением готового файла изображения к объекту. Выбор зависит от того, какая у вас платформа (обычное или управляемое приложение, тонкий клиент, мобильная платформа), какая конфигурация и где именно должно храниться фото — в базе или в томах на диске.
В типовых конфигурациях («Управление торговлей», «ERP», «Зарплата и управление персоналом», «Бухгалтерия предприятия») уже есть механизм присоединенных файлов, который принимает изображения. Задача сводится к тому, чтобы получить сам снимок: с камеры устройства или из файла. В самописных решениях получение фото программируется отдельно.
Ниже разобраны рабочие сценарии: от простого прикрепления файла до фотографирования сотрудников для пропусков и съёмки товара с мобильного устройства. Для каждого варианта указаны условия, ограничения и типичные ошибки.
Какие способы съёмки фото существуют в 1С
Платформа 1С:Предприятие не содержит универсальной кнопки «сфотографировать» для десктопного клиента, но предоставляет несколько механизмов, из которых складывается решение. Первый — объект «СредстваМультимедиа» в мобильной платформе и мобильном клиенте: он открывает камеру устройства и возвращает снимок в виде двоичных данных. Второй — внешние компоненты (Native API или COM), которые работают с веб-камерой компьютера. Третий — диалог выбора файла, когда фото делается любой другой программой, а в 1С только загружается.
Отдельный вариант — работа со сканером через интерфейс TWAIN/WIA: он подходит для «фотографирования» документов, когда качество скана важнее оперативности. Ещё один обходной путь — снимок экрана или фото с камеры видеонаблюдения, сохраняемые в папку, которую 1С опрашивает по расписанию.
Сравнение вариантов
Подходит для фото товара, мест хранения, результатов работ. Ограничение: нужен смартфон с установленным мобильным клиентом и опубликованная база.
Подходит для фото сотрудников на пропуска, клиентов в кассовой зоне. Ограничение: компоненту нужно найти или разработать, она привязана к разрядности платформы.
Самый простой путь без доработок. Ограничение: фото делается отдельной программой, что добавляет лишний шаг.
Подходит для документов. Ограничение: не работает в веб-клиенте и требует установленных драйверов.
Как прикрепить готовое фото к объекту без доработок
В типовых конфигурациях на Библиотеке стандартных подсистем (БСП) у большинства справочников и документов есть команда «Присоединенные файлы» или кнопка со скрепкой. Откройте карточку номенклатуры, сотрудника или документа, перейдите в присоединенные файлы и нажмите «Добавить из файла». Выберите изображение в формате JPG или PNG — оно сохранится в базе или в настроенном томе.
Для фото сотрудника в «Зарплате и управлении персоналом» есть отдельный механизм: в карточке физического лица предусмотрена область фотографии, куда изображение загружается напрямую. В «Управлении торговлей» основное изображение номенклатуры задаётся в карточке товара и затем выводится в печатных формах и прайсах.
- 1Откройте карточку объекта (товар, сотрудник, документ)
- 2Найдите команду «Присоединенные файлы» или область фотографии
- 3Нажмите «Добавить» и выберите файл изображения с диска
- 4Сохраните объект и проверьте, что фото отображается в карточке
- 5Если фото нужно в печатной форме — проверьте вывод в макете
Если команда присоединения файлов недоступна, проверьте права: роль «Добавление и изменение базовой нормативно-справочной информации» или профиль группы доступа может не включать работу с файлами. Также убедитесь, что в настройках программы не отключено хранение присоединенных файлов.
Как сделать фото через мобильный клиент 1С
Мобильный клиент и мобильная платформа поддерживают объект «СредстваМультимедиа», который открывает штатную камеру смартфона. В типовых решениях для мобильных устройств (например, «1С:Заказы», мобильные клиенты торговых конфигураций) кнопка фотографирования часто уже встроена в карточку товара или задания.
В собственной конфигурации вызов камеры программируется так: вызывается метод СредстваМультимедиа.СделатьФотоснимок(), в который передаётся описание оповещения. После съёмки управление возвращается в обработчик с объектом «ДанныеМультимедиа», из которого получают двоичные данные снимка и сохраняют их в хранилище значения реквизита объекта.
&НаКлиенте
Процедура СделатьФото(Команда)
Оповещение = Новый ОписаниеОповещения("ПослеСъемки", ЭтотОбъект);
СредстваМультимедиа.СделатьФотоснимок(Оповещение);
КонецПроцедуры
&НаКлиенте
Процедура ПослеСъемки(Данные, Параметры) Экспорт
Если Данные = Неопределено Тогда Возврат; КонецЕсли;
АдресВХранилище = ПоместитьВоВременноеХранилище(Данные.ПолучитьДвоичныеДанные());
СохранитьФотоНаСервере(АдресВХранилище);
КонецПроцедурыВажно учитывать, что снимок с камеры смартфона может весить несколько мегабайт. Перед сохранением в базу фото разумно сжать: либо настройками камеры устройства, либо обработкой на сервере. Иначе база начнёт быстро расти, а синхронизация мобильных клиентов — замедляться.
Как сделать фото с веб-камеры на компьютере
Для стационарных рабочих мест (оформление пропусков, касса, приёмка) применяют внешние компоненты, реализующие захват видео с веб-камеры. Такие компоненты подключаются через механизм «ПодключитьВнешнююКомпоненту» и предоставляют методы вроде «ПолучитьСнимок», возвращающие картинку в двоичных данных или в файле.
Готовые компоненты распространяются как коммерческие продукты и как открытые разработки на профильных ресурсах. Перед внедрением проверьте разрядность компоненты (она должна совпадать с разрядностью клиента 1С), поддержку вашей версии платформы и наличие версии под нужную операционную систему. Для работы в веб-клиенте компонента должна быть упакована в zip-архив манифестом и установлена в браузере пользователя.
Типовая схема внедрения выглядит так: компонента загружается в базу как макет двоичных данных, при открытии формы подключается на клиенте, на форме размещается поле для предпросмотра и кнопка «Сфотографировать». Полученный снимок передаётся на сервер через временное хранилище и записывается в реквизит объекта с типом «ХранилищеЗначения».
Где хранить фото: в базе или в томах на диске
Платформа поддерживает два режима хранения присоединенных файлов: в информационной базе и в томах на диске. Хранение в базе проще в администрировании и резервном копировании, но при большом количестве фотографий размер базы растёт, замедляется выгрузка и реструктуризация.
Хранение в томах выгрузит файлы в указанные каталоги на сервере, оставив в базе только ссылки. Это предпочтительный вариант, если планируются тысячи фотографий товаров или документов. Настройка выполняется в разделе администрирования, в параметрах работы с файлами: задаётся путь к тому и правила распределения файлов.
| Критерий | Хранение в базе | Хранение в томах |
|---|---|---|
| Настройка | Не требуется | Нужно указать пути томов |
| Резервное копирование | Фото входят в копию базы | Тома копируются отдельно |
| Рост базы | Быстрый при большом числе фото | Минимальный |
| Подходит для | Небольшого числа изображений | Массового фотографирования |
Перед массовым внедрением фотографирования установите ограничение на размер загружаемого файла и единый формат (обычно JPG с умеренным качеством). Это дешевле, чем потом сжимать тысячи снимков обработкой и чистить разросшуюся базу.
Как вывести фото в печатную форму или отчёт
Сохранённое изображение можно вывести в макет печатной формы. Для этого в макете табличного документа создаётся область с рисунком типа «Картинка», а в коде формирования печатной формы этому рисунку присваивается объект «Картинка», созданный из двоичных данных хранилища. В типовых конфигурациях пример есть в печати прайс-листов и карточек сотрудников.
Для отчётов на СКД изображения выводятся через пользовательские поля или через макеты оформления, но это заметно сложнее и оправдано редко. Чаще фото показывают в форме объекта, а в печать выводят только там, где это требуется по регламенту: пропуска, удостоверения, каталоги.
Как проверить результат
Изображение видно сразу после открытия формы
Пустая область или сообщение об отсутствии файла — проверьте путь тома и права
Рост соответствует суммарному размеру снимков
База выросла аномально — вероятно, фото не сжимаются
Изображение выводится без искажения пропорций
Растянутая или пустая картинка — проверьте тип рисунка в макете
Типичные ошибки и ограничения
Самая частая ошибка — попытка использовать СредстваМультимедиа в десктопном клиенте: метод доступен только на мобильных устройствах, и вызов на компьютере завершится ошибкой. Вторая типичная проблема — сохранение двоичных данных фото в реквизит строкового типа или без хранилища значения, из-за чего изображение теряется или повреждается.
Также встречаются: несовпадение разрядности внешней компоненты и платформы, отсутствие драйверов сканера на терминальном сервере, попытка писать файлы томов в каталог без прав на запись и игнорирование сжатия изображений. В веб-клиенте дополнительно действуют ограничения браузера на доступ к локальным устройствам.
Часто задаваемые вопросы
Можно ли сделать фото в веб-клиенте 1С через браузер?
Штатных средств платформы для этого нет. Вариант — внешняя компонента, упакованная для веб-клиента и установленная в браузер, либо отдельная веб-страница с доступом к камере через браузерный API, передающая снимок в 1С через HTTP-сервис. Оба пути требуют доработки.
Какой формат и размер фото лучше использовать?
Практичный выбор — JPG с умеренным сжатием и разрешением, достаточным для задачи: для карточки товара обычно хватает 800–1200 пикселей по большей стороне. PNG оправдан, когда нужна прозрачность или чёткий текст на изображении.
Как массово загрузить фото товаров, если файлы названы по артикулам?
Используйте обработку загрузки изображений: она читает файлы из папки, сопоставляет имя файла с артикулом или кодом номенклатуры и прикрепляет изображение к карточке. Подобные обработки есть в типовых конфигурациях и в виде готовых решений; перед запуском проверьте правило сопоставления на небольшой выборке.
Нужны ли права доступа для работы с фото сотрудников?
Да. Фотографии сотрудников относятся к персональным данным, поэтому доступ к ним следует ограничить на уровне ролей и профилей групп доступа, а также учесть требования законодательства о персональных данных: согласие, цели обработки, сроки хранения.
Почему фото, сделанное на смартфоне, не отображается в десктопной карточке?
Чаще всего снимок сохранился только локально на устройстве и не был передан на сервер — проверьте, что двоичные данные помещаются во временное хранилище и записываются в реквизит объекта на сервере. Реже причина в том, что форма десктопного клиента не содержит элемента для показа изображения.
Что важно запомнить
На мобильном устройстве фото делается через СредстваМультимедиа, на компьютере — через внешнюю компоненту для веб-камеры или прикрепление готового файла. Храните снимки в хранилище значения или томах, сжимайте изображения и проверяйте права доступа. Не устанавливайте компоненты из непроверенных источников и учитывайте требования к персональным данным.