Быстрое изменение кода без обновления конфы на мобильных приложениях 1С и не только

02.08.19

Разработка - Мобильная разработка

Отладка кода в андроид приложениях, кроме прямого пути через подключение отладки по http, возможна несколькими другими путями. Один из них мы и рассмотрим.

Скачать исходный код

Наименование Файл Версия Размер
Конфигурация для хранения кода с веб-сервисом (8.3.13.1690)
.cf 24,89Kb
0
.cf 24,89Kb Скачать

Для самой простой и быстро настраиваемой отладки кода предлагаю воспользоваться методом "Выполнить" и web-сервисом для размещения кода, который собственно будем выполнять. 

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

Создаем простейший web-сервис. Добавляем в него одну операцию "GetModuleText" с двумя переменными "module","proc" (Имена объектов примерные, вы можете использовать любые). В операции прописываем процедуру:

Функция GetModuleText(module, proc)
	Если module="" ИЛИ proc="" Тогда
		Возврат ":)";
	КонецЕсли;
	Запрос = Новый Запрос(
	"ВЫБРАТЬ
	|	ХранилищеКода.ТекстМодуля КАК ТекстМодуля
	|ИЗ
	|	Справочник.ХранилищеКода КАК ХранилищеКода
	|ГДЕ
	|	ХранилищеКода.Модуль = &Модуль
	|	И ХранилищеКода.Процедура = &Процедура");
	Запрос.УстановитьПараметр("Модуль",module);
	Запрос.УстановитьПараметр("Процедура",proc);
	Выборка = Запрос.Выполнить().Выбрать();
	Если Выборка.Следующий() Тогда
		ModuleText = Выборка.ТекстМодуля;
	Иначе
		ModuleText = Неопределено;
	КонецЕсли;
	Возврат ModuleText;
КонецФункции

И собственно все это дело публикуем на веб сервере.

 

В мобильном приложении для удобства подключения создаем WS-ссылку на web-сервис и вставляем процедуру получения этого кода:

Функция ПолучитьТекстПроцедуры(ИмяМодуля,ИмяПроцедуры) Экспорт
	
	ХранилищеКода = WSСсылки.CodeStorage.СоздатьWSПрокси("http://www.1с.ru","main","mainSoap",,,Новый ЗащищенноеСоединениеOpenSSL);
	ХранилищеКода.Пользователь = "User";
	ХранилищеКода.Пароль = "xххххххххххххх";
	ModuleText = ХранилищеКода.GetModuleText(ИмяМодуля,ИмяПроцедуры);
	
	Возврат ModuleText;
	
КонецФункции

И вызываем в процедурах и функциях которые хотим отладить:

Если Константы.ИспользоватьКодОтладки().Получить() Тогда
	ТекстМодуль = МодульОтладки.ПолучитьТекстПроцедуры("ОбщийКлиент","ОткрытьФайл");
	Выполнить(ТекстМодуль);
	Если НЕ ПустаяСтрока(ТекстМодуль) Тогда
		Возврат;
	КонецЕсли;
КонецЕсли;

В итоге при необходимости мы всегда можем этот код изменять налету, без необходимости пересобирать приложение. Кроме того, этот способ можно использовать не только для отладки, но и для работы (и не только с мобильным приложением), что бы оперативно обновлять код всех подключенных пользователей. Для работы в режиме офлайн достаточно добавить похожий справочник в мобильную конфигурацию и записывать в него код например при получении с сервера, или разово по нажатию кнопки. И если интернета нет, то просто получать и исполнять код, находящийся в локальном справочнике.

Проверено на платформе 8.3.13.1690.

См. также

"Штрихкод-информер" - мобильный ТСД и прайс-чекер в смартфоне

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

Сбор заказов, инвентаризация, проверка ценников, просмотр полной информации об остатках и ценах со смартфона Онлайн. Отправка данных со смартфона выполняется либо напрямую в открытую форму документа, отсканировав QR-код, либо в общую корзину учетной системы, не подходя к компьютеру. Кассир или оператор сможет просмотреть список присланных данных и загрузить в любую форму, поддерживающую работу с ТСД. Для работы с мобильным приложением требуется опубликовать HTTP-сервис из поставляемого расширения.

2880 руб.

03.12.2018    55221    139    102    

162

SALE! 25%

Что нам стоит бота построить? Нарисуем - будет жить! Графический конструктор телеграм-ботов/Telegram

Мобильная разработка Мессенджеры и боты Платформа 1С v8.3 Платные (руб)

Теперь создать telegram-бота - элементарно. Достаточно просто нарисовать блок-схему телеграм-бота, и он сразу заработает. Это возможно при использовании Графического конструктора телеграм-ботов. Это единственный конструктор ботов для telegram, чье качество и функционал подтверждены фирмой 1С, есть сертификат 1С:Совместимо. Расширение в интерактивном режиме, с помощью блок-схем, позволяет с минимальными трудозатратами создать телеграм-ботов в любой конфигурации, работающей на платформе «1С:Предприятие 8.3».

13200 9900 руб.

27.12.2021    33927    83    159    

178

"Мобильный ТСД" - инвентаризация и сбор штрихкодов для iOS и Android

Сканер штрих-кода Терминал сбора данных Мобильная разработка Монитор заказов Оптовая торговля Розничная торговля Ценообразование, анализ цен Платформа 1С v8.3 Мобильная платформа 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Управленческий учет Платные (руб)

Простой мобильный терминал сбора данных для смартфонов на iOS и Android, не требующий сложных настроек и установки дополнительных программ. Обмен между Вашей 1С и мобильным приложением осуществляется через облачный сервис и расширение конфигурации. Работает с конфигурациями УТ 11, ERP, КА2, Розница 2, Розница 3, УНФ 1.6, УНФ 3.0. Полнофункциональный демо-доступ для своей конфигурации можно запросить в настройках мобильного приложения - все необходимое придет на почту автоматически.

2000 руб.

22.04.2019    92542    522    186    

298

Магазин 15 - приемка товара по штрихкодам или инвентаризация в торговом зале

Логистика, склад и ТМЦ Мобильная разработка Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Розничная и сетевая торговля (FMCG) Россия Платные (руб)

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

12950 руб.

30.05.2023    3486    2    0    

4

Работа с графикой в браузере (SimpleWEB). Векторный редактор

Мобильная разработка WEB-интеграция Мобильная платформа Абонемент ($m)

В SimpleWEB добавились средства для работы с графикой и отслеживание событий мыши, в онлайн редактор https://seditor.ru:1555/ добавился «Векторный редактор» на этом API. Теперь можно нарисовать схемы складов на ПК, сделать карты (*.sug-файлы) для мобильной платформы SimpleUI, выводить данные из 1С в графическом виде. Таким образом, API для работы с векторными файлами теперь есть и в веб- и в мобильной платформе, а также средства для создания и редактирования векторных файлов есть тоже в обеих платформах.

1 стартмани

20.03.2024    1662    0    informa1555    1    

41

Зачем нам 1С:Элемент

Мобильная разработка Языки и среды Бесплатно (free)

Flutter может быть использован с 1С:Предприятием для разработки кроссплатформенных мобильных приложений, обеспечивая единый интерфейс и функциональность на устройствах под управлением iOS и Android. Это позволяет создавать приложения с высокой производительностью благодаря использованию собственного движка рендеринга Flutter. Интеграция Flutter с 1С:Предприятием позволяет создавать мобильные приложения любого уровня сложности, интегрировать их в корпоративные информационные системы, а также реализовывать бизнес-логику

19.03.2024    9896    ROk_dev    67    

41

JavaScript в Simple

Мобильная разработка Бесплатно (free)

В SimpleUI и SimpleWEB, наряду с обработчиками на python и онлайн (1С и т.д.) добавляется интерпретатор JavaScript. В андроид платформе он скорее играет на поле python, т.к. является оффлайновым решением для самостоятельной обработки и расширяет аудиторию разработчиков для разработки самостоятельных решений. Дополнение к основной статье https://infostart.ru/1c/tools/1153616/

12.02.2024    1706    informa1555    0    

25
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Xershi 1484 03.08.19 04:21 Сейчас в теме
Какой-то суррогат.
Для отладки без контекста мобильной платформы это не отладка. Как вы собрались геопозиционирование например отлаживать или работу мультимедиа?)
А вот идея выполнения прозвольного кода без пересборки приложение самое то.
2. avalakh 561 03.08.19 09:31 Сейчас в теме
Можно вывести значения с помощью метода "Сообщить" или "СообщениеПользователю". Согласен сложновато для каких то крупных проектов, но если нужно какие то мелочи протестить и поправить, то помогает быстро проверить сделанные изменения, перед тем как их вносить в конфигурацию
3. L0z4 37 03.08.19 16:11 Сейчас в теме
это хорошо проходит и используется на системах которые должны работать 24*7 и не всегда способны обновляться динамически.
А вот для мобильных приложений это использовать странно.
во-первых, это не отладка, а способ багфикса.
во-вторых, метод "выполнить" как я помню недоступен на iOS да и пересобрать приложение и отправить его пользователям это 5 минут.
4. avalakh 561 03.08.19 16:14 Сейчас в теме
(3) Возможно. Просто изначально реализовано было в рамках мобильного приложения, поэтому об этом написано в таком виде. Вариантов использования масса на самом деле
5. iliabvf 04.08.19 06:31 Сейчас в теме
Вот предложили бы вы сохраненние модулей в виде файлов, упорядоченных по какой-то логике, выполнение их в контексте мобильной платформы, возможность построчной отладки.
А так тут заголовок статьи по сути не соответствует решению.
Оставьте свое сообщение