Выполняя доработки на 1С, обратил внимание на частое использование отлаженных кусков кода, шаблонов кода. Приходилось часто лезть в старые проекты, отчеты, обработки, копировать оттуда проверенные временем шаблоны кода и вставлять в новый код. Часто бывает, что необходимый шаблон кода ищется в интернет, копируется, исправляется под задачу, используется и т.д.
Возникла идея упорядочить, автоматизировать этот процесс.
Родилась удобная утилита CopyPaster1C, позволяющая вести базу данных шаблонов кода 1С и осуществлять поиск по ключевым словам и тэгам.
Программа оказалась настолько удобной, что разработка на 1С (во всяком случае, у меня) ускорилась в несколько раз.
Теперь о возможностях данной утилиты.
Программа полностью portable, т.е. не требует установки. Достаточно распаковать в удобное место и пользоваться. Запускается даже с «флэшки». Совместима со всеми версиями Windows.
Имеется возможность добавлять свои отлаженные куски кода, с указанием ключевых слов и тэгов для последующего поиска и использования. Искать можно как по ключевым словам, так и по содержимому кода.
Реализована подсветка синтаксиса встроенного языка 1С.
Утилита CopyPaster1C полностью бесплатна.
База шаблонов кода (base.db) находится в папке с программой, что позволяет обмениваться шаблонами кода с другими разработчиками, простой заменой данного файла.
Как это работает?
В 1С:Предприятие копируете кусок отлаженного кода в буфер обмена (CTRL+C). Переходите в окно CopyPaster1C, нажимаете кнопку «Добавить», вставляете код (CTRL+V), указываете ключевые слова, тэги для последующего поиска и жмете кнопку «Сохранить».
Далее, например, Вам необходим шаблон кода выбора файла, ничего в этом сложного нет, но не хочется лезть в синтаксис помощник, искать весь необходимый синтаксис процедур, функций и т.д. Гораздо быстрее и проще в строке поиска CopyPaster1C набрать «выбор файла» или «диалог выбора файла» (все зависит от того, какие ключевые слова и тэги Вы использовали) и готовый, проверенный временем шаблон кода 1С перед Вами!
Выделяете его, копируете (CTRL+C), вставляете себе в код в 1С (CTRL+V).
Утилита оказалась настолько эффективной для меня, что лично я ее использую активно и постоянно.
Попробуйте! Удачи!
Доступна новая версия 1.5.0.0
эм..спасибо..давно такую штуку хотел, не знал как лучше это организовать.
сорри за наглость, а ваших наработок там нет?
Вопрос к автору. В качестве эксперимента добавил в список фрагмент кода, указал ключевые слова. Но в поиске эти ключевые слова не работают. Нужны какие-то дополнительные манипуляции?
Отличная идея. Давно думал как бы привести в порядок папку «Шаблоны кода» у себя. Попробую перенесу теперь в специальную программку. Автор, спасибо.
Супер! теперь не надо долго вспоминать методы…
Это все очень здорово.
правда я пока не нашел, чем она лучше шаблонов кода в конфигураторе. Добавляете свой файл шаблонов, пишете «выбор файла» нажимаете Ctrl+Q — и текст выбора файла появляется прямо в там, где вы набираете код. Не нужно копировать,вставлять и пр. Кроме того, можно пользоваться спец словами, например
Запрос = Новый Запрос;
Запрос.Текст = «<?»», ТекстЗапроса>»;
при выполнении этой конструкции автоматически открывается конструктор запросов, удобно.
или
//Ivanov <?»», ДатаВремя, «»>
автоматически вставляется комментарий с текущей датой и временем.
Единственный плюс был бы в том, если разработка автора была в онлайне, с постоянным доступом к шаблонам через инет. Как к своим, так и чужим.
Поддерживаю!
Лучше чтобы была ощедоступная онлайн-база и чтобы общество могло оптимизировать куски кода, таким образом достичь идеальный код.
(5) Stim213,
Шаблоны кода в конфигураторе, это конечно хорошо. Свою функцию они выполняют.
Здесь идея в несколько другом. Упорядочить, быстро искать, хранить интересные,
нестандартные или стандартные решения ранее применявшиеся, в том контексте, где это
необходимо. Например, варианты запросов (оптимизированные, неоптимизированные и т.д.).
Я могу быстро найти, посмотреть найденный шаблон, но не использовать. Подумать, подправить
его немного и использовать. Сохранить идею решения и далее это использовать.
Вот в чем фишка.
По-поводу обмена шаблонами через интернет. Данное решение дорабатывается мной. Появится в следующих
версиях. Обмен будет происходить через Яндекс.Диск
Мне лично, не хватает версии под Андроид, поэтому сечас делаю релиз под него.
Почему под Андроид? Для наполнение идеями и шаблонами, так как идеи приходят
иногда в «поле».
Спасибо!
(5) Stim213, шаблоны в конфигураторе с собой на флешке не получится носить.
Неплохо бы хоткеи и вставка без копипаста в активное окно 1с
Поддерживаю Stim213. Зачем изобретать «новый велосипед». Штатные механизмы неплохи. Шаблоны текста 1С сохраняются в файл, редактируются.
(9) Жолтокнижниг,
будет в новых версиях….
я об этом думал уже. нехватает. согласен.
Добавьте нечеткий поиск какhttps://snegopat.ru/scripts/wiki?name=snippets.js .
Плюсую, полезная утилита. Сделайте еще сворачивание в трей, удобнее так.
На чем написано? .NET?
Как на нем сделал подсветку кода 1С?????
Кстати, она прекрасно работает по локальной сети.
Можно использовать группой товарищей.
Судя по файлу настроек, написано на Делфи все-таки, а не на дотнете.
А исходники не дашь? )
Хочу шрифт моноширинный, почему CourierNew не сделал? Или настройки шрифта добавил бы
И список надо древовидный, для группировки по темам
Изначально был древовидный, но на практике это не очень удобно.
Насчет шрифтов, спасибо!
Подумаю.
Мне понравилось, всё просто, без заморочек. Плюс.
(8) TitanLuchs, шаблоны — это внешний файлик(свой собственный, добавленный к общему списку файлов шаблонов), который как раз на флешке можно носить
(15) pro1c@inbox.ru, шаблоны в конфигураторе тоже можно использовать группой товарищей) по сути это будет просто расшаренный файлик
(20) Stim213,
для меня плюсы просто еще в том, что в шаблонах я пишу некие комментарии, заметки и т.д.
мне не надо, чтобы они вставлялись в основной код. повторюсь, наверное, но есть необходимость именно
в вариантах шаблонов, поэтому CopyPaster1C и родился.
в следующих релизах, кстати, будет возможность
вставлять или нет комментарии.
утилита делалась для себя. мне очень помогает при доработке чего-либо. экономит время.
а время как известно….
… и еще, все забыли, так как частенько приходится работать и с 7.7,
то типовые шаблоны (решения) «семерки» у меня находятся там же, тэги только указаны,
например, «77 запрос по ост», и т.д.
т.е. все в одном флаконе. удобно.
(19) Stim213,
да и шаблоны бывают разные, состоящие, например из нескольких процедур и функций, целых кусков кода.
как стандартными способами реализовать такое? никак. CopyPaster1C может.
как наглядно посмотреть в стандартной схеме все имеющие шаблоны, поправить их,сделать заметки и т.д.?
никак. CopyPaster1C может.
(2) МимохожийОднако,
надо нажать кнопку «Сохранить»
(24)кнопку Сохранить я нажимал )). Всё сохраняется. Методом проб и ошибок обнаружил, что поиск работает только для символов в нижнем регистре.
А чем Evernote для этих целей плох? И онлайн, и офлайн — и поделиться, и все дела.. И не надо ничего придумывать )
(26) AlX0id,
1. Evernote нужно устанавливать, что не всегда удобно за чужим компьютером.
2. Premium подписка стоит денег. (1450 руб. в год) Она нужна для дополнительных функций, одна из которых
расширенный поиск.
3. Нет подсветки кода (в частности для 1С).
4. Неудобные «горячие клавиши» для быстрого переключения и работы.
Как-то так…
Хотя для жизни я использую Evernote постоянно.
(27) pro1c@inbox.ru,
1. Судя по гуглу, существует и портабл-версия..
2. У меня лично в премиуме надобности не возникло.
3. Есть HTML разметка, но зачем в принципе нужна разметка для копипаста?
4. Сервис/настройки, не?
В рамках личного мнения, конечно..
я от Evernote отказался когда он мне сказал что нужен инет чтобы посмотреть заметки сделанные в телефоне. Что за бред вообще. Где там оффлайн? Тормозящий перегруженный монстр, снес давно его. Для текстовых заметок на компе использую FlashNote — нажал Alt+S и выскочило окно из трея, вбил что надо, нажал Esc — пропало. Супер. Хранит данные также в sqlite.
Но это как простой блокнот с секциями, без подсветки.
(29) badboychik,
Может, машинку надо обновить, чтобы не тормозило? ) Не видел, если честно, ни разу, чтобы тормозил.. Хотя мои 132 записи — может, и маловато для этого..
Офлайн — и есть офлайн ) Просмотреть заметки на компе можете вполне, а зачем для хранения кусков кода телефон — этого мне не понять, видимо ) А то, что синхронизация через их сервер — ежу ж понятно, что иначе не будет.
З.Ы. А про эскейпы, alt+s-ы всякие я забыл при помощи JustGestures.
Новый релиз CopyPaster 1.1.0.0
Новое в релизе:
1. Добавлены «горячие клавиши» для активации.
2. Свертка в трей.
3. Сортировка по ключевым полям и дате изменения.
4. Уменьшен объем exe-ника.
5. Оптимизирован код. Исправлены мелкие ошибки.
при обновлении замените файл CopyPaster1C.exe
(19) Stim213, ну ХЗ. Данную поделку вполне можно превратить в удобную вещь — сделать поиск по кускам кода, описанию или ключевым словам, перенести в онлайн, о чем уже говорилось ранее. В общем идея хороша, развивать ее есть смысл.
Неплохо было бы еще добавлять файлы например внешние обработки, отчеты, печатные формы с описаниями.
Очень удобно! Спасибо!
Думал о такой штуке, но дальше мыслей не доходило…
Автор молодец! Плюсую!
Надо еще сделать слияние баз (base.db).
Насобираю бабла и буду качать 🙂
Предполагается ли какое первоначальное заполнение базы (в поставке)? Типовые процедуры, ноу-хау — ну, чтобы самому не придумывать?
(35) AVK_Alex,
1. Первоначальное заполнение базы шаблонов будет приложено позднее.
2. Слияние баз надо сделать. Согласен. В следующих версиях будет.
Спасибо!
На тему библиотеки кода 1С, очень давно думал, надо ли? написал сначалаhttp://www.1c-cod.ru/ думал сделать из него библиотеку кода, чтобы можно было хранить свой код, смотреть код определенного автора, подписываться на него… и тд. Но не особо верю, что взлетит, а вы как думаете? Если не сложно заполните анкетку из 2 вопросов по необходимости этого решения. Ваши ответы подскажут, надо ли мне работать в этом направлении. Готов интегрироваться с автором решения 🙂 если ему это вдруг будет интересно.
(39) webester,
Думаю Вам надо работать в данном направлении. Это реально надо всем.
В вэбе это надо как база знаний, решений общего плана, анализа кода других авторов и т.д.
Предлогаемый мной вариант удобен для ЛИЧНЫХ наработок, специализации собственных решений, ну и плюс
оперативность (в плане удобства десктопа) получения необходимых шаблонов, кусков кода.
Безусловно развивайте проект!
По-поводу интеграции и предложений на pro1c@inbox.ru
🙂
Интересная идея! Плюс!
(8) И почему это шаблоны нельзя носить на флэшке?
За идею +
Тоже люблю такие вещи.
еще есть предложение сделать помощник заполнения тэгов, отображение уже существующих автоподстановка, топ тэгов, а также поиск по содержимому.
да,кстати, подумаю, как лучше это реализовать.
не хочу «спугнуть» простоту использования. 🙂
а зачем топ тэгов? имеется ввиду что чаще искал?
(43) Жолтокнижниг,
поиск по содержимому изначально был реализован, но неудбно то, что вариантов много вылезает.
надо подумать как это удобнее сделать.
(45) pro1c@inbox.ru, опционально в дополнение к тэгам
довольно удобно, спасибо.
от меня плюс
Прикольно.
Не хватает:
1) Поиск по содержимому, можно как опцию;
2) Создание групп;
3) Горячих клавиш.
4) Настройка горячих клавиш, например хотя бы ctr+d.
(48) dour-dead,
1. Поиск по содержимому делаю.
2. Про группы будудумать.
3. CTRL+D
(49) pro1c@inbox.ru,
CTRL+D пресекается с другими программами(((
и в 3-м пункте я имел ввиду создание удаление, работа с самой формой там даже tab не работает.
А нет извиняюсь, работает, но как то криво.
Неплохая идея, автору респект!
(51) Идея не нова
http://infostart.ru/public/174911/ (для 7.7)
У меня почему то дает ошибку:
Исключение неизвестное программное исключение () в приложение по адресу
(53) bayce,
В папке при запуске какие файлы?
CopyPaster1C.exe
sqlite3.dll
param.ini
base.db
Windows XP
ругается на D:SoftDelphiProjectCopyPaster1Case.db при запуске
(56) PrimusVSK,
Все работает. Билд не тот был.
Вовсю пользуюсь. Действительно удобная весч.
Очень интересная идея
Группировку можно делать? по темам, например?
(60) Makushimo,
Группировку можно сделать, но она там не нужна.
Идея данной утилиты несколько в другом.
Бысто найти и использовать необходимый шаблон/паттерн, идею, «костяк» кода и т.д.
То есть валим все в кучу и надеемся на полнотекстовый поиск?
(62) Makushimo,
у меня первые версии были с деревом (некая группировка по темам была), но практика показала,
что данный интерфейс оказался наиболее удобным, функциональным.
просто многие сравнивают данную утилиту с неким справочником, книгой рецептов кода и т.д.,
но еще раз повторюсь идея в другом.
хотя многие спрашивают про группировку по темам, думаю добавлю такую возможность опционально.
надо, включите, нет будете использовать без.
Регэкспы при поиске будут?
Я имел ввиду при полнотекстовом поиске разумеется.
Поиск зависит от регистра, а с нашей любовью к написанию заглавных букв на автомате, это серьезно. Может привести строку к нижнему регистру перед поиском, ну и тэги при сохранении тоже.
очень хочется узнать, какой язык использовали и есть ли возможность получить открытый код?
Идея мне очень понравилась, думаю попробовать расширить её и для других языков программирования.
Пора писать книги о паттернах программирования на 1С 🙂
Свои 5 копеек хочу вставить по оформлению: из трея иконку при открытии убирать не надо — он прыгает, когда там иконок много. Не выходить из программы по закрытию окна крестиком. На темном фоне трея иконка как пустое место 🙁
PS По поводу того, что есть шаблоны — кому ведь что нравится: кому высокие блондинки, кому маленькие брюнетки. Делайте ваш вариант и многим он тоже подойдет, попробую с ним подружиться. Я пока использую записную книжку, но там не только фрагменты кода, а целые статьи, зачастую с картинками. Но чисто для кусков кода это МНЕ удобнее.
Спасибо! Хорошая, полезная программа 🙂
Понравилось, спс. Не хватает немного работы над формой, ИМНО. Например, мне бы было удобно иметь сбоку дерево, где я могу структуризировать код. А так получается в одном списке. Что-то вот такое:

После того как увидела статью, попробывала… Но пришлось искать заменитель. Нашла блокнот CherryTree, сейчас пробую его, там даже есть функция вставки кода с подсветкой. Но на поиск натолкнула именно Ваша статья, до этого все по текстовым файлам раскинуто.
(71) Chif13,
Спасибо за отзыв!
Программу CherryTree я видел, пробовал в работе.
Излишняя сложность мне, например, мешала. Поэтому и сделал как хотелось.
Сначала была иерархия кода (дерево). Это хорошо, только для систематизации и
структурирования кода, заметок и т.д.
CopyPaster1C — это другая фишка, заточенная под другое.
Цель: Быстро получить решение. Не всегда хочется вникать в каких ветвях искать необходимый шаблон и т.д.
CherryTree не всегда запускалась на Win XP.
Захожу в FAQ по CherryTree и читаю:
Подскажите, пожалуйста, как ее поставить под WinXP. Что портабельная версия, что обычная, представленные на офф. сайте при запуске экзешника в распакованной папке не запускают интерфейса. Портабельная без лишних манипуляций возникает среди процессов под именем cherrytree.exe и занимает около 20 МБ оперативки судя по показаниям виндошного Диспетчера процессов. Обычная сначала посоветовала постотреть cherrytree.exe.log, в котором были жалобы то ли на отсутствие Питона, то ли ГТК.
Далее смотрю инструкцию на офф. сайте:
NOTE: the non portable version requires MSVCR90.dll version 9.0.21022.8, the gtk, gtksourceview and libxml2 libraries installed:
1) if you don’t have python >= 2.6 installed, install vcredist_x86.exe sp0 (not to be upgraded)
2) download the 3 binary archives: (or check for newer versions here)
• gtk+/2.24/gtk+-bundle_2.24.10_win32.zip
• gtksourceview/2.10/gtksourceview-2.10.0.zip
• dependencies/libxml2_2.7.7-1_win32.zip
3) create the folders C:gtk, C:gtksourceview and C:libxml2
4) extract the 3 archives contents in the corresponding directories
5) add “C:gtkbin;C:gtksourceviewbin;C:libxml2bin” to the bottom of the system variable named “Path” (right click on “my computer” icon on the desktop, choose “properties”, then from the tab “advanced” click on the button “environment variables”; between the “system variables” you will see “Path” that you have to edit)
6) in case you still have problems, move the paths of point 4) from the bottom to the top of the paths list
Создаю три каталога на диске C:, в которые распаковываю соответствующие архивы. Прописываю предложенные пути в конец строки (впоследствии перенесенные в начало строки путей). Ставлю тот екзешник, который для не имеющих питона.
В результате запускемая стационарная версия Вишнедерева ведет себя аналогично портабельной — висит в процессах, закушав 20 МБ. И никак иначе себя не проявляя. Только портабельная при запуске на полсекунды еще черное окошко командной оболочки кажет.
ТАКИЕ МАНИПУЛЯЦИИ С CherryTree НЕ ДЛЯ МЕНЯ!
За критику еще раз спасибо!
(72) pro1c@inbox.ru, да это не критика. Мне реально понравилась твоя программа, я б ее использовала. Но блин лично для меня не хватает дерева. Пусть теги будут (это очень удобно)… но моим структурированным мозгам нужна детальная структура… А так еще раз спасибо.
надо, включите, нет будете использовать без.
О, этого мне б хватило и дерева не надо… Добавьте пжл…
Вадим, подскажите нет ли готового файла с шаблонами? Может быть свой выложите?
Копирую base.db в новый файл «Регистры Сведений.db». В том-же каталоге.
Открываю Меню-Настройки. Чудесно видит и кирилицу и пробелы.
Выбираю найденную базу шаблонов. Активирую. Летает «ласточкой».
Чем не «дерево»? Или не «группировка»?
В придачу еще и «обмен шаблонами» с другими. По почте, например.
Хоть открывай сообщество по обмену «кусками кода» на основе … 🙂
Жаль что приходится нажимать пару лишних кнопок.
В форме не видно с какой базой работаю. И в самой форме не могу выбрать другую «базу».
В остальном … респект. И глубокий «респект».
Работает и для 7-ки, и для 8-ки, и для других нужд.
В моей статьеhttp://infostart.ru/public/247893/ вы ставили следующий комментарий:
Регистрируетесь в DropBox. Ставите клиента DropBox.
Копируете CopyPaster1C (
Запускаете CopyPaster1C.
все! работаете и локально и через инет!
шаблоны кода 1С сами синхронизируются со всеми клиентами!
В связи с этим у меня вопрос.
Что произойдет если в одно и то-же время 2 разработчика добавят по шаблону и произойдет синхронизация с друпбокс? Кто выиграет в этой лотерее?
(76) MarSeN,
Как правило, почти все «читатели». Но для таких случаев….
создаётся журнал изменений. Некий файл локальный в папке и тут же удаляется, который контрольно проверяет добавление записи. Похоже на WAL режим в SQLite.
За все время использование пару раз не нашли запись с шаблоном при коллективной разработке.
Но сейчас выходит новая версия CopyPaster1C использующая API Dropbox там вообще таких проблем не будет в принципе.
Плюс много новых приятных features!!!!!
Ожидайте!
да удобная вещь, сейчас или работаю с блокнотом или использую шаблоны 1С. но не удобно таскать по разным конфигурациям.
(77) pro1c@inbox.ru,
Очень удобная программа, когда планируете обновление выкладывать !
Спасибо, за Вашу работу !
Респект))) ТОже надо будет воспользоваться)))
Вот это то что надо, давно искал, на глаза не попадалась. Спасибо.
Классно!
А обновление будет?
(82) mirajen,
посмотрите еще тут
http://www.copypastecode.ru
Не хватает клавиши «ESC» для отмены ввод данных
(83) pro1c@inbox.ru, о! Уже платная стала чтоль?
по поводу платной … не понял …
(86) ufo58,
Оплатите 370 рублей через Яндекс.Деньги на счет 410011970185741 и укажите в письме на copypastecode@mail.ru :
— Ваше имя;
— Ваш e-mail;
— Ваш номер счета Яндекс.Деньги (с которого оплачивали);
— КЛЮЧ ПРОДУКТА.
Ключ продукта находится тут: «Меню» -> «Регистрация программы»…
Так вот же.. или я что то не понял что за активация за 370р ?
(87) AllexSoft,
CopyPaster1C — бесплатная
CopyPasteCode — условно-бесплатная
Это похожие, но разные программы.
CopyPaster1C поддерживает только синтаксис 1С.
CopyPasteCode поддерживает помимо синтаксиса 1с, еще несколько распространенных
языков программирования!
(88) pro1c@inbox.ru, Аа! тогда понятно
не подсвечиваются ключевые слова: Попытка, Исключение, КонецПопытки.
(90) surikateg,
Исправим!
Скачала обновленную. Стало удобней! Особенно хорошо, что можно создавать несколько баз. Я их прям по темам разбила, а саму прогу загрузила в Dropbox. Нравится.
В программу заложена одна особенность: «Ключевые слова, теги» = «Наименование шаблона». Конечно всем по разному нравится, но мне кажется удобнее было-бы, чтобы была древовидная система по наименованию (отображаемая слева), и отдельно ключевые слова. Поиск же должен уметь искать и по тэгам и по наименованию.
Если бы это было — цены бы не было вашей программе))
А исходный код доступен ? Это на чём написано, на C# ?
Программа очень полезная, но хочется её под себя доработать.
Зачем программа лезет в инет, каждый раз при открытии???
(95) JohnConnor,
Проверяет обновления исполняемого файла.
В новой версии это можно будет отключить!
Вообще штука хорошая, было бы не плохо добавить работу с общим репозитарием шаблонов, доступным всем пользователям, добавлять туда свои варианты. Конечно потребуется модерация, но на мой взгляд оно того стоит.
(0) А разве не удобней хранить код в консоли запросов (я весь свой код там и храню)? При необходимости, его можно сразу выполнить. В чем преимущества использования стороннего ПО?
(98)
Дело не в выполнении кода, это своего рода заметки, примеры кода, с комментариями и т.д., возможность упорядочить свои наработки. Там могут быть целую куски модулей, уже ранее проверенные или требующие доработки.
Кстати, на днях выпускаю новую версию с некоторыми возможностями, которые я думаю многим понравятся.
Вадик, подскажи, а где можно взять в сети еще базы с кодом под твою утилитку? Для бОльшей наполняемости так сказать, а то у тебя их всего с десяток.