Групповое удаление (замена) Email у контрагентов

Вопрос задал Наталья Д.

Ответственный за ответ: Шаврова Ирина (★9.92/10)

Добрый день! Подскажите, пожалуйста, как убрать адрес электронной почты из карточек нескольких контрагентов? Очень трудоемко заходить в каждую карточку и удалять Email, а «Групповое изменение реквизитов» в отборе Контрагенты не содержит данный реквизит. Заранее благодарю.

Метки вопроса: —

Все комментарии (7)

  1. Приложение № 1
    Приложение № 2

    Здравствуйте!
    Добавить на изменение поле Email в форму группового изменения реквизитов можно.
    Это делается, как показано на скринах: через установку флажка показывать служебные реквизиты.

  2. Приложение № 1
    Приложение № 2
    Приложение № 3
    Приложение № 4
    Приложение № 5
    Приложение № 6
    Приложение № 7

    Но флаг не случайно скрыт. Чтобы изменить Email нужно менять целую связку данных:
    — табличную часть Контактная информация у контрагента
    Историю изменения контактной информации в специальном регистре. А с регистрами обработка группового изменения реквизитов работать не умеет.
    Поэтому, если вы установите флаг и оставите пустое значение в поле Email и выполните действия замены, программа не будет сообщать ни о каких ошибках, но изменения вы не получите в форме.

    Я настраивала и вкладку Контактная информация и История контактной информации — это не дает нужного результата.
    (!) Данные по Email при открытии карточки контрагента подгружаются программно и обрабатываются при изменении там же.
    Специально привожу скрин из Конфигуратора для лучшего понимания, что это не просто поле в котором хранится информация, а поле, где путем определенных действий, заложенных в процедуру открытия карточки контрагента, данные получаются из других источников программы.

    Мой пример по изменению во вложении.
    Как видите после нажатия на кнопку выполнить — ничего не произошло.

  3. Приложение № 1
    Приложение № 2
    Приложение № 3

    Я попробовала применить напрямую программный код в самой обработке Группового изменения реквизитов — это отдельная вкладка «Выполнить произвольный алгоритм».
    Задала программный код, и, если бы это сработало, я вам бы его переслала для вставки.
    Результаты в скринах.

    Обработка имеет ограничения на удаление объектов и запись некоторых пустых данных в специальные реквизиты.
    Поэтому при попытке записи пустой строки в данные Email обработка не дает их записать, хотя и выдает сообщения о том, что изменения выполнены.
    Причина — мы не можем записать пустое значение в специальный реквизит.

    Но если мы поставим не пустую строку, а, например, прочерк — все отлично отработает.

    Код для вставки привожу, вы можете еще сами в копии базы поэкспериментировать, и взять вариант с прочерком либо вручную очищать это поле, либо заказывать полноценную обработку чистки данных Email программисту.

    // Доступные переменные:
    // Объект — обрабатываемый объект
    Для каждого стр из Объект.КонтактнаяИнформация Цикл
    Если стр.Вид = Справочники.ВидыКонтактнойИнформации.EmailКонтрагенты Тогда
    стр.АдресЭП = » — «;
    стр.Значение = » — «;
    стр.Представление = » — «;
    Сообщить(«Адрес Email изменен»);
    КонецЕсли;
    Конеццикла;

  4. Приложение № 1

    Обращаю внимание, что обработка Группового изменения реквизитов работает с данными, которые вы подобрали в отборах.

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

  5. Приложение № 1

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

  6. Ирина, добрый день!
    Спасибо! Вы, как всегда, очень алгоритмично-информативны!
    Я и не предполагала, что поле с эл.адресом контрагента имеет столь глубокие программные корни)))
    Отдельное спасибо за кавычки)))

    1

Комментарии закрыты.