Что делать, если 1С перенесла процедуры из одного модуля в другой?

26.09.13

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

Иногда наступает такой момент, что 1С переносит часть процедур из одного модуля в другой, а для конфигурации написана сотня внешних отчетов и обработок. Что делать? Открывать каждую и делать замены? Это же сколько времени нужно! О своем методе ускорения этого процесса я попытаюсь рассказать.

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

Наименование Файл Версия Размер
ВнешниеОбработки_ВыгрузитьЗагрузить.epf
.epf 7,11Kb
100
.epf 7,11Kb 100 Скачать

Оказывается 1С позаботилась о подобных случаях: "Глобальная замена" может производить замену не только в конфигурации, но и во внешних обработках, лежащих в папке на диске. Осталось написать обработку, которая выгрузит все разом из справочника внешних обработок, а после замен поможет загрузить обратно.

Я предлагаю свою обработку, которая поможет произвести выгрузку и обратную загрузку внешних отчетов и обработок. Ограничения:

1. Обработка рассчитана на то, что файл внешней обработки хранится не в табличной части элемента, а в шапке. 

Внешняя обработка

2. Обработка рассчитана на то, что в справочнике внешних обработок нет элементов с одинаковым полем "Наименование".

 

А теперь по шагам.

1. Запускаем обработку врежиме 1С:Предприятие и выгружаем все внешние отчеты и обработки в папку:

Обработка выгрузки

Получим что-то типа:

Проводник 

2. Составляем таблицу замен:

Страя функция  Новая функция 
 ОбщегоНазначения.ПолучитьОписаниеТиповДаты  ОбщегоНазначенияЗК.ПолучитьОписаниеТиповДаты
 ОбщегоНазначения.СформироватьСуммуПрописью  ОбщегоНазначенияЗК.СформироватьСуммуПрописью
 ОбщегоНазначения.ГоловнаяОрганизация  ОбщегоНазначенияЗК.ГоловнаяОрганизация
 ОбщегоНазначения.ПолучитьРабочуюДату  ОбщегоНазначенияЗК.ПолучитьРабочуюДату
 ОбщегоНазначения.РазложитьСтрокуВМассивПодстрок  ОбщегоНазначенияЗК.РазложитьСтрокуВМассивПодстрок
 ОбщегоНазначения.ФамилияИнициалыФизЛица  ОбщегоНазначенияЗК.ФамилияИнициалыФизЛица
 ОбщегоНазначения.ВывестиИнформациюОбОшибке  ОбщегоНазначенияЗК.ВывестиИнформациюОбОшибке
 ОбщегоНазначения.ФорматСумм  ОбщегоНазначенияЗК.ФорматСумм
 ОбщегоНазначения.ПустоеЗначениеТипа  ОбщегоНазначенияЗК.ПустоеЗначениеТипа
 ОбщегоНазначения.ПредставлениеРаботника   ОбщегоНазначенияЗК.ПредставлениеРаботника 
 ОбщегоНазначения.СообщитьОбОшибке   ОбщегоНазначенияЗК.СообщитьОбОшибке  

3. В Конфигураторе идем в меню "Правка" - "Глобальная замена..." и заполняем поля диалога следующим образом:

Замена Замена

Путь к выгруженным обработкам указываем на вкладке "Файлы":

Замена

4. Выполняем замены по таблице во втором пункте.

5. Закрываем все окна через меню "Окна" - "Закрыть все". На каждое предложение о сохранении изменений отвечаем утвердительно.

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

7. PROFIT!!!

См. также

SALE! 20%

Infostart Toolkit: Инструменты разработчика 1С 8.3 на управляемых формах

Инструментарий разработчика Роли и права Запросы СКД Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

13000 10400 руб.

02.09.2020    121599    670    389    

711

SALE! 25%

Infostart PrintWizard

Пакетная печать Печатные формы Инструментарий разработчика Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

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

18000 15300 руб.

06.10.2023    7260    21    6    

39

SALE! 20%

Infostart УДиФ: Управление данными и формами

Инструменты администратора БД Инструментарий разработчика Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

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

10000 8000 руб.

10.11.2023    3499    11    1    

33

SALE! 30%

PowerTools

Инструментарий разработчика Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

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

3600 2520 руб.

14.01.2013    177724    1073    0    

849

Многопоточность. Универсальный «Менеджер потоков» 2.1

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

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

5000 руб.

07.02.2018    99338    239    97    

296

[ЕХТ] Фреймворк для Расширений 1С

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Платные (руб)

"Фреймворк для Расширений 1С" это универсальное и многофункциональное решение, упрощающее разработку и поддержку создаваемых Расширений. Поставляется в виде комплекта из нескольких Расширений с открытым исходным кодом. Работает в любых Конфигурациях в режиме Управляемого приложения с режимом совместимости 8.3.12 и выше без необходимости внесения изменений в Конфигурацию.

3000 руб.

27.08.2019    18102    6    8    

39

1С HTML Шаблоны / HTML Templates

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Быстрая и удобная обработка для работы с шаблонами HTML. Позволяет легко и быстро формировать код HTML.

2040 руб.

27.12.2017    28091    3    10    

15

Выполнение произвольного кода или запроса с параметрами через Web-сервис (замена COM-подключений)

Инструментарий разработчика Обмен между базами 1C Платформа 1С v8.3 Платные (руб)

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

2400 руб.

24.09.2019    23595    15    15    

32
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Muhin555 24 12.04.13 15:59 Сейчас в теме
Есть такой "прикол" у 1С, сам вручную менял "ОщегоНазначения" на "ОщегоНазначенияЗК" :D
2. birk 116 12.04.13 16:20 Сейчас в теме
Надо было раньше постить ) Правил все вручную
3. B2B 273 12.04.13 17:16 Сейчас в теме
(2) Ничего, и на нашей улице будет праздник :-)
4. gr0ck 12.04.13 17:29 Сейчас в теме
Да, отлично, только поздно, уже обновил ЗУП)
На будущее пригодиться
5. Nad_ya 26 12.04.13 19:40 Сейчас в теме
Да, столкнулась тоже с таким "приколом" от 1С! обработка очень полезная, пригодится!
6. SpartakM 71 12.04.13 20:56 Сейчас в теме
(0)точно, особенно с ЗУП такие приколы))
7. BoneD 615 12.04.13 22:39 Сейчас в теме
Обновлялся поздно в этот раз, так что успел воспользоваться "загрузочной" частью обработки. Т.к. количество внешних отчётов/обработок/печатных форм уже за 200 зашкаливает, время сэкономил, одна идея чего стоила. Спасибо, Василий!
8. B2B 273 12.04.13 23:07 Сейчас в теме
9. kapustinag 13.04.13 14:07 Сейчас в теме
Только все-таки зря обработка полагается на уникальность имен. Лучше бы использовала Код элемента справочника внешних обработок или GUID. Потому что справочник иерархический, да и отображается по умолчанию в виде отдельных списков обработок / отчетов / печформ и т.д.
То есть в обычной жизни неуникальность наименования в глаза не бросается, и придется каждый раз перед использованием этой обработки уникальность проверять/исправлять. Если много информационных баз на поддержке, и если фирма 1С продолжит по-стахановски выдавать на-гора релизы чаще, чем раз в неделю (что она с обновлениями УПП продемонстрировала в этом месяце) - довольно хлопотное дело получится.
10. B2B 273 13.04.13 20:19 Сейчас в теме
(9) Я рассчитывал на то, что файлы будут иметь вменяемые имена, а не ничего незначащий GUID
11. andrewks 1368 13.04.13 23:02 Сейчас в теме
(10) B2B, GUID - элемента справочника, а не имя файла
25. B2B 273 16.04.13 00:01 Сейчас в теме
(11) Мне в файловой системе хотелось оставить вменяемые имена, а не GUID'ы.

(9) (11) С уникальностью имен не все так страшно: имена должны быть уникальными в пределах Отчетов (складываются в отдельную папку), отдельно в пределах Обработок (тоже в отдельной папке), а с обработками табличных частей и с печатными формами все еще проще: для каждого документа, к которому они привязаны, создается отдельная папка, куда и складируются обработки. В статье есть скриншот с Проводника, где видна структура папок.
12. petrov_al 10 14.04.13 12:42 Сейчас в теме
спасибо за информацию не знал о такой возможности, хотя работаю не первый год.
14. AnryMc 849 14.04.13 19:41 Сейчас в теме
(12) petrov_al,

