Обработка «Поиск и замена значений» с ИТС. Доработки:
1. Возможность загрузки из таблицы (с использованием доработанной типовой загрузки из табличного документа)
2. Определение типа «на что заменять» при выборе конкретного значения «что заменять»
3. Удобный отбор объектов, в которых заменять ссылки, по типам объектов.
4. Нормальное отображение типов заменяемых объектов.
5. Нормальное отображение типов объектов, в которых заменяются ссылки.
6. Увеличена прозрачность процесса замены ссылок (добавлен показ конкретного места замены в объекте). Пример информационного сообщения о замене ссылки:
Обрабатывается <> (Справочник ссылка: Сохранённые расшифровки АВР для клиентов)
В <> ссылка на Другой договор (Справочник ссылка: Договоры контрагентов) заменена на Договор № 28-12/07 от 28.12.2007 г. (Справочник ссылка: Договоры контрагентов)в реквизите шапки «Договор контрагента»
Обрабатывается Акт сверки взаиморасчетов 00000000265 от 20.04.2009 14:44:02 (Документ ссылка: Акт сверки взаиморасчетов)
В Акт сверки взаиморасчетов 00000000265 от 20.04.2009 14:44:02 ссылка на Другой договор (Справочник ссылка: Договоры контрагентов) заменена на Договор № 28-12/07 от 28.12.2007 г. (Справочник ссылка: Договоры контрагентов)в реквизите шапки «Договор контрагента»
В Акт сверки взаиморасчетов 00000000265 от 20.04.2009 14:44:02 ссылка на Другой договор (Справочник ссылка: Договоры контрагентов) заменена на Договор № 28-12/07 от 28.12.2007 г. (Справочник ссылка: Договоры контрагентов)в реквизите «Договор» табличной части «По данным организации»
В Акт сверки взаиморасчетов 00000000265 от 20.04.2009 14:44:02 ссылка на Другой договор (Справочник ссылка: Договоры контрагентов) заменена на Договор № 28-12/07 от 28.12.2007 г. (Справочник ссылка: Договоры контрагентов)в реквизите «Договор» табличной части «По данным организации»
Обрабатывается Платежное поручение входящее 00000000051 от 22.01.2009 16:54:34 (Документ ссылка: Платежное поручение входящее)
В Платежное поручение входящее 00000000051 от 22.01.2009 16:54:34 ссылка на Другой договор (Справочник ссылка: Договоры контрагентов) заменена на Договор № 28-12/07 от 28.12.2007 г. (Справочник ссылка: Договоры контрагентов)в реквизите шапки «Договор контрагента»
В Платежное поручение входящее 00000000051 от 22.01.2009 16:54:34 ссылка на Другой договор (Справочник ссылка: Договоры контрагентов) заменена на Договор № 28-12/07 от 28.12.2007 г. (Справочник ссылка: Договоры контрагентов)в реквизите «Договор контрагента» табличной части «Расшифровка платежа»
В движениях Платежное поручение входящее 00000000051 от 22.01.2009 16:54:34 (Регистр бухгалтерии: Журнал проводок (бухгалтерский учет)) ссылка на Другой договор (Справочник ссылка: Договоры контрагентов) заменена на Договор № 28-12/07 от 28.12.2007 г. (Справочник ссылка: Договоры контрагентов)в субконто Кт №2
В движениях Платежное поручение входящее 00000000051 от 22.01.2009 16:54:34 (Регистр накопления: НДС расчеты с покупателями) ссылка на Другой договор (Справочник ссылка: Договоры контрагентов) заменена на Договор № 28-12/07 от 28.12.2007 г. (Справочник ссылка: Договоры контрагентов)в измерении «Договор контрагента»
Обрабатывается РегистрСведенийКлючЗаписи.ЗначенияСвойствОбъектов (Регистр сведений ключ записи: Дополнительные свойства)
В РегистрСведенийКлючЗаписи.ЗначенияСвойствОбъектов ссылка на Другой договор (Справочник ссылка: Договоры контрагентов) заменена на Договор № 28-12/07 от 28.12.2007 г. (Справочник ссылка: Договоры контрагентов) в «Объект»
7. Добавлена кнопка «Поменять местами» для выделенных строк таблицы заменяемых значений.
Планируется: оптимизация процесса замены ссылок, внедрение блока замены в регистрах сведений от tormozit (если автор разрешит).
01.09.09 — добавлена замена ссылок в предопределённых ТЧ ПВХ, спасибо RomikMf.
29.04.10 — исправлена ошибка, возникающая в нетиповых конфигурациях — вызов несуществующего общего модуля.
22.06.11 — для конвертации в 8.2 макет сохраняете как epf (это обычная обработка), конвертируете отдельно, загружаете обратно.
Спасибо! Думаю буду пользоваться, посему плюс…
А теперь вопросы по существу:
1. У типовой обработки есть бяка… иногда она не заменяет ссылки должным образом, Вы не правили алгоритм в связи с этим?
2. Что означает галочка «Koнтpoлиpoвaть кoppeктнocть»? Хочется услышать от разработчика и в коде смотреть лень 😉
3. При вызове справки… справка все время на заднем фоне, ИМХО баг с настройкой вывода формы…
>возможность загрузки из таблицы (с использованием доработанной типовой загрузки из табличного документа)… как аналогияhttp://main.1c-ei.ru/Articles/replacement
(1)
http://infostart.ru/projects/1134/ . Обязательно буду выводить информацию, где конкретно заменено (имя реквизита/реквизита ТЧ/измерения и т.д.)
1. Пока не правила. Думаю дорабатывать, возможно, за основу возьму
2. ОбменДанными.Загрузка=Истина
3. Не замечала, честно говоря. У меня всё нормально выводится.
(2) Ну так оно ж для юзверей в основном, а приведённая вами как-то на пользовательски понятную мало похожа )
(1) Кстати, а как именно не заменяет? В каких ситуациях?
(0) Я не против. Используй и улучшай.
(5) Спасибо, будет время — займусь.
(4). Не заменяет в предопределенных табличных частях планов видов расчета. Я добавлял следующий код в функцию вВыполнитьЗаменуЭлементов в текст по замене в справочниках, ПВР и т.п:
// Обработаем предопределенные таблицы ПВР
Если Метаданные.ПланыВидовРасчета.Содержит(СтрокаТаблицы.Метаданные) Тогда
Если СтрокаТаблицы.Метаданные.ЗависимостьОтВидовРасчета <> Метаданные.СвойстваОбъектов.ИспользованиеБазыПланаВидовРасчета.НеИспользовать Тогда
// Базовые
Для каждого СтрокаТЧ Из Параметры.Объект.БазовыеВидыРасчета Цикл
Если СтрокаТЧ.ВидРасчета = Ссылка Тогда
СтрокаТЧ.ВидРасчета = ПравильныйЭлемент;
КонецЕсли;
КонецЦикла;
// Ведущие
Для каждого СтрокаТЧ Из Параметры.Объект.ВедущиеВидыРасчета Цикл
Если СтрокаТЧ.ВидРасчета = Ссылка Тогда
СтрокаТЧ.ВидРасчета = ПравильныйЭлемент;
КонецЕсли;
КонецЦикла;
КонецЕсли;
Если СтрокаТаблицы.Метаданные.ИспользованиеПериодаДействия Тогда
// Вытесняющие
Для каждого СтрокаТЧ Из Параметры.Объект.ВытесняющиеВидыРасчета Цикл
Если СтрокаТЧ.ВидРасчета = Ссылка Тогда
СтрокаТЧ.ВидРасчета = ПравильныйЭлемент;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЕсли;
Спасибо все работает на ура.
(7) Спасибо, добавила.
Желательно было бы сразу сделать обработку универсальной, без допиливания.
(10) А чего не хватает-то?
(11)
При открытии в нетивовой конфигурации ругается на ОбщегоНазначения.
(12) О, спасибо. Сейчас поправлю.
Скачал, поработал, понравилось. Потребовалось снова, не нашел, снова скачал… и о УЖАС я оказывается забыл плюсануть 🙂
Плюс от меня однозначно, думал просто скачать навроде стандартной, потом допиливать ОбменДанными = Истина и шерстить регистры (чтоб доки не перепроводились). Всё это уже есть за что бальшое спасибо!!!
Единственный пустячок, незнаю может на моей нетиповой конфе (на типовых не проверял).
Если заменяемое значение найдено в константах, то обработка не понимает этого и в Форма.НайденныеСсылки.ДанныеСтроки.Данные = Неопределено, а так всё замчательно 😀
Спасибо! Скачал, проверил, все отлично!
Не конвертируется обработка под 82, точнее конвертация происходит, а макет под 82 не открывается.
обр=ВнешниеОбработки.Создать(рИмяПутьФайла);
по причине:
по причине:
Ошибка подключения внешних метаданных
по причине:
Ошибка загрузки документа.
Внешняя обработка не может быть прочитана текущей версией программы.
как этот макет конвертнуть или может разработчик выложит поправленный вариант для 82?
Заранее, спсб.
(17) Макет сохраняете как epf (это обычная обработка), конвертируете отдельно, загружаете обратно.
спсб )
Отличная разработка для бухов а то они часом не ведают чего подвешивают 🙂
Хорошая работа. автору плюсик.
Работает хорошо ! Автор молодец!
Пригодилось, спасибо!
Отлично работает. Срочно нужно было.
Отличные «плюшки». Раньше отменял проведение в транзакции у типовой оброботки — слишком много объектов по одной ссылке — памяти не хватало, а тут уже все сделано, и отбор весьма кстати. Добавил только индикацию количества найденных и отобранных ссылок, при больших количествах — видеть это приятно. Обработкой пользуюсь с удовольствием, автору — благодарность.
(25) индикацию количества я когда-то тоже добавляла, но, возможно, запуталась в версиях 😉
Спасибо за обработку!
Спасибо за обработку.
Спасибо за обработку!!! Пригодилась!!!
Спасибо за обрботку! Пригодилась
Спасибо за обработку!!! Пригодилась как раз под нужную задачу
А если вместо ссылки на объект <Объект не найден> (76:9633 и т.д.) будет работать?
(32) Ни разу не пробовала.
Очень пригодилась, спасибо огромное!
Спасибо. Очень помогло в решении огрех бухгалтеров.
Отличная обработка. Большое спасибо автору. Теперь пользуюсь только ей
Объясните тупому, как эту обработку заполучить? При попытке скачать — выдаёт кучу способов оплаты. В том числе предлагается купить в магазине. Но в магазине обнаружить её не получается.
Отличная обработка, автору +++ , немногое переделал :
1.После обработки элемента справочника являющегося подчиненным другому справочнику («Договоры контрагентов»), была необходимость выбирать его владельца («Контрагента»), устанавливаю в форме выбора активную строку являющуюся владельцем предыдущих данных. На мой взгляд удобно ))))
В подсистемеИнструменты разработчика в мощном инструменте «Поиск дублей и замена ссылок» были заимствованы некоторые идеи из этой обработки. Спасибо.
Спасибо за обработку буду пользоваться.
(39) у, здорово #k8SjZc9Dxk#k8SjZc9Dxk
(0) Жаль поздно обнаружил, уже свою почти аналогичную сделал. Плюс однозначно.
Единственное замечание по (7) — я заменял значение вида расчета только если его уже не было в табличной части, иначе просто удалял строку с заменяемым значением. Чтобы не возникало лишних дублей.
Сделал выгрузку заменяемых значений в табличный документ (чтобы потом в КД использовать как таблицу соответствий). И при выгрузке/загрузке заменяемых значений из табличного документа использовал уникальные идентификаторы.
Добавлю и я плюс. Хотя, лично для меня, есть некоторые недоработки:
1. Нужно бы деактивировать кнопку «Выполнить замену значений», если таблица «ссылок» (нижняя) пуста (иначе вылазит ошибка) или если происходили какие либо изменения в таблице «замен» (верхней).
2. Хотелось бы, видеть список движений содержащих искомые ссылки. Опционально, т.к. увеличит время поиска.
Но, думаю, это я доделаю сам. Спасибо.
(44) А вроде делала уже п.1… Насчёт движений — при полном комментировании оно вроде отображается, где меняют.
Не работает (ошибка выполнения) если измерение регистра бухгалтерии не балансовое — ищет по «Измерение1» (например), а нужно «Измерение1Дт» и «Измерение1Кт». Для себя исправил — работает.
ошибка :
{Форма.Форма.Форма(221)}: Ошибка при вызове метода контекста (Найти)
СтрокаТабЧасти = ТаблицаНабора.Найти(Ссылка, Измерение.Имя);
по причине:
Неверное имя колонки
1С:Предприятие 8.3 (8.3.5.1517)
Бухгалтерия государственного учреждения, редакция 1.0 (1.0.33.8)
(47) NickOmskiy2, под 8.3 не тестила даже. Может не взлететь ввиду разницы платформ.
(18) Добрый день! Извините за глупый вопрос, но каким образом можно сохранить макет как epf? Заранее спасибо!
(49) Tohohoro, двойной клик.