Предлагаю вашему вниманию разработку, которая позволит Вам добавлять и использовать шаблоны/фрагменты кода 1С для повседневной работы без лишних оконных интерфейсов.
Уникальность подхода состоит в том что для поиска шаблона ключевые слова набираются непосредственно в месте, куда нужно вставить найденный фрагмент кода.
Поиск шаблона происходит по частям слов (%like%), которы были введены с большой буквы. Инициализируется поиск по Ctrl + 1.
При активации найденного фрагмента кода выпадает окно с описанием (которое ввел разработчик при помещении шаблона) и копирайтом и датой добавления шаблона (формируются автоматически)
Для добавления шаблона достаточно выделить необходимый фрагмент кода, в первом окне написать ключевые слова, во втором описание и нажать на ОК. Для добавления шаблона нужно зарегистрироваться (регистрация моментальная и нужна только для того чтоб сохранить авторство фрагментов кода. см ниже)
Как это работает.
Разработка состоит из клиета (программы на компьютере) и сервера (веб сервисов, опубликованных на сайте автора «remote1c.top-choice.ru/hlpservice.php»).
Программа в свою очереди состоит из стартера (exe) и каталога plugins, в котором в данный момент размещается одна dll — templates.dll. В dll находится основной функционал клиента. Стартер нужен для того чтобы в случае выхода новой версии обновить программу.
При запуске стартера в трее появится иконка (временно «!»).
Если на нее кликнуть, то выйдут настройки программы и описание хоткеев.
В программе есть еще одна эксперементальная функция…
Суть ее заключается в том, что в интернете (на сервере) хранится список всех методов общих модулей (выгружено из УТ11).
При использовании того же принципа набора ключевых слов можно найти интереующий вас метод даже не зная в каком модуле он расположен.
Иконки черного цвета — не экспортные методы. Красного — экспортные.
Прошу высказываться, критиковать, предлагать…
ВАЖНО
При добавлении шаблона/фрагмента кода Вы, как автор автоматически даете согласие на использование этих фрагментов кода для других разработчиков. Так-же Вы даете согласие на возможную публикацию Ваших фрагментов кода с сохранением Вашего авторства на сайте разработчика (сайт в домене «top-choice.ru»).
Заранее прошу прощения за синтаксические ошибки в статье и программе.
Можно будет использовать сервис, если будет добавлена возможность выгружать созданные шаблоны в обычный файл шаблонов .st. Возможность выгрузки в файл необходима, чтобы не зависеть от настроения вашего сервера или интернет-провайдера. Если же данные в файл потребуется дублировать вручную, то лучше использовать расшаренный файл, чем сторонний сервис.
Нужна возможность переключаться между контролами на ваших формах по клавише Tab. Каждый раз мышкой кликать неудобно. И сессия отваливается самопроизвольно.
(2) VladimirL,
Выгрузить конечно можно, но думаю это будет не удобно, так как в отличие от стандартного Контрол Q ищет по четкому соответствию. В текущей разработке Вы можете менять ключевые слова местами. Вы вообще можете не знать о существовании шаблона и найти его интуитивно вводя нужные вам ключевые слова.
думаю тут можно будет доработать локальное хранилище в SQLite3 (с него и начиналась эта разработка)
это можно будет сделать.
можно поконкретнее? Если что — пишите в личку
Очень интересно.
1. Выгрузка в .st все-таки была бы тоже интересна.
2. как идея добавить еще и поддержку github gist.
3. Премодерация или сеть доверия, тоже была бы интересна, т.к. любой «Вася» сможет забить «хорошими» шаблонами.
(4) pumbaE,
1. надо будет обязательно подумать
2. это на будущее… пока не знаю с чем это «есть» )
3. Да, в первой версии будет обязательно «премодерация». точнее будут реализованы 2 хранилища. То что не прошло премодерацию будет храниться в одной «таблице сервера», что прошло — в другой. И разработчик смоден у седя в настройках выбрать, хочет ли он видеть только свои и промодерированные шаблоны или все
еще будет доработана возможность видеть все свои шаблоны для возможности почистить лишнее )
Хорошо бы было учитывать какой-то рейтинг шаблона или автора.
Хорошая идея. Одобряю.
Думаю можно создать не выгрузку все базы локально (т.к. по идее может получиться большой объем), а использовать что-то на подобие кеша.
Плюсом добавить модерацию и версионность (как версий шаблонов, так и систем в которых она может использоваться).
Вещь, безусловно удобная и полезная, тем более завязанная с вэб сервисом но мелкие нюансы:
1. Авира пищит что вирус в стартере.
2. Если не указать пользователя и нажать «Регистрация», то регестрируется пустой пользователь :).
(8)davdykin
Вируса там нигде безусловно нет ))
Про пустого пользователя спасибо. Обязательно поправлю на днах. Наверное сегодня
Идея отличная, однозначно плюс
Еще бы туда какую-то голосовалку касательно какой из двух предложенных шаблонов лучше на случай изменения/доработки шаблона.
Идее обязательно развития. Плюсую.
(8) davdykin,
п2. Исправил. Для обновления просто перезапустите стартер. На предложение обновиться ответьте утвердительно
Помошник программиста (beta)
Однозначно плюс.
Некоторые замечания:
1. Нужна подсветка кода.
2. Возможность добавлять приватные шаблоны, без доступа других разработчиков.
А то вдруг там какие-нить уникальные идеи использованы. 🙂
Как посмотреть все свои шаблоны, например списком.
Шесть вирусов в стартере!!!
(15) pro1c@inbox.ru,
(15) pro1c@inbox.ru,
Ругается на starter.exe? Там 30 строк кода. Mогу исходники в личку кинуть
(13) 3.14159,
Спасибо, я в курсе. Есть у меня такая проблема опечатками. Обязательно исправлю.
(14) pro1c@inbox.ru,
В ближайшее время не планирую так как в первую очередь нужно нарастить функционал
будет сделано в ближайшее время
сейчас никак. сделаю в ближайших релизах
(17)
(15) pro1c@inbox.ru,
каким антивирусом пользуетесь?
(21)
вот проверьте тут
(22) pro1c@inbox.ru,
ага, уже проверяю… разбираюсь откуда ноги растут
(23)
На чем писано?
возможно, что средство разработки зараженное и цепляет при компиляции вирусню.
(23)
и деделеллину тоже проверьте. думаю там такая же ситуация.
(24) pro1c@inbox.ru,
дельфя 7
я все проверю до завтра
(22) pro1c@inbox.ru,
Проверил еще раз комп Авастом. Проверил конкретно стартер — нет вирей
проверил онлайн сервисом dr. web — нет виря..
не знаю что и думать
сейчас касперского напрягу
(22) pro1c@inbox.ru,
Касперский тоже молчит
как установить его в конфигуратор?
Мысль хорошая, но лучше бы сделать типо сервис хранения и обмена шаблонами (прям портал).
Чтобы у каждого был личный набор шаблонов и отдельно — общее хранилище с копирайтами, копилевтами и прочим. Рейтинг у шаблонов можно — автоматический (по количеству использований в личных наборах шаблонов) + возможность анонимно «лайкать/дислайкать» шаблоны. Ну, естественно, с возможностью напрямую пользоваться шаблонами из 1С…
Еще не хватает порой визуальных конструкторов — например в снегопате есть конструктор ТаблицыЗначений с описаниями типов. Как-то так…
(29)
AVIRA кричит! Avira у многих.
http://www.gunsmoker.ru/2009/08/delphi-delphi.html
попробуйте при компиляции проекта отловить, думаю там где-нить внедряет
вредоносный код.
вот почитайте тут
(29)
Просто может это и ничего, но сами понимаете у кого-нить
ругнётся, человек даже смотреть дальше разработку не будет.
Исправить однозначно!
Как он себя поведет дальше хз.
(31) pro1c@inbox.ru,
Проверил свою дельфю — не заражена. Переустановил дельфю. Прочитал статью, проверил что написано там — у меня чисто.
Отдал стартер на другой комп для проверки — все чисто.
Вчера до 2 часов ночи сидел чтоб разодраться с причиной. Поставил виртуалку. на ней поднял дельфю. Откомпилировал проект — результат не измениля (6 вирей на онлайн проверке). Новый пустой проект (7 вирей). Проверяю эти файлы касперским, авастом доктором — чисто.
У кого еще стартер ругается на вирусы.
(32) pro1c@inbox.ru,
Конечно буду копать дальше.
(34)
Вот пример из жизни.
Вчера с приятелем общаемся по скайпу, говорю ему: «Прикольная штука появилась на Infostart.»
Кидаю ссылку на Вашу программку. Он мне в ответ: «вирусня». Вот я и стал проверять.
А так и не стал бы. Вот поэтому выяснить обязательно нужно, а то не взлетит!
(35) pro1c@inbox.ru,
Занимаюсь этим, спасибо!
У меня Аваст предупреждает о том, что файл не подписан, ВОЗМОЖНО это вирус, но потом пропускает через песочницу. Скорее всего Авира находит подозрительные участки кода в пароноидальном режиме, так как инструмент делает две подозрительные вещи: грузит dll и перехватывает события клавы. Возможно вирусная база Авиры содержит штампы одинаковых библиотек.
(37) Evgen.Ponomarenko,
Да с перехватом нажатия клавиш есть такая беда.
PuntoSwitcher же не палится, т.к. включен в реестр.
Или менять подход.
Автору надо связаться с основными антивирусными конторами и включить свою прогу в реестр проверенных.
Но это засада, т.к. требуется лицензия на ПО разработки, исходные коды и т.д.
Да и вообще, конечно, отдавать фрагменты кода на откуп третьим лицам — не камельфо!
Мои КОДЫ — это мое конкурентное преимущество, как специалиста.
Поэтому приватный режим своих кодов необходим как вода!
При условии, что фрагменты кода дальше не уйдут (с сайта, например).
Как-то так…
(38) pro1c@inbox.ru,
Ну я думаю пока рановато подавать заявки, проект в стадии «бета», просто пользователям авиры нужно учесть, что дистрибутив вычещен антивирями догола, так, что можно юзать (на свой страх и риск, конечно)
(40) Evgen.Ponomarenko,
Да, попробуйте сказать пользователям: «Используйте пожалуйста.На антивирусы не обращайте внимание. Программа не заражена!»
:))
(39) pro1c@inbox.ru,
Мои КОДЫ — это мое конкурентное преимущество, как специалиста.
Это дело личного суждения… Я уже 20 лет в ИТ…
Сколько помню раз защищался/шифровался… в конце-концов это оборачивалось против меня же.
Сейчас я готовов поделиться всеми своими исходниками — только юзайте на здоровье.
К стати есть интересный миф о «Гиперборее»…
Типа древнее высокоразвитое общество, нам далеко до их возможностей. Правда или ложь, сейчас трудно судить, но суть басни такова: У них был институт «Тайны», типа каждый познавал мир самостоятельно, НО СВОИМИ ОТКРЫТИЯМИ БЫЛО ЗАПРЕЩЕНО ДЕЛИТЬСЯ.
Все стремились к вершине социальной пирамиды. В итоге, те кто не попал в главную пирамиду, построили свою альтернативную. Потом начался Холивар между «Белыми» и «Черными»…
и в конце концов все накрылось медным тазом.
В греческой мифологии есть упоминание о битвах Титанов. Похоже это об этих супергероях.
Так, что лично я считаю, что открывать/закрывать свой код — это личное дело каждого, так сказать в меру личного опыта.
(41) pro1c@inbox.ru,
:))
Недоразвитым пользователям БЕ-ре-ТУ в руки не дают )))
(42) Evgen.Ponomarenko,
так я же не об том делиться или не делиться!
конечно нужно и правильно представлять свои исходники, но в нужный момент.
если у меня это бизнес и я этим зарабатываю на хлеб, то правило одно — использовать ЭТО максимально!
потом, когда-нибудь, когда спадет «монетизация» можно и тайны открыть!
это жизнь! так все устроено!
пойдите, спросите у Googla алгоритм поисковых роботов или
у Яндекса алгоритмы ранжирования сайтов!
Я думаю они укажут на сад!
(42) Evgen.Ponomarenko,
А байку и я могу Вам рассказать:
Я довольно хорошо фотографирую. Отличная аппаратура и т.д.
Приглашают знакомые на вечеринки, в походы, на свадьбы и т.д. фотографировать.
Так вот, я это делаю БЕСПЛАТНО и очень не плохо, НО ЭТО НЕ ЗНАЧИТ, ЧТО Я вправе
осуждать человека фотографа, который на этом деньги зарабатывает!
У него свои дела, у меня свои!
Поэтому, если правильно организованный код (паттерн) экономит моё время, значит
за единицу времени я смогу сделать больше, следовательно денег тоже больше!
Конкурентное преимущество. Как — то так…
(45) pro1c@inbox.ru,
я не то имел ввиду, я хотел сказать, камельфо или моветон — в данном деле вопрос личного суждения.
Бизнес-модели бывают разные… Закрытие индивидуальные или Открытые коллективные.
Понятное дело Открытые индивидуальные не выдерживают конкуренции в любом случае.
А вот Win vs Unix — это вечная борьба )))… Может винда денег и больше загребает, но юникс радует глаз.
Даже, если открыть коды гугла или яндекса — это ничего не даст, в них уже авторы сами не разбираются,
другое дело, что сразу будут видны следы спецслужб и спецфильтров.
На самом деле…я с вами полностью согласен… просто когда я вижу «резкие» заявления… стараюсь их «отбалансировать». не более того.
за единицу времени я смогу сделать больше, следовательно денег тоже больше!
Конкурентное преимущество. Как — то так…
Тоже согласен… с маааахоньким уточнением… деньги нам нужны для свободы… по этому позволю себе перефразировать: за единицу времени я смогу сделать больше, следовательно работать можно меньше!
(39) pro1c@inbox.ru,
ИМХО, фрагменты кода, которые могут использоваться в качестве шаблонов в своей массе не бывают настолько инновационными, чтобы ими нельзя было поделиться. Чаще всего что-то подобное уже кто-то написал и можно найти в интернете.
другое дело — использование готовых фрагментов поможет начинающим пользователям писать более грамотный код, а профессионалам не тратить время на изобретение велосипеда.
(48)
Тем более, что инновационные вещи можно в шаблон и не выносить… А библиотека коллективных знаний никому не помешает. Тем более, что если рассматривать компанию в целом, то она всегда заинтересованна в активном/пассивном обучении своих сотрудников. К тому же сам код составляет 5% от функциональности приложений, в остальном это информационные структуры со средним временем жизни 3-4 года.
(31) pro1c@inbox.ru,
Поставил на виртуалку Авиру.
проверил стартер — антивирус относит стартер в ранг подозрительных программ, что объяснимо
(49) Evgen.Ponomarenko,
согласен.
похоже вы правы.
(50)
Так и есть… если пользователь не понимает разницу между реальной и потенциальной угрозой…
то программисту приходится искать черную кошку в черной комнате, где кошки нет, не было и не будет.
(31) pro1c@inbox.ru,
И последний тест.
на виртуалке под присмотром авиры в Delphi 10 lite скомпилировал пустой проект с формой.
Проверил его авирой — все ок. Запустил — молчит.
Проверил на сайте virustotal.com и….
барабанная дробь…
11 вирусов.
Посему я умываю руки.
Выходит что авира цепляется в тому что производится подгрузка длл, читается инфо dll-файла и использование WINAPI. В стартере не происходит перехвата нажатия клавиш. Данный функционал находится как раз в dll.
Кстати, сайт на dll молчит.
А сайт непонятно к чему цепляется.
(53)
попробовал сделать пустой проект, правда на xe4.
все ок. вирусов нет.
(53)
попробуйте скомпилировать не в realese режиме, а debug…
(54) pro1c@inbox.ru,
на онлайн сервисе?
(56)
да, проверил на онлайн сервисе пустой проект, правда собранный на XE4
(57) pro1c@inbox.ru,
если есть delphi 7 или 10 lite попробуй на них
(58)
к сожалению этих версий у меня нет.
(53) сделай две версии — одну с автообновлением, другую для параноиков
(60) kalinin8,
спасибо, идея интересная… но думаю что пока это не приоритет.. потому как придется 2 версии поддерживать. dll и exe без стартера.
идея конечно интересная. но привязка к инету не радует ни коим образом. сделайте локальный сервер хранилища и продавайте за деньги. имхо вещь и спросом будет пользоваться. особенно будет актуальна на разработках больших проектов командами от 10 человек.
(62) burlakov,
Да, локальное хранение шаблонов обязательно надо делать.
Я как раз подумал о том что на сервере в интернете хранение шаблонов и использование программы будет бесплатным, а вариант с возможностью хранить свои шаблоны локально — платным.
(62) burlakov,
(62) burlakov,
Используем так командой…
http://infostart.ru/public/199364/) в папку для синхронизации с DropBox.
Регистрируетесь в DropBox. Ставите клиента DropBox.
Копируете CopyPaster1C (
Запускаете CopyPaster1C.
все! работаете и локально и через инет!
шаблоны кода 1С сами синхронизируются со всеми клиентами!
(65) pro1c@inbox.ru,
Я думаю что чужая статья — это не место для рекламы своего продукта. Достаточно было ссылку скинуть.
Спасибо за понимание.
(65) pro1c@inbox.ru, спасибо. в следующем году опробуем!
Спасибо, скачаю как будет организовано локальное хранение)
(psподписался)
Интересная обработка. Однозначно будет востребована если объем шаблонов будет приличный )
Программка, конечно, интересная, но я чего-то не понимаю, видимо.
А нельзя ли сделать файл .st, положить в общую шару и подключить его, как еще один файл шаблонов в конфигураторы всех, кто хочет его использовать?
Все стандартными средствами и на вирусы никто не ругается. Опять-же, права раздаются просто средствами ОС.
Можно не в общую шару, можно DropBox, можно GitHub. Мало ли способов синхронизации.
В git даже мерждить можно в продакшн выборочно. Мол, этот шаблон классный, а вот это фигня. И бранчи для разных проектов/версий платформы держать. Там синтаксис этого .st не сложный, вроде.
В чем «фишка»?
(70) zfilin,
Фишка в том, в стандартном шаблоне нужно точно знать что на что меняется. В этой разработке вы ищите шаблоны по ключевым словам
А… Вот оно что.
Напишите, кто пользуется, есть шаблоны, стоит юзать?
(73) Goruch,
Так как сервис живет не долго, шадлонов там всего 9 :-), из них 6 добавил я.
Но юзать стоит )
Чем больше будут программеров включаться в общее дело, тем проще будет всем разрабатывать.
Функционал онлайн шаблонов бесплатный и никогда платным не будет.
(74) а не думал для начала залить шаблоны которые есть тут в общем доступе, спросив автора разумеется?
(75) Goruch,
Да, думал, но мне кажется что авторы должны это сделать сами. Чтобы сохранить авторство )
Я планирую написать интерфейс для заливки — как вариант из базы CopyPaster1C.
Отличная программа,но она не работает на вин сервере 2008 r2 =/
Access violation at address 0357E064. Write of address 0357E064
А на компе с вин7 х64 всё работает шикарно, планирую пользоваться! спасибо
(77) miap,
Надеюсь увидеть вас в авторах шаблонов )
а не проще все это «залить» в снегопат?
.
люди которые активно юзаются пофигуратором — явно зарабатывают нормально, чтобы купить снегопат. наполнение снегопата шаблонами — причем классифицированными, структурированными / итп — правильный путь…
(79) CheBurator,
Точно! Проще! как я об этом то не подумал? Осталось взять исходники Снегопата и «залить» туда этот функционал )
А если серьезно
ИМХО, количество заработанного никогда не является прямой причиной, заставляющей сделать нужную покупку.
(80) достаточно добавить выгрузку в шаблоны .st и тогда можно пользоваться нечетким поиском для шаблонов.
(81) pumbaE,
Ок, тогда я понял принципиальную идею выгрузки шаблонов в .st как доп опцию для пользователей снегопат-а
(82) насколько я понимаю API еще не стабилизировалось, поэтому писать скрипт пока не вижу смысла.