Как исключить банковские выписки из одностороннего обмена данными между 1С:Управление торговлей 11.2 и 1С:Бухгалтерией предприятия 3.0?

Программист 1С v8.3 (Управляемые формы) 1С:Управление торговлей Бухгалтерский учет Торговля и дистрибуция
← На главную

Мы рассмотрим актуальную и часто встречающуюся задачу: необходимость исключить определенные виды документов, такие как банковские выписки (Поступление на расчетный счет и Списание с расчетного счета), из стандартного одностороннего обмена данными между конфигурациями 1С:Управление торговлей 11.2 (УТ 11.2) и 1С:Бухгалтерия предприятия 3.0 (БП 3.0). Эта задача требует внимательного подхода к настройке правил обмена, особенно учитывая переход на универсальный формат обмена EnterpriseData.

Перед нами стоит цель обеспечить, чтобы банковские выписки, созданные или измененные в УТ, не выгружались в БП, поскольку их ведение может быть централизовано непосредственно в бухгалтерской программе. Давайте проанализируем различные подходы к решению этой проблемы, начиная от самых распространенных и заканчивая более сложными программными методами.

Метод 1: Редактирование правил регистрации объектов через "1С:Конвертация данных 2.0" (КД 2)

Этот способ является одним из наиболее надежных и часто рекомендуемых, так как позволяет на постоянной основе исключить регистрацию нежелательных документов к выгрузке, не снимая при этом конфигурацию с поддержки. Мы будем работать с правилами регистрации объектов, которые до сих пор редактируются через Конвертацию данных 2.0, даже если основные правила конвертации используют КД 3.0 и универсальный формат.

  1. Выгрузка типовых правил регистрации объектов. Начнем с того, что нам необходимо получить актуальные правила регистрации из конфигурации 1С:Управление торговлей. Перейдем в раздел Администрирование -> Синхронизация данных. Убедимся, что флажок Синхронизация данных включен. Далее найдем и откроем настройки синхронизации данных с нашей базой 1С:Бухгалтерия предприятия. В форме настройки синхронизации данных нам потребуется кнопка Выгрузить правила регистрации объектов. Сохраним полученный файл правил на диск. Этот файл содержит информацию о том, какие объекты и при каких условиях должны быть зарегистрированы для обмена.

  2. Загрузка правил в "1С:Конвертацию данных 2.0". Теперь запустим конфигурацию 1С:Конвертация данных 2.0 (или откроем ее как внешнюю обработку в любой другой базе). В этой конфигурации нам нужно будет загрузить файл, который мы только что сохранили. Найдем пункт меню для загрузки правил регистрации (обычно это связано с планами обмена или настройками правил обмена) и укажем путь к нашему файлу.

  3. Поиск и настройка документов. После загрузки правил мы увидим список всех объектов, участвующих в регистрации. Нам необходимо найти два конкретных документа: Поступление на расчетный счет и Списание с расчетного счета. Для каждого из этих документов откроем форму настройки правила регистрации.

  4. Добавление обработчика "Перед обработкой". В форме настройки правила регистрации обратим внимание на вкладку Обработчики событий. Здесь мы найдем событие Перед обработкой. Это событие вызывается непосредственно перед тем, как система пытается зарегистрировать документ для выгрузки. Именно здесь мы и внесем наши изменения. В поле для кода добавим простую строку:

    
    Отказ = Истина;
    

    Эта строка кода буквально означает: "отменить регистрацию данного документа". Когда система дойдет до этого обработчика и увидит Отказ = Истина;, она просто пропустит регистрацию текущего документа, и он не попадет в список для выгрузки. Повторим эту операцию для обоих документов: Поступление на расчетный счет и Списание с расчетного счета.

  5. Сохранение и загрузка измененных правил обратно в УТ. После внесения изменений в обработчики, сохраним модифицированные правила регистрации обратно в файл через 1С:Конвертацию данных 2.0. Затем вернемся в конфигурацию 1С:Управление торговлей и, аналогично выгрузке, найдем кнопку Загрузить правила регистрации объектов в настройках синхронизации данных. Укажем путь к нашему измененному файлу. Система загрузит новые правила, и с этого момента банковские выписки больше не будут регистрироваться для обмена.

  6. Очистка уже зарегистрированных документов. Важно помнить, что документы, которые были зарегистрированы до изменения правил, все еще могут находиться в списке ожидающих выгрузки. Чтобы избежать их случайной выгрузки и не замедлять обмен, рекомендуется вручную отменить их регистрацию. Это можно сделать в форме регистрации изменений для обмена, выбрав нужный вид документов и воспользовавшись функцией "Отменить регистрацию изменений всех объектов выбранных типов". Это особенно актуально для непроведенных документов, которые могут оставаться зарегистрированными на узле и замедлять обмен.

Метод 2: Настройка состава объектов для синхронизации в пользовательском режиме

Этот метод подходит для более общих случаев (в том числе когда необходим выборочный перенос документов из УТ), когда требуется исключить целый вид документов или справочников из обмена на уровне пользовательских настроек, без прямого вмешательства в код правил. Мы можем указать, какие именно виды объектов будут участвовать в обмене.

  1. Перейдем в Администрирование -> Синхронизация данных и убедимся, что синхронизация данных включена.

  2. Далее выберем нужную настройку синхронизации данных (для БП 3.0) и перейдем по ссылке Настроить синхронизацию данных.

  3. В открывшейся форме настроек обычно есть возможность выбрать состав синхронизируемых данных. Здесь мы можем снять флажки с тех видов документов, которые не хотим выгружать. Однако следует учесть, что этот метод может быть не всегда достаточно гранулярным, чтобы исключить только банковские выписки, оставляя при этом другие финансовые документы, например, из кассы. Если данный способ позволяет исключить именно "Поступление на расчетный счет" и "Списание с расчетного счета" как отдельные виды документов, то он будет эффективен. В противном случае, более детальные настройки потребуются в Методе 1.

Метод 3: Отмена регистрации объектов вручную

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

  1. В конфигурации-источнике (УТ 11.2) перейдем в раздел Администрирование -> Синхронизация данных -> Настройки синхронизации данных.

  2. Откроем нашу настройку синхронизации и найдем там пункт для просмотра зарегистрированных изменений (часто это кнопка "Изменения для обмена" или аналогичная). Для этого может потребоваться нажать кнопку "Еще" или перейти в соответствующий раздел, где отображаются зарегистрированные к выгрузке объекты.

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

Метод 4: Отключение подписок на события регистрации (программно)

Для более опытных программистов существует возможность отключить регистрацию объектов на уровне подписок на события. Этот метод требует некоторого понимания архитектуры обмена и работы с конфигуратором.

В типовых конфигурациях за регистрацию изменений для универсального формата обмена EnterpriseData отвечают специфические подписки на события. В частности, это могут быть подписки с именами, содержащими СинхронизацияДанныхЧерезУниверсальныйФорматРегистрацияДокумента и СинхронизацияДанныхЧерезУниверсальныйФорматРегистрацияУдаления.

Мы можем отключить эти подписки для конкретных документов, изменив свойство Источник в конфигураторе. Для этого необходимо открыть конфигурацию в режиме "Конфигуратор", перейти в раздел Общие -> Подписки на события. Для каждой подписки, отвечающей за регистрацию документов, в списке Источник мы можем снять флажок с документов Поступление на расчетный счет и Списание с расчетного счета. После этого система просто перестанет регистрировать эти объекты для отправки.

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

Метод 5: Редактирование модуля "МенеджерОбменаЧерезУниверсальныйФормат" через "1С:Конвертация данных 3.0" (КД 3)

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

Обмен в универсальном формате использует правила, которые хранятся непосредственно в общем модуле МенеджерОбменаЧерезУниверсальныйФормат. Эти правила определяют, как данные конвертируются между источником и приемником.

Для их доработки используется 1С:Конвертация данных 3.0. Процесс включает в себя выгрузку модуля менеджера из КД 3.0, его модификацию (например, изменение Правил обработки данных (ПОД), Правил конвертации объектов (ПКО) или Правил конвертации предопределенных данных (ПКПД) для определения состава выгружаемых данных), а затем подключение этого измененного модуля как внешней обработки или через расширение. Работа с КД 3.0 сложнее, чем с КД 2.0, и требует более глубоких знаний структуры формата EnterpriseData.

Однако, как было сказано ранее, для исключения регистрации документов к выгрузке обычно достаточно изменить только правила регистрации (Метод 1), так как это касается именно момента регистрации объекта для последующей выгрузки, а не логики его конвертации или состава данных в универсальном формате.

Общие рекомендации и важные нюансы

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

  1. Даты запрета выгрузки/загрузки: Перед любой синхронизацией всегда рекомендуем проверять и устанавливать даты запрета выгрузки/загрузки данных. Это критически важно для предотвращения отправки или получения данных за закрытые периоды, что может привести к искажению учета и необходимости ручной корректировки данных.

  2. Идентификация объектов: При загрузке данных система производит идентификацию объектов, используя определенные ключевые поля. Если эти поля будут изменены в базе-приемнике (например, в БП) или в базе-источнике (УТ), есть риск, что объект может быть загружен повторно, создавая дубли. Убедитесь в стабильности ключевых полей и уникальности идентификаторов объектов.

  3. Очистка регистрации: Помимо запрета регистрации, регулярно проверяйте и очищайте уже зарегистрированные к выгрузке непроведенные документы, которые могут накапливаться. Накопленные зарегистрированные, но не проведенные документы могут значительно замедлять процесс обмена данными и приводить к избыточной нагрузке на систему (см. решение проблемы: Обмен переполнен документами? Исправляем).

  4. Использование расширений: Если вы прибегаете к программным методам (Метод 4 или Метод 5) или вносите любые изменения в конфигурацию, всегда старайтесь реализовывать их через расширения конфигурации. Это позволит сохранить типовую конфигурацию на поддержке, упростит ее обновление в будущем и минимизирует риски, связанные с изменением базового функционала.

  5. Тщательное тестирование: После внесения любых изменений в правила обмена, даже самых незначительных, крайне важно провести комплексное и тщательное тестирование. Убедитесь, что обмен работает корректно, что исключенные документы действительно не выгружаются, и что при этом не возникло никаких непредвиденных побочных эффектов с другими данными или документами. Проверьте логи обмена, статусы регистрации и фактическое наличие/отсутствие данных в целевой базе.

← На главную