OneStyle. Улучшенное форматирование кода в конфигураторе

Публикация № 635970 19.06.17

Разработка - Инструментарий разработчика

Форматирование v8CfgAddsAhk oscript скрипт код

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

Это один из множества инструментов проекта v8CfgAddsAhk. Описание на Инфостарт, на сайте, в гитхабе, мой форк.

Так же использована обработка для форматирования кода от 1С. Которую можно взять с ИТС.

О правомерности использования

Всегда последние изменения в дев-ветке основного проекта или в фиче-ветке моего форка

Что умеет

Выделяете нужный фрагмент кода, нажимаете Ctrl+Alt+F и происходит следующее

1. Вызывается стандартное форматирование Shift+Alt+F

2. Приводит комментарий к виду из стандартов разработки

Добавляет пробелы после // и перед текстом, если их нет, делает заглавной первую букву, переносит комментарии, длиннее 120 символов (длина задается в настройках)

3. Приводит ключевые слова к каноническому виду

4. Приводит ключевые слова в запросе к каноническому виду

5. Добавляет пустые строки вокруг ключевых конструкций, таких как Если, Для, Функция

Можно отключить в настройках

6. Удаляет внутри кода лишние пробелы и табы

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

Добавление пробелов у скобок можно отключить в настройках. Результат будет как в ВЖУХ2

8. Удаляет пробельные символы справа

В отличие от многих альтернатив не превращает пустые строки с отступами в пустые строки.

9. Выполняет форматирование перенесенных выражений

Это именно тот пункт, ради которого все и затевалось. Все ведь любят тот момент, когда форматируешь код и все сдвигается влево до упора?

Способ выравнивания запросов задается в настройках

// 0 - не выравнивать.
Запрос.Текст = "ВЫБРАТЬ
|	Пользователи.Ссылка КАК Пользователь
|ПОМЕСТИТЬ втПользователи


// 1 - добавлять таб
Запрос.Текст = "ВЫБРАТЬ
	|	Пользователи.Ссылка КАК Пользователь
	|ПОМЕСТИТЬ втПользователи


// 2 - выравнивать по равно
Запрос.Текст = "ВЫБРАТЬ
			   |	Пользователи.Ссылка КАК Пользователь
			   |ПОМЕСТИТЬ втПользователи
			   	
Запрос = Новый Запрос( "ВЫБРАТЬ
		 |	Пользователи.Ссылка КАК Пользователь
		 |ПОМЕСТИТЬ втПользователи" );

10. Разбивает длинные выражения на несколько строк

Так же выравнивает с учетом Знач. И сразу видно, что кое где их забыли проставить.

Если после форматирования код начал выглядеть странно. Это повод задуматься над его рефакторингом. 

11. Выравнивает код по "=", "(", ",", "//"

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

Выравнивания можно отключить в настройках.

Как начать пользоваться

Нужно скачать и установить autohotkey https://autohotkey.com/

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

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

Запустить файл v8CfgAdds.ahk в корне проекта.

В конфигураторе выделить нужный текст и нажать Ctrl+Alt+F

Как изменить настройки

В папке проекта есть файл \configs\OneStyle.json , все немногочисленные настройки там.

Как поучаствовать в развитии, изменить под себя

Весь проект OneStyle написан на oscript и легко может быть доработан среднестатистическим 1Сником.

Если вы хотите поделиться наработками, нашли ошибки, не понимаете что-либо, то можно спросить тут в комментариях, в репозиториях или в чате гиттера

Новое 2017.06.20

Исправлены выявленные ошибки.

Добавлены настройки для выравнивания. См. п.11

Добавлены настройки для выравнивания многострочных строк. См. п. 9

Подробный список изменений с возможность посмотреть изменения в коде

Скачать файлы

Наименование Файл Версия Размер
OneStyle. Улучшенное форматирование кода в конфигураторе:

.zip 4,21Mb
24
.zip 4,21Mb 24 Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. nixel 1032 19.06.17 14:28 Сейчас в теме
Огонь! Спасибо огромное.
Будут ещё пожелания по переносу по скобкам, но это детально лучше в ишузе обсудить
Evil Beaver; +1 Ответить
2. boln 1032 19.06.17 14:37 Сейчас в теме
Выравнивает код по "=", "(", ",", "//"
Только на партнерке про это не говорите - там есть ух какие противники такого выравнивания. Заклюют :)
3. headMade 143 19.06.17 16:53 Сейчас в теме
(2)чем на партнере не нравится такое выравнивание?
6. boln 1032 19.06.17 17:47 Сейчас в теме
(3)
чем на партнере не нравится такое выравнивание?
Один из аргументов приведен в (4). Среди других: создается излишняя нагрузка на хранилище конфигураций.
Впрочем, вот, у кого есть доступ, примеры возражений:
https://partners.v8.1c.ru/forum/topic/1578315
https://partners.v8.1c.ru/forum/t/1429490/m/1550876
4. YOr!k 98 19.06.17 16:58 Сейчас в теме
(2) думаю многие аргументы против такого выравнивания вполне обоснованы

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

тут, конечно, поступать надо так как заведено на конкретном проекте, без фанатизма.
Yashazz; stroganov_ru; klinval; CyberCerber; Soloist; madonov; tormozit; grumagargler; KAV2; +9 1 Ответить
5. TODD22 18 19.06.17 17:34 Сейчас в теме
(4)
если нужно найти все места, где присваиваются значения конкретного реквизита

