Заполнение обработки "Поиск и замена значений" из консоли запросов

15.09.11

Разработка - Запросы

Зачастую возникают задачи по поиску и замене ссылок в базе. Конечно же все пользуется не заменимым инструментом - обработкой "Поиск и замена значений".
Но, также, довольно часто, объем заменяемых данных велик и обработкой проблематично пользоваться вручную.

 

Зачастую возникают задачи по поиску и замене ссылок в базе. Конечно же все пользуется не заменимым инструментом - обработкой "Поиск и замена значений".

Но, также, довольно часто, объем заменяемых данных велик и обработкой проблематично пользоваться вручную. Раньше, я обычно в таких случаях писал нашлепку над поиском и заменой и заполнял ее программно. Но тут в голову пришла идея, что почти всегда данные для замены можно получить с помощью запроса.

В общем, я добавил в свою консоль простейшую кнопочку, которая заполняет обработку поиска и замены по первым двум колонкам результат запроса из консоли. Не буду выкладывать сюда консоль, т.к все пользуются разными, выложу просто код. Кому надо без проблем добавят в свою консоль запросов.

Итак, в консоль запросов добавляем кнопку. По кажатии на кнопку, будет открываться диалог выбора обработки поиска и замены значений. Собственно код:

 

Функция ВыбратьФайл()

ДиалогФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); ДиалогФайла.Фильтр = "Внешняя обработка(*.epf)|*.epf"; ДиалогФайла.Заголовок = "Выберете файл обработки Поиска и замены значений"; ВнешняяОбработка = Неопределено; Если ДиалогФайла.Выбрать() Тогда ПолноеИмяФайлаОбработки = ДиалогФайла.ПолноеИмяФайла; Попытка СообщениеОшибки = "Выбранный файл не является внешней обработкой. |Либо, данная обработка не предназначена для |запуска в этой конфигурации."; ВнешняяОбработка = ВнешниеОбработки.Создать(ПолноеИмяФайлаОбработки); Исключение Сообщить(ОписаниеОшибки()); Предупреждение(СообщениеОшибки); ПолноеИмяФайлаОбработки = ""; Возврат Неопределено; КонецПопытки; Иначе Возврат Неопределено; КонецЕсли; Возврат ВнешняяОбработка; КонецФункции Процедура КоманднаяПанельТаблицаПоискИЗамена(Кнопка) Если РезультатТаблица.Колонки.Количество() < 2 Тогда Предупреждение("В таблице должно быть не меньше двух колонок!",6); Возврат; КонецЕсли; ЗначениеВозврата = ВыбратьФайл(); Если ЗначениеВозврата = Неопределено Тогда Возврат; КонецЕсли; ОбработкаОбъект = ЗначениеВозврата; Попытка ФормаОбработки = ОбработкаОбъект.ПолучитьФорму("Форма"); Для каждого СтрокаТЧ Из РезультатТаблица Цикл НоваяСтрока = ФормаОбработки.ЗаменяемыеЗначения.Добавить(); НоваяСтрока.ЧтоЗаменять = СтрокаТЧ[0]; НоваяСтрока.НаЧтоЗаменять = СтрокаТЧ[1]; НоваяСтрока.Пометка = Истина; КонецЦикла; ФормаОбработки.Открыть(); Исключение Сообщить("Данная обработка не подходит"); КонецПопытки; КонецПроцедуры

Похожие материалы по обработке "Поиск и замена значений":

 

См. также

SALE! 20%

Infostart Toolkit: Инструменты разработчика 1С 8.3 на управляемых формах

Инструментарий разработчика Роли и права Запросы СКД Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

13000 10400 руб.

02.09.2020    122172    670    389    

714

Для чего используют конструкцию запроса "ГДЕ ЛОЖЬ" в СКД на примере конфигурации 1С:ERP

Запросы СКД Платформа 1С v8.3 Запросы Система компоновки данных 1С:ERP Управление предприятием 2 Бесплатно (free)

В типовых конфигурациях разработчики компании 1С иногда используют в отчетах, построенных на СКД, такую конструкцию, как "ГДЕ ЛОЖЬ". Такая конструкция говорит о том, что данные в запросе не будут получены совсем. Для чего же нужен тогда запрос?

