Реализация мобильного взаимодействия с устаревшими конфигурациями, такими как «Управление производственным предприятием 1.3» (УПП), является непростой, но выполнимой задачей. Основная сложность заключается в том, что УПП построена на «Обычных формах», в то время как мобильная платформа 1С работает исключительно с «Управляемыми формами». В этой статье мы подробно разберем, как начинающему специалисту пройти путь от настройки веб-сервера до создания работающего мобильного интерфейса для кладовщика.
Первым делом проанализируем ситуацию. У нас есть два принципиально разных пути. Рассмотрим их подробнее, чтобы выбрать оптимальный для задачи списания товаров.
Для задачи «один документ и кнопка печати» в УПП проще всего пойти по пути создания управляемых форм внутри основной базы и использования Мобильного клиента, так как это избавит нас от написания сложных механизмов синхронизации данных.
Чтобы мобильное устройство «увидело» вашу базу, ее нужно опубликовать на веб-сервере (Apache или IIS). Разберем типичные ошибки, с которыми сталкиваются новички.
Если при попытке публикации кнопки в конфигураторе неактивны, выясним причину. Чаще всего это происходит из-за того, что при установке платформы 1С не был выбран компонент «Модули расширения веб-сервера». Проанализируем алгоритм исправления:
При публикации в меню «Администрирование» — «Публикация на веб-сервере» важно правильно указать имя публикации. Например, если вы назвали публикацию pp831, то доступ к ней будет осуществляться по адресу http://[ваш_IP]/pp831.
Если вы получаете ошибку «Not Found», проверим файл default.vrd в каталоге публикации. Рассмотрим пример типового содержания этого файла для мобильного доступа:
<?xml version="1.0" encoding="UTF-8"?>
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
base="/pp831"
ib="Srvr="ServerName";Ref="BaseName";">
<ws>
<point name="MobileExchange"
alias="me.1cws"
enable="true"/>
</ws>
<httpServices>
<point name="MobileApp"
alias="mobile"
enable="true"/>
</httpServices>
</point>
Так как УПП использует обычные формы, нам необходимо создать «островок» управляемого приложения. Разберем, как подготовить документ для мобильного устройства:
Посмотрим на пример кода, который позволит автоматически подставлять склад при открытии формы на мобильном устройстве:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если ОбъектыСистемы.СистемаИнформации.ТипПлатформы() = ТипПлатформы.МобильнаяПлатформаAndroid Тогда
Объект.Склад = Справочники.Склады.НайтиПоНаименованию("Основной склад");
КонецЕсли;
КонецПроцедуры
Печать накладной с телефона — это отдельный вызов. Разберем три основных способа реализации этой задачи:
Способ А: Печать через сервер. Кладовщик нажимает кнопку в мобильном приложении, а документ распечатывается на обычном принтере, который стоит в офисе склада. Это самый простой программный метод:
&НаСервере
Процедура ПечатьНаСерверномПринтере(СсылкаНаДокумент)
ТабДок = Документы.СписаниеТоваров.ПолучитьПечатнуюФорму(СсылкаНаДокумент);
ТабДок.ИмяПринтера = "\\WarehouseServer\HP_LaserJet_400";
ТабДок.Напечатать(РежимИспользованияПринтера.Использовать);
КонецПроцедуры
Способ Б: Формирование PDF. Программа формирует печатную форму в формате PDF и открывает ее на телефоне. Кладовщик может отправить ее через мессенджер или на сетевой принтер самоcтоятельно.
Способ В: Bluetooth-печать. Требует использования специальных компонент для работы с мобильными термопринтерами. Подходит для работы «в полях».
Для кладовщика крайне важно быстро вводить товар. Выясним, как использовать камеру телефона в качестве сканера. В мобильной платформе 1С для этого предусмотрены специальные средства мультимедиа. Рассмотрим пример кода для вызова сканера:
&НаКлиенте
Процедура СканироватьШтрихкод(Команда)
#Если МобильноеПриложениеКлиент Тогда
СредстваМультимедиа.СканироватьШтрихКод(Новый ОписаниеОповещения("ПослеСканирования", ЭтаФорма));
#КонецЕсли
КонецПроцедуры
&НаКлиенте
Процедура ПослеСканирования(Результат, ДополнительныеПараметры) Экспорт
Если Результат <> Неопределено Тогда
Штрихкод = Результат.Значение;
// Здесь логика поиска товара по штрихкоду
КонецЕсли;
КонецПроцедуры
Мы проанализировали процесс подключения мобильного устройства к УПП 1.3 и выяснили, что основная работа заключается в адаптации интерфейса под Управляемые формы. Начинающему программисту рекомендуется сначала добиться стабильной работы базы через браузер на компьютере, затем через браузер на смартфоне, и только после этого переходить к использованию приложения «1С:Запуск» (мобильный клиент).
Помните, что Управление производственным предприятием — это тяжелая система. При публикации старайтесь максимально ограничивать состав метаданных, доступных мобильному клиенту, чтобы не замедлять работу устройства. Использование HTTP-сервисов вместо полной публикации базы данных является более профессиональным подходом, так как позволяет передавать только необходимые JSON-пакеты, что критично для складских помещений с плохим покрытием сети.