Для этого можно воспользоваться поиском по коду и подсветкой выделенной переменной.....
8. orefkov 2106 20.06.17 03:35 Сейчас в теме
(4)
очень усложняется работа с поиском при работе с незнакомым кодом, например, если нужно найти все места, где присваиваются значения конкретного реквизита

Конечно, ведь реализовать поиск регулярными выражениями непосильная задача :)
11. Stepa86 1432 20.06.17 08:32 Сейчас в теме
(4) А если в коде присваивание сделано как ПарамПамПам=1; ? Или ПрисвоитьЗначениюЕдиничку( ПарамПамПам ) ? Или через ЗаполнитьЗначенияСвойств ?
16. Stepa86 1432 20.06.17 11:06 Сейчас в теме
(2) (4) (6) (9) Добавил настройки для выравнивания запросов и отключения выравниваний по знакам.
CyberCerber; Артано; YOr!k; +3 Ответить
36. inf012 30.06.17 09:14 Сейчас в теме
(6) Спасибо за ссылочки с партнерской конфы.
Да, про выравнивание, наверное, вечный вопрос.
1С в типовых конфах не выравнивает по равно или по запятой.
Но, в принципе, мне кажется, что выравненный код все равно читается немного проще и быстрее, нежели не выравненный.
// Нужно добавить новую строку (2) "Грязь" в коде, выравнивание становится бессмысленным
ДиалогВыбора.ПолноеИмяФайла = ИмяФайла; 
ДиалогВыбора.Каталог        = ИмяПути; 
ДиалогВыбора.Заголовок      = НСтр("ru = 'Выберите файл со списком запросов'"); 
ДиалогВыбора.Фильтр         = НСтр("ru = 'Файлы запросов (*.sel)|*.sel|Все файлы (*.*)|*.*'"); 
ДиалогВыбора.Расширение     = "sel";
ДиалогВыбора.НовоеДлинноеНазвание = НекоеЗначение;
// "Правильный" код - выравнивания не используются, изменения всегда минимальные, код однотипный
ДиалогВыбора.ПолноеИмяФайла = ИмяФайла; 
ДиалогВыбора.Каталог = ИмяПути; 
ДиалогВыбора.Заголовок = НСтр("ru = 'Выберите файл со списком запросов'"); 
ДиалогВыбора.Фильтр = НСтр("ru = 'Файлы запросов (*.sel)|*.sel|Все файлы (*.*)|*.*'"); 
ДиалогВыбора.Расширение = "sel";
ДиалогВыбора.НовоеДлинноеНазвание = НекоеЗначение;
Показать

Хотя, если надо не выравнивать, то это не принципиально.
7. Stepa86 1432 19.06.17 17:53 Сейчас в теме
Так, без паники. Кому не нужно выравнивание смогут их отключить в настройках, скоро это сделаю.

Хотя доводы смешные. Макконнелл, когда ругал выравнивание, единственным аргументом против называл необходимость менять вручную соседние строчки кода из-за изменения в одной. При этом он соглашался, что код выглядит чище и приятнее. А раз тут автоматом будет выравниваться, то и программист не устает.
inf012; nihfalck; TreeDogNight; kraynev-navi; +4 Ответить
9. Артано 712 20.06.17 08:10 Сейчас в теме
Честно говоря, некоторые подходы к форматированию весьма спорные.
Например оформление структур продемонстрированное на функции "НАЙТИСИМВЛОСКОНЦА". В данном конкретном примере больше помогло бы выключение капслока у программиста с параллельным битьем по голове (все равно он в неё только ест).
Форматирование перенесенных выражений, в частности форматирование текста запроса (выравнивание по оператору присваивания, а не по левому краю рабочей области). В приведенном примере программист специально и перенес его, чтобы текст запроса находился в рабочей области кода и не было огромных пустот.

Если на указанные нюансы можно влиять настройками, то можно пользоваться, иначе - смена шила на мыло.
CyberCerber; Yakud3a; +2 Ответить
10. Stepa86 1432 20.06.17 08:28 Сейчас в теме
(9) Ну я ж не принуждаю. Не нравится - не пользуйтесь. Он бесплатен, код открыт и весь проект лежит на гитхабе под митовской лицензией. Можно чо хошь с ним делать - запилить под себя, добавить полезных фишек и поделиться с сообществом, пообсуждать развитие итд.

А то претензии выглядят как "Мы потратили на этот проект кучу денег, а он не делает того, что мы хотим. Срочно реализуйте!!!"
unmensch; citicat; YanTsys; JohnyDeath; +4 Ответить
12. Артано 712 20.06.17 08:37 Сейчас в теме
(10) Претензий нет к пуговицам. написал о том, что резануло глаз и выразил пожелание, что это не жестко зашитая в проект логика, а настраиваемый шаблон. Проект не дающий базовых вещей сразу не будет популярен для пользователей, а найти разработчика, который будет его ковырять из любви к искусству сложно. А вот на популярный проект и желающих разработчиков будет больше
13. infosoft-v 538 20.06.17 09:15 Сейчас в теме
очень усложняется работа с поиском при работе с незнакомым кодом, например, если нужно найти все места, где присваиваются значения конкретного реквизита


Никак не могу взять в толк, почему?
17. YOr!k 98 20.06.17 13:11 Сейчас в теме
(13)
Никак не могу взять в толк, почему?

присвоение удобно искать по строке "ИмяРеквизита =", поиск просто по "ИмяРеквизита" найдёт все места использования реквизита, а не случаи его инициализации

(8)
Конечно, ведь реализовать поиск регулярными выражениями непосильная задача :)

поиск регулярными выражениями доступен не везде, не всем и не всегда

(10)
ПарамПамПам=1; ? Или ПрисвоитьЗначениюЕдиничку( ПарамПамПам ) ? Или через ЗаполнитьЗначенияСвойств

кажется, это не аргумент, чтобы ещё больше усложнять себе жизнь доп. выравниваниями ) в большинстве случаев этот прием работает и позволяет быстро локализовать нужное место в коде.

Это всё не в качестве холивара.
Красота и опрятность кода - это очень субъективные понятия, у каждого есть свои "железные" аргументы почему он делает так, а не иначе, и я специально оговорился, что нужно следовать оговорённым стандартам, выравнивать так как это заведено на конкретном проекте, хуже когда это не соблюдается, и каждый выравнивает так, как ему больше нравится, устраивая при этом "войну правок" (выравниваний) в модулях, которые разрабатывают несколько человек.
klinval; grumagargler; CyberCerber; infosoft-v; +4 Ответить
18. orefkov 2106 20.06.17 14:02 Сейчас в теме
(17)
поиск регулярными выражениями доступен не везде, не всем и не всегда

Я это и имел ввиду. Вместо того, чтобы реализовать в платформе возможность поиска регулярками (что не так и сложно), чтобы это было доступно везде всем и всегда - лучше говорить о том, что выравнивать по знаку равно это плохо.
artbear; the1; ret-Phoenix; +3 Ответить
14. JohnConnor 50 20.06.17 09:44 Сейчас в теме
останусь на снегопаде
artbear; orefkov; +2 Ответить
15. Stepa86 1432 20.06.17 09:45 Сейчас в теме
(14) Под снегопатом тоже должно работать. Я не проверял, правда
19. orefkov 2106 20.06.17 14:04 Сейчас в теме
(15) Надо мне всё-таки допилить интеграцию 1Script и нового снегопата. Тогда твой код с небольшими переделками сможет работать в снегопате нативно. Он же у тебя на OneScript сделан?
artbear; JohnyDeath; +2 Ответить
20. Stepa86 1432 20.06.17 14:36 Сейчас в теме
(19) Да, целиком на oscript написано. Там с помощью автохоткея получается выделенный текст, записывается в файл, запускается oscript и опять автохоткеем читается и возвращается в выделенное. А запуск скрипта выглядит вот так

system\OneScript\bin\oscript.exe scripts\OneStyle\Main.os tmp\module.txt


Заменить автохоткей на снегопат не должно быть проблемой
31. bsi 23.06.17 10:29 Сейчас в теме
32. orefkov 2106 23.06.17 10:47 Сейчас в теме
43. Rustig 1833 28.11.18 21:51 Сейчас в теме
(14) видео сделайте как вы на снегопаде решаете конкретную задачу
до сих пор ничего не использовал, интересно увидеть фильм от начала до конца, а не отдельные обрывки Если Тогда КонецЕсли
21. orefkov 2106 20.06.17 14:37 Сейчас в теме
Просто со снегопатом можно напрямую текст текущего модуля получить и потом вставить.
Да и форму для настроек удобно сделать.
22. ret-Phoenix 495 20.06.17 14:44 Сейчас в теме
Форму настроек можно и у меня сделать, OneScript + GUI, сейчас вся визуальная часть на это переводится.
23. roofless 24 20.06.17 16:22 Сейчас в теме
из коробки должно работать?
другие скрипты выполняются, а "ctrl+alt+f" только форматирует стандартным "alt+shift+f"
24. Stepa86 1432 20.06.17 17:48 Сейчас в теме
(23) Если форматирует только стандартным и дальше ничего не происходит, то это так скрипт крашится. В 90% случаев это изза неправильного файла настроек \configs\OneStyle.json . Он должен быть корректного формата json. Про оставшиеся 10% ничего не могу сказать - нужно разбираться детальнее.