13.02.2024    5746    KawaNoNeko    23    

23

Набор-объект для СКД по тексту или запросу

Запросы СКД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Есть список полей в виде текста, или запрос - закидываем в набор СКД.

1 стартмани

31.01.2024    2000    2    Yashazz    0    

29

Запрос 1С copilot

Инструментарий разработчика Запросы Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Пишем на человеческом языке, что нам надо, и получаем текст запроса на языке 1С. Используются большие языковые модели (LLM GPT) от OpenAI или Яндекс на выбор.

5 стартмани

15.01.2024    6286    31    mkalimulin    25    

50

PrintWizard: поддержка представлений ЗУП в конструкторе

Инструментарий разработчика Запросы Платформа 1С v8.3 Бесплатно (free)

Одной из интересных задач, стоящих в процессе разработки, была поддержка механизма представлений в ЗУП. Но не просто возможность исполнения запросов с ними. Основная проблема была в том, чтобы с ними было удобно работать, а именно: создавать, модифицировать и отлаживать. Кратко о том, что в итоге получилось...

14.12.2023    1742    vandalsvq    7    

29

Объектная модель запроса "Схема запроса" 2

Запросы Платформа 1С v8.3 Запросы Конфигурации 1cv8 Бесплатно (free)

Далеко уже не новый тип данных "Схема запроса". Статья о том, как использовать его "попроще". Примеры создания текста запроса с нуля и изменение имеющегося запроса.

06.12.2023    5388    user1923546    26    

43

Начните уже использовать хранилище запросов

HighLoad оптимизация Запросы

Очень немногие из тех, кто занимается поддержкой MS SQL, работают с хранилищем запросов. А ведь хранилище запросов – это очень удобный, мощный и, главное, бесплатный инструмент, позволяющий быстро найти и локализовать проблему производительности и потребления ресурсов запросами. В статье расскажем о том, как использовать хранилище запросов в MS SQL и какие плюсы и минусы у него есть.

11.10.2023    16186    skovpin_sa    14    

98
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. _also 484 15.09.11 21:58 Сейчас в теме
(1)German,
Клево конечно. Но я так и не дорос до использования Вашего "монстра" :)
В смысле начинал конечно пользоваться, но бесплатная версия не очень функциональна(
7. iov 406 16.09.11 12:32 Сейчас в теме
(2) Полная платная версия - у меня 50% доступа- только терминалом а ключик только локально. Так что альтернатива таки нужна.
8. _also 484 16.09.11 12:35 Сейчас в теме
(7) iov, Ничего не понял если честно :)
9. iov 406 16.09.11 12:36 Сейчас в теме
(8) пардон не туда
(1) Полная платная версия - у меня 50% доступа- только терминалом а ключик только локально. Так что альтернатива таки нужна.
10. _also 484 16.09.11 12:38 Сейчас в теме
(9) А я и так ничего не понял :)
11. iov 406 16.09.11 12:57 Сейчас в теме
(10) платная версия IE - привязана к ключику HASP. То есть чтобы полноценно работать его надо воткнуть в комп...
а очень многие не дают ставить софт проброса или иной софт чтобы мой ключик у них на серваке подцепить...
12. _also 484 16.09.11 13:00 Сейчас в теме
(11) Понятно. Действительно наверное тяжко, если работаешь с разными клиентами.
13. iov 406 16.09.11 13:05 Сейчас в теме
(12) О да на вас жилетка - я немного поплачусь?
А теперь добавьте к этому невозможность примапить диски свои + реакция админа минимум через час. + перезагрузки и прочие работы без предупреждения... Вот приходится фиксировать время начала (письмом) и также время окончания.
14. _also 484 16.09.11 13:06 Сейчас в теме
15. iov 406 16.09.11 13:12 Сейчас в теме
(14) Это ладно тут один админ "по вызову" рассказывал историю своей жизни. Вот где "белый бим черное ухо"- плакали все ... Сошлись на мнении что рееркарнация существует и в прошлой жизни он был массовым убийцей раз так сейчас мучается...
3. Поручик 4670 15.09.11 22:06 Сейчас в теме
(1) Ну как вариант.
А здесь описан простой и быстрый способ добавить функциональности своей любимой консоли запросов.

(0) Вместо
            НоваяСтрока.ЧтоЗаменять   = СтрокаТЧ[0];
            НоваяСтрока.НаЧтоЗаменять = СтрокаТЧ[1];

лучше написать
             ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаТЧ);

так как в запросе поля могут располагаться в произвольном порядке.
4. _also 484 15.09.11 22:09 Сейчас в теме
(3) тогда надо будет поля в запросе обязательно обзывать ЧтоЗаменять, НаЧтоЗаменять..
Я же для себя сделал просто: попадают первые 2 поля. Естественно, можно сделать и по другому, но мне так удобнее :)
5. Angeros 16.09.11 09:49 Сейчас в теме
А что это за консоль запросов. Где такую найти посмотреть?!
6. _also 484 16.09.11 09:55 Сейчас в теме
17. Поручик 4670 16.09.11 17:20 Сейчас в теме
(5) Консолей запросов на этом сайте как грязи как перенумераторов.
16. sinichkas 16.09.11 16:45 Сейчас в теме
очень удобная весч,спасибо
18. jjinn 21.09.11 10:26 Сейчас в теме
19. Eldarion999 21.09.11 13:20 Сейчас в теме
Спасибо! Пригодилась.
20. zhleonid8 21.09.11 14:46 Сейчас в теме
21. tormozit 7136 11.12.11 18:21 Сейчас в теме
Внес похожую возможность в "Инструменты разработчика" http://devtool1c.ucoz.ru/
Отличие в том, что в моем случае используется обработка поиска и замены дублей, где не допускается замены ссылок разных типов. Т.е. у меня все ссылки должны быть однотипными. Зато есть возможность сразу много групп дублей создать через дерево.
22. _also 484 12.12.11 10:13 Сейчас в теме
(21) tormozit, тебе огромный респект за консоль запросов. Я в нее уже подабавлял кое-чего. Могу поделиться, если надо.
23. tormozit 7136 12.12.11 10:19 Сейчас в теме
(22) Я был бы благодарен за хорошие идеи и тем более с реализацией. Желательно их описать в комментариях к подсистеме или на форуме http://devtool1c.ucoz.ru/forum
24. _also 484 12.12.11 10:20 Сейчас в теме
25. AlexO 135 30.03.12 10:46 Сейчас в теме
что-то я сразу не въехал:
т.е. сначала выбирается запросом в консоли некие соответствия друг другу (например, все контрагенты с "неправильным" ИНН в первой колонке, соответствующие им "правильные" ИНН во второй), и уже этой таблицей (запуск из консоли другой обработки) построчно заполняются поля обработки "ПосикИЗамена"? Или я что-то недопонял?
____________________________
(21) tormozit,
т.е. здесь нет контроля типов при составлении таблицы замен? А у вас контроль реализован?
(23) идеи уже поступили и реализованы в ИР? :)))
26. _also 484 30.03.12 10:59 Сейчас в теме
(25) все правильно понял. А зачем контроль типов? Ты же сам будешь пользоваться. В ИР уже есть.
27. AlexO 135 30.03.12 11:28 Сейчас в теме
(26)
просто у меня таких задач еще не было ))
И пока даже не могу придумать.
28. _also 484 30.03.12 11:32 Сейчас в теме
(27) видимо у тебя бухи нормальные)))
29. AlexO 135 30.03.12 12:03 Сейчас в теме
(28)
бухи качественные, но хотел бы узнать про конкретные косяки, которые исправляет данная обработка - может, мы что упускаем в своей с ними работе....
30. tormozit 7136 31.05.12 20:41 Сейчас в теме
(25) Реализованы пока частично.
31. пользователь 14.10.14 15:40
Сообщение было скрыто модератором.
...
32. _also 484 14.10.14 16:54 Сейчас в теме
(31) husky, я эту свою внешнюю консоль уже забросил давно. Теперь только инструменты разработчика, а там это есть ))
Оставьте свое сообщение