Оказывается 1С позаботилась о подобных случаях: «Глобальная замена» может производить замену не только в конфигурации, но и во внешних обработках, лежащих в папке на диске. Осталось написать обработку, которая выгрузит все разом из справочника внешних обработок, а после замен поможет загрузить обратно.
Я предлагаю свою обработку, которая поможет произвести выгрузку и обратную загрузку внешних отчетов и обработок. Ограничения:
1. Обработка рассчитана на то, что файл внешней обработки хранится не в табличной части элемента, а в шапке.
2. Обработка рассчитана на то, что в справочнике внешних обработок нет элементов с одинаковым полем «Наименование».
А теперь по шагам.
1. Запускаем обработку врежиме 1С:Предприятие и выгружаем все внешние отчеты и обработки в папку:
Получим что-то типа:
2. Составляем таблицу замен:
Страя функция | Новая функция |
ОбщегоНазначения.ПолучитьОписаниеТиповДаты | ОбщегоНазначенияЗК.ПолучитьОписаниеТиповДаты |
ОбщегоНазначения.СформироватьСуммуПрописью | ОбщегоНазначенияЗК.СформироватьСуммуПрописью |
ОбщегоНазначения.ГоловнаяОрганизация | ОбщегоНазначенияЗК.ГоловнаяОрганизация |
ОбщегоНазначения.ПолучитьРабочуюДату | ОбщегоНазначенияЗК.ПолучитьРабочуюДату |
ОбщегоНазначения.РазложитьСтрокуВМассивПодстрок | ОбщегоНазначенияЗК.РазложитьСтрокуВМассивПодстрок |
ОбщегоНазначения.ФамилияИнициалыФизЛица | ОбщегоНазначенияЗК.ФамилияИнициалыФизЛица |
ОбщегоНазначения.ВывестиИнформациюОбОшибке | ОбщегоНазначенияЗК.ВывестиИнформациюОбОшибке |
ОбщегоНазначения.ФорматСумм | ОбщегоНазначенияЗК.ФорматСумм |
ОбщегоНазначения.ПустоеЗначениеТипа | ОбщегоНазначенияЗК.ПустоеЗначениеТипа |
ОбщегоНазначения.ПредставлениеРаботника | ОбщегоНазначенияЗК.ПредставлениеРаботника |
ОбщегоНазначения.СообщитьОбОшибке | ОбщегоНазначенияЗК.СообщитьОбОшибке |
3. В Конфигураторе идем в меню «Правка» — «Глобальная замена…» и заполняем поля диалога следующим образом:
Путь к выгруженным обработкам указываем на вкладке «Файлы»:
4. Выполняем замены по таблице во втором пункте.
5. Закрываем все окна через меню «Окна» — «Закрыть все». На каждое предложение о сохранении изменений отвечаем утвердительно.
6. Снова используем обработку для загрузки файлов в базу.
7. PROFIT!!!
Есть такой «прикол» у 1С, сам вручную менял «ОщегоНазначения» на «ОщегоНазначенияЗК» 😀
Надо было раньше постить ) Правил все вручную
(2) Ничего, и на нашей улице будет праздник 🙂
Да, отлично, только поздно, уже обновил ЗУП)
На будущее пригодиться
Да, столкнулась тоже с таким «приколом» от 1С! обработка очень полезная, пригодится!
(0)точно, особенно с ЗУП такие приколы))
Обновлялся поздно в этот раз, так что успел воспользоваться «загрузочной» частью обработки. Т.к. количество внешних отчётов/обработок/печатных форм уже за 200 зашкаливает, время сэкономил, одна идея чего стоила. Спасибо, Василий!
(7) Да, не за что 😉
Только все-таки зря обработка полагается на уникальность имен. Лучше бы использовала Код элемента справочника внешних обработок или GUID. Потому что справочник иерархический, да и отображается по умолчанию в виде отдельных списков обработок / отчетов / печформ и т.д.
То есть в обычной жизни неуникальность наименования в глаза не бросается, и придется каждый раз перед использованием этой обработки уникальность проверять/исправлять. Если много информационных баз на поддержке, и если фирма 1С продолжит по-стахановски выдавать на-гора релизы чаще, чем раз в неделю (что она с обновлениями УПП продемонстрировала в этом месяце) — довольно хлопотное дело получится.
(9) Я рассчитывал на то, что файлы будут иметь вменяемые имена, а не ничего незначащий GUID
(10) B2B, GUID — элемента справочника, а не имя файла
спасибо за информацию не знал о такой возможности, хотя работаю не первый год.
круто.
А что делать когда в коде есть обращения как к старому переименованному общему модулю так и к новому?
(12) petrov_al,
А кто вообще вдумчиво прочитал всё, то что 1С называет — технической документацией?
(14) AnryMc, на 1С ещё и документация есть? 😉
(15) andrewks,
1С позаботилась.. а еще лучше бы она позаботилась и сразу бы прислала таблицу сопоставления чо куда унесла, блин..
Складывается ощущение, что они даже не пользуются в конфигураторе проверкой модулей и проверкой конфигурации…
На ИТС была обработка по автоматической конвертации внешних обработок при переходе с платформы 8.1 на 8.2, которая автоматически выгружала внешние обработки, конвертировала и загружала. Мне кажется, проще ее допилить, поскольку там все проблемы с уникальностью наименований разрешены тем, что именами файлов являются ГУИД-ы внешних обработок. Это первое.
А второе, так меня смущает пункт 2 этой статьи — «Составляем список замен». Это самая трудоемкая часть описанного процесса. Т.е. мало того, что процедуры и функции перенесены, так еще надо знать какие процедуры и функции общих модулей используются во внешних обработках (если их с десяток, то не проблема, а если более сотни?). А если к этому еще прибавить, что процедуры и функции общих модулей меняют список своих параметров критическим для использования способом (такое редко, но случается, обычно в типовых конфигурациях список параметров лишь добавляется с присвоением параметрам начальных значений), то получается, что данная статья как бы не доделана.
(19) Kom-off, присоединяюсь к вопросу.
При обновлении релиза ЗУП 62.1 я насчитал 17 процедур, которые вызываются в моих доработках (в конфигурации и во внешних) и были перенесены. Может еще я что-то пропустил и их больше на самом деле, просто ошибок пока не выходило.
Больше всего интересует, как автоматизировать пункт «Составляем список замен».
(20) Я использую (плюс автору этой разработки) вот это:http://infostart.ru/public/77909/ . Эта разработка позволяет выявить все изменения во всех процедурах и функциях общих модулей.
Эх, жаль что уже все вручную перелопатила, но на будущее пригодится, особенно если будет список сопоставления автоматический. Спасибо. 🙂
Спасибо автору.. Наверное, год держал в голове идею этой обработки, но всё никак руки не доходили 🙂
спасибо за обработку!
здесь :
а комментарии просто повеселили )))))
ну, а чтобы каждый раз не вставать на те же грабли, то проще сделать как описано
сам давно собирался это сделать, но «пугала» процедура «перелопачивания» своих обработок и отчётов…
(11) Мне в файловой системе хотелось оставить вменяемые имена, а не GUID’ы.
(9) (11) С уникальностью имен не все так страшно: имена должны быть уникальными в пределах Отчетов (складываются в отдельную папку), отдельно в пределах Обработок (тоже в отдельной папке), а с обработками табличных частей и с печатными формами все еще проще: для каждого документа, к которому они привязаны, создается отдельная папка, куда и складируются обработки. В статье есть скриншот с Проводника, где видна структура папок.
прикольные ребята в 1с работают
СПАСИБО! Только сел (с содроганием) делать замены во внешних и тут подкатила ваша инфа. 15 мин и все готово.
(27) СержТ, защёл в туалет, передёрнул 15 мин и все готово
Спасибо! Актуально, особенно, после 62(52) обновлений релизов ЗУП (ЗиК БУ).
Неужели так много??? Плодотворно работают ребята,отрабатывают свой хлеб.
Что верно то верно.
Перенос процедур делается для того чтоб нам интересней жилось,
а также для того чтобы лишний раз звали програмистов которые обновляют
конфигурации, соответственно исправления за отдельное вознаграждение.
И я думаю скорее всего, там что-то типа таблицы что от куда и куда
перенесено (имеется ввиду процедуры).
(30) Нет, они расчищают место под БСП
полезная обработка, иногда приходится использовать …………………..
За такую разработку (я имею в виду конфигурации 1с с изменениями имен переменных и переносами из модуля в модуль) надо дать люлей, больше ничего не напрашивается… а ребята крутые же вроде, их заставляют читать аджайл девелопмент и паттерны проектирования… что они из этого извлекли , наверное, как заставить рядового фикси страдать…
Спасибо за обработку.
А вот это интересное предложение: