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

26.09.13

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

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
ВнешниеОбработки_ВыгрузитьЗагрузить.epf
.epf 7,11Kb
100
100 Скачать (1 SM) Купить за 1 850 руб.

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

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

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

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

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

 

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

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

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

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

Проводник 

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

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

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

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

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

Замена

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

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

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

7. PROFIT!!!

См. также

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

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

15500 руб.

02.09.2020    180761    1004    403    

955

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

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку одновременно в несколько потоков. А так же автоматически, без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    21976    149    82    

146

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

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

22200 руб.

06.10.2023    19562    50    19    

84

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

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

15000 руб.

10.11.2023    13255    54    33    

74

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

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

9360 руб.

17.05.2024    29763    101    48    

147

Инструментарий разработчика Программист 8.3.14 Россия Платные (руб)

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

20000 руб.

07.10.2021    18864    7    32    

43

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

Разработка Конструктор автоматизированных рабочих мест "Конструктор АРМ" реализована в виде расширения и является универсальным инструментом для создания АРМ любой сложности в пользовательском режиме.

3600 руб.

27.12.2024    2021    3    0    

7
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Muhin555 28 12.04.13 15:59 Сейчас в теме
Есть такой "прикол" у 1С, сам вручную менял "ОщегоНазначения" на "ОщегоНазначенияЗК" :D
2. birk 128 12.04.13 16:20 Сейчас в теме
Надо было раньше постить ) Правил все вручную
3. B2B 274 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 73 12.04.13 20:56 Сейчас в теме
(0)точно, особенно с ЗУП такие приколы))
7. BoneD 615 12.04.13 22:39 Сейчас в теме
Обновлялся поздно в этот раз, так что успел воспользоваться "загрузочной" частью обработки. Т.к. количество внешних отчётов/обработок/печатных форм уже за 200 зашкаливает, время сэкономил, одна идея чего стоила. Спасибо, Василий!
8. B2B 274 12.04.13 23:07 Сейчас в теме
9. kapustinag 13.04.13 14:07 Сейчас в теме
Только все-таки зря обработка полагается на уникальность имен. Лучше бы использовала Код элемента справочника внешних обработок или GUID. Потому что справочник иерархический, да и отображается по умолчанию в виде отдельных списков обработок / отчетов / печформ и т.д.
То есть в обычной жизни неуникальность наименования в глаза не бросается, и придется каждый раз перед использованием этой обработки уникальность проверять/исправлять. Если много информационных баз на поддержке, и если фирма 1С продолжит по-стахановски выдавать на-гора релизы чаще, чем раз в неделю (что она с обновлениями УПП продемонстрировала в этом месяце) - довольно хлопотное дело получится.
10. B2B 274 13.04.13 20:19 Сейчас в теме
(9) Я рассчитывал на то, что файлы будут иметь вменяемые имена, а не ничего незначащий GUID
11. andrewks 1376 13.04.13 23:02 Сейчас в теме
(10) B2B, GUID - элемента справочника, а не имя файла
25. B2B 274 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 1376 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 57 15.04.13 14:11 Сейчас в теме
Эх, жаль что уже все вручную перелопатила, но на будущее пригодится, особенно если будет список сопоставления автоматический. Спасибо. :)
23. Odin-s 58 15.04.13 16:01 Сейчас в теме
Спасибо автору.. Наверное, год держал в голове идею этой обработки, но всё никак руки не доходили :)
24. Redhatych 37 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 274 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 Сейчас в теме
Спасибо за обработку.
А вот это интересное предложение:
Но осталось несколько десятков внешних обработок и печатных форм. Заново в них исправлять из-за смены модуля, где сидит нужная функция — то ещё удовольствие. Решение было логическим продолжением предыдущих — вызов типовых был перенесен в НашМодуль, а во внешних обработках используется обращение к НашемуМодулю. Таким образом, после обновления достаточно будет проверить НашМодуль и не лазить по всем обработкам
Оставьте свое сообщение