Чтение конфигураций 1С

11.02.26

Разработка - Механизмы платформы 1С

Описание форматов хранения объектов метаданных 1С.

Первооткрывателями в этом направлении были brix8x c распаковщиком, awa с Конфигурация описания форматов файлов .data

В 2016 году он открыл исходники Tool1CD

Руки тянулись к внутренним скобкофайлам.

На основе анализа исходных текстов Tool1CD родилась идея написать читатель/писатель файлов CF.

В настоящее время есть несколько публикаций, которые с легкостью в этом деле могут помочь:

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

Как известно конфигурация хранится в виде контейнеров с именами в виде GUID, которые еще дополнительно могут быть упакованы deflat-oм.

В структуре конфигурации выделяются несколько файлов которые стоят особняком:

  • root
  • version
  • versions

Первый файл хранил скобкофайл такого формата:

{2,2675ed56-f553-43f7-9418-4a578c23d298,ctpBS8bn1FK8kA8nng8iMCTeKI4QT6pTam0Yz0ObEj4J90snslp4aF29RFLepwn5
a1hcvDfoM/1l+4GviOPO2A==}

2 - скорее всего количество объектов

2675ed56-f553-43f7-9418-4a578c23d298 - идентификатор файла с описанием структуры конфигурации

ctpBS8bn1FK8kA8nng8iMCTeKI4QT6pTam0Yz0ObEj4J90snslp4aF29RFLepwn5
a1hcvDfoM/1l+4GviOPO2A== - base64 от конфигурации

Для чтения конфигурации нам нужен как раз второй идентификатор чтобы начать чтение структуры.

Основная работа по определению идентификаторов метаданных была проведена awa

 

 

За что ему огромное спасибо.

На скриншоте выше показаны GUID-ы основных объектов метаданных

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

 

 

Основные метаданные хранятся в такой структуре

Принцип описания:

1 - поле, это идентификатор коллекции объектов метаданных

2 - поле, количество объектов метаданных в конфигурации (N)

Следующие N, следующие через запятую, это идентификаторы объектов конкретных метаданных

Так, для

{9cd510ce-abfc-11d4-9434-004095e12fc7,1,bbd9252d-96d2-433f-829b-a7787b936246}

9cd510ce-abfc-11d4-9434-004095e12fc7 - это "Языки"

1 - 1 штука в конфигурации присутствует

bbd9252d-96d2-433f-829b-a7787b936246 - идентификатор языка "Русский"

для того чтобы в этом убедиться сможем открыть файл с именем bbd9252d-96d2-433f-829b-a7787b936246 в файловой системе и убедиться в этом

Содержимое файла

{1,
{0,
{3,
{1,0,bbd9252d-96d2-433f-829b-a7787b936246},"Русский",
{1,"ru","Русский"},"",0,0,00000000-0000-0000-0000-000000000000,0},"ru"},0}

В конфигураторе это выглядит так

 

 

Также можно увидеть, что в структуре

{46b4cd97-fd13-4eaa-aba2-3bddd7699218,3,91727d27-c2c6-4dd6-b6c1-4b41a7173d13,b31a73ed-9d25-4a9e-88f8-4eb8bee172fe,6bb4e05e-9801-4c0e-8463-f014881d5a72}

хранится информация по "Хранилищам настроек", а именно 

46b4cd97-fd13-4eaa-aba2-3bddd7699218 - идентификатор метаданных

3 - три объекта в конфигурации создано

91727d27-c2c6-4dd6-b6c1-4b41a7173d13,

b31a73ed-9d25-4a9e-88f8-4eb8bee172fe,

6bb4e05e-9801-4c0e-8463-f014881d5a72 - это идентификаторы конкретных хранилищ настроек, созданных в конфигурации.

Для того чтобы получить имена конкретных объектов метаданных, необходимо прочитать файлы с данными гуидами и уже из них прочитать имена (синоним и др.) метаданных.

