Поиск и замена значений 1с управляемое приложение. Подробное описание действий по работе с обработкой

12.02.2014

Секреты универсальной обработки "Поиск и замена" в 1С:ЗУП 8"

Александра Игнатьева, сотрудник линии консультаций
телефон: 8 495 607-24-30 доб. 124
эл. почта:

Как правильно пользоваться универсальной обработкой
Поиск и замена значений в "1С:Зарплата и Управление персоналом 8"

Многие пользователи сталкивались с проблемой дублирования элементов справочников (контрагенты, физические лица и т.д.). В случае, если оба задублированных элементав уже использовались в различных документах, то удалить лишний элемент, без замены его в документах на нужный, не представляется возможным. Возьмем, например, справочник «Физические лица». Бывает, что сотрудник увольняется и вновь возвращается на работу. Кадровик заносит новое физическое лицо, что делать НЕЛЬЗЯ, однако, ошибка всплывает при подготовке отчетности в ПФР, либо в ИФНС. Что делать в таком случае? Можно вручную исправить данные в каждом документе, потерять много времени и все равно останутся какие-нибудь ссылки, которые не дадут удалить помеченный справочник. А можно просто воспользоваться универсальной обработкой Поиск и замена значений , которая находится на каждом (1CIts\EXE\EXTREPS\UNIREPS82\SearchAndChange), а можно .

Данную обработку можно открыть сразу в программе (см. рис.1), либо добавить в справочник внешние обработки (см. рис.2).

Рисунок 1. Файл - Открыть - Файл обработки (Поиск и замена значений)


Рисунок 2.


Рисунок 3


Открываем обработку (см. рис. 4). В открывшемся окне в левой части выбираем, что мы хотим заменить (цифра 1), в правой части - на что хотим заменить (цифра 2). Нажимаем кнопку Найти ссылки (цифра 3), после того как ссылки найдены, нажимаем кнопку Выполнить замену значений (цифра 4).

Рисунок 4


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

В последних редакциях конфигурации на базе 1С 8.3 появилась отличная возможность автоматизировать поиск и замену дублей справочников. Это делается с помощью специальной обработки 1С — Поиск и замена дублей. Она встроена в такие прикладные решения на управляемых формах, как: , .

Рассмотрим небольшую инструкцию: как найти обработку в интерфейсе, как с помощью неё свернуть дублирующиеся элементы номенклатуры, контрагентов и других справочников.

Внимание! Перед работой с обработкой обязательно сделайте резервную копию базы данных.

Обработка для поиска дублей

Обработка Поиск и удаление дублей расположена на вкладке «Администрирование», в разделе «Поддержка и обслуживание»:

В самом низу:

Получите 267 видеоуроков по 1С бесплатно:

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

1С предложит варианты дублей:

На примере холодильника «СТИНОЛ»: система отметила элемент с окончанием «101» как оригинал, а элемент «103» как дубль. В окне справа мы видим, в каких документах участвует данных элемент номенклатуры.

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

После регистрации обработки открываем ее:

Выберем объект замены Что меняем , нажав на кнопку выбора. Программа предлагает выбрать тип заменяемого значения (обработка универсальна и работает со всеми справочниками и документами).Для примера сделаем замену элемента справочника номенклатура :


После выбора первого элемента выбираем также второй (тип значения здесь уже заполняется автоматически):


Нажимаем Заменить . Программа попросит подтверждение:

После завершения обработки появится такое окно:


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


На закладке измененные объекты перечислены все объекты системы, в которых обработка произвела замену.


На закладке Возникшие ошибки можем посмотреть перечень ошибок.Теперь откроем типовую обработку Поиск ссылок на объекты для проверки результатов:

В открывшемся списке выбираем нужную обработку:

В форме обработки в поле Объект выберем исходную номенклатуру:



В результате видим, что на номенклатуру осталась ссылка только в документе корректировки реализациию.

Как вариант, можем прогнать обработку повторно, чтобы она попробовала отработать данный документ, а можем сделать это своими руками.

Обработка работоспособна во всех типовых конфигурациях 1С:Предприятие 8.3.

Представляем Вашему вниманию универсальную обработку поиск и замена значений, она работает как в 1с 8.2 (обычное приложение), так и в 1с 8.3 (управляемое приложение). Как вы уже поняли из названия данная обработка предназначена для замены одного значения на другое, причем заменяются соответственно ссылочные типы.

Когда нужно пользоваться обработкой поиск и замена значений?

Давайте представим себе такую ситуацию, бухгалтер ведет две фирмы в одной конфигурации 1с, и забивает 100 документов прихода за неделю. Когда работа уже была практически закончена бухгалтер заметил ошибку, те документы которые он ввел в программу имеют ошибочный реквизит "Организация", т.е. он банально перепутал и случайно вводил данные по другой организации. 100 документов переделывать это долго и неудобно... Вот тут как раз и придет на помощь обработка по поиску и замене значений в 1с.

Как выглядит обработка по поиску и замене значений в 1с?


Скачать обработку поиск и замена значений для 1с 8.2 и 1с 8.3


У нас вы можете скачать бесплатно обработку поиск и замена значений для 1с 8.2 и 1с 8.3

Как пользоваться обработкой поиск и замена значений 1с?

Давайте представим что у нас есть контрагент "Юниопт", он используется в базе в различных документах, договорах и т.д. Нам необходимо заменить везде где встречается контрагент "Юниопт" на контрагента "Вымпелком", вот тут нам как раз и поможет обработка по поиску и замене значений 1с. Мы также могли бы заменить одну номенклатуру на другую, или например отменить проведение каких-то документов. Итак давайте попробуем заменить наших контрагентов.

Для начала откроем обработку, Файл ---> Открыть. Перед нами появится главное окно, нажмем на плюс в верхней табличной части, добавится строка. Теперь нажимаем на кнопку "Т", как на рисунке ниже.


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


ПоискИЗаменаЗначений – это обработка 1С позволяющая заменять ссылочные значения во всех объектах конфигурации, которые ссылаются на заменяемый объект.

Перед тем как рассмотреть саму обработку, давайте разберемся, для решения каких прикладных задач применяется эта обработка. Допустим, мы пометили на удаление какой-то справочник, но при удалении (обработкой Удаление помеченных объектов ) выясняется, что на удаляемый элемент есть ссылающиеся объекты. При таких условиях обработка «Удаление помеченных объектов» не позволит удалить элемент, т.к. это нарушит референтность базы данных. Если ссылающийся объект один или два, тогда можно ссылки заменить вручную, а если таких объектов 100, 1000? Вот в этом случае нам понадобится обработка ПоискИЗаменаЗначений. Данная обработка заменит удаляемый объект другой ссылкой, тем самым удалит связанность объектов, что позволит, в свою очередь, удалить помеченный на удаление объект.

Еще один из распространенных примеров – когда по ошибке в системе заводится дубль контрагента (номенклатуры, чего угодно), по которому уже успели ввести документы. Обработка ПоискИЗаменаЗначений в этом случае также поможет. Однако для решения второго примера больше подойдет обработка «Поиск и удаление дублей», которая также поставляется на диске ИТС и в составе БСП в одноименной подсистеме «Поиск и удаление дублей».

Рассмотрим работу с обработкой.

GUI обработки выглядит так:

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

Давайте по шагам разберем, как пользоваться обработкой:

  • Добавляем в верхнюю табличную часть строку кнопкой «Добавить» (добавлять можно несколько строк);


  • Жмем кнопку «Найти ссылки». Все найденные объекты, которые ссылаются на элемент из колонки «Что заменять», будут выведены в нижнюю табличную часть;



  • Мы может выбрать все или выбрать вручную определенные строки (воспользовавшись поиском описанным пунктом выше);

  • После чего жмем «Выполнить замену значений».



Стоить упомянуть также о дополнительных настройках:

Выполнять в транзакции – включив данную опцию, процесс удаления будет происходить в одной общей транзакции. Наличие общей транзакции означает, что если в процессе удаления произойдет какая-либо ошибка, вся транзакция откатится, и изменения в базе не будут зафиксированы. Для примера можно рассмотреть ситуацию, когда мы обрабатываем 1000 элементов: если при обработке 999 элемента произойдет ошибка, все сделанные до этого изменения в базе данных отменятся. Эта опция позволяет нам поддерживать консистентность базы данных.

Отключить контроль записи – данная опция отвечает за факт включения флага:

ОбменДанными – это свойство объекта (справочника, документа, регистров, планов видов характеристик и т.п.). Данный флаг, как правило, означает минимальный контроль при записи, что достигается не платформой, а прикладными разработчиками. При разработке различных подписок или при перехвате различных событий объекта (например, при записи) прикладные разработчики пишут такой код:

Т.е. если есть данный флаг, выходим из процедуры. За счет этого достигается минимальный контроль при записи объектов.

Пояснять процесс подробно – включение данной опции будет выводить лог обработки объектов через метод

ОбщегоНазначенияКлиентСервер.СообщитьПользователю().

Данную обработку можно найти на диске ИТС по пути:

\1CITS\EXE\ExtReps\Unireps82\SearchAndChange\

В заключении напомним, что важно не забывать делать backup перед применением обработки.