Что делать, если 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С.

12000 руб.

02.09.2020    172075    964    403    

924

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

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

8400 руб.

20.08.2024    14572    109    46    

108

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

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

22200 руб.

06.10.2023    17344    43    15    

75

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

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

9360 руб.

17.05.2024    27366    96    48    

138

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

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

15000 руб.

10.11.2023    11955    45    33    

67

SALE! %

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

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

4800 3840 руб.

14.01.2013    191342    1153    0    

920

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

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

20000 руб.

07.10.2021    18113    7    32    

42

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

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

3600 руб.

27.12.2024    1153    2    0    

5
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Muhin555 28 12.04.13 15:59 Сейчас в теме
Есть такой "прикол" у 1С, сам вручную менял "ОщегоНазначения" на "ОщегоНазначенияЗК" :D
2. birk 127 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 1375 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 1375 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 57 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 Сейчас в теме
Спасибо за обработку.
А вот это интересное предложение:
Но осталось несколько десятков внешних обработок и печатных форм. Заново в них исправлять из-за смены модуля, где сидит нужная функция — то ещё удовольствие. Решение было логическим продолжением предыдущих — вызов типовых был перенесен в НашМодуль, а во внешних обработках используется обращение к НашемуМодулю. Таким образом, после обновления достаточно будет проверить НашМодуль и не лазить по всем обработкам
Оставьте свое сообщение