Универсальный способ чтения/записи файлов на любой мобильной платформе 8.3/8.5 - рецепт алхимика на примере текстовых файлов

26.01.26

Разработка - Универсальные функции

В статье рассмотрены основные процедуры для обхода ограничений по работе с файлами на 1С 8.3 старых версий, и показано как это объединить с поддержкой на новых версиях 1С 8.3/8.5. В статье приложена обработка, которая одинаково хорошо работает и на древних мобильных приложениях (8.3.5) и также на новых платформах.

Бесплатные

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

Узнавайте о новых бесплатных решениях в нашей телеграм-группе Инфостарт БЕСПЛАТНО

Наименование Скачано Бесплатно
Работа с файлами на мобильной платформе 8.3/8.5 - универсальный рецепт алхимика на примере работы с текстовыми файлами:
.epf 14,32Kb
3 Скачать бесплатно

В процессе перестройки совместимой консоли запросов выяснился очень неприятный факт: на старых платформах 8.3, а именно 8.3.7 эта консоль не хотела запускаться - не было файловых функций  - не поддерживалась функция НачатьПолучениеФайлаССервера (она появилась в платформе 8.3.15).  И в консоли для того, чтобы обеспечить работу в web-клиенте, достаточно было сделать дополнительную форму обработки и потом просто вызвать эту функцию вместе с формой при необходимости, то с мобильным приложением этот фокус не пройдёт...

Поэтому пришлось обернуть в препроцессор Web-клиента. Но потом выяснилось, что это не единственная проблема - диалога выбора файлов не было на платформе 8.3.7 в мобильном приложении.

В данной публикации я рассмотрю общий способ как объединить новые версии 1С, где уже работают нормальные системные диалоги и также заготовку для работы на старых версиях 1С. Однако, предварительно нужно создать аналог диалога для старых мобильных устройств, а потом уже рассмотреть вопрос об том, как их соединить.

Аналог Диалога для старых мобильных платформ 1С 8.3


Отдельно необходимо отметить, что если нужен файловый менеджер, то сейчас на infostart таких решений полно для обычных и управляемых форм, здесь рассматриваются все действия исключительно с помощью функций 1С без любых дополнений и излишеств:

1.    Пройтись по каталогам. 

2.    Выбрать или сохранить файл. 

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

Сам диалог выглядит таким образом (тест из режима УФ в конфигураторе).

Код этого диалога находится в прикрепленной обработке. Обработать полученные изменения можно уже на исходной форме. Открывать рекомендую с помощью ключа в событии ОписаниеОповещенияОЗакрытии. Например, для расширения файлов .q1c диалог выглядит таким образом:

Техника объединения с новыми мобильными платформами

Для того, чтобы на новых мобильных платформах можно было использовать системный диалог файлов, а не это или иное самописное решение, необходимо при открытии формы определить необходимые системные перечисления работы с файловым диалогом: 

    // Это вставить в ПередОткрытием!!!
	// но здесь и так сойдет!!! 
	Попытка
		Стр=Тип("ДиалогВыбораФайла");
	Исключение     
		Стр = Неопределено;
	КонецПопытки;
	
	//Ставим заглушку на обращение к системным 
	//перечислениям, обходим ограничения системы на системные перечисления 
	Если Стр = Неопределено Тогда 
		РежимДиалогаВыбораФайла = Неопределено;
	КонецЕсли;
	
	Если РежимДиалогаВыбораФайла = Неопределено Тогда  
		// Установка произвольного нужного значения, когда нет типа!!!
		ВыборФайлаОткрытие = "Открытие";
		ВыборФайлаСохранение = "Сохранение";                           
	иначе                            
		//Кэшируем системные перечисления
		ВыборФайлаОткрытие = РежимДиалогаВыбораФайла.Открытие; 
		ВыборФайлаСохранение = РежимДиалогаВыбораФайла.Сохранение;
	КонецЕсли;

И потом, когда будет вызов диалога реализовывать это объединение так: 


		Если ВыборФайлаОткрытие="Открытие" Тогда
			//
			//Костыль для старой Мобильной платформы и мобильного приложения!!! Использовать этот 
            // или любой другой файловый менеджер!!!
			//	
        Иначе 
            //Компьютерная 1С/новая мобильная платформа 1С с синтаксисом не
            // ломая старые мобильные платформы.
			МассивАргументов = новый Массив;
			МассивАргументов.Добавить(ВыборФайлаСохранение);
            ДиалогВыбора = новый("ДиалогВыбораФайла",МассивАргументов); 


        КонецЕсли;

 

Проверено на следующих конфигурациях и релизах:

  • 1С:Библиотека стандартных подсистем, редакция 3.1, релизы 3.1.11.392

Вступайте в нашу телеграмм-группу Инфостарт

ДиалогВыбораФайла мобильное приложение

См. также

Загрузка и выгрузка в Excel Универсальные функции Программист 1С:Предприятие 8 Россия Бесплатно (free)

Описанный ниже подход позволяет в три шага заполнять формулы в Excel файлы, вне зависимости от ОС сервера (MS Windows Server или Linux). Подход подразумевает отказ от работы с COM-объектом в пользу работы через "объектную модель документа" (DOM).

30.10.2025    4120    Abysswalker    10    

46

Универсальные функции Работа с интерфейсом Программист 1С:Предприятие 8 Бесплатно (free)

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

14.05.2025    7673    DeerCven    15    

61

Универсальные функции Программист 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

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

21.05.2024    52673    dimanich70    84    

174

Универсальные функции Программист 1С:Предприятие 8 1C:Бухгалтерия Абонемент ($m)

Задача: вставить картинку из буфера обмена на форму средствами платформы 1С.

1 стартмани

18.03.2024    7670    7    John_d    13    

59

Универсальные функции Программист Стажер 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

Пришлось помучиться с GUID-ами немного, решил поделиться опытом, мало ли кому пригодится.

12.02.2024    67139    atdonya    31    

72

Универсальные функции Программист 1С:Предприятие 8 Бесплатно (free)

На заключительных этапах, когда идет отладка или доработка интерфейса, необходимо много раз переоткрыть внешний объект. Вот один из способов автоматизации этого.

30.11.2023    9595    ke.92@mail.ru    17    

68
Для отправки сообщения требуется регистрация/авторизация