Плагин EDT для работы с хранилищем конфигурации 1С

30.10.25

Разработка - Групповая разработка (Git, хранилище)

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

Вышла версия 0.2.0. Что нового:

  • Добавлена поддержка расширений конфигураций
  • Исправлена ошибка помещения дополнительных индексов из EDT в ИБ
  • Устранены мелкие недочеты и немного ускорена операция помещения
  • Настройки плагина теперь хранятся в разрезе ИБ + Проект (ранее было только ИБ)
  • Добавлена новая настройка "Помещать даже если конфигурации различаются"

Скачать новую версию можно с https://github.com/ZigRinat85/PluginEDT. Ссылка находится в разделе README

Для кого будет полезно

  • 1С-программистам, предпочитающим вести разработку конфигураций в EDT

Многие проекты по внедрению и разработке решений на платформе 1С ведутся с использованием хранилища конфигурации. На таких проектах есть возможность работать в EDT - с помощью 1С:ГитКонвертер. Описание схемы работы можно найти на сайте ИТС. Однако такая схема требует принятия решения "сверху" и формирования определенной инфраструктуры на проекте. И если руководство проекта приняло решение не использовать схему с 1С:ГитКонвертер, то у разработчика не остается выбора, кроме как вести разработку в Конфигураторе.

Плагин представленный в этой публикации дает возможность для принятия решения "снизу", то есть разработчик из проектной команды сам волен принимать решение где ему вести разработку: в Конфигураторе или в EDT. Данный плагин расширяет функциональность EDT и позволяет выполнять операции по захвату объектов в хранилище конфигурации и загрузке своих модификаций в Основную конфигурацию Информационной базы (далее ИБ), подключенной к хранилищу.

  • разработчикам собственных плагинов для EDT

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

 

Концепция решения

Термины и сокращения

База хранилища (БХ) – информационная база, подключенная к Хранилищу конфигурации 1С. База хранилища привязана к Ветке хранилища. Рекомендуется файловая ИБ без данных.

В БХ разрешены следующие операции:

  • получение изменений из подключенного Хранилища конфигурации 1С
  • сравнение Основной конфигурации с Конфигурацией базы данных с целью проверки корректности загрузки из Ветки разработки с помощью данного плагина
  • помещение изменений, загруженных из Ветки разработки с помощью данного плагина, в подключенное Хранилище конфигурации 1С

Ветка хранилища (ВХ) – ветка git’а в EDT, коммиты которой отображают состояния Базы хранилища. Одна Ветка хранилища соответствует одному Хранилищу конфигурации 1С. Как правило она в единственном экземпляре. Имя ветки можно давать любое.

В ВХ разрешены следующие операции:

  • импортирование изменений Базы хранилища, полученных из Хранилища конфигурации, в EDT в Ветку хранилища
  • слияние из Ветки разработки изменений после загрузки и помещения модификации Ветки разработки в Хранилище конфигурации

Ветка разработки (ВР) – ветка git’а в EDT, коммиты которой отображают разработку по некоторой новой модификации конфигурации, которую осуществляет разработчик в рамках поставленной ему задачи. Одна Ветка разработки соответствует одной задаче на модификацию конфигурации. Веток разработки может быть несколько, например для параллельной разработки нескольких задач. Имя ветки можно давать любое.

В ВР разрешены следующие операции:

  • разработка в EDT модификации в рамках поставленной задачи
  • слияние из Ветки хранилища изменений, полученных из Хранилища конфигурации
  • загрузка модификации в рамках поставленной задачи в Базу хранилища, с помощью данного плагина

База разработки (БР) – информационная база для разработки новой модификации. База разработки привязана к Ветке разработки.

В БР разрешены следующие операции:

  • тестирование и отладка модификаций в рамках Ветки разработки

 

Схема работы

 


 

 

Модель ветвления:

 


 

 

Общее описание процесса работы

  1. Заходим в БХ в режиме конфигуратора и получаем все или необходимые изменения из Хранилища конфигурации. Применяем изменения в Конфигурацию базы данных, чтобы конфигурации были идентичные. Закрываем конфигуратор.

     
  2. Импортируем полученные в п.1 изменения в проект EDT. Важно при этом убедиться, что извлечена ВХ. Фиксируем полученные изменения в коммите ВХ.
     

     
  3. Создаем новую ВР из ВХ для новой модификации. Извлекаем ВР. Создаем новую БР и привязываем ее к новой ВР.

     
  4. Ведем разработку модификации по задаче. И обязательно фиксируем все изменения в коммитах ВР. Можно создавать несколько коммитов.

     
  5. Перед тем как загрузить изменения из п.4 в БХ, установим настройки БХ. Для этого в панели Разработка встанем на элемент разработки БХ и в контекстном меню вызовем «Хранилище конфигурации-Настройки». Указываем параметры подключения к Хранилищу конфигурации как обычно это делаем в Конфигураторе. Настройки сохранятся в разрезе ИБ + Проект и повторно их вводить не потребуется.
     

    5.1  Настройка «При изменении .mdo всегда захватывать подчиненные формы/шаблоны» управляет стратегией захвата объектов в хранилище. Дело в том, что в модели конфигурации EDT и модели захвата объектов Хранилища есть различия. Это касается изменений полей «Синоним» и «Комментарий» у форм/шаблонов. В модели ЕДТ эти данные хранятся в файлах .mdo, что соответствует родителю формы/шаблона. В модели Хранилища конфигурации, чтобы поместить эти изменения нужно захватить и поместить именно форму/шаблон. Однако по файлу .mdo сложно отследить какие именно формы/шаблоны были изменены, а может и не было таких изменений. Плагин выполняет захват форм/шаблонов только в том случае, если были изменены файлы форм/шаблонов в модели ЕДТ. Но если в ВР не зафиксировано таких изменений, а изменены только «Синоним» или «Комментарий», то в таком случае есть два подхода. Первый – не ставить галочку данной настройки и перенести данные изменения в хранилище конфигурации вручную. Второй – установить галочку данной настройки, в таком случае при любом изменении файла .mdo будет производиться попытка захвата всех подчиненных форм и шаблонов. На мой взгляд первый подход лучше, потому что изменения полей «Синоним» и «Комментарий» без изменений самих форм/шаблонов – редкое явление. Зато при попытке захвата всех подчиненных форм/шаблонов разработчик часто будет сталкиваться с ситуацией, что какие-то из них будут захвачены другим разработчиком.

    5.2 Настройка «Помещать даже если конфигурации различаются» разрешает или блокирует помещение на этапе 6.3 если Основная конфигурация и Конфигурация базы данных различаются
     
  6. Загрузим изменения из п.4 в БХ. Для этого в панели Разработка встанем на элемент разработки БХ и в контекстном меню вызовем «Хранилище конфигурации-Поместить в хранилище». Важно при этом убедиться, что извлечена именно ВР.


    Плагин загружает изменения по следующему алгоритму:
    6.1  Производится анализ различий ВР и ВХ, определяется список измененных файлов в модели EDT. Незафиксированные в коммит изменения не будут учитываться при определении этого списка.
    6.2  По полученному списку файлов определяется список объектов модели Хранилища для захвата в Хранилище конфигурации в БХ. Происходит попытка захвата требуемых объектов, с учетом настройки из п.5.1
    6.3  Во время захвата объекты, которые были изменены другими разработчиками, будут получены в БХ и возникнет отличие Основной конфигурации и Конфигурации базы данных. Чтобы не затереть изменения других разработчиков, с помощью выданного плагином диалога необходимо прервать загрузку файлов в БХ, извлечь ВХ, выполнить п.2, извлечь ВР, выполнить слияние с ВХ при необходимости разрешив конфликты, зайти в конфигуратор БХ, применить Основную конфигурацию в Конфигурацию БД. После этого вновь повторить п.6
      



    6.4  Происходит загрузка измененных объектов в БХ
    6.5  Происходит обновление файла ConfigDumpInfo.xml для ВХ, который хранится в рабочей области проекта EDT. Типовая команда «Импортировать конфигурацию…» в EDT использует этот файл для определения измененных объектов, которые требуется импортировать в EDT из ИБ(см. ИТС DumpConfigToFiles -configDumpInfoForChanges). В текущем пункте файл обновляется, чтобы в будущем при выполнении п.2 избежать избыточного импорта загруженных объектов из п.6.4, т.к. они уже есть в проекте.
  7. Выполним проверку загруженных объектов. Для этого откроем БХ в Конфигураторе, выполним сравнение Основной конфигурации с Конфигурацией БД

     
  8. Если все в порядке, то применяем Основную конфигурацию в Конфигурацию БД и выполняем помещение в Хранилище конфигурации. Закрываем конфигуратор.

     
  9. Извлекаем ВХ и выполняем слияние с ВР.
     
     

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

 

Инструкция по установке плагина

  1. Скачать плагин c https://github.com/ZigRinat85/PluginEDT. Ссылка находится в разделе README
  2. В EDT выбрать пункт меню "Справка-Установить новое ПО"
  3. Снять галочку "Группировать элементы по категориям" и нажать кнопку "Добавить". В открывшемся диалоге нажать кнопку "Архив..." и выбрать файл плагина. В поле "Имя" укажите любое имя для данного плагина
  4. После этого в списке появится плагин, его нужно выбрать и нажать "Далее", подтверждаем все запросы и нажимаем "Готово"

Ограничения

  1. Данный плагин поддерживает работу и с конфигурацией и с расширениями.
  2. Тестирование плагина проводилось в ОС Windows 11. Работа в других операционных системах не проверялась, хотя теоретически возможна.
  3. Поддерживаются EDT 2024.2 и EDT 2025.1
  4. Плагин распространяется по принципу "как есть" ("as is"). Пользователь несет полную ответственность за использование данного плагина.
  5. В типовом функционале EDT при работе с расширениями конфигурации, чтобы выполнить импорт изменений из хранилища именно для расширения нужно извлечь как Ветку Хранилища Расширения так и Ветку Хранилища Конфигурации
  6. В типовом функционале EDT при работе с расширениями конфигурации, чтобы ветка была связана с ИБ, нужно обязательно ветку создать через панель Разработка и там ей явно указать ИБ. Поэтому при создании репозитория расширения первая ветка создастся без связки с ИБ. Она не нужна, даем ей фиктивное имя, потом на ее основании создаем через панель Разработка Ветку Хранилища и Ветку Разработки. В общем виде панель Разработка будет выглядеть так(если есть хранилище как в конфигурации так и в расширении)

Послесловие

Это мой первый опыт в создании плагина для EDT. При разработке я опирался на официальные обучающие ресурсы https://edt.1c.ru/dev/ru/.
Отдельное спасибо хочется сказать Дмитрию Мармышеву за цикл статей //infostart.ru/1c/articles/1311121/, в которых максимально подробно по шагам расписан процесс разработки плагинов. Мне кажется, без этих статей я бы не смог написать свой первый плагин, потому что документация на официальном ресурсе хоть бесспорно тоже имеет большую ценность, однако рассчитана на тех, у кого есть опыт в разработке в Eclipse. Всем, кто решил написать свой первый плагин, рекомендую начать с того, чтоб повторить по шагам все, что в этих статьях.

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

EDT плагин plugin хранилище конфигурация разработка

См. также

EDT Программист Стажер 1С v8.3 Россия Абонемент ($m)

Данная публикация посвящена работе с новым функционалом в 1С:EDT, а точнее ИИ 1С:Напарник. Этот материал будет полезен для начинающих программистов, а также для программистов, которые желают научиться работать в 1С:EDT с применением ИИ.

2 стартмани

05.11.2025    4417    chuevsf    2    

8

Групповая разработка (Git, хранилище) Бесплатно (free)

Проектная разработка в 1С живет в условиях жестких дедлайнов, меняющихся команд и нестабильных CI/CD. В статье показываем, как быстро и без лишних затрат внедрить Git на ERP-проектах, продать идею себе и команде и избежать типичных подводных камней. Разберем ветвление, подходы к командной работе, интеграцию с таск-трекерами и особенности тяжелых конфигураций.

04.09.2025    7432    bozo    42    

