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

02.08.19

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

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

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

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

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Для самой простой и быстро настраиваемой отладки кода предлагаю воспользоваться методом "Выполнить" и 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С:Предприятие 8 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Управленческий учет Платные (руб)

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

3000 руб.

22.04.2019    111842    675    203    

356

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

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

18500 руб.

30.05.2023    5287    6    0    

6

Мобильная разработка Мессенджеры и боты 1С:Предприятие 8 Платные (руб)

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

13200 руб.

27.12.2021    48906    127    173    

225

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

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

3000 руб.

03.12.2018    66250    222    106    

184

Мобильная разработка 1С:Предприятие 8 1С:Управление торговлей 11 Оптовая торговля, дистрибуция, логистика Россия Платные (руб)

"МРМ:Маркировка" для работы с конфигурациями 1С - готовое решение, позволяющее быстро автоматизировать работу учетной системы 1С на ордерном и безордерном складе при работе как с товарами, подлежащими обязательной маркировке, так и с товарами, учет которых построен на базе линейных штрих-кодов. Решение поддерживает большинство распространенных складских документов, необходимых для работы кладовщику на терминале сбора данных. Для начинающих пользователей имеется подробная инструкция по работе с приложением в разрезе видов документов.

15000 руб.

24.06.2025    1638    1    0    

2

Мобильная разработка Программист 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х Абонемент ($m)

Товары (либо другие учетные объекты) могут быть промаркированы штрихкодами либо быть без штрихкодов, но с число-буквенным обозначением (артикулом, VIN-номером и т.д.). И та, и другая ситуация не проблема для SimpleUI. Но что делать, если нет ни того, ни другого? Вообще никакой маркировки. Как можно максимально ускорить работу с таким объектами? В статье показываю новые фичи релиза и готовые для встраивания поисковые комбайны на все случаи жизни. Дополнение к основной статье https://infostart.ru/1c/tools/1153616/

1 стартмани

14.04.2025    2562    7    informa1555    0    

16

Мобильная разработка Программист 1С:Предприятие 8 Абонемент ($m)

В Simple появился еще один онлайн-режим, не через REST-API, а через веб-сокеты. Показываю, что это дает, ради чего было сделано. А также два чисто онлайновых примера с такими обработчиками еще и с использованием новой ActiveCV 2.0. Дополнение к основной статье https://infostart.ru/1c/tools/1153616/

1 стартмани

07.02.2025    5201    informa1555    3    

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