Поиск и замена значений с плюшками для 8.1





Обработка "Поиск и замена значений" с ИТС. Доработки: возможность загрузки из таблицы (с использованием доработанной типовой загрузки из табличного документа), определение типа "на что заменять" при выборе конкретного значения "что заменять", удобный отбор объектов, в которых заменять ссылки, по типам объектов.

Обработка «Поиск и замена значений» с ИТС. Доработки:

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 (это обычная обработка), конвертируете отдельно, загружаете обратно.

49 Comments

  1. WiseSnake

    Спасибо! Думаю буду пользоваться, посему плюс…

    А теперь вопросы по существу:

    1. У типовой обработки есть бяка… иногда она не заменяет ссылки должным образом, Вы не правили алгоритм в связи с этим?

    2. Что означает галочка «Koнтpoлиpoвaть кoppeктнocть»? Хочется услышать от разработчика и в коде смотреть лень 😉

    3. При вызове справки… справка все время на заднем фоне, ИМХО баг с настройкой вывода формы…

    Reply ↓
  2. German

    >возможность загрузки из таблицы (с использованием доработанной типовой загрузки из табличного документа)… как аналогия http://main.1c-ei.ru/Articles/replacement

    Reply ↓
  3. e.kogan

    (1)

    1. Пока не правила. Думаю дорабатывать, возможно, за основу возьму http://infostart.ru/projects/1134/ . Обязательно буду выводить информацию, где конкретно заменено (имя реквизита/реквизита ТЧ/измерения и т.д.)

    2. ОбменДанными.Загрузка=Истина

    3. Не замечала, честно говоря. У меня всё нормально выводится.

    (2) Ну так оно ж для юзверей в основном, а приведённая вами как-то на пользовательски понятную мало похожа )

    Reply ↓
  4. e.kogan

    (1) Кстати, а как именно не заменяет? В каких ситуациях?

    Reply ↓
  5. tormozit

    (0) Я не против. Используй и улучшай.

    Reply ↓
  6. e.kogan

    (5) Спасибо, будет время — займусь.

    Reply ↓
  7. RomikMf

    (4). Не заменяет в предопределенных табличных частях планов видов расчета. Я добавлял следующий код в функцию вВыполнитьЗаменуЭлементов в текст по замене в справочниках, ПВР и т.п:

    // Обработаем предопределенные таблицы ПВР

    Если Метаданные.ПланыВидовРасчета.Содержит(СтрокаТаблицы.Метаданные) Тогда

    Если СтрокаТаблицы.Метаданные.ЗависимостьОтВидовРасчета <> Метаданные.СвойстваОбъектов.ИспользованиеБазыПланаВидовРасчета.НеИспользовать Тогда

    // Базовые

    Для каждого СтрокаТЧ Из Параметры.Объект.БазовыеВидыРасчета Цикл

    Если СтрокаТЧ.ВидРасчета = Ссылка Тогда

    СтрокаТЧ.ВидРасчета = ПравильныйЭлемент;

    КонецЕсли;

    КонецЦикла;

    // Ведущие

    Для каждого СтрокаТЧ Из Параметры.Объект.ВедущиеВидыРасчета Цикл

    Если СтрокаТЧ.ВидРасчета = Ссылка Тогда

    СтрокаТЧ.ВидРасчета = ПравильныйЭлемент;

    КонецЕсли;

    КонецЦикла;

    КонецЕсли;

    Если СтрокаТаблицы.Метаданные.ИспользованиеПериодаДействия Тогда

    // Вытесняющие

    Для каждого СтрокаТЧ Из Параметры.Объект.ВытесняющиеВидыРасчета Цикл

    Если СтрокаТЧ.ВидРасчета = Ссылка Тогда

    СтрокаТЧ.ВидРасчета = ПравильныйЭлемент;

    КонецЕсли;

    КонецЦикла;

    КонецЕсли;

    КонецЕсли;

    Reply ↓
  8. Romanovfastov

    Спасибо все работает на ура.

    Reply ↓
  9. e.kogan

    (7) Спасибо, добавила.

    Reply ↓
  10. detec

    Желательно было бы сразу сделать обработку универсальной, без допиливания.

    Reply ↓
  11. e.kogan

    (10) А чего не хватает-то?

    Reply ↓
  12. detec

    (11)

    При открытии в нетивовой конфигурации ругается на ОбщегоНазначения.

    Reply ↓
  13. e.kogan

    (12) О, спасибо. Сейчас поправлю.

    Reply ↓
  14. IP43

    Скачал, поработал, понравилось. Потребовалось снова, не нашел, снова скачал… и о УЖАС я оказывается забыл плюсануть 🙂

    Reply ↓
  15. Tailbone

    Плюс от меня однозначно, думал просто скачать навроде стандартной, потом допиливать ОбменДанными = Истина и шерстить регистры (чтоб доки не перепроводились). Всё это уже есть за что бальшое спасибо!!!

    Единственный пустячок, незнаю может на моей нетиповой конфе (на типовых не проверял).

    Если заменяемое значение найдено в константах, то обработка не понимает этого и в Форма.НайденныеСсылки.ДанныеСтроки.Данные = Неопределено, а так всё замчательно 😀

    Reply ↓
  16. Tokiy

    Спасибо! Скачал, проверил, все отлично!

    Reply ↓
  17. toci

    Не конвертируется обработка под 82, точнее конвертация происходит, а макет под 82 не открывается.

    {Форма.Форма.Форма(741)}: Ошибка при вызове метода контекста (Создать)

    обр=ВнешниеОбработки.Создать(рИмяПутьФайла);

    по причине:

    по причине:

    Ошибка подключения внешних метаданных

    по причине:

    Ошибка загрузки документа.

    Внешняя обработка не может быть прочитана текущей версией программы.

    как этот макет конвертнуть или может разработчик выложит поправленный вариант для 82?

    Заранее, спсб.

    Reply ↓
  18. e.kogan

    (17) Макет сохраняете как epf (это обычная обработка), конвертируете отдельно, загружаете обратно.

    Reply ↓
  19. toci

    спсб )

    Reply ↓
  20. cobroid

    Отличная разработка для бухов а то они часом не ведают чего подвешивают 🙂

    Reply ↓
  21. Zoomby

    Хорошая работа. автору плюсик.

    Reply ↓
  22. _iAlex

    Работает хорошо ! Автор молодец!

    Reply ↓
  23. spryn

    Пригодилось, спасибо!

    Reply ↓
  24. Limbo23

    Отлично работает. Срочно нужно было.

    Reply ↓
  25. ARL

    Отличные «плюшки». Раньше отменял проведение в транзакции у типовой оброботки — слишком много объектов по одной ссылке — памяти не хватало, а тут уже все сделано, и отбор весьма кстати. Добавил только индикацию количества найденных и отобранных ссылок, при больших количествах — видеть это приятно. Обработкой пользуюсь с удовольствием, автору — благодарность.

    Reply ↓
  26. e.kogan

    (25) индикацию количества я когда-то тоже добавляла, но, возможно, запуталась в версиях 😉

    Reply ↓
  27. Acasta

    Спасибо за обработку!

    Reply ↓
  28. toci

    Спасибо за обработку.

    Reply ↓
  29. Юля21

    Спасибо за обработку!!! Пригодилась!!!

    Reply ↓
  30. greyboy666

    Спасибо за обрботку! Пригодилась

    Reply ↓
  31. trustgros

    Спасибо за обработку!!! Пригодилась как раз под нужную задачу

    Reply ↓
  32. petrovaUL

    А если вместо ссылки на объект <Объект не найден> (76:9633 и т.д.) будет работать?

    Reply ↓
  33. e.kogan

    (32) Ни разу не пробовала.

    Reply ↓
  34. Ироида

    Очень пригодилась, спасибо огромное!

    Reply ↓
  35. AlexShap

    Спасибо. Очень помогло в решении огрех бухгалтеров.

    Reply ↓
  36. ivan07

    Отличная обработка. Большое спасибо автору. Теперь пользуюсь только ей

    Reply ↓
  37. Luca

    Объясните тупому, как эту обработку заполучить? При попытке скачать — выдаёт кучу способов оплаты. В том числе предлагается купить в магазине. Но в магазине обнаружить её не получается.

    Reply ↓
  38. nestorpetrovi4

    Отличная обработка, автору +++ , немногое переделал :

    1.После обработки элемента справочника являющегося подчиненным другому справочнику («Договоры контрагентов»), была необходимость выбирать его владельца («Контрагента»), устанавливаю в форме выбора активную строку являющуюся владельцем предыдущих данных. На мой взгляд удобно ))))

    Reply ↓
  39. tormozit

    В подсистеме Инструменты разработчика в мощном инструменте «Поиск дублей и замена ссылок» были заимствованы некоторые идеи из этой обработки. Спасибо.

    Reply ↓
  40. hamsar

    Спасибо за обработку буду пользоваться.

    Reply ↓
  41. e.kogan

    (39) у, здорово #k8SjZc9Dxk#k8SjZc9Dxk

    Reply ↓
  42. Totoro

    (0) Жаль поздно обнаружил, уже свою почти аналогичную сделал. Плюс однозначно.

    Единственное замечание по (7) — я заменял значение вида расчета только если его уже не было в табличной части, иначе просто удалял строку с заменяемым значением. Чтобы не возникало лишних дублей.

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

    Reply ↓
  43. Release

    Добавлю и я плюс. Хотя, лично для меня, есть некоторые недоработки:

    1. Нужно бы деактивировать кнопку «Выполнить замену значений», если таблица «ссылок» (нижняя) пуста (иначе вылазит ошибка) или если происходили какие либо изменения в таблице «замен» (верхней).

    2. Хотелось бы, видеть список движений содержащих искомые ссылки. Опционально, т.к. увеличит время поиска.

    Но, думаю, это я доделаю сам. Спасибо.

    Reply ↓
  44. e.kogan

    (44) А вроде делала уже п.1… Насчёт движений — при полном комментировании оно вроде отображается, где меняют.

    Reply ↓
  45. vadimlp77

    Не работает (ошибка выполнения) если измерение регистра бухгалтерии не балансовое — ищет по «Измерение1» (например), а нужно «Измерение1Дт» и «Измерение1Кт». Для себя исправил — работает.

    Reply ↓
  46. NickOmskiy2

    ошибка :

    {Форма.Форма.Форма(221)}: Ошибка при вызове метода контекста (Найти)

    СтрокаТабЧасти = ТаблицаНабора.Найти(Ссылка, Измерение.Имя);

    по причине:

    Неверное имя колонки

    1С:Предприятие 8.3 (8.3.5.1517)

    Бухгалтерия государственного учреждения, редакция 1.0 (1.0.33.8)

    Reply ↓
  47. e.kogan

    (47) NickOmskiy2, под 8.3 не тестила даже. Может не взлететь ввиду разницы платформ.

    Reply ↓
  48. Tohohoro

    (18) Добрый день! Извините за глупый вопрос, но каким образом можно сохранить макет как epf? Заранее спасибо!

    Reply ↓
  49. e.kogan

    (49) Tohohoro, двойной клик.

    Reply ↓

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *