При работе в связке конфигураций «1С:Управление торговлей» (ред. 11) и «1С:Бухгалтерия предприятия» (ред. 3.0) часто возникает необходимость перенести документы (реализации, поступления, счета-фактуры, заявки и т.д.) за строго определенный временной интервал. Обычное создание резервной копии базы здесь не поможет, так как оно просто дублирует всю базу целиком, а не переносит документы из одной программы в другую.
В этой статье мы подробно рассмотрим, как правильно настроить обмен данными между базами, разберемся с понятием префиксов информационных баз, научимся ограничивать выгрузку документов жесткими рамками периода и рассмотрим альтернативные варианты решения этой задачи.
---
При первой настройке синхронизации пользователи часто сталкиваются с требованием программы указать «Префикс». Пытаться обойти или отключить это требование в стандартной синхронизации бессмысленно — программа не позволит продолжить настройку. Выясним причину, почему это поле является обязательным.
Префикс информационной базы — это уникальный буквенный или цифровой код (обычно состоящий из двух символов), который автоматически добавляется к номерам всех создаваемых документов и кодам справочников. Например, если для базы УТ установлен префикс УТ, то созданный документ «Реализация товаров и услуг» получит номер вида УТ00-000001 вместо обычного 00000001.
Это критически важно для предотвращения конфликтов при обмене данными:
000001, при синхронизации один документ сотрет или перезапишет другой.Давайте настроим префиксы в обеих информационных базах перед началом интеграции.
В программе «1С:Управление торговлей 11» выполним следующие действия:
УТ).В программе «1С:Бухгалтерия предприятия 3.0» выполним аналогичные шаги:
БП.---
Теперь перейдем к созданию новой настройки обмена в базе «1С:Управление торговлей». В разделе НСИ и администрирование -> Синхронизация данных нажмем на ссылку Настройки синхронизации данных и выберем команду Новая синхронизация данных, указав в качестве программы-приемника Бухгалтерия предприятия, редакция 3.0.
Проанализируем доступные варианты подключения:
Выберите наиболее подходящий для вашей инфраструктуры способ и следуйте указаниям помощника настройки, заполнив пути к базам и параметры авторизации (имя пользователя и пароль с правами администратора).
---
Типовой сценарий синхронизации рассчитан на постоянный регулярный обмен всеми новыми и измененными документами. По умолчанию в правилах отправки данных мы можем настроить только дату начала обмена (в нашем случае укажем 01.04.2019). Однако поля для ввода даты окончания периода в стандартном мастере настройки нет.
Если запустить синхронизацию сразу, система попытается перегрузить все документы с апреля 2019 года по сегодняшний день. Чтобы ограничить выгрузку строго рамками периода (с 01.04.2019 по 31.05.2019), воспользуемся механизмом управления регистрацией изменений.
Рассмотрим по шагам, как очистить лишнюю регистрацию документов:
31.05.2019, нажать правую кнопку мыши и выбрать команду Отменить регистрацию (или удалить их из списка регистрации кнопкой со значком «Красный крест»).После этой процедуры к отправке останутся подготовленными только те объекты, которые фактически были созданы или изменены в требуемом диапазоне (апрель – май 2019 года).
Для продвинутых пользователей или системных администраторов, желающих автоматизировать рутинную очистку лишней регистрации изменений, приведем пример небольшого программного скрипта. Этот код на встроенном языке 1С удаляет регистрацию всех документов по выбранному плану обмена, если их дата выходит за рамки нашего периода:
// Пример программной очистки регистрации документов вне периода
ОграничениеПериодаНачало = Дата("20190401000000");
ОграничениеПериодаКонец = Дата("20190531235959");
ВыборкаУзлов = ПланыОбмена.ОбменУправлениеТорговлейБухгалтерияПредприятия30.Выбрать();
Пока ВыборкаУзлов.Следующий() Цикл
Если ВыборкаУзлов.Ссылка = ПланыОбмена.ОбменУправлениеТорговлейБухгалтерияПредприятия30.ПустаяСсылка() Тогда
Продолжить;
КонецЕсли;
// Получаем зарегистрированные изменения по документам
ВыборкаРегистрации = ПланыОбмена.ВыбратьИзменения(ВыборкаУзлов.Ссылка, 1);
Пока ВыборкаРегистрации.Следующий() Цикл
ОбъектМетаданных = ВыборкаРегистрации.Данные;
// Проверяем, является ли объект документом и проверяем его дату
Если Метаданные.Документы.Содержит(ОбъектМетаданных.Метаданные()) Тогда
Если ОбъектМетаданных.Дата < ОграничениеПериодаНачало Или ОбъектМетаданных.Дата > ОграничениеПериодаКонец Тогда
// Удаляем регистрацию изменения для конкретного узла плана обмена
ПланыОбмена.УдалитьРегистрациюИзменений(ВыборкаУзлов.Ссылка, ОбъектМетаданных);
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЦикла;
---
Чтобы гарантированно обезопасить базу «1С:Бухгалтерия предприятия» от случайного занесения ненужных документов, рекомендуется временно включить механизм даты запрета загрузки.
Сделаем это следующим образом:
01.06.2019 (документы после этой даты загружаться не будут). Таким образом, даже если в файле обмена случайно окажутся документы июня или июля 2019 года, Бухгалтерия их проигнорирует и заблокирует их загрузку.---
При первом сеансе синхронизации программа в обязательном порядке предложит выполнить важную процедуру — Сопоставление данных. Это ключевой этап интеграции, пренебрежение которым приведет к дублированию информации в справочниках.
Программа сопоставляет объекты в базах по внутренним уникальным идентификаторам (GUID). Поскольку ранее базы велись независимо, у одинаковых контрагентов или номенклатурных позиций в УТ и БП эти идентификаторы гарантированно различаются. Программе нужно помочь сопоставить их по понятным полям.
Рекомендуется использовать следующие правила ручной настройки сопоставления:
ИНН и КПП. Это однозначно свяжет юридические лица и исключит появление дубликатов типа «ООО Наша Компания» и «Наша Компания ООО».Артикулу или Коду (при условии, что ведение кодов в базах изначально было синхронизировано), либо по полному текстовому Наименованию.Номеру договора, его Дате и Владельцу (самому контрагенту).Внимательно просмотрите списки автоматического сопоставления, предложенные системой. При обнаружении несоответствий выполните связывание элементов вручную.
---
Если настройка полноценной постоянной синхронизации кажется вам избыточной для разового переноса документов за два месяца, целесообразно воспользоваться классической встроенной обработкой «Универсальный обмен данными в формате XML».
Этот способ требует наличия файла правил конвертации (обычно файл с расширением .xml, разработанный специально для релиза ваших конфигураций УТ 11 и БП 3.0 в программе «1С:Конвертация данных», либо поставляемый в комплекте обновлений программ).
Посмотрим на алгоритм работы с обработкой:
УниверсальныйОбменДаннымиXML (ее можно открыть через меню Функции для технического специалиста или через раздел администрирования дополнительных обработок).01.04.2019 00:00:00 по 31.05.2019 23:59:59.Этот подход гарантирует перенос только строго заданных документов за выбранный период без необходимости глубокой настройки планов обмена и борьбы с регистрацией изменений.