Получение файла базы данных 1С: мобильная платформа (android)

02.03.16

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

Как получить файл базы данных 1C: мобильная платформа с устройства Android без рутирования устройства.

Скачать файлы

Наименование Файл Версия Размер
1Cv8.cf
.cf 9,60Kb
29
.cf 0.1 9,60Kb 29 Скачать

Задача:

Была написана небольшая конфигурация для ведения простенького учёта на планшете (android). Смотрины и тестирование решили провести на эмуляторе (чтобы в случае неудовлетворительного результата не тратиться на планшет). Посмотрели, повносили данные и вроде как решили положительно. Купили планшет, и захотелось сохранить внесенные на эмуляторе данные (данных немного, но хотелось). Так как “поделка” находилась в ещё непонятном состоянии, никаких механизмов выгрузки реализовано не было. Пошарив “яндекси/или “гугл- выяснилось, что базы мобильной 1С есть ни что иное, как файлы 1Cv8.1CD, и находятся они тут:

\data\data\com.e1c.mobile\files\ … \xxxx-xxx …. xxxx\1Cv8.1CD

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


Проблема:

Заглянув “проводником по указанному выше пути.  ничего не обнаружим, и это понятно - нужен “root”. Рутирование устройства android - не вариант.


Решение:

Углубленно в особенности системы безопасности android вдаваться не будем, но отметим, что само приложение имеет доступы к файлам в “своей папке”, а 1С даже в мобильном варианте “умеет” вполне себе неплохо работать с файлами. Поэтому почему бы не написать конфигурацию, которая будет работать с файлами других конфигураций.

Создаём конфигурацию для мобильного приложения, создаем общую форму, размещаем на форме поле ввода для указания "папки обмена" и список значений для вывода найденных баз:

&НаКлиенте
Процедура ОбновитьСписокБаз()
	
	СписокБаз.Очистить();

	МасП = НайтиФайлы(
		"/data/data/com.e1c.mobile/files/", 
		"*.1CD", 
		Истина	
	);
	
	Для каждого СтрМ Из МасП Цикл		
		СписокБаз.Добавить(СтрМ.ПолноеИмя);							
	КонецЦикла;	

КонецПроцедуры

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	ПутьКПапке = "/sdcard/1cbackup"
КонецПроцедуры

&НаКлиенте
Процедура ПриОткрытии(Отказ)	
	ОбновитьСписокБаз();    	
КонецПроцедуры

Создадим команду "Забрать базу" и "Восстановить базу"

&НаКлиенте
Процедура ЗабратьБазу(Команда)
	
	Попытка
	
		КопироватьФайл(
			Элементы.СписокБаз.ТекущиеДанные.Значение,
			ПутьКПапке + "/1Cv8.1CD"
		);
			
	Исключение
		Сообщить("Ошибка копирования базы (" + ОписаниеОшибки()+")");		
	КонецПопытки;
			
КонецПроцедуры
&НаКлиенте
Процедура ВостановитьБазу(Команда)
	
	Если Вопрос("Востановить базу ?",РежимДиалогаВопрос.ДаНет) <> КодВозвратаДиалога.Да Тогда
		Возврат;	
	КонецЕсли; 
	
	Попытка
	
		КопироватьФайл(
			ПутьКПапке + "/1Cv8.1CD",
			Элементы.СписокБаз.ТекущиеДанные.Значение
		);
			
	Исключение
		Сообщить("Ошибка Востановления базы (" + ОписаниеОшибки()+")");		
	КонецПопытки;
	
КонецПроцедуры

Публикуем конфигурацию и добавляем приложение в 1С

 

Файл базы мобильная платформа (android)

См. также

INFOSTART TECH EVENT 2023, 11-13 октября, Санкт-Петербург

Инструментарий разработчика Мобильная разработка DevOps и автоматизация разработки Администрирование СУБД Мероприятия Россия Платные (руб)

XIII конференция по управлению и технологиям автоматизации учета на платформе 1С:Предприятие, которая пройдет в Санкт-Петербурге и соберет 1500 участников из разных регионов России и мира.

5100 руб.

09.12.2022    30068    5    0    

425

Базовый курс по разработке мобильных 1C-приложений для Android-устройств. С 31 июля по 6 сентября 2023 г.

1С-программирование Мобильная разработка Платные (руб)

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

1500 руб.

08.06.2023    5451    37    0    

42

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

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

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