{1,
{2,
{0,
{3,
{1,0,6bb4e05e-9801-4c0e-8463-f014881d5a72},"ХранилищеНастроек3",
{0},"",0,0,00000000-0000-0000-0000-000000000000,0}
},0cd7ff3b-714e-4ccc-b284-685985415e47,19f1d794-3f2e-4bdd-8fcc-3126cbc46ad3,00000000-0000-0000-0000-000000000000,00000000-0000-0000-0000-000000000000,00000000-0000-0000-0000-000000000000,00000000-0000-0000-0000-000000000000},2,
{3daea016-69b7-4ed4-9453-127911372fe6,0},
{b8533c0c-2342-4db3-91a2-c2b08cbf6b23,0}
}

 

Структура корневых объектов метаданных схожа, но различается расположением имени объекта и других составных частей, как реквизиты, табличные части, формы, команды и др.

Если посмотреть в файловой системе структуру распакованной конфигурации, можно видеть

 

 

файлы в виде GUID, но также могут быть файлы вида GUID.0/GUID.1/GUID.1c - которые также могут хранить различные части метаданных.

 

 

Как правило, файлы с расширением 2d957479-815b-4110-9912-eb2a8cf8c6d3.0 - хранят модуль объекта, хотя могут хранить и текст общего модуля, при этом содержимое файла также состоит из нескольких частей:

 

 

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

Но если в поставку текст модуля не включен, структура будет несколько другая

 

 

При этом в файле image хранится информация, описанная в статье Андрея

Для всех составных объектов (справочники, документы и др.) в основном корневом файле в структуре описываются все составные части:

  • Реквизиты
  • Табличные части
  • Формы
  • Команды
  • Макеты

 

 

Вот как раз 5-гуидный блок последний и представляет собой указание, где искать информацию по реквизитам, формам, командам и др. объектам.

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

Вот по такому принципу реализована программка v8reader. 

Разработка идет с использованием C++ Builder. 

В планах реализация не только чтения метаданных, но и запись в файл.

 

 

Кому интересна данная тема, милости просим на github.ru

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

См. также

Механизмы платформы 1С Программист Бесплатно (free)

Разберем 15 мифов о работе платформы «1С:Предприятие 8» – как распространенных, так и малоизвестных. Начнем с классики: «Код, написанный в одну строку, работает быстрее, чем многострочный». Так ли это на самом деле?

16.07.2025    29124    TitanLuchs    106    

148

Механизмы платформы 1С Работа с интерфейсом Программист Стажер 1С:Предприятие 8 Бесплатно (free)

Про ООП в 1С и о том, как сделать свой код более кратким и выразительным при помощи использования текучего интерфейса (fluent interface).

03.02.2025    15911    bayselonarrend    127    

68

Механизмы платформы 1С Программист 1С:Предприятие 8 Бесплатно (free)

В этой статье подробно рассматривается работа с JSON в XDTO в 1С:Предприятие. Вы узнаете, как сериализовать и десериализовать объекты XDTO в JSON, интегрировать 1С с веб-сервисами и API, а также корректно обрабатывать данные при обмене. Разбираются особенности работы с коллекциями, использование функций восстановления и частые ошибки при работе с JSON и XDTO.

30.01.2025    18633    user2122906    9    

64

Механизмы платформы 1С WEB-интеграция Программист 1С:Предприятие 8 Бесплатно (free)

В платформе 8.3.27 появилась возможность использовать WebSocket-клиент. Давайте посмотрим, как это все устроено и чем оно нам полезно.

14.01.2025    29445    dsdred    92    

146

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

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

23.06.2024    26502    bayselonarrend    22    

175

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

Пример использования «Сервисов интеграции» без подключения к Шине и без обменов.

13.03.2024    14335    dsdred    22    

85
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Sashares 33 11.02.26 11:27 Сейчас в теме
В планах реализация не только чтения метаданных, но и запись в файл.

У будет свой конфигуратор, с блекджеком и ...))
Круто)
trybonk; ixijixi; fishca; +3 Ответить
2. SerVer1C 1032 11.02.26 13:31 Сейчас в теме
Да почему???
я выкладывал свой ридер 1CD файлов, меня забрили, сказали: НИЗЯ !!!!!!!
pepe; Brawler; BigB; aximo; +4 Ответить
3. fishca 1313 11.02.26 13:34 Сейчас в теме
(2) дай ссылочку на гитхаб и можешь присоединяться к https://github.com/e8tools/tool1cd, всем рады будем.
4. SerVer1C 1032 11.02.26 13:36 Сейчас в теме
(3) мой на шарпе написан
5. fishca 1313 11.02.26 13:37 Сейчас в теме
(4) Да без разницы, принципы чтения/записи одни и те же.
7. RustIG 1943 11.02.26 13:59 Сейчас в теме
(2) возможно и эту статью закроют через сутки
Brawler; aximo; +2 Ответить
10. Xershi 1541 11.02.26 14:26 Сейчас в теме
(7) возможно, а текст был похожий или был сам файл?
Может там была запись?
6. RustIG 1943 11.02.26 13:58 Сейчас в теме
(0)
Кому интересна данная тема, милости просим на github.ru


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

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

GitHub — веб-сервис для хостинга IT-проектов и их совместной разработки. Основан на системе контроля версий Git.
27. comptr 57 11.02.26 23:46 Сейчас в теме
(6)
на гитхабе так красиво и понятно нельзя оформить статью

Не вижу в этой статье чего-то невероятного, что нельзя было бы повторить с помощью MD: текст, картинка, текст, картинка, .... ссылки. Или на гитхабе запрещено писать понятный текст?

гитхаб выглядит стремно

А в чём это выражается?
28. RustIG 1943 12.02.26 00:48 Сейчас в теме
(27) спросите автора, почему он не расписал также красиво и понятно на гитхабе?
31. comptr 57 12.02.26 06:56 Сейчас в теме
(28) а, речь об оформлении конкретного репозитория.
Причина, думаю, в банальной лени: раз есть ссылка на инфостарт, то кажется, что не смысла расписывать подробно и красиво, и так уже время потрачено на статью.
29. RustIG 1943 12.02.26 00:51 Сейчас в теме
(27) у вас на гитхаб одна статья, оформленная по канонам. Кстати, что такое мд?
На Ис 4 статьи. Почему не оформляете их на гитхаб?
32. comptr 57 12.02.26 07:03 Сейчас в теме
(29)
Кстати, что такое мд

язык разметки markdown
Почему не оформляете их на гитхаб?

Всё просто - мне не хочется тратить на это время, плюс, я начал более-менее активно использовать github\gitlab уже после написания первых трёх статей и переносить их туда прямо сейчас я не буду, но ваши слова заставили меня задуматься об этом, заодно код причешу.
35. RustIG 1943 12.02.26 08:36 Сейчас в теме
(32) Артем, мне понравились ваши статьи - подписался на вас.
Ваш пример красиво-оформленной статьи на гитхабе - вдохновляет.
Но этого мало, чтобы полноценно перейти на гитхаб.
Я как оракул скажу вам больше - со временем вы перестанете так скрупулезно описывать проекты на гитхабе, если гитхаб останется на том же уровне - просто это не нужно пользователям гитхаб (пока есть ИС, и есть возможность указать ссылку на статью ИС)...
Давайте работать, а не обсуждать гитхаб. Не понимаю, почему вас цепануло мое такое критичное отношение к гитхаб. Без критики не развивается ни один продукт.
Успехов вам!
36. fishca 1313 12.02.26 10:04 Сейчас в теме
(32) Посмотрел оформление на гитхабе, мне очень понравилось, постараюсь в своей репе сделать аналогично, спасибо за определенную критику.
30. RustIG 1943 12.02.26 00:58 Сейчас в теме
(27) я выразил свое личное мнение, оно складывается на основании ощущения , что у меня нет желания там писать и там же читать... зачем там авторы выкладывают файлы, и дают ссылки на этот файлообменник - я вот не понимаю.
Может вы научите, и я передумаю? Гитхаб выглядит как файлообменник с техническим уклоном, бухгалтеру там делать нечего.
1с это не только файлообменник с контролем версий, это еще учет, аналитика и живое общение. Не вижу этого на гитхаб. Я выразительно обьяснил?
Прикрепленные файлы:
33. comptr 57 12.02.26 07:22 Сейчас в теме
(30)
зачем там авторы выкладывают файлы, и дают ссылки на этот файлообменник - я вот не понимаю.

Чтобы полноценно поделиться кодом (чаще всего) с сообществом (fork) и удобно получать обратную связь по этому коду (issue + pull request). На ИС так сделать не получится. К тому же, статью на ИС могут снести, если её содержание противоречит политике партии, с гитхабом такое сделать сложнее, если речь об 1С.

Гитхаб выглядит как файлообменник с техническим уклоном

По большому счету так и есть, хотя при желании там вполне можно вести цивилизованное общение, просто чаще всего оно происходит где-то ещё (чаще в телеге) и не концентрируется на гитхабе. У каждого репозитория можно включить Discussions, и там будет что-то типа форума, хоть и сильно примитивного.

бухгалтеру там делать нечего.

Эта статья бухгалтеру тоже не интересна.

Не вижу этого на гитхаб.

Конечно, гитхаб это не замена ИС.
34. RustIG 1943 12.02.26 08:21 Сейчас в теме
(33) в целом, вы сами и ответили на свой вопрос - почему гитхаб выглядит стремно в глазах 1сника, и в частности в моих глазах....
Пишите, что для вас это потратить время - написать статью.... А профит какой для вас? На ИС вы быстрее найдете единомышленников, чем на гите....

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

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

Чтобы полноценно поделиться кодом (чаще всего) с сообществом (fork) и удобно получать обратную связь по этому коду (issue + pull request). На ИС так сделать не получится.


А в чём это выражается? - в обратку вам ваш же вопрос. Тут вы , как мне кажется, торопитесь с выводами....

Я наоборот считаю, что за 10 лет ИС доказал свою профпригодность в том, что здесь "и обратная связь и поделиться с сообществом" получается лучше , чем на гитхаб...Я же выводы делаю исходя из 10 -летнего молчаливого наблюдения за гитхаб и живом участии на ИС... Я не являюсь администратором Инфостарт.
Высказываю личное мнение, это просто лирика.

Я не понимаю, зачем вам сдался этот гитхаб? это внешнее облако, внешнее хранилище - возможно для групповой удаленной разработки это все можно прикрутить к своей базе и своим рабочим процессам... Посмотрел - там есть платный тариф для команд, в России ограничен функционал...
Прикрепленные файлы:
37. gybson 12.02.26 10:16 Сейчас в теме
(34) гитхаб это система версионирования и совместной разработки в первую очередь
во вторую центр распространения свободного ПО

Это предполагает описание проекта в том числе. А также трекинг проблем, актуальные сборки и прочее и прочего.

На серьезных щах сравнивать его с ИС это уже за гранью всякого разумного. Вообще ничего общего и никаких точек пересечения.
38. fishca 1313 12.02.26 10:23 Сейчас в теме
(37) Позвольте с вами не согласиться. Инфостарт хранилище кода - да, гитхаб - хранилище кода - да, описание и документация возможна там и там, так что есть точки.
39. gybson 12.02.26 10:30 Сейчас в теме
(38) Пользователи ИС тетраподы и в зоопарке тетраподы, делаем выводы :)
42. RustIG 1943 12.02.26 11:52 Сейчас в теме
(39) тетраподы - четвероногие, а пользователи ИС - все же двуногие....
ПС. Я думал, гибсон никогда не ошибается, иногда мне кажется, что гибсон это бот ИИ ...
Прикрепленные файлы:
41. RustIG 1943 12.02.26 11:36 Сейчас в теме
(37) Тимур, да, вы правы. Чтобы меня понять, нужно время.
Я склонен считать, что все сложные технические изделия могут и должны облачаться в красивую обложку (дизайн имеет значение). Об этом говорил Стив Джобс, он был сторонником подобной идеи, поэтому родились такие товары как айпод и айпад.
система версионирования и совместной разработки, центр распространения свободного ПО могут быть и должны быть красиво и удобно дизайнерски продуманы... За этим удобством кроется большой пласт идей Стива Джобса, гармонии природы и нашей Вселенной, более высокий КПД работы с устройством...
Давайте закроем тему.... :) неужели тетраподам нужно тратить на это обсуждение самое драгоценное - наше время и внимание?...
8. Viktor_Ermakov 399 11.02.26 14:20 Сейчас в теме
Спасибо за проект, очень интересный.
А какая Ваша конечная цель?
9. fishca 1313 11.02.26 14:23 Сейчас в теме
(8) В последнее время надоело иметь несколько релизов платформы для открытия разных файлов конфигураций.
Мой ридер умеет читать без учета версии платформы. Все недоступные объекты конфигураций просто не будут показаны в дереве метаданных.
11. Xershi 1541 11.02.26 14:29 Сейчас в теме
(9) речь идёт о чем? Стартер открывает любую версию. То что не нужно исходники платформы грузить?
Так это же нужно для безопасности, а то сделаешь франкенштейна, а он бац и не запустится, вот это уже будет беда.
13. V.Nikonov 123 11.02.26 14:31 Сейчас в теме
(8) Создание Контрафакта?
12. fishca 1313 11.02.26 14:31 Сейчас в теме
Конфигурация созданная на 27 платформе, не откроется в конфигураторе на младшей версии платформы.
14. aximo 2594 11.02.26 15:02 Сейчас в теме
повеяло началом 10-ых годов....
15. fishca 1313 11.02.26 15:04 Сейчас в теме
(14) а что там было-то?
16. zhichkin 1562 11.02.26 15:05 Сейчас в теме
Вставлю свои 5 копеек. Думаю, что это сэкономит автору значительное количество времени на разбор скобко-файлов, которые описывают объекты метаданных.
JohnyDeath; fishca; +2 Ответить
21. SerVer1C 1032 11.02.26 16:20 Сейчас в теме
(16) залез пошукать, что там у вас, увидел описание
dajet-metadata/doc/extension-info-encoding.txt
это бинарное представление скобочного эсного полуJSON
хорошо описано это здесь
zhichkin; fishca; +2 Ответить
17. fishca 1313 11.02.26 15:08 Сейчас в теме
Скобкофайлы разбираются благодаря исходникам awa, там основная трудность понять откуда ноги растут.
18. zhichkin 1562 11.02.26 15:11 Сейчас в теме
(17) Вот и я именно об этом =)
19. fishca 1313 11.02.26 15:12 Сейчас в теме
(18) воспользуюсь обязательно, спасибо!
20. zhichkin 1562 11.02.26 15:26 Сейчас в теме
(17) Наверное ничего нового не открою, но всё-таки добавлю. Скобко-файлы это сериализованные объекты C++. Идея такой сериализации аналогична, например, бинарному формату protobuf. Структуру этих объектов можно примерно понять, анализируя библиотеки dbeng8.dll или Java код, который поставляется с новыми версиями платформы в виде обновления конфигурации V2. Возможно код EDT, который тоже по идее должен быть на Java. 1С:Элемент из той же оперы - думаю там конфигурация хранится в схожем если не таком же формате. Однако, на мой взгляд, структуру этих объектов гораздо проще анализировать при помощи выгрузки конфигурации в файлы XML - в приницпе эта та же самая сериализация только в другой формат.
22. RustIG 1943 11.02.26 16:28 Сейчас в теме
(17) разбираются с помощью регулярных выражений? или как-то иначе?
почему спрашиваю: я не вникал в ваш проект, но когда разбирал "стандартные шаблоны 1с" , видел подобную скобко-структуру в шаблонах, и разбирал их с помощью регулярных выражений...
23. fishca 1313 11.02.26 16:33 Сейчас в теме
(22) скобкофайл парсится в дерево, а уже по дереву получаем всю необходимую информацию
Прикрепленные файлы:
SerVer1C; RustIG; +2 Ответить
24. zhichkin 1562 11.02.26 18:27 Сейчас в теме
(23) Коротко поделюсь своей техникой оптимизации чтения конфигураций.
1. Каждый файл имеет определённую структуру.
2. Каждый узел дерева имеет определённый путь от корня. Некоторые узлы могут отсутствовать в зависимости от настроек в конфигураторе, но в целом совй путь сохраняют. Просто это надо учитывать при чтении файла.
3. Первичная выгрузка файла, например описания справочника, выполняется полностью с индексацией узлов.
4. Выполняется анализ структуры выгруженного файла. Определяются пути к нужным значениям.
5. Парсер для нужного файла пишется уже с учётом известных путей к нужным значениям. Спасибо индексу.

Профит:
1. Парсер соответствующего файла читает его последовательно без конвертации в дерево. Это позволяет читать файл из любого указанного места или не полностью.
2. Соответственно получаем огромный выигрыш в скорости чтения (CPU) и огромную экономию памяти (RAM).

Загрузка конфигурации выполняется в два этапа:
1. Загрузка всех метаданных только в той степени, в которой требуется, чтобы в дальнейшем быстро загружать нужный объект. Это называется реестр метаданных. По сути это примерно 10 таблиц-индексов, позволяющих в том числе затем загружать объекты метаданных по их именам.
2. Загрузка конкретного объекта метаданных по его полному имени при помощи полученного ранее реестра.

Профит:
1. Загрузка полного реестра метаданных, например ERP УХ, выполняется за 0,5 секунды. Это примерно 10 000 составных объектов или около 100 000 объектовпо списку DBNames.
2. Последующее получение полного описания объекта, например справочника "Номенклатура", выполняется за 1 мс.
JohnyDeath; SergMuravev; fishca; RustIG; +4 Ответить
25. milanse 40 11.02.26 21:45 Сейчас в теме
(24) чегож тогда все так не ворочится в конфигураторе, если можно все быстро извлекать ?
BomjBandit; RustIG; +2 Ответить
26. fishca 1313 11.02.26 22:24 Сейчас в теме
(24)
Профит:
1. Загрузка полного реестра метаданных, например ERP УХ, выполняется за 0,5 секунды. Это примерно 10 000 составных объектов или около 100 000 объектовпо списку DBNames.
2. Последующее получение полного описания объекта, например справочника "Номенклатура", выполняется за 1 мс.

Надо будет присмотреться к твоему коду. Очень интересная информация.
45. SergMuravev 878 13.02.26 14:51 Сейчас в теме
(24) Ваш вариант опубликован где-нибудь?
46. fishca 1313 13.02.26 14:53 Сейчас в теме
47. SergMuravev 878 13.02.26 14:55 Сейчас в теме
40. fishca 1313 12.02.26 10:31 Сейчас в теме
(39) наша жизнь "Зоопарк"
43. alex-admiral 13.02.26 09:03 Сейчас в теме
А экспорт в маркдаун или иксэмэль не планируете реализовать?
44. fishca 1313 13.02.26 09:04 Сейчас в теме
(43) Хорошая идея, надо записать в планы. Спасибо!
48. Sersh2010 8 15.02.26 19:51 Сейчас в теме
Закрытые/скомпилированные модули не умеет читать?)
49. fishca 1313 15.02.26 20:56 Сейчас в теме
50. DrAku1a 1790 16.02.26 16:11 Сейчас в теме
Плагин бы для Total Commander из этого сделать))
51. fishca 1313 16.02.26 16:14 Сейчас в теме
(50) https://bitbucket.org/awa15/tool_1cd-sources/src/master/ - здесь есть, надо попробовать собрать
Для отправки сообщения требуется регистрация/авторизация