Преобразование относительного пути в абсолютный

21.09.17

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

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

Файлы

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

Наименование Скачано Купить файл
Преобразование относительного пути в абсолютный
.epf 6,79Kb ver:1.0.0
2 2 500 руб. Купить

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

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

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

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

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

Данная функция позволяет преобразовывать относительные пути в абсолютные с учетом различных форматов разделителей для систем (в Windows - '\', в Линукс, на маках и в различных протоколах tcp, http и др. - '/'.

Обработка будет работать только с 1С версии выше 8.3.6 (используется СтрРазделить).

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

абсолютный путь относительный путь URL преобразование

См. также

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

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

30.10.2025    4825    Abysswalker    11    

47

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

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

14.05.2025    9027    DeerCven    15    

63

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

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

21.05.2024    57915    dimanich70    85    

175

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

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

1 стартмани

18.03.2024    8138    7    John_d    13    

59

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

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

12.02.2024    72664    atdonya    31    

73

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

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

30.11.2023    10112    ke.92@mail.ru    17    

68
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. K_A_O 554 22.09.17 08:51 Сейчас в теме
Я не смотрел обработку, возможно там сделано красиво, но для данной задачи можно использовать функции 1С: НайтиФайлы / НачатьПоискФайлов
2. galich 203 22.09.17 10:54 Сейчас в теме
(1)
Я не смотрел обработку, возможно там сделано красиво, но для данной задачи можно использовать функции 1С: НайтиФайлы / НачатьПоискФайлов

Внутри папки - возможно, а если нужно сбоку?
Например, есть текущий адрес файла - "с:\docs\papka1\papka2\file.txt".
Как с помощью НайтиФайлы получить файл с относительным путем: "..\. .\papka3\another-file.txt"?
5. K_A_O 554 22.09.17 13:55 Сейчас в теме
(2)
Путь = "с:\docs\papka1\papka2";
Маска = "..\. .\papka3\another-file.txt";
М = НайтиФайлы(Путь, Маска, Ложь) ;
Для каждого Ф из М цикл
Сообщить(Ф.ПолноеИмя);
прервать;
КонецЦикла;
3. starik-2005 3268 22.09.17 10:58 Сейчас в теме
"Афтор, пеши есчё!" (с) )))

Для всех подряд вариантов вполне может подойти. Ценность стремится к нулю, ибо для файловой системы вполне прокатывают и такие пути:
Текст.Открыть("c:\xxx\yyy\zzz\. .\. .\bbb\ddd\text.txt");
Предположу, что для чтения файла с интернета такой подход тоже сработает.
4. galich 203 22.09.17 12:10 Сейчас в теме
"Не нравится тебе вождь, ну и не ешь его" (с)

После трех-четырех подобных лазаний по файлам и папкам пути до следующего файла будут вида
"с:\ааа\ббб\..\..\ссс\..\ддд\еее\..\..\ффф.xml".
Может система это и съест, но самим прочитать и понять, куда попал - невозможно будет.
Для отправки сообщения требуется регистрация/авторизация