А кто вообще вдумчиво прочитал всё, то что 1С называет - технической документацией?
15. andrewks 1368 14.04.13 19:44 Сейчас в теме
(14) AnryMc, на 1С ещё и документация есть? ;-)
16. AnryMc 849 15.04.13 06:33 Сейчас в теме
(15) andrewks,
то что 1С называет - технической документацией
13. Vovan1975 13 14.04.13 17:37 Сейчас в теме
круто.
А что делать когда в коде есть обращения как к старому переименованному общему модулю так и к новому?
17. AlX0id 15.04.13 09:46 Сейчас в теме
1С позаботилась.. а еще лучше бы она позаботилась и сразу бы прислала таблицу сопоставления чо куда унесла, блин..
18. Aurora13 15.04.13 10:36 Сейчас в теме
Складывается ощущение, что они даже не пользуются в конфигураторе проверкой модулей и проверкой конфигурации...
19. Kom-off 15.04.13 10:50 Сейчас в теме
На ИТС была обработка по автоматической конвертации внешних обработок при переходе с платформы 8.1 на 8.2, которая автоматически выгружала внешние обработки, конвертировала и загружала. Мне кажется, проще ее допилить, поскольку там все проблемы с уникальностью наименований разрешены тем, что именами файлов являются ГУИД-ы внешних обработок. Это первое.
А второе, так меня смущает пункт 2 этой статьи - "Составляем список замен". Это самая трудоемкая часть описанного процесса. Т.е. мало того, что процедуры и функции перенесены, так еще надо знать какие процедуры и функции общих модулей используются во внешних обработках (если их с десяток, то не проблема, а если более сотни?). А если к этому еще прибавить, что процедуры и функции общих модулей меняют список своих параметров критическим для использования способом (такое редко, но случается, обычно в типовых конфигурациях список параметров лишь добавляется с присвоением параметрам начальных значений), то получается, что данная статья как бы не доделана.
aegoncharov; vlad.frost; dr.zl0; charushkin; +4 Ответить
20. Петров-Водкин 185 15.04.13 13:21 Сейчас в теме
(19) Kom-off, присоединяюсь к вопросу.
При обновлении релиза ЗУП 62.1 я насчитал 17 процедур, которые вызываются в моих доработках (в конфигурации и во внешних) и были перенесены. Может еще я что-то пропустил и их больше на самом деле, просто ошибок пока не выходило.
Больше всего интересует, как автоматизировать пункт "Составляем список замен".
21. Kom-off 15.04.13 13:46 Сейчас в теме
(20) Я использую (плюс автору этой разработки) вот это: http://infostart.ru/public/77909/. Эта разработка позволяет выявить все изменения во всех процедурах и функциях общих модулей.
22. ejka 56 15.04.13 14:11 Сейчас в теме
Эх, жаль что уже все вручную перелопатила, но на будущее пригодится, особенно если будет список сопоставления автоматический. Спасибо. :)
23. Odin-s 57 15.04.13 16:01 Сейчас в теме
Спасибо автору.. Наверное, год держал в голове идею этой обработки, но всё никак руки не доходили :)
24. Redhatych 36 15.04.13 16:45 Сейчас в теме
спасибо за обработку!
а комментарии просто повеселили )))))
ну, а чтобы каждый раз не вставать на те же грабли, то проще сделать как описано здесь:
Но осталось несколько десятков внешних обработок и печатных форм. Заново в них исправлять из-за смены модуля, где сидит нужная функция — то ещё удовольствие. Решение было логическим продолжением предыдущих — вызов типовых был перенесен в НашМодуль, а во внешних обработках используется обращение к НашемуМодулю. Таким образом, после обновления достаточно будет проверить НашМодуль и не лазить по всем обработкам


сам давно собирался это сделать, но "пугала" процедура "перелопачивания" своих обработок и отчётов...
МимохожийОднако; Sure; +2 Ответить
26. wirg 17.04.13 15:19 Сейчас в теме
прикольные ребята в 1с работают
27. СержТ 24.04.13 21:29 Сейчас в теме
СПАСИБО! Только сел (с содроганием) делать замены во внешних и тут подкатила ваша инфа. 15 мин и все готово.
28. PiccaHut001 30.04.13 16:48 Сейчас в теме
(27) СержТ, защёл в туалет, передёрнул 15 мин и все готово
29. Loader_1C 01.05.13 01:36 Сейчас в теме
Спасибо! Актуально, особенно, после 62(52) обновлений релизов ЗУП (ЗиК БУ).
30. АлексейН 2 12.07.13 08:48 Сейчас в теме
Спасибо! Актуально, особенно, после 62(52) обновлений релизов ЗУП (ЗиК БУ).

Неужели так много??? Плодотворно работают ребята,отрабатывают свой хлеб.
прикольные ребята в 1с работают

Что верно то верно.
Перенос процедур делается для того чтоб нам интересней жилось,
а также для того чтобы лишний раз звали програмистов которые обновляют
конфигурации, соответственно исправления за отдельное вознаграждение.
И я думаю скорее всего, там что-то типа таблицы что от куда и куда
перенесено (имеется ввиду процедуры).
31. B2B 273 12.07.13 11:30 Сейчас в теме
(30) Нет, они расчищают место под БСП
32. alekseies 30.07.13 13:42 Сейчас в теме
полезная обработка, иногда приходится использовать .......................
33. gudun_ku 62 22.07.14 01:20 Сейчас в теме
За такую разработку (я имею в виду конфигурации 1с с изменениями имен переменных и переносами из модуля в модуль) надо дать люлей, больше ничего не напрашивается... а ребята крутые же вроде, их заставляют читать аджайл девелопмент и паттерны проектирования... что они из этого извлекли , наверное, как заставить рядового фикси страдать...
34. Sabfir 20.08.14 11:31 Сейчас в теме
Спасибо за обработку.
А вот это интересное предложение:
Но осталось несколько десятков внешних обработок и печатных форм. Заново в них исправлять из-за смены модуля, где сидит нужная функция — то ещё удовольствие. Решение было логическим продолжением предыдущих — вызов типовых был перенесен в НашМодуль, а во внешних обработках используется обращение к НашемуМодулю. Таким образом, после обновления достаточно будет проверить НашМодуль и не лазить по всем обработкам
Оставьте свое сообщение