Если что скрипт отрабатывает не мгновенно, подгрузка движка оскрипта занимает около секунды
25. roofless 24 21.06.17 08:08 Сейчас в теме
(24)вижу, что поехали наименования файлов(( как восстановить?
Прикрепленные файлы:
26. Stepa86 1432 21.06.17 08:19 Сейчас в теме
27. Stepa86 1432 21.06.17 08:21 Сейчас в теме
(25) Хотя дело наверно в архиваторе. Попробуй чем нить другим распаковать
28. roofless 24 21.06.17 09:03 Сейчас в теме
(27) верно, всё работает. спасибо!
30. kare 21 22.06.17 08:18 Сейчас в теме
(28) у меня тоже самое было, спасибо за комментарии ! 7z решил проблему.
roofless; +1 Ответить
29. CheBurator 3456 21.06.17 23:55 Сейчас в теме
по п.3

Превратить
(Парам1, -Позиция, Парам3) в
(..., - Позиция, ...)
мое чувство прекрасного протестует

-А - это все-таки унитарная операция. и отрывать минус от операнда - фу-фу-фу...
Yashazz; zqzq; klinval; madonov; +4 Ответить
38. Stepa86 1432 03.07.17 19:32 Сейчас в теме
(29) Пофиксил. Теперь унарный минус всегда прилипает к операнду. На данный момент изменения только в моем форке
33. Stepa86 1432 26.06.17 09:57 Сейчас в теме
Лайфхак для тех, кто не хочет всегда при форматировании выравнивать по равно, но иногда все таки выравнивает избранные куски (думаю таких не много, 80-95% всего лишь). Отключаете выравнивание в настройках уанстайла и ставите себе маленькую программку TNice https://habrahabr.ru/post/229833/ https://github.com/MrShoor/TNice , которая умеет выравнивать более точечно.
34. Akbis 52 30.06.17 08:38 Сейчас в теме
Полезная штука, форматирование текста очень пригодилось. Спасибо!

Но вышло несколько моментов - Во первых запускается только с региональными настройками Russia.Без этого странно глючит.

В OneStyle.json задал
"ВыравниватьПоРавно": true,
"ВыравниватьПоСкобке": false,
"ВыравниватьПоЗапятой": false,
"ВыравниватьПоКомментариям": false
- то есть хочу выравниваться только по Равно. По скобкам вообще не хочу. Но эти настройки не вступают в силу.

Далее остальные функции работают не совсем стабильно. Например Вызов списка методов: {ctrl +1} нажимаю список выходит, далее как мне прокликать и попасть в выбранный метод? Не получается чтото..
35. Stepa86 1432 30.06.17 09:04 Сейчас в теме
(34) Про региональные настройки ничего не скажу. Глючить в стеке может AHK, скрипт под AHK, оскрипт и скрипт под оскрипт. Ну и умеет работать только с русским текстом, под английский я его не адаптировал и не планирую.

По настройкам: то есть все равно выравнивается и по скобке и по запятым и по равно? Гляну, как время будет

По остальным функциям лучше спрашивать автора http://infostart.ru/public/339035/ . Сейчас, насколько я знаю, эти списки заточены под работу клавиатурой и не ловят мыша, но Сергей планирует переписать все диалоги на оскрипт и вообще отказаться от AHK. Если интересен проект, то можно его пообсуждать тут https://gitter.im/v8CfgAddsAhk/Lobby
37. inf012 30.06.17 09:33 Сейчас в теме
Но, все таки, сама 1С разрешает (допускает) использование выравнивания:
https://its.1c.ru/db/v8std#content:2149184090:hdoc
39. gubanoff 50 11.09.17 13:44 Сейчас в теме
(0) добавьте пакетную обработку всех модулей конфигурации, выгруженных в текстовые файлы. Ведь все равно обработка, как я понял
(20) через файлы идет. Тогда можно было бы сразу всю конфигурацию привести к приличному виду.
Тогда и автохоткей не понадобиться. Это тоже плюс.
40. ret-Phoenix 495 12.09.17 10:21 Сейчас в теме
(39) Вообще-то AHK используется только для запуска скрипта с параметрами.
system\OneScript\bin\oscript.exe scripts\OneStyle\Main.os %fileName%

	Источник = "tmp\module.txt";
	Если Параметры.Количество() > 0 Тогда
		Источник = Параметры[0];
	КонецЕсли;
	Приемник = Источник;
	Если Параметры.Количество() > 1 Тогда
		Приемник = Параметры[1];
	КонецЕсли;
Показать


Можете спокойно натравить на нужные Вам файлы.

Пакетная обработка модулей конфигурации, примерно так:

Файлы = Найти(...);
Для каждого Файл из Файлы цикл
 // обработать текст
КонецЦикла;


P.S. Обновил статью на ИС и выложил комплексное обновление.
41. gubanoff 50 13.11.17 16:11 Сейчас в теме
(0) попробовали, нашли ряд случаев, когда форматирование выполняется некорректно - операторы разрываются на две строки, что приводит к синтаксическим ошибкам. Примеры прилагаю. Прошу исправить.
Прикрепленные файлы:
OneStyle.json
Перенос_глВопрос.txt
Перенос_УправлениеДоступом.СвойстваВидаДоступа().НайтиСтроки.txt
ПереносУсловия_ДокументСсылка.УниверсальноеПеремещение.txt
ПереносУсловия_СтрокаОтбора.ВидОтбора = Значени.txt
42. Stepa86 1432 13.11.17 16:48 Сейчас в теме
(41) Это опенсорс. Если что то не нравится - можете сами у себя поправить. Если хотите этим поделиться с другими - готов рассмотреть ваши пулл-реквесты в https://github.com/Stepa86/v8CfgAddsAhk

У меня сейчас нет ни желания ни времени дорабатывать этот проект для других. Меня текущая работоспособность устраивает.
45. Rustig 1833 28.11.18 21:54 Сейчас в теме
(42)
Меня текущая работоспособность устраивает.

видео снимите пож-та как вы программируете - "насколько ваша разработка ускоряет программирование"
44. Rustig 1833 28.11.18 21:53 Сейчас в теме
(0) у вас на сайте
Нужно скачать и установить autohotkey https://autohotkey.com/

фон кода черный - скажите , это нормально для вас так программировать? на черном фоне, желтыми буквами....
46. Yashazz 3879 09.11.20 14:26 Сейчас в теме
Цены бы всему этому не было, кабы оно было написано на чистом 1С без применения всяких внешних приблуд. Технически-то ведь несложная задача - парсить текст, регулярки да шаблоны, из файлов конфы брать и их же обрабатывать, да потом взад грузить. Что ж сразу так не сделали?... Печаль.
Оставьте свое сообщение

См. также

CF & SQL : конструктор прямых запросов к БД 1С Промо

Инструментарий разработчика Администрирование СУБД v8 1cv8.cf Россия Абонемент ($m)

Программа для чтения и анализа внутренней структуры данных 1С V8.х, Содержит конструктор прямых SQL запросов, позволяет обрабатывать и редактировать тексты SQL-запросов, выполнять прямые запросы к базе данных 1С и обрабатывать полученные результаты.

1 стартмани

02.10.2019    26977    259    dmitrydemenew    54    

Как контролировать качество внешних обработок, отчетов, правил обмена, расширений 1С и поставить это на поток

Рефакторинг и качество кода Бесплатно (free)

Если код написан качественно, его легче развивать и дешевле поддерживать. О том, как организовать контроль качества кода в ручном и автоматическом режиме, и какие инструменты могут в этом помочь, на INFOSTART MEETUP Новосибирск.Online рассказал Олег Тымко.

09.04.2021    4511    olegtymko    25    

Подсистема "Показатели объектов"

Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

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

2 стартмани

06.03.2021    4912    5    pila86    16    

Генератор кода схемы компоновки данных (СКД)

Прочие инструменты разработчика v8 v8::СКД 1cv8.cf Абонемент ($m)

Формирование кода для программного создания схемы компоновки данных (СКД)

1 стартмани

04.02.2021    6500    49    Sergspectr    35    

Внешний регламент для 1С Промо

Прочие инструменты разработчика v8 Россия Абонемент ($m)

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

1 стартмани

05.03.2020    6590    8    moolex    11    

FormCodeGenerator Программная доработка форм. Часть 2 (Режим работы "Режим сравнения форм") на примере ERP 2.5

Практика программирования Адаптация типовых решений Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

Данная публикация является продолжением описания функционирования обработки "FormCodeGenerator " в режиме сравнения форм и генерирования кода на основании сравнения. Подходит для перевода уже доработанных форм с интерактивной доработки на программную. Данный режим работы обработки снизит издержки при дальнейших обновлениях конфигураций.

5 стартмани

21.12.2020    6786    21    huxuxuya    11    

Отладчик запроса 1С 8.3 (управляемые формы), бета-версия

Консоль запросов v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

28.09.2020    11012    121    DrAku1a    29    

Конвертация данных 3 расширение: Редактор кода.

Инструментарий разработчика Адаптация типовых решений v8 КД Россия Абонемент ($m)

Расширение для конфигурации “Конвертация данных 3.0” добавляет на все формы, где используется код языка 1С, консоль кода для управляемых форм. В результате работать с кодом в пользовательском режиме становится намного удобнее - появляется привычная расцветка кода, а также контекстная подсказка.

1 стартмани

08.09.2020    9557    27    Viktor_Ermakov    29    

Управляемая консоль запросов, отчетов 3.8.9 (расширение, внешняя обработка) Промо

Консоль запросов v8 v8::УФ v8::Запросы v8::СКД 1cv8.cf Абонемент ($m)

Работа с запросом и СКД, Полная поддержка пакетных запросов, временных таблиц, Сравнение результатов, текстов, Разбор структуры запроса в виде дерева, Анализ плана запроса, Групповая обработка

5 стартмани

14.08.2018    115963    2847    Evg-Lylyk    734    

А1Э - альтернативная стандартная библиотека для 1С

Инструментарий разработчика v8 Абонемент ($m)

Предлагаю широкой общественности расширение А1Э, используемое в нескольких продуктивных базах для выполнения широкого круга задач.

14.08.2020    11790    1    Enigma    47    

Консоль кода для управляемых форм

Прочие инструменты разработчика v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

17.07.2020    22314    340    salexdv    296    

Экспорт журнала регистрации. Набор инструментов (приложения + исходный код)

Прочие инструменты разработчика Журнал регистрации v8 Абонемент ($m)

Набор инструментов для экспорта данных журнала регистрации во внешние хранилища для Windows и Linux (SQL Server, PostgreSQL, MySQL). Готовые приложения и исходный код.

10 стартмани

26.05.2020    9802    66    YPermitin    0    

Установка предопределенных элементов: просмотр, исправление и поиск ошибок (задвоенных и отсутствующих) Промо

Инструментарий разработчика Универсальные обработки v8 1cv8.cf Абонемент ($m)

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

2 стартмани

06.10.2014    164071    2711    ekaruk    168    

Консоль запросов 9000

Консоль запросов v8 v8::Запросы 1cv8.cf Абонемент ($m)

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

1 стартмани

24.02.2020    20102    382    kuza2000    139    

Помощник работы с идентификаторами объектов

Прочие инструменты разработчика Поиск данных v8 1cv8.cf Абонемент ($m)

Инструмент для расширенного анализа идентификаторов объектов.

2 стартмани

24.01.2020    16552    61    YPermitin    32    

Инструменты оптимизации для 1С на MS SQL Server

Прочие инструменты разработчика v8 v8::УФ 1cv8.cf Абонемент ($m)

Набор базовых инструментов для поиска узких мест в работе 1С на MS SQL Server.

1 стартмани

15.12.2019    19645    228    berezdetsky    23    

[Расширение] Контроль отрицательных остатков по регистру бухгалтерии при проведении Промо

Универсальные функции Инструментарий разработчика Учет ТМЦ Учет ТМЦ v8 1cv8.cf Россия БУ Абонемент ($m)

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

1 стартмани

17.08.2015    52265    169    ekaruk    32    

Конвейер проверки качества кода

Инструментарий разработчика Практика программирования Математика и алгоритмы Jenkins SonarQube v8 1cv8.cf Абонемент ($m)

Jenkinsfile для выполнения проверки качества кода. Собирает информацию с АПК, EDT и BSL-LS. Сопоставляет ошибки с гит-репозиторием, выгруженным ГитКонвертором. Отправляет в Сонар.

3 стартмани

04.09.2019    33500    27    Stepa86    46    

Модель объекта

Инструментарий разработчика v8 Абонемент ($m)

Подсистема позволяет описать модель данных объекта, где описана зависимость между реквизитами, и затем использовать эту модель в разных сценариях работы с объектом. Версия платформы: 8.3.6 и выше. С небольшими доработками будет работать на 8.2.

1 стартмани

30.06.2019    15309    1    vadim1980    5    

Переводим рутину ручного тестирования 1C на рельсы Jenkins-а и ADD

Инструментарий разработчика Jenkins v8 Абонемент ($m)

Вы все еще тестируете свои конфигурации 1С вручную? Да вы просто тратите жизнь впустую! В данном туториале попробуем скрестить ADD и jenkins для автоматического запуска тестов.

1 стартмани

03.06.2019    33481    9    ripreal1    92    

Faster - многофункциональный ускоритель работы программиста 1С и других языков программирования Промо

Инструментарий разработчика v8 1cv8.cf Россия Абонемент ($m)

Программа Faster 9.4 позволяет ускорить процесс работы программиста (работает в любом текстовом редакторе). Подсказка при вводе текста на основе ранее введенного текста и настроенных шаблонов. Программа Faster позволяет делится кодом с другими программистами в два клика или передать ссылку через QR Код. Исправление введенных фраз двойным Shift (с помощью speller.yandex). Переводчик текста. Переворачивает текст случайно набранный на другой раскладке. Полезная утилита для тех, кто печатает много однотипного текста, кодирует в среде Windows на разных языках программирования. Через некоторое время работы с программой у вас соберется своя база часто используемых словосочетаний и кусков кода. Настройка любых шорткатов под себя с помощью скриптов. Никаких установок и лицензий, все бесплатно.

1 стартмани

24.05.2012    82462    962    moolex    147    

Универсальный HTTP-сервис на платформе 1С, аля HTTP-сервер с примером

Инструментарий разработчика v8 1cv8.cf Абонемент ($m)

Практический кейс построения HTTP-сервиса, который работает по принципу HTTP-сервера, с разбором всех методов построения и разработки класса задач построения личных кабинетов и сопряжения их с центральной базой.

1 стартмани

13.05.2019    35818    148    Diversus    44    

Групповая проверка доработок

Прочие инструменты разработчика v8 v8::УФ 1cv8.cf Абонемент ($m)

Обработка для массовой проверки доработок конфигурации: Открытие форм, Печать, Формирование отчетов, Проведение документов, Запись справочников, ПВХ, ПВР. Выдает список обнаруженных ошибок. Рекомендуется применять для тестирования обновленной конфигурации, перед установкой пользователям. В коде используются универсальные методы поэтому подходит для большинства конфигураций, построенных на базе библиотеки стандартных подсистем. Проверялась на Зарплата и управление персоналом КОРП 3.1.8.216, Управление торговлей 11, 1С:ERP Управление предприятием 2.4.7.141, Бухгалтерия предприятия КОРП 3.0.68.66.

2 стартмани

05.05.2019    18957    118    sapervodichka    23    

Расширение "Быстрая проверка кода" для конфигурации 1С:Автоматизированная проверка конфигураций

Инструментарий разработчика v8 v8::УФ 1cv8.cf Абонемент ($m)

Расширение для конфигурации "1С:Автоматизированная проверка конфигураций", позволяющее проверять произвольный код.

1 стартмани

26.03.2019    23950    63    Bazil    34    

Консоль запросов + ТЗ как параметры Промо

Консоль запросов v8 1cv8.cf Украина Абонемент ($m)

Стандартная консоль запросов, с добавленной возможностью использования описания/заполнения/использования таблиц значений как параметров. Совместима с настройками базовой консоли. Упрощает отладку запросов, использующих временные таблицы.

2 стартмани

12.11.2010    41226    448    Kashemir    24    

Настройка отладки на сервере 1С

Инструментарий разработчика v8 1cv8.cf Абонемент ($m)

Обработка для настройки отладки на сервере, включение отладки COM-соединений и отладки Web-сервисов.

1 стартмани

26.03.2019    34967    153    frkbvfnjh    44    

Методика оптимизации программного кода 1С: проведение документов

Обработка документов Производительность и оптимизация (HighLoad) Инструментарий разработчика v8 v8::УФ Абонемент ($m)

Описание простого метода анализа производительности программного кода 1С, способов его оптимизации и оценки результатов в виде числовых показателей прироста производительности. Не требует сторонних программных продуктов, используются только типовые возможности платформ 1С. Методика проверена на линейке платформ начиная с 1С:Предприятие 8.2 (обычные формы, управляемые формы). Позволяет ускорить проведение проблемных документов в 3 и более раз, провести проверку корректности формирования проводок оптимизированным кодом и подтвердить результаты оптимизации реальными замерами производительности в режиме предприятия. К публикации приложены демонстрационные базы для режимов обычного и управляемого приложения на платформе 1С:Предприятие 8.3 (8.3.9.2033).

1 стартмани

19.03.2019    29406    21    dmitrydemenew    85    

Инструктор. Прототип инструмента создания быстрых пользовательских инструкций

Пользователю системы Инструментарий разработчика v8 v8::УФ Россия Абонемент ($m)

Прототип дружелюбного и эффективного инструмента для написания пользовательских экспресс-инструкций. Задействована штатная утилита Windows, о существовании которой многие не знают и которая умеет делать огромную работу по логированию действий и снятию скриншотов на всех ПК с Windows (начиная с версии Win7). "Инструктор" не требует никакой установки и дополнительных библиотек! Это означает, что инструмент будет работать и на домашнем ПК и на "чужом ноутбуке" и на терминальном win-сервере у заказчика, где ваши права сильно ограничены. Вы просто подключаете легкую файловую базу 1С и получаете инструмент по снятию скриншотов с интересной функциональностью...

1 стартмани

15.02.2019    16837    48    ROM_NN    11    

[x1c.ru] 1CDBin: Работа с файлами *.1CD на низком уровне средствами языка 1С с возможностью чтения таблиц (поддерживается формат 8.3.8.0) Промо

Тестирование и исправление Инструментарий разработчика v8 1cv8.cf Абонемент ($m)

Обработка позволяет просматривать файловые базы 1CD на низком уровне средствами встроенного языка. Реализована часть функциональности Tool_1CD, но на языке 1С Предприятия. Показываются таблицы, параметры таблиц, поля таблиц, записи таблиц, значения полей BLOB, есть 16-ричный просмотр страниц базы и консоль кода. Можно использовать для изучения структуры файлов 1CD, просмотра баз 1CD для выявления повреждений, создания своих обработок для выгрузки данных без открытия исследуемой базы в 1С:Предприятии.

1 стартмани

07.10.2014    59691    375    GusevNA    78    

Конструктор мобильного клиента Simple WMS Client: способ создать полноценный ТСД без мобильной разработки. Теперь новая версия - Simple UI (обновлено 14.11.2019)

Инструментарий разработчика Сканер штрих-кода Терминал сбора данных Мобильная разработка Оптовая торговля Производство готовой продукции (работ, услуг) Розничная торговля Учет ОС и НМА Учет ТМЦ Оптовая торговля Производство готовой продукции (работ, услуг) Розничная торговля Учет ОС и НМА Учет ТМЦ v8 v8::Mobile БУ УУ Абонемент ($m)

Simple WMS Client – это визуальный конструктор мобильного клиента для терминала сбора данных(ТСД) или обычного телефона на Android. Приложение работает в онлайн режиме через интернет или WI-FI, постоянно общаясь с базой посредством http-запросов (вариант для 1С-клиента общается с 1С напрямую как обычный клиент). Можно создавать любые конфигурации мобильного клиента с помощью конструктора и обработчиков на языке 1С (НЕ мобильная платформа). Вся логика приложения и интеграции содержится в обработчиках на стороне 1С. Это очень простой способ создать и развернуть клиентскую часть для WMS системы или для любой другой конфигурации 1С (УТ, УПП, ERP, самописной) с минимумом программирования. Например, можно добавить в учетную систему адресное хранение, учет оборудования и любые другие задачи. Приложение умеет работать не только со штрих-кодами, но и с распознаванием голоса от Google. Это бесплатная и открытая система, не требующая обучения, с возможностью быстро получить результат.

5 стартмани

09.01.2019    57262    262    informa1555    234    

Управление задачами в 1С - готовая подсистема с открытым кодом и широким базовым функционалом. Версия 1.0.6

Инструментарий разработчика Управление бизнес-процессами (BPM) Управление проектом v8 Абонемент ($m)

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

10 стартмани

17.12.2018    25369    125    for_sale    40    

Рисуем диаграммы в metadata.js

Инструментарий разработчика Работа с интерфейсом v8 v8::СКД 1cv8.cf Абонемент ($m)

Не одной же литературой заниматься?

1 стартмани

20.09.2018    20324    4    1c-intelligence    77    

Разбираемся со структурой правил конвертации данных Промо

Инструментарий разработчика v8 КД Абонемент ($m)

При переносе данных между различающимися данными частенько приходится смотреть в правила. И часто, чтобы выяснить, к примеру, каким документом формируются остатки по конкретному ПВД, нужно заглядывать в него и искать, какое ПКО в нем вызывается. А может вызываться и алгоритм, в котором вызывается ПКО ;-) А если правил много? Чтобы не мучить себя утомительными поисками, предлагаю воспользоваться этой обработкой.

1 стартмани

14.10.2011    25232    162    Meta    17    

Пользовательское определение языка 1С для Notepad++ и пример использования списка функций для навигации под свои нужды

Инструментарий разработчика v8 Абонемент ($m)

Позволяет редактировать bsl-модули (или просто текст из буфера обмена, как на скриншоте) с традиционной для 1С подсветкой синтаксиса. Рисует список функций слева в 3-х вариантах: 1. Просто список функций 2. Список функций с группировкой по областям 3. Список вызовов 4. Язык запросов

1 стартмани

10.09.2018    14844    55    albert.goncharov    24    

Консоль Внедренца v.3.6.2

Консоль запросов Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

Идея данной обработки заключается в создании простого, функционального и универсального инструментария для внедренцев и программистов 1С, который будет работать как в толстом клиенте на обычных и на управляемых формах, так и в тонком клиенте. Интерфейс и логика работы максимально идентичны у обычных форм и управляемых. Инструментарий включает в себя: Консоль кода, Консоль запросов, Консоль отчетов (СКД), Универсальную обработку объектов, Средства для работы с таблицами базы данных 1С, Редактирование регистров сведений базы, Инструмент по работе с табличными документами - загрузка данных из табличного документа.

1 стартмани

27.08.2018    27144    425    evvakra    42    

HTTP Сервисы: Путь к своему сервису. Часть 3

Инструментарий разработчика Практика программирования v8 1cv8.cf Абонемент ($m)

Продолжение статьи «HTTP Сервисы: Путь к своему сервису. Часть 2». В предыдущих частях мы использовали только Get, в этой части поговорим о других методах и длительных операциях.

1 стартмани

27.08.2018    50045    66    dsdred    17    

Позиционирование в помещении с помощью нейросети по сигналу Wi-Fi. Интерактивная карта склада в 1С с показом позиции

Инструментарий разработчика Практика программирования v8 Абонемент ($m)

Данная публикация содержит в себе редактор и интерактивную карту склада или иного помещения, на которой в реальном времени отображается позиция устройства, координаты которого вычисляются по уровням сигнала нескольких роутеров Wi-Fi. В статье и приложенным к ней разработкам предлагаются инструменты и методика для реализации вычисления точной геопозиции внутри помещений с помощью нейронной сети. Конфигурация написана на релизе 1С:Предприятие 8.3.12.1412, клиентское приложение имеет минимальный уровень совместимости SDK -16.

5 стартмани

09.08.2018    34041    31    informa1555    30    

Консоль HTTP-запросов с генерацией кода

Консоль запросов v8 v8::УФ 1cv8.cf Абонемент ($m)

Консоль HTTP-запросов, которая не только выполняет запросы и получает результат их выполнения, но и генерирует необходимый код. Использую на 8.3.11.2899.

1 стартмани

25.05.2018    29805    316    leongl    19    

Регистры правил [Расширение]

Инструментарий разработчика Информационная безопасность v8 v8::Права УТ11 Абонемент ($m)

Регистры правил - права доступа, запрет редактирования, автоподстановка реквизитов и т.д.

10 стартмани

15.03.2018    21403    29    33lab    5    

Тестирование интерфейса в обычном приложении 8.2 при помощи SikuliX

Инструментарий разработчика Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Как же не хватает клиента тестирования на платформе 8.2. Не кликнешь на кнопку, не выберешь из списка, не проверишь видит ли надпись пользователь. Воспользуемся внешним инструментом SikuliX, который позволит нам протестировать функционал форм. Данный инструмент легко встраивается в линию сборки и может "дружить" с уже известным многим Open-source продуктами.

1 стартмани

03.01.2018    33953    5    kraynev-navi    42    

Программное формирование форматированной строки в стиле html+inline CSS

Работа с интерфейсом Инструментарий разработчика v8 1cv8.cf Абонемент ($m)

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

1 стартмани

18.11.2017    39522    44    bonv    11    

Макет в СКД - пример всех возможных типовых вариантов

Практика программирования Инструментарий разработчика v8 v8::СКД 1cv8.cf Абонемент ($m)

Макет СКД: наглядное представление того, что, как и куда выводится при типовых настройках.

1 стартмани

09.11.2017    25883    80    freelancer    4    

Заполнение шаблона Word на сервере, без использования MS Office (docx -> zip -> xml). Предусмотрен вывод табличных частей

Универсальные печатные формы Инструментарий разработчика v8 v8::УФ 1cv8.cf Абонемент ($m)

Шаблон в Word, управляемые формы. Создание заполнение документа Word (docx -> zip -> xml) по шаблону на сервере без использования MS Office. Предусмотрен вывод табличных частей.

2 стартмани

04.10.2017    33968    251    artms    65    

Тестирование: пример из семи шагов создания Unit-теста для платформы 1С

Инструментарий разработчика v8 ERP2 УТ11 Абонемент ($m)

В этой статье мы расскажем, как создать Unit-тест. Опишем как это сделать с использованием Фреймворка xUnitFor1C. Рассмотрим пример максимально приближенный к боевому, покажем процесс отладки теста, поделимся советами и приложим несколько обработок-примеров. Вы сможете убедиться, что создание тестов на самом деле это относительно быстрый и простой процесс.

1 стартмани

29.08.2017    35996    22    ivanov660    46    

Трансформатор 1С - SQL

Инструментарий разработчика v8 v8::УФ 1cv8.cf Абонемент ($m)

Обработка для представления SQL запросов в терминах 1С, с возможностью захвата SQL запросов трассировкой.  Поддерживается также форматирование текста запроса через интернет сервис. Работает в управляемых и обычных формах, в том числе на веб-клиенте.

1 стартмани

28.06.2017    40525    385    Synoecium    49    

"Конвертация данных" + Git. Решение проблемы различий в файлах

Инструментарий разработчика Обмен через XML v8 КД Абонемент ($m)

Как известно, типовая конфигурация «Конвертация данных» обладает одним недостатком, мешающим работать с ней в Git-е. Если выгруженные из нее правила обмена загрузить в другую КД, а потом снова выгрузить, то полученные два файла будут очень сильно отличаться друг от друга, и при сравнении (diff) доработок будет невозможно провести код-ревью, равно как найти сами изменения, которые закоммитил разработчик.

1 стартмани

08.06.2017    29100    44    stas_ganiev    13