Поиск и замена значений с плюшками для 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 не будет опубликован. Обязательные поля помечены *