Анализ цикломатической сложности кода

Публикация № 166182

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

95
Инструмент для контроля сложности написанного кода для 1С8.
Пригодится разработчикам, которые заботяться о качестве своего продукта, простоте его тестирования и дальнейшей поддержке.

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

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

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

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

  1. Открыть обработку в 1С:Предприятии 8.
  2. Вставить фрагмент кода, который вы хотите проанализировать в поле на закладке "Текст"
    или выбрать каталог, в котором лежат искодные коды модулей (в текстовом виде), указав маску выбора фалов
    или выбрать файл с текстом исходного кода.
  3. Нажать на кнопку "Выполнить".
  4. Полученные результаты можно отсортировать по любой из колонок дерева результатов. Для наглядности, отдельные методы в дереве результатов подкрашиваются в цвет, символизирующий его сложность.
  5. На закладке "Настройки" можно поменять цвета, настройки градиента раскрашивания.

Как применять это в реальной жизни?

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

  • Оптимум метрики: не стОит вводить. Мы ограничились введением верхнего допустимого значения. Исследования, о которых говорится в википедии в разделе "Применение", рекомендуют ограничивать сложность на уровне 10. В отдельных случая можно допустить поднятие лимита до 15. Сложность более 50 гарантирует вам головную боль при поддержке.
    Учитывая специфику разработки ИС (мало математически строгих алгоритмов - всегда нужны какие-то исключения и допущения), мы подняли допустимую верхнюю границу сложности до 14. В отдельных случаях, допускается превышение до 20 с обязательным комментарием в коде метода, чем вызвана необходимость повышенной сложности.
  • Разработчик, при передаче задачи в тест, самостоятельно замеряет сложность кода который он произвел/модифицировал. При необходимости, некоторые части выносятся в отдельные методы. В ряде случаем это также увеличивает или облегчает повторное использование кода.
  • Для разработчиков, которые систематически превышают максимально допустимую сложность кода, можно применять штрафные санкции.
  • Кстати, не стоит брать типовые конфигурации в качестве ориентира по сложности кода. Самое высокое значение цикломатической сложности, которое я видел, было около 350. Yell И да, это был типовой регламентированный отчет.

Примечания по использованию:

  • Поддерживается анализ кода написанного как на русском, так и на английском языке.
  • Обработка работает в обычном (не управляемом) приложении, но исходный код может анализировать как для обычного, так и для управляемого приложения. Если вам нужна версия обработки для работы под управляемым приложением - пишите в комментариях или в личку.
  • Вы можете использовать обработку по своему усмотрению в рамках действующего законодательства вашего государства. Единственная просьба: если у вас есть замечания или предложения по улучшению обработки, а также в случае нахождения багов - пишите мне об этом в комментариях или мне в личку.
95

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

Наименование Файл Версия Размер
Анализ цикломатической сложности (cyclomatic complexity analys)
.epf 17,27Kb
29.10.13
199
.epf 17,27Kb 199 Скачать

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

Комментарии
Избранное Подписка Сортировка: Древо
1. hulio 56 14.12.12 08:33 Сейчас в теме
(0) Автор, объясните хотя бы в двух словах, чем полезна ваша обработка на практике? Какие выводы можно сделать, вычислив ЦСП?
4. Spitfire 95 14.12.12 13:23 Сейчас в теме
(1) hulio, (2) comol, коллеги, по вашим просьбам добавил описание практического применения.
вычисление ЦС дает ответ на вопрос, нужно ли уже разбить код на несколько методов, или еще нет.
5. comol 4073 14.12.12 13:46 Сейчас в теме
(4) Spitfire, Вот теперь однозначно "+" и мой грейт респект.
2. comol 4073 14.12.12 09:35 Сейчас в теме
И какое значение должно быть для нормального кода... может статистику по типовым собирали или ещё что. С чем сравнивать?
3. WKBAPKA 211 14.12.12 11:59 Сейчас в теме
я тоже не совсем понял как это работает, но за труды +
6. DMSDeveloper 128 14.12.12 14:30 Сейчас в теме
7. boggonzikov 387 14.12.12 15:57 Сейчас в теме
Спасибо, респект!
Эх, еще бы такое в снегопат.
8. pumbaE 627 14.12.12 16:47 Сейчас в теме
(7) boggonzikov,
Эх, еще бы такое в снегопат.


Типа так можно хоть сейчас, а вот что бы все модули конфигурации перебрало и вывело сводный отчет - тут программировать надо.
9. Spitfire 95 14.12.12 16:53 Сейчас в теме
(8) pumbaE, перебрать все модули конфигурации можно через Конфигуратор-Выгрузить файлы конфигурации.
Насчет сводного отчета - конкретизируйте, пожалуйста, как вы это видите. Возможно, я добавлю в саму обработку какие-то более удобные инструменты анализа результатов анализа =)
13. pumbaE 627 14.12.12 18:10 Сейчас в теме
ОФФ: Странно, но в рассылке по почте стоит автором tormozit.

(9) Spitfire, мое программировать - это в плане добавить в снегопате обход дерева метаданных и передачу текстов в вашу обработку, т.е. что бы не было необходимости нажимать выгрузить тексты модулей, потом запускать обработку и т.д., а нажал волшебную кнопку и сразу автоматом заработало.

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

Тот же итоговый отчет необходимо строить только по граничным показателям, если у меня макс. стоит число 15, то зачем мне для одного из вариантов отчета видеть процедуры с 1 или 2?
14. tormozit 5591 14.12.12 18:21 Сейчас в теме
(13) Я тут не причем =)
Однако замечал во многих рассылках о комментариях с инфостарта, что я там как автор указан. Возможно кто первый подписался на комментарии, того рассылка и считает автором?
16. Spitfire 95 14.12.12 19:36 Сейчас в теме
(13) pumbaE, если честно, я не думал о потребности анализировать изменения за определенный период. мы у себя ее используем не так. Я подумаю о внедрении такой функциональности и о внедрении отборов в дерево результатов.
10. ildarovich 6713 14.12.12 17:33 Сейчас в теме
На мой взгляд, нужно прямо в тексте статьи сказать, что данная метрика является просто суммой количества слов "Тогда" (then), "?(" и "Цикл" (loop) в тексте модуля (не находящихся в комментариях или кавычках). Иначе термин "цикломатическая сложность" заставляет представлять что-то чрезвычайно хитроумное. Ничего плохого в простоте метрики нет. Однако такое более понятное определение поставит ее в ряд с другими простыми метриками типа количества строк, букв, слов, разделителей ";" в одной процедуре (функции) модуля.
user598655_ilia-bers; purgin; Tolpinski; starik-2005; zqzq; krv2k; artbear; +7 Ответить
11. Spitfire 95 14.12.12 17:56 Сейчас в теме
(10) ildarovich, можно хоть весь листинг привести в описании. Зачем?
И потом, обработка действительно считает цикломатическую сложость - количество циклов в графе управления программы. Если бы 1С была другой, например, многопоточной, такой простой реализации не получилось бы.

И мне бы не хотелось, что бы эта метрика оказалась в одном ряду с подсчетом количества слов или строк метода. Почему? Потому что эти метрики на практике бесполезны, и интересуют только любителей больших чисел.
12. kser87 1863 14.12.12 18:06 Сейчас в теме
15. ildarovich 6713 14.12.12 18:22 Сейчас в теме
(12) Если быть занудой, то
количество циклов в графе управления программы
обработка НЕ считает. Собственно, в приведенных Вами ссылках все это уже написано. В частности, и то, что основное назначение метрики - это оценка мощности множества тестов для процедуры или функции. При этом делается ПРЕДПОЛОЖЕНИЕ, что мощность теста определяется необходимостью прогона графа управления по всем возможным путям. На практике при программировании в 1С редко когда применяется (автоматическое) модульное тестирование или юнит-тестирование. Поэтому применение данной метрики - это определенная условность. И доказать, что эта метрика лучше, чем, например, число строк в модуле, невозможно из-за трудностей определения критерия сравнения.
эти метрики на практике бесполезны, и интересуют только любителей больших чисел
- думаю, что это высказывание просто голословно.
17. Spitfire 95 14.12.12 19:58 Сейчас в теме
(15) ildarovich, указанные вами предположения сделаны не мной, а множеством умных людей, занимающимися computer science. Аналогичные предположения делаются, когда производится любое автоматизированное тестирование - регрессионное, юнит, модульное, любое - ведь протестировать все случаи, с которыми придется столкнуться программе, невозомжно и ненужно. Потому каждый сам выбирает себе достаточное множество тестов. А эта метрика, как вы правильно сказали, помогает оценить мощность множества таких тестов. И, кстати, то, что среди разработчиков на 1С автоматическое тестирование применяется реже, чем в других технологиях, не делает нам чести. К счастью, ситуация улучшается, я могу это видеть.

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

К сожалению, эта метрика придумана не мной, потому я не буду здесь ее защищать. Ее полезность изучена и доказана.
эти метрики на практике бесполезны, и интересуют только любителей больших чисел
- думаю, что это высказывание просто голословно.
в таком случае, приведите, пожалуйста, практическую ценность для разработчика числа строк или символов модуля. И объясните, что буду означать изменения этих метрик при добавлении/удалении больших комментариев или запросов.
21. ildarovich 6713 15.12.12 20:31 Сейчас в теме
(17) Привожу практическую ценность для разработчика числа строк или символов модуля на таком примере: Пусть требуется создать таблицу значений для данных табеля. Это можно сделать так:
ТЗ = Новый ТаблицаЗначений;
	ТЗ.Колонки.Добавить("ПервыйЧасов1");
	ТЗ.Колонки.Добавить("ПервыйЧасов2");
	ТЗ.Колонки.Добавить("ПервыйЧасов3");
	ТЗ.Колонки.Добавить("ПервыйЧасов4");
	ТЗ.Колонки.Добавить("ПервыйЧасов5");
	ТЗ.Колонки.Добавить("ПервыйЧасов6");
	ТЗ.Колонки.Добавить("ПервыйЧасов7");
	ТЗ.Колонки.Добавить("ПервыйЧасов8");
	ТЗ.Колонки.Добавить("ПервыйЧасов9");
	ТЗ.Колонки.Добавить("ПервыйЧасов10");
	ТЗ.Колонки.Добавить("ПервыйЧасов11");
	ТЗ.Колонки.Добавить("ПервыйЧасов12");
	ТЗ.Колонки.Добавить("ПервыйЧасов13");
	ТЗ.Колонки.Добавить("ПервыйЧасов14");
	ТЗ.Колонки.Добавить("ПервыйЧасов15");
	ТЗ.Колонки.Добавить("ПервыйЧасов16");
	ТЗ.Колонки.Добавить("ПервыйЧасов17");
	ТЗ.Колонки.Добавить("ПервыйЧасов18");
	ТЗ.Колонки.Добавить("ПервыйЧасов19");
	ТЗ.Колонки.Добавить("ПервыйЧасов20");
	ТЗ.Колонки.Добавить("ПервыйЧасов21");
	ТЗ.Колонки.Добавить("ПервыйЧасов22");
	ТЗ.Колонки.Добавить("ПервыйЧасов23");
	ТЗ.Колонки.Добавить("ПервыйЧасов24");
	ТЗ.Колонки.Добавить("ПервыйЧасов25");
	ТЗ.Колонки.Добавить("ПервыйЧасов26");
	ТЗ.Колонки.Добавить("ПервыйЧасов27");
	ТЗ.Колонки.Добавить("ПервыйЧасов28");
	ТЗ.Колонки.Добавить("ПервыйЧасов29");
	ТЗ.Колонки.Добавить("ПервыйЧасов30");
	ТЗ.Колонки.Добавить("ПервыйЧасов31");
Показать
Так:
ТЗ = НоваяТаблицаЗначений(Сред(СтрЗаменить(",1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31", ",", ",ПервыйЧасов"),2));
Или так:
ТЗ = Новый ТаблицаЗначений;
	Для ё = 1 По 31 Цикл 
		ТЗ.Колонки.Добавить("ПервыйЧасов" + ё)
	КонецЦикла;
Единственная метрика считает предпочтительным варианты 1 или 2, даже не различая их, а какой вариант на самом деле будет лучше? Это как раз и подскажут другие метрики типа числа строк или числа символов. Про комментарии не говорю, очевидно, что строки с комментариями учитываются отдельно (как и в обсуждаемой метрике).
Собственно, мою мысль точнее выскажет заключительная фраза из ОЧЕНЬ ИНТЕРЕСНОЙ СТАТЬИ про метрики кода http://www.viva64.com/ru/a/0045/
Подводя итог, хотелось бы отметить, что ни одной универсальной метрики не существует. Любые контролируемые метрические характеристики программы должны контролироваться либо в зависимости друг от друга, либо в зависимости от конкретной задачи, кроме того, можно применять гибридные меры, однако они так же зависят от более простых метрик и также не могут быть универсальными. Строго говоря, любая метрика - это лишь показатель, который сильно зависит от языка и стиля программирования, поэтому ни одну меру нельзя возводить в абсолют и принимать какие-либо решения, основываясь только на ней.
starik-2005; +1 Ответить
22. ildarovich 6713 15.12.12 20:54 Сейчас в теме
(21) Могу также добавить, что существует по крайней мере четыре приема, позволяющие намеренно занижать цикломатическую сложность, считаемую Вашей обработкой:
1) "Раскрытие циклов" - повторение одинаковых строк в программе, если число повторений заранее известно;
2) Использование оператора "Выполнить" - кавычки будут экранировать Тогда и Цикл от подсчета;
3) Использование списка (или таблицы) значений и поиска в нем вместо Если ... ИначеЕсли ... ИначеЕсли ... КонецЕсли;
4) Использование рекурсии вместо циклов. При этом вместо условия выхода использовать неполноту вычисления логических выражений (не вполне уверен, но стоит попробовать).

(11) Если привести в статье более понятное определение, то разработчики, желающие разрабатывать код со значением сложности менее 10, будут просто складывать число циклов и условных операторов (считать до 10 не сложно) вместо более "цикломатически-сложной" (шутка) процедуры запуска обработки.

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

P.S.: Думаю, что еще одна область применения алгоритма оценки - это написание на его основе нового "правила проверки" для конфигурации "1С:Автоматизированная проверка конфигураций". Плюс в том, что там уже есть готовые функции "ПолучитьТекстМодуля(ИмяМодуля)", "ПолучитьСтруктуруМодуля(ИмяМодуля)"
zqzq; CratosX; +2 Ответить
18. Qsko 60 15.12.12 12:54 Сейчас в теме
Очень интересная разработка. Очень порадовала фраза:
Кстати, не стоит брать типовые конфигурации в качестве ориентира по сложности кода. Самое высокое значение цикломатической сложности, которое я видел, было около 350. И да, это был типовой регламентированный отчет.


О чём говорят эти замеры? На сколько я понял, главное, о чём говорит нам числовой показатель - "количество" учитываемых условий/условностей в каком-либо методе. Причём, если следовать рекомендациям, то эти учитываемые условия следует минимизировать, вынося их просчёт в отдельные процедуры и функции.

Забавно, что в типовых конфигурациях самыми "сложными" оказались те, что отвечают за:
1) вывод печатных (ПечатьСчетаФактуры1137 - 39) и регламентированной отчётности (ПроверитьВозможностьВыгрузки - 131),
2) процедуры проведения документов по регистрам.
Хотя мне кажется, что если на одном уровне встречается "Если... Тогда... КонецЕсли", а за ним следует снова "Если... Тогда... КонецЕсли", то это не усложнят код (условия не вложены, на одном уровне), а на числовой показатель влияют: +1 за каждое Если... Тогда... КонецЕсли. Ибо эти проверялки условий - необходимость, которую выносить в отдельные функции вряд ли стоит. Посмотрите функции "ПроверитьВозможностьВыгрузки" в регламентированных отчётах.

По сему такая мысль: а может не надо при следующими друг за другом "Если... Тогда... КонецЕсли" на одном уровне увеличивать счётчик на +1? А вот за вложенность можно увеличивать. Чем больше вложенностей условий, тем запутаннее код. Тоже самое касается и циклов. Но у них другая беда - много циклов гораздо хуже, чем тоже количество "Если...".

Однако, метод есть метод. Он лишь ориентирует на ВОЗМОЖНО проблемные места, а не является показателем проблемности. То есть условие необходимое, но не достаточное.
19. pumbaE 627 15.12.12 13:00 Сейчас в теме
(18) Qsko, ну еще в зарплатах модулях очень любят использовать, для возможности группировки.
Если Истина Тогда 
(возможно потому, что у разрабов типовых снегопата нет :) )
20. LaNaite 134 15.12.12 17:34 Сейчас в теме
23. ManyakRus 291 17.12.12 12:06 Сейчас в теме
отчет работает :)
показывает что надо, правильно.

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

(у меня доходит до 37 ЦС, у коллеги до 75 ЦС)
24. Spitfire 95 17.12.12 16:11 Сейчас в теме
(23) ManyakRus, как показывает практика, задачи класса "заставить людей что-то делать" или "заставить людей что-то делать так, как нужно" решаются другими способами. :) Это отдельная область знаний.
25. ildarovich 6713 02.09.13 23:39 Сейчас в теме
Понадобилось воспользоваться обработкой... Нашел ошибку: считаются лексемы "Тогда", но не считаются "тогда" и тому подобное. Понятно, при подсчете нужно приводить строки к одному регистру. Кстати, непонятно почему не используется встроенная функция СтрЧислоВхождений(<Строка>, <ПодстрокаПоиска>), а написана своя.
Spitfire; +1 Ответить
26. Spitfire 95 29.10.13 12:51 Сейчас в теме
(25) ildarovich, Спасибо за замечание, выложил исправленную версию.
Свой метод подсчета вхождений пришлось писать потому, что СтрЧислоВхождений не умеет искать в режиме "слово целиком", то есть, он посчитает вхождения инструкций в идентификаторы.
ildarovich; +1 Ответить
27. bashhhh 25 12.03.15 21:30 Сейчас в теме
Протестируем все свои наработки. Спасибо за отчет!
28. vipetrov2 10.03.17 12:03 Сейчас в теме
Надо эту характеристику рассматривать не как главный критерий написания кода, который нужно минимизировать, а как одно из ограничений. А то подобный догматизм может привести к таким бесполезным вещам, как "Индусский код".
И получается, что оператор ветвления в цикле нужно считать не за единицу, а умножать на количество циклов. Интересно посмотреть, что за граф построите в алгоритме сортировки.
И оператором ветвления является не только "Если", но и "Попытка".
29. ImHunter 160 11.07.17 15:05 Сейчас в теме
Похоже, разработчик уже не поддерживает обработку, т.к. был на сайте в 2015 году.

Кто будет пользовать - в обработке нужно фикс сделать:

Процедура УбратьДирективыКомпиляции(Текст, Директива) Экспорт 
	ПозицияНачалаДирективы = НайтиСледующееВхождениеПодстроки(Текст, Директива);
	Пока ПозицияНачалаДирективы <> 0 Цикл
		НачалоТекущейСтроки = НайтиПредыдущееВхождениеПодстроки(Текст, Символы.ПС, ПозицияНачалаДирективы);
		Если НачалоТекущейСтроки = 0 Тогда
			НачалоТекущейСтроки = 1;
		КонецЕсли;
		
		СтрокаПередХешем = Сред(Текст, НачалоТекущейСтроки, ПозицияНачалаДирективы - НачалоТекущейСтроки);
		
		// директивы не могут стоять после других команд или текста в строке - перед ними могут быть только незначащие символы
		Если СокрЛП(СтрокаПередХешем) = "" Тогда
			НачалоСледующейСтроки = НайтиСледующееВхождениеПодстроки(Текст, Символы.ПС, ПозицияНачалаДирективы + 1);
			Если НачалоСледующейСтроки = 0 Тогда
				НачалоСледующейСтроки = СтрДлина(Текст);
			КонецЕсли; 
			Текст = ?(НачалоТекущейСтроки > 1, Лев(Текст, НачалоТекущейСтроки), "") + Сред(Текст, НачалоСледующейСтроки);
		КонецЕсли; 
		
		//  фикс от
		НоваяПозиция = НайтиСледующееВхождениеПодстроки(Текст, Директива, ПозицияНачалаДирективы);
		Если НоваяПозиция=ПозицияНачалаДирективы Тогда 
			ПозицияНачалаДирективы = ПозицияНачалаДирективы + 1;
		КонецЕсли;
		// фикс до
		ПозицияНачалаДирективы = НайтиСледующееВхождениеПодстроки(Текст, Директива, ПозицияНачалаДирективы);
	КонецЦикла; 
КонецПроцедуры
Показать
30. ImHunter 160 12.07.17 07:19 Сейчас в теме
Не, вставленный сходу фикс искажает алгоритмы и формирует неверный результат. Надо все-таки еще подумать.
А смысл фикса задумывался в том, чтобы выйти из бесконечного цикла.
Оставьте свое сообщение

См. также

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

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

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

1 стартмани

02.10.2019    3436    70    dmitrydemenew    18       

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

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

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

3 стартмани

04.09.2019    4575    10    Stepa86    35       

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

Инструменты и обработки Программист Конфигурация (md, cf) v8 Абонемент ($m) Инструментарий разработчика

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

1 стартмани

30.06.2019    2368    1    vadim1980    0       

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

Инструменты и обработки Системный администратор Программист Архив с данными v8 Windows Абонемент ($m) Инструментарий разработчика Jenkins

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

1 стартмани

03.06.2019    8990    1    ripreal1    74       

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

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

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

1 стартмани

13.05.2019    15114    88    Diversus    38       

Коннектор: удобный HTTP-клиент для 1С:Предприятие 8 508

Инструменты и обработки Программист Конфигурация (md, cf) v8 1cv8.cf Абонемент ($m) Практика программирования Внешние источники данных WEB Универсальные функции Инструментарий разработчика Универсальные обработки

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

1 стартмани

31.01.2019    24658    242    bonv    102       

Редактор объектов информационной базы 8.3 35

Инструменты и обработки Программист Пользователь Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Россия Windows Абонемент ($m) Инструментарий разработчика Универсальные обработки

Универсальная внешняя обработка (СДРОбъектУпр) для редактирования реквизитов и табличных частей объектов информационной базы, редактирование движений документов. Доступ ко всем реквизитам объектов, есть возможность выгрузки и загрузки данных (объекты и движения документов) через XML. Платформа 8.3, управляемые формы. Версия 1.1.0.31 от 02.10.2019

2 стартмани

23.01.2019    8367    123    ROL32    21       

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

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

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

5 стартмани

09.01.2019    19465    207    informa1555    167       

Навигатор по конфигурации базы 1С 8.3 99

Инструменты и обработки Программист Пользователь Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Россия Windows Абонемент ($m) Инструментарий разработчика Универсальные обработки

Универсальная внешняя обработка (СДРНавигаторУпр) для просмотра метаданных конфигураций баз 1С 8.3. Отображает свойства и реквизиты объектов конфигурации, их количество, основные права доступа и т.д. Отображаемые характеристики объектов: свойства, реквизиты, стандартные рекизиты, реквизиты табличных частей, предопределенные данные, регистраторы для регистров, движения для документов, команды, чужие команды, подписки на события, подсистемы. Отображает структуру хранения объектов базы данных, для регистров доступен сервис "Управление итогами". Небольшой набор сервисных функций для повседневной работы. Для программистов и пользователей. Платформа 8.3, управляемые формы. Версия 1.1.0.43 от 01.10.2019

3 стартмани

28.10.2018    14286    175    ROL32    43       

TextRadar - нечеткий поиск в тексте (Native API) 9

Инструменты и обработки Программист Компонента, плагин (dll, vbs,..) v8 1cv8.cf Абонемент ($m) Разработка внешних компонент

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

5 стартмани

19.09.2018    6855    14    TSSV    14       

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

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Инструментарий разработчика

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

1 стартмани

27.08.2018    9745    230    evvakra    23       

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

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

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

1 стартмани

27.08.2018    14614    29    dsdred    13       

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

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

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

1 стартмани

14.08.2018    48301    1080    Evg-Lylyk    409       

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

Статья Системный администратор Программист Расширение (cfe) v8 1cv8.cf ERP2 УТ11 КА2 Абонемент ($m) Инструментарий разработчика Практика программирования

Продолжение статьи «HTTP Сервисы: Путь к своему сервису. Часть 1». В этой части будет "Микс" из OData+HTTP-Сервис(Get)+СКД. Наш пример будет работать как в браузере, так и в написанной нами обработке. Работать будем с разными версиями платформ.

1 стартмани

13.08.2018    16320    17    dsdred    0       

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

Инструменты и обработки Программист Бизнес-аналитик Приложение (apk) v8 Windows Абонемент ($m) Инструментарий разработчика Практика программирования

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

5 стартмани

09.08.2018    14605    23    informa1555    26       

CI/CD для 1С - миф или реальность? 77

Статья Программист Нет файла v8 Бесплатно (free) Управление проектом

Разберём плюсы и минусы применения практик CI/CD с учетом ограничения технологической платформы 1С:Предприятие.

02.07.2018    16926    comol    54       

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

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Абонемент ($m) Консоль запросов

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

1 стартмани

25.05.2018    14762    215    leongl    15       

Tool1CD Beta в деле 96

Инструменты и обработки Программист Компонента, плагин (dll, vbs,..) v8 Абонемент ($m) Разработка внешних компонент

Пс, парень! Не хочешь немного сырых байтов?

1 стартмани

09.05.2018    17032    26    baton_pk    26       

Работа со схемой запроса 169

Статья Программист Конфигурация (md, cf) v8 v8::Запросы Абонемент ($m) Инструментарий разработчика Практика программирования

Стандартом взаимодействия с реляционной базой данных стал язык SQL. Приемником SQL в 1С является язык запросов. Язык запросов, также как и SQL, является структурированным. Составляющие структуры запроса отвечают на разные вопросы о том, какие данные требуется получить и какие манипуляции с множествами данных необходимо произвести при получении. В простых случаях текст запроса можно написать вручную, однако в сложных случаях, а также при программном формировании, - лучше воспользоваться объектной моделью запроса и использовать объект "Схема запроса". В статье дается описание объектной модели и особенностей работы с ней, а также приводится решение, упрощающее взаимодействие с объектом "Схема запроса".

1 стартмани

24.04.2018    26992    70    kalyaka    34       

Внешняя компонента для работы по Web-socket протоколу 22

Инструменты и обработки Программист Архив с данными v8 Windows Абонемент ($m) Разработка внешних компонент WEB

Кто когда-нибудь сталкивался с обменом данными по Web-Socket (wss) протоколу из 1С, тому известно, что в платформе отсутствуют данные механизмы (не путать с HTTP запросами и WebServices). Предлагается использовать внешнюю компоненту, написанную по технологии NativeAPI, для подключения и обмена с серверами из 1С-Предприятия, работающими по протоколу Web-Socket.

6 стартмани

30.03.2018    12763    7    Ditron    35       

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

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

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

10 стартмани

15.03.2018    10038    27    33lab    0       

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

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Работа с интерфейсом Инструментарий разработчика

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

1 стартмани

18.11.2017    19126    24    bonv    5       

Github и 1С. Пошаговая инструкция на конкретном примере 218

Статья Программист Архив с данными v8 Абонемент ($m) Математика и алгоритмы

Статья для тех, у кого есть неудержимое желание программировать и хочется доработать какую-то конфигурацию (или проект на 1С), выложенный на Github, но останавливают незнакомые слова Git, Github, Fork, Commit, Pull request, Merge, Issue.

1 стартмани

26.10.2017    34114    5    BlizD    51       

Полезный код для программистов 1С (часть 1). Управление свойствами элементов формы. Хранение копии данных реквизитов 141

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

У каждого программиста за время работы накапливается полезный инструментарий, которым он привык пользоваться. Естественно и у меня он тоже имеется. И вот решено было немного поделиться с сообществом. Возможно идеи не новые. Более того, допускаю, что реализованы они не самым оптимальным образом. Но ведь для этого сообщество и существует, чтобы делиться с ним, получая обратную связь.

1 стартмани

24.09.2017    31269    17    vandalsvq    79       

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

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Windows Абонемент ($m) Инструментарий разработчика

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

1 стартмани

28.06.2017    26435    316    Synoecium    44       

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

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

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

1 стартмани

19.06.2017    17301    24    Stepa86    45       

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

Инструменты и обработки Программист Конфигурация (md, cf) v8 КД Абонемент ($m) Инструментарий разработчика Обмен через XML

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

1 стартмани

08.06.2017    16430    30    stas_ganiev    13       

Многопоточность. Универсальный «Менеджер потоков» (фреймворк) с отслеживанием зависимости объектов 175

Статья Программист Архив с данными v8 1cv8.cf Россия Абонемент ($m) Практика программирования Математика и алгоритмы Универсальные функции Производительность и оптимизация (HighLoad)

Восстановление партий, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

26.05.2017    38230    166    DarkAn    86       

Набор подсистем "Умные таблицы" 63

Инструменты и обработки Системный администратор Программист Архив с данными v8 Беларусь Россия Казахстан Абонемент ($m) Инструментарий разработчика

Данный набор подсистем – прикладная библиотека, призванная помочь программисту 1С быстрее решать ряд типовых задач бизнес-логики, таких как: ведение статусов объектов, отправка почтовых сообщений в определенное время, ведение произвольных таблиц с возможностью редактирования, сохранения и группировки, ориентированные на расчет бюджетных таблиц (план продаж, ретробонусы B2C, проценты по договорам B2B и договорные условия по КАМ), расчет коммерческой политики для бюджетных таблиц, исполнение произвольных алгоритмов с хранением кода в информационной базе, определение рабочих баз, хранение файлов во внешних СУБД (Postgre SQL, MS SQL и MongoDB) и выполнение произвольного кода после изменений ссылочного объекта вне транзакции изменения.

1 стартмани

22.05.2017    22682    99    Silenser    33       

Регулярные выражения – это просто. Построитель и отладчик регулярных выражений 181

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

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

1 стартмани

13.03.2017    22200    112    romasna    47       

1С: Gitter 1.1 (Хранилище 1С => Git) 114

Инструменты и обработки Системный администратор Программист Конфигурация (md, cf) v8 1cv8.cf Windows Абонемент ($m) Инструментарий разработчика

Развитие проекта gitter http://infostart.ru/public/273126/ . Позволяет выгружать хранилище 1С в репозиторий GIT.

1 стартмани

01.02.2017    19287    40    Stepa86    20       

Сценарное тестирование в помощь программисту 1С 186

Инструменты и обработки Программист Конфигурация (md, cf) v8 Абонемент ($m) Инструментарий разработчика

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

1 стартмани

11.11.2016    22087    63    grumagargler    47       

Несколько шаблонов для доработки типовых конфигураций 172

Инструменты и обработки Программист Конфигурация (md, cf) v8 v8::УФ Абонемент ($m) Практика программирования Инструментарий разработчика

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

1 стартмани

03.10.2016    27368    99    json    23       

Управление задачами: Канбан доска 235

Инструменты и обработки Программист Архив с данными v8 Windows Абонемент ($m) Инструментарий разработчика БСП (Библиотека стандартных подсистем)

Конфигурация "Управление задачами" с использованием БСП. Канбан доска. Открытый код.Загрузка изменений из хранилища конфигураций 1С и связь с задачами. Проект выложен на github (ссылка в публикации). Управляемые формы. Рассылка уведомлений.

1 стартмани

02.10.2016    47054    465    BlizD    284       

1Script – язык для автоматизации рутины в жизни специалиста по 1С 302

Статья Программист Нет файла Бесплатно (free) Математика и алгоритмы

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

14.09.2016    43922    Evil Beaver    76       

Конструктор-тестер http запросов в 1С 215

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Россия Абонемент ($m) WEB Инструментарий разработчика

Данная обработка позволяет в несколько кликов конструировать http запросы на языке 1С и просматривать результаты их выполнения.

3 стартмани

19.08.2016    33570    299    hlopik    16       

Hello world на metadata.js 249

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

Про браузерные offline-first приложения можно написать миллионы слов. Сэкономлю своё и ваше время и перейду сразу к делу. В статье не будет рекламы и агитации за новые технологии, не будет критики традиционных или попсовых решений. Рассмотрим по шагам разработку простейшей программы на metadata.js. Постараюсь сделать акцент не на том «как это сделано», а «почему сделано именно так»

1 стартмани

11.08.2016    47376    115    unpete    205       

Подсистема обмена данными с порталом ИМНС по электронным счетам-фактурам (автоматический обмен) 7

Инструменты и обработки Системный администратор Программист Бухгалтер Конфигурация (md, cf) v8 1cv8.cf Беларусь БУ НДС Абонемент ($m) Инструментарий разработчика Внешние источники данных WEB

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

1 стартмани

28.07.2016    25635    28    c1nil    4       

Навигатор по структуре и данным баз 1С 8 28

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Windows Абонемент ($m) Инструментарий разработчика

Просмотр структуры и данных ИБ 1С 8.2, 8.3. Состав, типы объектов, табличных частей, движений. Размер, структура хранения объекта. Для администраторов и разработчиков. Версия 1 - на обычных формах, версия 2 - на управляемых.

1 стартмани

11.07.2016    22732    130    o.nikolaev    17       

Конструктор внешних печатных форм NEW beta (обычные и управляемые приложения!) 124

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Россия Windows Абонемент ($m) Универсальные печатные формы Инструментарий разработчика

Исходная обработка http://infostart.ru/public/162019/, здесь просто исправлены некоторые процедуры и функции для управляемого приложения. (Публикуется с согласия автора SeiOkami) 12.07.2016 - Версия 4.3 - убрал модальность для управляемой формы, изменена встроенная ВПФ . 23.11.2016 - Версия 4.4 - изменена встроенная ВПФ . 03.04.2018 - Версия 4.7 - исправлено сохранение ВПФ в клиент-серверном варианте от vshish. 11.05.2018 - Версия 4.8 - исправление от VovkaPutin плюс убрал из текста модуля ВПФ директивы препроцессора (то, что начинается с "#"), убрал модальность при открытии ВПФ из конструктора.

1 стартмани

10.07.2016    41066    449    Alex_E    109       

БСП 2.3 и БСП 3.0: Просто про выполнение внешней обработки в фоне (c индикацией прогресса выполнения) 185

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Инструментарий разработчика Практика программирования БСП (Библиотека стандартных подсистем)

Простое пояснение о том, как сделать внешнюю обработку с фоновым выполнением и индикацией процесса для любой конфигурации на основе БСП 2.3.2. UPDATE 20/09/19: добавлен вариант обработки с индикацией процента выполнения и статусом выполнения для БСП 3.0.

1 стартмани

18.05.2016    45427    136    rozer    52       

Еще один способ расчета остатков на каждый день в запросе 127

Инструменты и обработки Программист Внешний отчет (ert,erf) v8 Абонемент ($m) Математика и алгоритмы Практика программирования

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

1 стартмани

24.04.2016    28354    46    ildarovich    21       

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

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Консоль запросов

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

1 стартмани

19.04.2016    30732    263    1С_Мастер    42       

Проект внешней компоненты для 1С:8 (сделай сам) 134

Инструменты и обработки Программист Архив с данными v8 Windows Абонемент ($m) Разработка внешних компонент

Как их делают? Как регистрируют? С чего начать? Где взять стартовый проект? Вопросов вообще много можно задать, но лучше один раз увидеть!

10 стартмани

11.03.2016    10983    10    ture    36       

Яндекс.Деньги "Благотворительность" 17

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

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

1 стартмани

16.02.2016    16950    9    Tatitutu    5       

Снимок экрана для 1С 10

Инструменты и обработки no Внешняя обработка (ert,epf) v8 1cv8.cf Россия Windows Абонемент ($m) Универсальные обработки Разработка внешних компонент

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

1 стартмани

08.02.2016    20319    30    linkforget    11       

Консоль запросов для УФ с подсветкой синтаксиса и обработкой результата 119

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Windows Абонемент ($m) Консоль запросов

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

1 стартмани

08.01.2016    28109    488    BurningChrome    81       

ADO Консоль запросов с конструктором для управляемого приложения (8.3.6+) 124

Инструменты и обработки Системный администратор Программист Бизнес-аналитик Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Консоль запросов

Обработка "Консоль запросов" для управляемого приложения с возможностью строить запросы к внешним источникам данных по интерфейсу ADO. Имеет встроенный конструктор запросов с типовым интерфейсом для управляемого приложения. В одном пакете можно обращаться к нескольким внешним источникам. В результате ADO запроса можно получить как обычную выборку данных, так и ВременнуюТаблицу, которую можно использовать в других запросах 1С или в контексте ADO... Управляемые формы, платформа не ниже 8.3.6.

1 стартмани

13.11.2015    19281    231    DC    41       

Интерфейс сопоставления объектов для обмена (для типового регистра СоответствиеОбъектовДляОбмена) 22

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 КА1 БП2.0 ЗУП2.5 УТ10 УПП1 Windows Абонемент ($m) Инструментарий разработчика Универсальные обработки Перенос данных из 1C8 в 1C8

Вы внедряете обмен данными между двумя типовыми или основанными на типовых БД и вам необходим инструмент, чтобы сопоставить между собой справочники этих конфигураций? Вы хотите навести порядок в обмене данными, потому что вам надоело вылавливать дублирующиеся объекты? Вам очень хочется перепоручить сопоставление объектов обменивающихся баз пользователям, но нет подходящего и понятного пользователям интерфейса? Тогда вам нужна именно эта обработка!

4 стартмани

11.11.2015    29286    221    catsam    8       

Exec - Выполнение кода, консоль запросов и не только! 70

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Консоль запросов

Незаменимый инструмент администратора БД и программиста: Выполняйте произвольный код из режима 1С Предприятие; сохраняйте/загружайте часто используемые скрипты; выполняйте запросы с замером производительности запроса в целом и каждой из временных таблиц в частности, а также с просмотром содержимого временных таблиц; произвольным образом изменяйте любые объекты БД, редактируя даже не вынесенные на формы реквизиты и записывая изменения в режиме "ОбменДанными.Загрузка = Истина"; легко узнавайте ИД объектов БД; выполняйте прямые запросы к SQL с замером производительности и не только!

5 стартмани

10.11.2015    35632    173    catsam    11