11

DevOps и автоматизация разработки Групповая разработка (Git, хранилище) Программист 1С v8.3 1С:Библиотека стандартных подсистем Абонемент ($m)

Позволяет проектировать и выполнять сценарии, состоящие из команд 1С, Git и CMD, а также решать конфликты слияния напрямую из 1С с помощью KDiff3. Предустановлен набор команд для автоматизации сборки CFE-файлов.

1 стартмани

29.07.2025    3663    6    gorsheninsn    6    

27

Групповая разработка (Git, хранилище) Программист Бесплатно (free)

Разберем, как организовать работу с GIT, не покидая конфигуратор, и зачем может понадобиться автономный сервер. Вы узнаете о скриптах, которые автоматизируют взаимодействие с GIT прямо из 1С, а также о методах сборки / разборки обработок и расширений «на лету», которые значительно ускоряют процесс разработки и совместной работы.

22.07.2025    8460    ktb    28    

38

Групповая разработка (Git, хранилище) Системный администратор Программист Бесплатно (free)

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

14.07.2025    3745    bborisko    0    

9

DevOps и автоматизация разработки EDT Программист Бесплатно (free)

Цель статьи – показать, что DevOps можно внедрять в проектах любого масштаба, даже с ограниченными ресурсами. Автор делится личным опытом: рассказывает, как начиналось внедрение, какие ресурсы потребовались, какие задачи удалось решить и как организован текущий рабочий процесс. Вы узнаете, как DevOps-практики помогают участникам разработки и чем DevOps-инженеры полезны для всех, кто участвует в создании решений. В статье подробно разбираются преимущества, которые дал переход на EDT, его влияние на процессы сборки, а также анализируется опыт внедрения Kubernetes – что это уже принесло и что принесет в будущем.

11.07.2025    3401    ptica    0    

6

Групповая разработка (Git, хранилище) EDT OneScript Программист 1С v8.3 Бесплатно (free)

В данной публикации рассматривается пример реализации скрипта, который автоматизирует получение ветки из GIT репозитория и обновление конфигурации, если разработка проекта ведется в EDT.

11.06.2025    5260    AlexF1    4    

9

EDT Программист Бесплатно (free)

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

03.06.2025    4030    PetrovAnton    5    

9
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. XilDen 746 05.08.25 10:26 Сейчас в теме
Выглядит очень круто!
mityushov.vv; ZigRinat85; kuzyara; +3 Ответить
2. kuzyara 2209 05.08.25 12:16 Сейчас в теме
На INFOSTART TECH EVENT 2025 интересно было бы вас послушать
orakool; ZigRinat85; +2 Ответить
3. ZigRinat85 40 05.08.25 13:00 Сейчас в теме
5. ZigRinat85 40 19.08.25 15:39 Сейчас в теме
4. zap_home_mog 9 12.08.25 22:07 Сейчас в теме
Как бы хотелось, чтобы еще расширения были прикручены , спасибо за труд , есть надежда, что с едт, можно будет работать без гита
lexx_v11; ZigRinat85; +2 Ответить
9. ZigRinat85 40 30.10.25 08:42 Сейчас в теме
(4) расширения поддержаны в новой версии)
6. VOskorbin 29.09.25 12:33 Сейчас в теме
Вещь однозначно полезная. Не получилось с помощью скрипта прокинуть ДополнительныеИндексы в базу хранилища. Такую возможность не предусматривали?
ZigRinat85; +1 Ответить
7. ZigRinat85 40 29.09.25 12:49 Сейчас в теме
(6) спасибо за замечание. Надо будет проверить дополнительные индексы.
8. ZigRinat85 40 30.10.25 08:29 Сейчас в теме
(6) исправлено в новой версии)
10. check2 396 30.10.25 17:57 Сейчас в теме
Ринат, здравствуйте! Я с EDT дружу с 2018 года, первое время работала вообще одна, использовала git конвертер, так как нужно было синхронизироваться с командой. Как могла убеждала руководство слезть с хранилища, которое использовали не по феншую, до моего прихода в компанию про разветвленную разработку никто и слыхом не слыхивал. Следующий проект 2020м году уже полностью отказалась от работы с хранилищем 1С (разветвленную работу с хранилищем я так и не внедрила, упс), зато больше к этому г**** не прикасаюсь. По прежнему у нас в команде есть не EDTшные разработчики, мы с ними работаем по методу Валерия Дыкова, я написала аналогичный скрипт и лишь немного улучшила защиту от фантомов...
По картинкам и описанию, понимаю, что работа Вами была проделана немалая, и однозначно заслуживает «+» но я очень хочу услышать аргументы в пользу этого решения... Я до 2000го года ездила на классике, ключ зажигания был слева от руля, мне казалось это логичным и удобным. Левой рукой включаешь зажигание - правая свободна. Когда пересела на передний привод месяца 2 привыкала не тыкаться левой рукой ключом. Чертыхалась, но в итоге я привыкла. Но там хоть был плюс - свободная рука... Тут у хранилища 1С нет никаких плюсов перед git. Зачем это неудобное старьё нужно поддерживать? Если отбросить Ваш интерес в написании плагинов, ради чего Вы пошли на то, что разработчики отказались делать на отрез... Это не критика, просто хочу понять. Я читала в описании
И если руководство проекта приняло решение не использовать схему с 1С:ГитКонвертер, то у разработчика не остается выбора, кроме как вести разработку в Конфигураторе.
Это не аргумент, когда меня шеф вежливо "послал" с моими хотелками я просто поставила гит конвертер у себя на ПК - никто не запретит мне этого делать. А в качестве сервера испольpовала GitStack. Когда второго разработчика нужно было подключить поставила уже на виртуалку GitLab... Бедный Core i5 с 32Gb оперативки и представить не мог себе что его так изнасилуют и приказал жить после полугода эксплуатации... Но оно того стоило...
UPD: Я взяла Ваш плагин на заметку, у нас есть группа сопровождения ещё, и заказчики далеко не все работают с git. В этом году от какой то газтрансмашбракзагранпоставка пришел запрос на поднятие хранилища git, остальные все на хранилище. Возможно в некоторых случаях Ваш плагин будет полезен им. Для тех случае когда дают доступ к хранилищу по ВПН. Ну или на веб сервере публикуют.
ZigRinat85; +1 Ответить
11. ZigRinat85 40 30.10.25 20:39 Сейчас в теме
(10) Добрый вечер, Евгения! Если отбросить мой интерес к разработке плагинов, то история такая)
Полтора года назад я попал программистом на проект, где была разветвленная разработка. Там я впервые смог применять EDT в качестве среды разработки, потому что был Git на проекте. И переход с конфигуратора на EDT даже приветствовался. На этом проекте я освоил EDT и работал уже только на нем до конца проекта. Проект успешно завершился и меня перевели на следующий проект.

На следующем проекте не было Git'а и разветвленной разработки. И мне ничего не оставалось как вернуться в конфигуратор, потому что все работы мы сдавали в общее хранилище конфигурации. А как я могу работать в EDT и класть свои доработки в хранилище? :) Поработав пару месяцев в конфигураторе, я понял что уже не могу в нем работать, потому что к хорошему быстро привыкаешь. И я решил написать плагин, помещающий в хранилище из EDT.

Если я на проекте в роли руководителя проекта или технического архитектора, то конечно, что мне стоит тоже поставить Гит конвертор(даже на свой ПК) и дать команде возможность выбирать среду разработки

А если я простой программист, пришедший на проект, где руководитель проекта и технический архитектор решили не ставить Гит конвертор, а сказали все помещать только в хранилище, то у меня не остается выбора, кроме конфигуратора. Разве нет? Этот плагин как раз для простых программистов, попавших на такой проект и которые хотят работать на EDT
syberman; check2; +2 Ответить
13. check2 396 30.10.25 22:32 Сейчас в теме
(11)
а сказали все помещать только в хранилище,
ну вот я так и делала мержила в свою ветку (она у меня была одна долгоиграющая dev) изменения с новыми коммитами из гит конвертера, открывала конфигуратор, подключенный к хранилищу, захватывала руками те объекты которые я изменила и потом из своей базы разработки сохраняла СF и уже двойным сравнением объединением переносила наработки. Все равно перепроверяла изменения - ничего не потерялось ли. Так почти каждый день, ну иногда раз в два дня. Процесс бесил жутко, особенно выверка по списку объектов метаданных и их захват. Вызванивание коллег. когда заблокировано.
ZigRinat85; +1 Ответить
12. ZigRinat85 40 30.10.25 20:57 Сейчас в теме
(10)
Для тех случае когда дают доступ к хранилищу по ВПН. Ну или на веб сервере публикуют.

