Как изменить email у контрагентов через групповое изменение реквизитов в 1С

Индивидуальную консультацию запросил Подписчик Бухэксперт

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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