Случилось так, что были мы «Читинская обл.» а стали «Забайкальский край». И вот наконец масса людей меня задолбала и родилась эта (уже не маленькая)), читаем комменты) маленькая обработка.
— работает на любой конфигурации 7.7, где есть справочники и строковые реквизиты в них
— при запуске обнаруживает у этих справочников реквизиты типа «Строка» с вхождением слова «АДР» (подстроку поиска реквизитов можно изменить). Реквизиты «Наименование» и «Код» добавляются, если они текстовые и не 0
— работает запуск из внешней обработки (UChoice.ert с диска ИТС). Для интеграции прописать в файл UCPlugIn.txt строку:
< «служб_спр_ЗаменаЧастиАдреса.ert», «Замена по подстроке», «Справочник»> в блок <Для справочников>
При запуске из UChoice.ert устанавливается фильр на справочник, обработка идет только по выбранному виду справочника
— при замене реквизитов есть возможность «попытки» исправить неуникальный код справочника (в этом случае работает медленно, т.к. без использования транзакции)
ЗЫ: Всем, скачавшим до 27.01.08 14:10 Москвы ,качаем ОБНОВЛЕННУЮ 4-ю версию
«НЕ РАБОТАЕТ с реквизитами типа «Строка неограниченной длины» (из-за Запроса)»
Жалко. Смотрю в свою конфу, которая какое-то время назад была типовым ТиС, и не вижу ни одного адреса, который бы не был строкой неограниченной длины.
(1) Я когда написал — тоже наткнуля на подобное, и быстренько превратил длинные адреса в «Строка,240», ибо длиннее адрес вряд ли встретишь.
И для базы полезнее, т.к. длинные строки хранятся в отдельном файле.
(2) А ж не про то, что можно переделать конфу под мелкую сервисную обработку. А про то, что лучше бы переделать обработку под типовую конфу, заявленную, кстати, в описании обработки.
А на SQL длинные строки хранятся в одной таблице со справочником. И занимают меньше места, чем Строка240.
(3) Согласен, переделаю
(2)(3) Переделал, РАБОТАЕТ с длинными строками
Осталось последний, несложный шаг по унификации. Расширить список обрабатываемых справочников. Сделать универсально, анализировать метаданные по всем справочникам, если где обнаружится реквизит «*Адрес*», те и предлагать заменять.
У меня, например, в конфе замена может понадобиться в следующих справочниках (часть типовые, часть нет): Банки, КлассификаторБанков, Пользователи, Фирмы (СвоиЮрЛица), Склады, Контрагенты (ФизЛица, ЮрЛица).
(6) vcv, и ТОЛЬКО ПОСЛЕ этого ты поставишь «+» ?)))
Уболтал, напишу универсальную…
(6) А почему только по реквизиту «*Адрес*»?
Можно сделать поле для ввода маски
(7) А вот не поставлю! 🙂
Во-первых, согласен с Altair777. Добавлю еще, что было бы хорошо делать нечеткое сравнение. С помощью, например, объекта RegExp. Примеров как пользоваться множество. И совершенно не сложно. Зато упростит исправление ошибок и опечаток в адресах.
Во-вторых, если уж планируется толковая утилита, достойная выкладывания в инет, то почему бы не сделать дополнительные фильтры. Для отбора, что же именно хочется менять. В виде множественного фильтра или привязки к UChoice.
(9) Учтено
(10) Епрст!)) пока переделывал — уже новые пожелания!)))
Ладно, пока остановимся на этом:
-любые справочники,
-любые реквизиты (по подстроке),
-обработка неуникальности кода справочника при записи
Думаю, такое в инет уже можно выложить…
привязку у ЮЧУЙЗ и «мягкий» фильтр сделаю на досуге, сегодня уже некогда…
Осталось еще чуть чуть и можно будет патентовать торговую марку «1С:Полнотекстовый поиск и замена 7.7» 🙂
Пожелание — Поле ввода «СтрПоискаРекв» — написать формулу лЗаполнитьРеквизиты()
Неточность — у справочников есть еще предопределенный реквизит «Наименование» 🙂
он не отрабатывается «Метаданные.Справочник(й).Реквизит()»
Точно также, как и «Код»
За 5, 8, 11 и конечно за саму обработку. А то накинулись на человека, а благодарности никакой. 🙂
(14) Мы не накинулись
Наоборот, помогаем сделать ее лучше 🙂
Так что еще вопрос, кому плюсики надо ставить 😉
п.с. отрываюсь от своей разработки что бы человек помочь.
(13) учтено
(14) Спасибо))
(15) Согласен, САМ ОТОРВАЛСЯ от текущей работы, чтоб сие ДОДЕЛАТЬ!))
Так и рождается «нетленка» )))
(12) ЮЧУЙЗ привязал, остался мягкий фильр, но это попозже…
«Так и рождается «нетленка» )))»
А может так рождается продукт, идеальный для своего применения?
Посмотри, например, на молоток. Иголку. Табуретку. Сильно они изменились за последние пару тысяч лет? Тот же UChoice. Прошло уже лет… семь? Восемь? И что, сильно устарел?
P.S. прошу вышесказанное не воспринимать серьезно. А так, в порядке бреда. Под конец тяжелого дня.
(17) Угу, софистика поперла))
В качестве пожелания — нужен промежуточный этап когда список того что будет меняться сформирован, но замена ещё не произошла — и кнопка подтвердить внизу — а то я сильно номенклатуру покоцал по первому разу — слава богу бэкап был.
а ещё доавить возможность выделений (всёничегонаоборот)
(19) Если когда-нибудь вернусь к этому — учту 😉