Библиотека кода — храни свои наработки и получай быстрый доступ к ним







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

ВНИМАНИЕ: Данная разработка остановлена, публикация оставлена как идея.

Разработал эту конфигурацию для личного пользования, чтобы систематизировать накапливаемый опыт и получать быстрый доступ к собственным наработкам. Минимум самого необходимого функционала, с возможностью хранения не только кода 1С, но также и типичные для 1С типы файлов (такие как .cf, .dt, .epf и .др), а также любые другие файлы, которые будут определены в типах данных.

 

Возможности конфигурации:

1. В конфигурацию уже встроены предопределенные типы данных:

     — Код;

     — Произвольный текст;

     — Внешняя обработка;

     — Внешний отчет;

     — Выгрузка информационной базы;

     — Файлы конфигурации.

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

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

3. Конфигурация позволяет хранить сопроводительную информацию о хранимых данных:

     — Описание;

     — Опыт использования;

     — Ключевые слова.

4. Есть возможность настраивать каталог хранения данных для разных компьютеров. Что позволяет, разместив базу, например, на Яндекс.Диске, пользоваться базой с разных компьютеров.

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

5. Показывается небольшая статистика о хранимых данных в базе:

     — Информация о типах хранимых данных;

     — Статистика по ключевым словам библиотеки.

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

 

Замечание по допущенным упрощениям:

В связи с отказом 1С от расширений элементов форм в управляемых приложениях, осталась не реализованной возможность автоматической раскраски кода. С этой целью в окне файла библиотеки, добавлена кнопка, открывающая раскраску кода на сайте Likion.ru, на вашем компьютере. Через копирование в MS Word код нормально вставляется, красиво оформленный и раскрашенный. Это компромисс, на который лично я пошел, чтобы не писать собственный механизм раскраски кода.

 

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

25 Comments

  1. pumbaE

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

    Reply
  2. lopatin

    (1) pumbaE, Все файлы можно будет скопировать(сохранить) в указанный каталог на диске, прямо из интерфейса конфигурации. Полнотекстовый поиск работает только по полям: Описание, опыт использования и ключевым словам и т.д. По исходникам не получится, так как код хранится в двоичных данных, а другие файлы(cf, dt, и др.) хранятся в каталоге на диске вашего компьютера.

    Пока что полнотекстовый поиск автоматически не индексируется, но в ближайшем обновлении исправлю это упущение.

    Reply
  3. pumbaE

    (2) просто возьмите cf распарсите его в исходники и загрузите эти файлы, потом по ним полнотекстовый поиск и это будет реально замена глобальному поиску.

    Reply
  4. lopatin

    (3) pumbaE,

    выгрузка исходников и полнотекстовый поиск по файлам конфигурации есть?

    Вы имеете ввиду по моей конфигурации что ли? Или по тем конфигурациям, которые сохраняются в базу?

    Reply
  5. ya.Avoronov

    Мне понравилась идея хранения 1С Кода, Отчетов и Обработок в одном месте. Было бы приятно иметь такой удобный и лаконичный каталог онлайн, всегда под рукой. Может быть есть смысл сделать вашу разработку веб сервисом для заинтересованных пользователей. Наполнение полезным кодом и опытом было бы быстрее… или инфостарт этим и занимается?)

    Reply
  6. like.tokarev

    (5) ya.Avoronov, Тоже подумал об этом. Идея может вырасти в крупный проект, потому что как мне видится есть потребность.

    Если обработка будет выгружать данные в единую базу, а сами пользователи будут иметь опцию «Включить поиск кода в сети», то мы получим очень удобный инструмент. Во-первых единая база может наполнятся по мере того, как программисты создают себе собственные уютные хранилища своих наработок. Я думаю ни один программист не будет против, что его исходники сливаются в сеть, потому что он сам будет иметь выгоду от такого инструмента.

    «Поиск примеров кода по ключевым словам» звучит великолепно. Это аналог Гугла+Миста/Инфостарт. Только с более удобными инструментами.

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

    Reply
  7. cj512
    Я думаю ни один программист не будет против, что его исходники сливаются в сеть, потому что он сам будет иметь выгоду от такого инструмента.

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

    Так что развить данную конфу в вебсервис как персональный файлообменник, то было бы здорово. И конечно же предусмотреть шифрование файлов.

    Reply
  8. JesteR

    Свои наработки по коду храню в стандартных шаблонах.

    Всегда доступно из конфигуратора, достаточно только один раз подключить файл шаблона.

    Посмотрите тут: http://infostart.ru/public/63733/

    или тут: https://github.com/Kirill/template1c

    Reply
  9. androgin

    Счетчик = 0;

    Для Каждого СтрокаТаблицы Из…..

    Счетчик = Счетчик+1;

    Ничего странного в коде автор не увидел? )))))

    Reply
  10. BigB

    Функция конверации

    Reply
  11. lopatin

    (9) androgin, Поясните?!)))

    Reply
  12. gigabyte_artur

    Храню всё в Evernote. Исходники, алгоритмы, статьи и т.д.. Единая база с единой поисковой терминологией + возможность поделиться с коллегами + доступ с любой машины и любой платформы. Очень удобно.

    Reply
  13. varezprog

    Плюсик.

    Я использую похожую разработку

    http://infostart.ru/public/199364/

    Reply
  14. vec435

    есть одна удобная вещь в MS Access и нет в 1С — в одной базе можно подключить другую базу как библиотеку и использовать все что в ней есть таблицы,формы,код . может сделать какой-нить activeX элемент через который подключаться к базе с исходниками?

    Reply
  15. pro1c@inbox.ru

    жалко, что нет подсветки кода

    Reply
  16. Amur_MVS

    Привет! Подскажи пож-та, при добавлении обработки я указываю файл и после сохранения, выдает {Справочник.БиблиотекаФайлов.Форма.ФормаЭлемента.Форма(16)}: Метод объекта не обнаружен (ПолучитьПодкаталогСохраненияДанных)

    Подкаталог = Объект.ПолучитьПодкаталогСохраненияДанных();

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

    {Справочник.БиблиотекаФайлов.Форма.ФормаЭлемента.Форма(197)}: Ошибка при вызове метода контекста (КопироватьФайл): Ошибка копирования файлов: Ошибка копирования файлов из ‘C:Usersv.matveevDocumentsInfoBase4LibCode1CEPFd3ec8ea8-bfe4-11e7-b809-382c4ab0ada1.EPF’ в ‘C:Usersv.matveevDesktopКопияДоговоровУТ 10.3.epf’ : Каталог не обнаружен

    Reply
  17. Amur_MVS

    Может я что то не так делаю?

    Reply
  18. Redinternational

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

    Reply
  19. acsent

    Интеграция с gist.github есть?

    А ведь это основной инструмент для хранения кусков кода

    Reply
  20. ifilll

    Думаю что в выходом EDT значительная часть программистов уйдет в GIT или аналогичные системы.

    П.С, была аналогичная вещь собственной разработки во времена 8.0/8.1, после 7.0/7.7 глаза разбегались, вот и сконструировал, в итоге устал её поддерживать и бросил))

    Reply
  21. gradi

    Храню свой код на gitlab. Меня вполне устраивает.

    Reply
  22. lukashov_as

    Спасибо, полезная разработка, забрал. Развивайте, пожалуйста, проект, идея огонь!

    Reply
  23. JohnConnor

    использую Git, код в bitbucket

    Reply
  24. rpgshnik

    Место хранения привязано к имени ПК…

    Хотелось бы размещать на облаке.

    http://likion.ru/color1c/index.php — не работает

    Reply
  25. amitin78

    Как раскрасить текст кто понял? Подскажите.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *