Экспортные процедуры и функции общих модулей БП 3.0, ЗУП 3.1, УТ 11

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

Программирование - Универсальные функции

Табличные файлы данных обработка

31
Таблицы экспортных процедур и функций общих модулей конфигураций БП КОРП 3.0, ЗУП КОРП 3.1, УТ 11 + обработка по формированию такой таблицы из любой конфигурации.

Иногда приходится создавать свои процедуры и функции (для отчета, обработки, доработки конфигурации), схожие с теми, которые уже есть в типовом решении. По причине нежелания лазить по всем общим модулям (а в тиражных продуктах типа БП и ЗУП их свыше тысячи) и выискивать нужную по функционалу решил собрать информацию по таким в текущей публикации (файлы Excel для свободного скачивания прилагаются), плюс добавил обработку, с помощью которой это можно проделать с любой конфигурацией (Штатно выгрузить файлы конфигурации в каталог и указать его в обработке). Если в конфигурации базы есть расширения, их нужно так же выгрузить в файлы и так же подгрузить после основной конфигурации (отметив флажок "Расширение").

Протестирована на платформе 1С 8.3.14.1630, конфигурация БП КОРП 3.0.70.61, ЗУП КОРП 3.1.10.50, УТ 11.4.8.73.

31

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

Наименование Файл Версия Размер
Таблица экспортных процедур и функций общих модулей БП КОРП 3.0
.xlsx 3,53Mb
14.06.19
130
.xlsx 3,53Mb 130 Скачать бесплатно
Таблица экспортных процедур и функций общих модулей ЗУП КОРП 3.1
.xlsx 3,01Mb
14.06.19
120
.xlsx 3,01Mb 120 Скачать бесплатно
Внешняя обработка для формирования таблицы с экспортными процедурами и функциями общих модулей любой конфигурации
.epf 10,63Kb
14.06.19
12
.epf 10,63Kb 12 Скачать
Таблица экспортных процедур и функций общих модулей УТ 11
.xlsx 3,32Mb
18.06.19
32
.xlsx 3,32Mb 32 Скачать бесплатно

См. также

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

Комментарии
Избранное Подписка Сортировка: Древо
1. EliasShy 47 14.06.19 11:45 Сейчас в теме
Отличная идея! Особенно понравились комментарии (описание) к функциям.

Раньше к WinApi была такая программа, которая описывала функции, сейчас, видимо, для типовых конфигураций подобное необходимо.
2. VmvLer 14.06.19 11:55 Сейчас в теме
не могу понять как это практически поможет в разработке?

ну получу я на одном экране 21 000 тысячу методов в динамический список, ну прочту комментарий к методу
а дальше что?

В конфигурации ведь проще видеть имена общих модулей, пользоваться поиском, группировками и т.д.
3. EliasShy 47 14.06.19 12:01 Сейчас в теме
(2) В первую очередь для того чтобы увидеть в виде 21000 тот балаган, который творится в типовой конфигурации.


Для себя вижу использование как некий справочник, полезный при анализе существующей конфигурации.
igee12; Boo; +2 Ответить
6. VmvLer 14.06.19 12:49 Сейчас в теме
(3) Ветка дерева "ОбщиеМодули" в конфигурации - тот же справочник, только вид сбоку.
4. SanchoD 137 14.06.19 12:23 Сейчас в теме
(2) Обычно процедура/функция начинается с какого-то значащего слова/словосочетания типа РассчитатьНДС, ПолучитьСведенияОСотруднике и т.д.
И отсортировав по имени уже проще находить нужную. Ну а задав разные текстовые фильтры можно сузить выборку и на основании описания найти нужную.
В конфигурации же придется зайти сначала в общий модуль (вот бы сразу догадаться в какой), а затем в нем найти процедуру/функцию. Поиск же по конфигурации выдаст такое количество записей и такую смесь, что замучаешься выбирать. Да и описания не видно - надо тыкать по строке и входить в модуль.
5. VmvLer 14.06.19 12:48 Сейчас в теме
(4) при глобальном поиске можно задать фильтр "ОбщиеМодули"

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

В общем кроме "вау, как много методов" и возможности их отсортировать по именам - не вижу больше плюсов.
Со мной можно не вступать в дебаты по поводу своих нетленок, т.к. мое амплуа - находить минусы,
ведь плюсы сами найдутся, правда.
7. Famza 80 14.06.19 14:04 Сейчас в теме
Идея норм, но часто в общих модулях есть крайне интересные процедуры/функции и они без экспорта.
8. SanchoD 137 14.06.19 14:19 Сейчас в теме
(7) К сожалению, их нельзя вызвать из своего кода, поэтому отбрасывал.
9. Famza 80 14.06.19 17:08 Сейчас в теме
(8) А если отпарсить текст выгруженных модулей?
10. SanchoD 137 14.06.19 17:56 Сейчас в теме
(9) Чтобы что из них получить и в каком виде представить?
11. Famza 80 14.06.19 18:16 Сейчас в теме
Коммента и имени не хватит? А потом и найти проще в конфигураторе ))
12. SanchoD 137 14.06.19 19:00 Сейчас в теме
(11) Так я их специально отфильтровывал, чтобы не захламлять и так большой список. Как вариант, могу сделать опцией в обработке. Вот только проблема с обновление публикации. Мне сделали, в виде исключения, возможность выложить эксельки бесплатно. Но после обновления публикации они вновь станут платными.
13. the1 362 17.06.19 08:54 Сейчас в теме
(12) Есть такое. Каждый раз после обновления публикации делайте запрос модератору, чтобы сделал их бесплатными.
21. SanchoD 137 18.06.19 17:07 Сейчас в теме
(11) Добавил в обработку вариант выгрузки всех процедур/функций в ТЗ.
14. Wolfis 6 17.06.19 10:04 Сейчас в теме
как вариант использования вижу доработку: сравнивать с заимственными методами в расширение. чтоб хотя бы проанализировать какие процедуры-функции переименовали, или добавили параметров.
igee12; ellavs; +2 Ответить
22. SanchoD 137 18.06.19 17:09 Сейчас в теме
Напишите ваше сообщение
(14) Добавил возможность добавлять в ТЗ процедуры/функции расширений. В колонке "Описание" будет указана расширяемая процедура/функция и директива (Перед,Вместо,После).
15. philya 77 17.06.19 18:46 Сейчас в теме
Стараюсь тащить код целиком из конфигурации в обработку или расширение, потому что через год другой что-нибудь сломается в рамках очередной оптимизации и придется снова искать методы. Структура базы данных обладает большей стабильностью )
16. SanchoD 137 17.06.19 19:58 Сейчас в теме
(15) это да. Но тоже не идеальный вариант. Начнешь одну функцию тянуть, она на 3 другие ссылается, те, в свою очередь, еще на что-то. Так можно и полконфиги в свою обработку засунуть.
17. philya 77 17.06.19 20:20 Сейчас в теме
(16) обычно 5-6, выкидывая однострочные вызовы.
18. ivnik 406 18.06.19 12:55 Сейчас в теме
Добрый день! А у меня почему-то ТЗ остается пустой.....
Прикрепленные файлы:
19. SanchoD 137 18.06.19 13:19 Сейчас в теме
(18) Добрый день!
Нужно сначала выгрузить конфигурацию в файлы:


А затем в обработке указать каталог, куда были выгружены файлы. И это не должен быть каталог с базой.
20. ivnik 406 18.06.19 14:51 Сейчас в теме
23. SanchoD 137 18.06.19 17:32 Сейчас в теме
Уважаемые коллеги, обновил обработку и файлы excel. Стали опять платными. Написал модератору с просьбой сделать бесплатными.
Следите за публикацией.
24. so-quest 130 19.06.19 07:58 Сейчас в теме
Если хочешь бесплатно распространять - проще на гитхабе завести репозиторий, а тут опубликовать ссылку. Дополнительным плюсом будет то что появятся единомышленики которые помогут переписать твой код.
Из ошибок
-Разобран может быть только код который прошел проверку на 1С-Совместимо
-В текущем виде код не понимает английский язык-
-Не верно ищутся ключевые слова (например для кода "ФункцияРаспределения = 0 "; будет ложное срабатывание, ну а код "функция х() экспорт" - вообще проскочит мимо
-Некорректный расчет имен (между ключевым словом Процедура и именем может быть много текст (например комментарий)

В общем есть к чему стремится. Если очень хочется решить задачу анализа текста модулей правильно - то либо смотри на открытый парсер языка 1С, либо реализуй собственный - но правильно.
25. SanchoD 137 19.06.19 09:13 Сейчас в теме
(24) Не получиться. Я уже так делал, удалили пост со сылкой.
Насчет ошибок, спасибо, учту. В оправдание только хочу сказать, что те, кто пишет код общих модулей самостоятельно, вряд ли нуждается в такой помощи.
А на тиражных продуктах ситуация с "функция х()" и комментариями между "Процедура" и ее именем приближается к 0.
27. SanchoD 137 19.06.19 09:58 Сейчас в теме
(24) Исправил указанные ошибки (кроме последнего пункта, по-моему это треш вставлять комент между объявлением процедуры и ее именем). Скиньте мыло в личку, вышлю обновление.
26. so-quest 130 19.06.19 09:31 Сейчас в теме
Линк на репозиторий можно в тут в сообщении воткнуть.

Для тиражных решений список функций получать не имеет смысла. БСП покрывает 98% потребностей (а документация по БСП - достаточно хороша). Подобное имеет смысл имено для самописок. А вот там - может быть что угодно, бо у программистов фантазия запределеьная
28. so-quest 130 19.06.19 10:55 Сейчас в теме
то ли у меня руки кривые, то ли еще что - не могу тебе в личку написать. пишет что сообщение в отложеной группе.
Почта wwall@yandex.ru
29. SanchoD 137 19.06.19 11:17 Сейчас в теме
Оставьте свое сообщение