Все верно, мне нравится работать на локальном компьютере и подключаться к хранилищу через ВПН или при публикации на веб-сервере. Считаю, что на EDT выгоднее работать именно на локальном компьютере, а не на терминальных и виртуальных серверах, где конкуренция за ресурсы.
14. abcopel 12.11.25 23:39 Сейчас в теме
Спасибо большое за плагин. Попробовал на учебном проекте возможности взаимодействия с расширениями и с основной конфигурацией. Возможно что-то не так делал. У меня в проекте есть основная конфигурация и два расширения у каждого объекта есть свое хранилище. Создал новую ветку назову ею Фича-1 (и она получается жестко завязывается либо на основной конфигурации либо на расширении) и соответственно данные по подключению к хранилищу могу только по одному указать. В рамках своей задачи я внес изменения во все три объекта(основная конфигурация и оба расширения). Далее сделал раздельные комиты в Фичи-1 для каждого объекта. Потом создал
3 ветки назовем К-1, Р1-1, Р2-1, каждая из которых была привязана к своей основной сущности. Далее черри пиком перенес коммиты из Фичи-1 в ветки К-1, Р1-1, Р2-1 чтобы в каждой были непосредственно изменения которые были только по самому объекту (в ином случаи при попытке переноса в хранилище возникали ошибки). Закоммитил их. После в каждой из веток К-1, Р1-1, Р2-1 указал данные для хранилища приемника. Далее успешно импортировал в хранилище. Есть ли возможность сделать это все в рамках одной ветки Ф-1?
ZigRinat85; +1 Ответить
15. ZigRinat85 40 13.11.25 21:26 Сейчас в теме
(14) Спасибо за проявленный интерес. Если я правильно понял у Вас один git-репозиторий на все три проекта - основной конфигурации и двух расширений. А должно быть три отдельных git-репозитория на три проекта. В одном репозитории две ветки основной конфигурации - К-1 и ФичаК-1, во втором репозитории другие две ветки расширения1 - Р1-1 и ФичаР1-1, в третьем репозитории еще две другие ветки расширения2 - Р2-1 и ФичаР2-1. В ветке ФичаК-1 доработки только основной конфигурации, в ветке ФичаР1-1 - только расширения1, а в ветке ФичаР2-1 - только расширения2.

Плагин работает так: он анализирует различие между двумя ветками одного репозитория и именно это различие помещает в связанное с ним хранилище
abcopel; VyacheslavShilov; +2 Ответить
16. abcopel 14.11.25 10:13 Сейчас в теме
(15)
Ринат, спасибо за ответ. Да, один репозиторий, но мы только на шаге внедрения и примерки. А три репозитория это чисто для комфортного использования плагина или обычная практика при использовании EDT?
Я понял раз EDT дает возможность создавать общий проект, то более корректно использовать именно единый репозиторий и иметь единый коммит на все состояния конфигурации и расширения. Если сделать отдельные репозитории, то да, тогда плагином будет проще пользоваться.


Плагин работает так: он анализирует различие между двумя ветками одного репозитория и именно это различие помещает в связанное с ним хранилище

Как работает в целом понятно. Просто была мысль, что можно как-то внутри плагина разделить по родительскому каталогу к какому проекту/подпроекту относится изменение и транслировать только его в приемник хранилища
ZigRinat85; +1 Ответить
17. ZigRinat85 40 14.11.25 20:13 Сейчас в теме
(16) интересное замечание. Посмотрю, что можно сделать. Думаю достижимо
Для отправки сообщения требуется регистрация/авторизация