2880 руб.

03.12.2018    51410    113    99    

141

"Мобильный ТСД" - инвентаризация и сбор штрихкодов для 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    87869    445    185    

269

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

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

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

13200 руб.

27.12.2021    28612    71    140    

159

Склад 15 - программа для подключения ТСД к 1С

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

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

3450 руб.

28.04.2023    6857    13    0    

4

Мобильная торговля для Android

Розничная торговля WEB-интеграция Мобильная разработка Мобильная платформа Управленческий учет Платные (руб)

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

4800 руб.

19.02.2008    41080    22    24    

39
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. WKBAPKA 214 09.03.16 10:26 Сейчас в теме
гы, хитро придумано :)))
cleaner_it; +1 Ответить
2. Xershi 1402 05.07.16 09:24 Сейчас в теме
Я в своей конфигурации написал обмен и такое боловство мне даже не нужно было. Порекомендую статью горе-кодерам без обмена.
3. Pabio 27.02.17 10:30 Сейчас в теме
Скопировать базу с планшета и перенести ее на стационарный компьютер получается, но потом она не открывается (даже конфигуратором). У вас получилось?
4. a45 87 27.02.17 10:48 Сейчас в теме
(3) задачи такой не было, но где-то как-то мельком слышал (читал) что там формат немного различается .. и вроде бы какие-то значения изменяют и база работает на компьютере.
5. flyer 230 28.02.17 22:41 Сейчас в теме
может попробуете архив базы сделать в 8.3.9 это реализовали и потом в настольной версии его подгрузить. сам не пробовал но может попробуете и нам напишите.
6. Pabio 01.03.17 15:41 Сейчас в теме
Поставил 8.3.9.79 и выполнил команду "Создать резервную копию". По сути, данная команда копирует в указанную папку тот же файл 1Cv8.1CD. Проблема осталась, у меня это при попытки войти в конфигуратор - "ошибка формата потока", но вылечить на стационарном компьютере стандартными действиями (утилитой ChDBFl.exe) я не смог.
7. silver_a 02.03.17 07:53 Сейчас в теме
попробуй сделать выгрузку базы в xml в мобильном приложении
8. Pabio 15.03.17 10:29 Сейчас в теме
У меня не получилось, а у вас? Выполнил команду "Создать резервную копию" на мобильном приложении. Сформированные данные перенес на стационарный компьютер. Далее на нем создал чистую конфигурацию и выполнил команду "Конфигурация- Загрузить конфигурацию из файлов". Результат - сообщение " Не удалось определить формат загружаемой конфигурации. Возможно содержимое каталога ..... не является корректной XML схемой.
9. a45 87 15.03.17 13:10 Сейчас в теме
(8)
Далее на нем создал чистую конфигурацию и выполнил команду "Конфигурация- Загрузить конфигурацию из файлов". Результат - сообщение " Не удал


вы с андроида скопировали 1cv8.1cd - это файл базы, для загрузки конфигурации нужен xxx.cf файл, а его можно получить только из "нормальной" функционирующей базы.

копать я думаю нужно в сторону изменения формата файла 1cv8.1cd (изменения каких то байтов - которые отвечают за тип БД).
10. Pabio 16.03.17 11:20 Сейчас в теме
(9)
Да, там был скопированный файл 1cv8.1cd, но в этот раз (командой Конфигурация- Загрузить конфигурацию из файлОВ...) была идея "распознать" файл 1cema.xml. Ведь по сути, это и есть конфигурация.
Можно чуть подробнее про " изменения формата файла 1cv8.1cd (изменения каких то байтов - которые отвечают за тип БД)." - с чего начать?
11. a45 87 16.03.17 12:27 Сейчас в теме
(10)
Можно чуть подробнее про " изменения формата файла 1cv8.1cd (изменения каких то байтов - которые отвечают за тип БД)." - с чего начать?


самому интересно ... я где-то когда-то на каких-то форумах встречал ... точно не могу сказать .. там кто-то писал что файлы 1cv8.1cd "нормальной" файловой базы и 1cv8.1cd мобильной различаются каким-то байтом - и из за этого не открывается база скопированная с мобильного ...

про достоверность этой информации не могу ни чего сказать.
12. inf012 17.04.17 11:21 Сейчас в теме
самому интересно ... я где-то когда-то на каких-то форумах встречал ... точно не могу сказать .. там кто-то писал что файлы 1cv8.1cd "нормальной" файловой базы и 1cv8.1cd мобильной различаются каким-то байтом - и из за этого не открывается база скопированная с мобильного ...
про достоверность этой информации не могу ни чего сказать.


