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

02.08.19

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

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

Скачать файл

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

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

Для самой простой и быстро настраиваемой отладки кода предлагаю воспользоваться методом "Выполнить" и 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С v8.3 1С:Конвертация данных Платные (руб)

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

13200 руб.

27.12.2021    38193    108    161    

201

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

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

3000 руб.

03.12.2018    59288    192    103    

172

Сканер штрих-кода Терминал сбора данных Мобильная разработка Монитор заказов Оптовая торговля Розничная торговля Ценообразование, анализ цен Программист Пользователь Платформа 1С v8.3 Мобильная платформа 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. Полнофункциональный демо-доступ для своей конфигурации можно запросить в настройках мобильного приложения - все необходимое придет на почту автоматически.

2000 руб.

22.04.2019    97216    586    189    

321

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

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

3450 руб.

28.04.2023    9468    15    0    

9

Мобильная разработка Платформа 1С v8.3 Конфигурации 1cv8 Финансовые услуги, инвестиции Управленческий учет Платные (руб)

Мобильное приложение и конфигурация 1С для автоматической торговли на бирже через API Тинькофф банка. Достаточно задать настройки, нажать «Пуск», и робот сам торгует ежедневно.

7000 руб.

25.05.2022    4643    1    0    

6

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

Экспериментальный релиз и простенький скрипт к нему закрывает потребности в любых видах синхронизации между устройствами Simple и между Simple и бек-системами (например 1С). По сути – это очень простой python-скрипт, который можно запустить на доступной машине, сервере или VPS и он будет связывать клиентские устройства между собой и с 1С или другими бек-системами. В самой платформе появилось для этого множество доработок для поддержки стабильного постоянного соединения, докачки больших файлов и работе в фоне. Дополнение к основной статье https://infostart.ru/1c/tools/1153616/

1 стартмани

23.08.2024    1215    6    informa1555    1    

13

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

В этом релизе собрано много нового из области интерфейса, связи, хранения и важные новые способы управления. Дополнение к основной статье https://infostart.ru/1c/tools/1153616/

1 стартмани

25.06.2024    2604    29    informa1555    0    

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