Интересно.
Получается, мобильная разработка защищена также слабо, как и для ПК.
То есть, при желании, просто устанавливаем любое приложение, написанное на 1с МП себе на телефон, забираем базу и вуаля-магия, смотрим что она собой представляет в конфигураторе?
так что-ли?
Просто тоже делаю простенькое МП и интересен вопрос защиты?
13. vano-ekt 122 28.10.17 20:30 Сейчас в теме
Администрирование - Резервное копирование
14. agent00mouse 248 29.08.18 11:40 Сейчас в теме
А мне интересен вопрос восстановления. убитой случайно конфигурации на PC. Но судя на результаты Яндексения/Гугления, пока вопрос остаётся открытым.
15. angtar 6 30.11.18 16:10 Сейчас в теме
почему при загрузке конфигурации на планшет пишет: "Не правильный формат конфигурации"?
на планшете версия 8,3,70
на РС - 8.3.11.2867, в конфигурации режим совместимости 8.3.6
16. skeptik2105 26.09.19 09:28 Сейчас в теме
Поиск .1CD файлов не удобен, если на устройстве несколько баз. По идентификатору в адресе сложно найти нужную базу
В каталоге каждой базы находится файл base.inf.В этом файле хранится имя базы. Пример содержимого файла:

{3,"/storage/emulated/0/Android/data/com.e1c.mobile/files/backup/","Мое мобильное приложение",0,3,2,637050055919700}

Пример кода для получения списка баз с наименованием:
    НайденныеФайлыБаз = НайтиФайлы(
        "/data/data/com.e1c.mobile/files/", 
        "base.inf", 
        Истина    
    );
    
    Для каждого ФайлБазы Из НайденныеФайлыБаз Цикл        
       
        СтрокаБазы = СписокБаз.Добавить();
        СтрокаБазы.Каталог = ФайлБазы.Путь; 
        
        ЧтениеТекста = Новый ЧтениеТекста(ФайлБазы.ПолноеИмя);
		Стр = ЧтениеТекста.ПрочитатьСтроку();
		Если Стр <> Неопределено Тогда
    		МассивПараметров = РазложитьСтрокуВМассивПодстрок(Стр);
    		Если МассивПараметров.Количество() >= 2 Тогда
    			СтрокаБазы.Имя = МассивПараметров[2]; 	
    		КонецЕсли;
		КонецЕсли;
		
	КонецЦикла;

Показать
17. int_plus 21.02.22 09:41 Сейчас в теме
Вынул 1Cv8.CD из телефона через бэкап. Открыл в конфигураторе. Ошибок не выдала. Мобильная платформа 8.3.15.62. Открывал на компе через 8.3.20.1674
18. int_plus 21.02.22 11:12 Сейчас в теме
Только все модули конфигурации пустые. Без кода.
19. 7OH 69 08.09.22 12:46 Сейчас в теме
(18) в конфигураторе да
v8unpack уже даёт надежду - по крайней мере упоминания функций в модулях находит, осталось разобрать полученное
20. ska82 12.09.22 20:09 Сейчас в теме
если открыть 1cd через tool1cd и посмотреть таблицу config от мобильной версии и от стационарной, видны различия. например в стационарной версии обработка имеет две записи (одна уин, вторая уин+".0"), а в мобильной четыре записи (уин, уин+".0",уин+".0_1", уин+".0_3"). в записи уин описание, в записи уин+".0" форма и код формы, в уин+".0_1" и уин+".0_3" что-то не известное.
если взять записи относящиеся к общему модулю то в мобильной версии есть только две записи уин и уин+".0_3". поэтому когда открываем в стационарной файл от мобильной модули пустые (нет записи уин+".0"). а вот как разобрать содержимое записей уин+".0_1" и уин+".0_3" вопрос интересный. в hex редакторе начало во всех записях (42DA 0343 6D64). на самом деле нет не только общих модулей.


прикрепил содержимое поля binarydata записи от общей команды "Синхронизация"
Прикрепленные файлы:
Синхронизация
21. user1214212 16.11.22 13:54 Сейчас в теме
Подскажите пожалуйста, как вы добавили команды в свайп по строке?
Оставьте свое сообщение