Top.Mail.Ru
Заказать консультацию
специалиста 1С
Отправить заявку

ИнфоСофт использует файлы «cookie» с целью персонализации сервисов и повышения удобства пользования веб-сайтом. Вы можете запретить обработку сookies в настройках браузера. Пожалуйста, ознакомьтесь с политикой использования cookies.
Оставаясь на сайте, вы соглашаетесь с политикой использования cookies.

Кейс: Синхронизация данных между двумя базами

Черепанов Александр Посмотреть все статьи >> Специалист по внедрению 1С партнерской сети "ИнфоСофт".
25.02.2025
742
Время прочтения - 10 мин.
Заказать консультацию

Как пользователь 1С, вы, наверно, сталкивались с проблемой синхронизации данных между разными базами. Перенос документов вручную занимает много времени и чреват ошибками. Но что, если мы скажем вам, что этот процесс можно полностью автоматизировать?

Мы, как эксперты в области автоматизации 1С, знаем, как настроить обмен данными так, чтобы ваши документы корректно переносились и трансформировались между системами. Вам больше не придется тратить часы на рутину — просто доверьте эту задачу профессионалам.

Хотите узнать, как мы можем облегчить вашу работу и повысить эффективность учета?

Статья будет полезна тем, кто сталкивается с задачей синхронизации данных между двумя базами и хочет автоматизировать процесс обмена. В ней будет описан пример настройки синхронизации данных между двумя базами 1С:Бухгалтерия предприятия 3.0 с конвертацией одного документа в другой. Из этой статьи вы узнаете, как настроить конвертацию данных для корректного переноса и трансформации документов. Это повысит эффективность учета и снизит нагрузку на персонал.


Постановка задачи

У клиента возникла потребность в организации синхронизации данных между двумя базами 1С:Бухгалтерия предприятия 3.0, используемыми в разных подразделениях компании. Задача заключается в том, чтобы документ «Отчет комитенту», который формируется в базе-источнике, автоматически передавался в базу-приемник и преобразовывался в документ «Отчет комиссионера».

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

 

Используемый инструмент

Конвертация данных, редакция 3.1 (3.1.5.28)


Сокращения:

ПКО – Правило конвертации объекта

ПКС – Правило конвертации свойства

ПОД – Правило обработки данных

 

Подготовка к доработке конвертации

1. Так как обмен документами «Отчет комитенту» и «Отчет комиссионера» не предусмотрен типовым обменом, то нужно добавить в состав плана обмена «СинхронизацияДанныхЧерезУниверсальныйФормат» документы «Отчет комитенту» и «Отчет комиссионера».

2. В Конфигурации базы-источника делаем копию Общего модуля «МенеджерОбменаЧерезУниверсальныйФормат13» и меняем у копии название на «МенеджерОбменаЧерезУниверсальныйФормат». Это нужно сделать, т.к. КД3 при загрузке в нее структуры базы ищет общий модуль именно с таким названием, а в БП3.0 название модуля немного отличается.

Следующие пункты (3-7) есть также в «Помощнике быстрого освоения» в КД3 (Конвертации – Помощник быстрого освоения). Кратко рассмотрим их.

3. Выгружаем данные из конфигурации Источника (Выбрать меню Конфигурация - Выгрузить конфигурацию в файлы).

4. Также из XDTO-Пакеты выгружаем xml-схему EnterpriseData нужной версии (нужную версию можно узнать в самом модуле МенеджерОбменаЧерезУниверсальныйФормат13 - Рис.1).

1.jpg

Рис. 1


5. Выгружаем из XDTO-Пакетыxml-схему ExchangeMessage.

6. Загружаем структуру формата обмена в конфигурацию КД3. (Формат данных- Загрузка структуры формата). Необходимо указать сразу оба файла (ExchangeMessageи EnterpriseData_1_XX_XX), используя множественный выбор. Нажать кнопку «Выполнить загрузку».

7. Создание правил конвертации с помощью загрузки из модуля менеджера (меню Конвертации, пункт Загрузка конвертации XDTO). Выбрать конвертацию для загрузки -> Указать вариант "новая конвертация". Выбрать источник загрузки -> Каталог файлов XML, указать каталог, в который была выгружена конфигурация, и нажать «Загрузить правила конвертации».

 

Доработка конвертации

1. Создание ПКО

Открываем загруженную конвертацию (Конвертации – Настройка правил конвертации - Формат XDTO).Переходим на закладку «Правила конвертации объектов», находим в левом столбце группу «Документы_Покупка_и_продажа_Комиссионная_торговля» и для нее в правом столбце создаем новое правило конвертации объекта (далее ПКО) для отправки. Выбираем область применения «Для отправки» и выбираем в качестве объекта конфигурации документ «ОтчетКомитентуОПродажах», а в качестве объекта формата указываем документ «ОтчетКомиссионера» и заполняем название для идентификатора правила (Рис.2). 

Логика здесь такая: мы указываем, что данные документа «Отчет комитенту» при отправке будут собираться в формат документа «Отчет комиссионера» и при загрузке в базе-приемнике будет отрабатывать типовой механизм загрузки для документа «Отчет комиссионера».

2.png

Рис. 2


2. Создание ПКС сопоставлением

Переходим на закладку «Правила конвертации свойств». Здесь мы будем непосредственно указывать, что и откуда будет заполняться у документа «Отчет комиссионера». (Рис.3)

3.png

Рис. 3


По кнопке «Настройка ПКС» перейдем в помощник, в котором можно автоматически сопоставить совпадающие реквизиты у документа источника и документа приемника (такие как Номер, Дата, Комментарий и т.д.) (Рис.4)

4.png

Рис. 4


В данном случае удалось автоматически сопоставить почти все реквизиты «шапки» документов. (Рис.5)

5.png

Рис. 5


Табличные части (на каждую табличную часть создается группа) у документов отличаются, поэтому сопоставляем вручную. (Рис.6)

6.png

Рис. 6


3. Создание ПКС вручную

Например, в документе «Отчет комитенту» нет табличной части «Покупатели», там есть «Поставщики». Создаем группу «Покупатели» и создаем в ней необходимые Правила конвертации свойств для свойства формата, которые должны заполниться в документе-приемнике (Рис.7).

7.png

Рис. 7


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

Структура табличной части «Товары» тоже отличается в документах, поэтому для нее создаем свою группу «Товары» и создаем необходимые ПКС.(Рис.8)

8.png

Рис. 8

Подпишитесь на дайджест!
Подпишитесь на дайджест, и получайте ежемесячно подборку полезных статей.

4. Выгрузка данных в AdditionalInfo

Для каждого объекта конвертации существует служебный реквизит «AdditionalInfo», в него можно убрать какие-нибудь данные, которые отсутствуют в формате конвертации (а значит не могут быть перенесены через формат) и считать при загрузке данных в базе-приемнике. «AdditionalInfo» не может принимать тип Структура или Дерево, но может быть, например, Таблицей значений. 

В нашем случае у документа-источника и документа-приемника есть табличная часть «Денежные средства», которая отсутствует в объекте формата «ОтчетКомиссионера» в версии «EnterpriseData_16_2». Если мы создадим правило конвертации для этой табличной части, то эти данные «отсекутся» на этапе отправки как не прошедшие проверку по формату. Поэтому перенесем эти данные через «AdditionalInfo». Создаем группу «AdditionInfo», которая будет в нашем случае Таблицей значений и в которую мы уберем все данные, которых нет в формате, чтобы на этапе Приемки считать их и заполнить нужные реквизиты в базе-приемнике. (Рис.9)

9.png

Рис. 9


5. Заполнение источников для ПКС своими данными

Обратите внимание, что для созданных свойств не указан «Тип свойства конфигурации», т.е. источник данных. Его мы укажем на закладке «Обработчики событий». На закладке «Обработчики событий» в обработчике «При отправке» мы можем написать произвольный код для заполнения Правил конвертации свойств. В данном случае создадим запрос, с помощью которого получим необходимые данные (Рис.10)

10.png

Рис. 10


Установим параметры запроса. (Рис.11)

11.png

Рис. 11


Заполним ПКС полученными данными. (Рис.12)

12.png

Рис. 12


6. Создание ПОД 

На закладке «Правила обработки данных» добавляем новое правило для отправки нужного типа документа.

13.png

Рис. 13


Выберем в поле «Объект выборки» вид отправляемого документа. Укажем «Область применения» - для отправки. В поле «Правило конвертации объекта» укажем ранее созданное ПКО для документа. Идентификатор правила заполним автоматически по кнопке «Заполнить». (Рис.13)

На закладке «Обработчики событий» выбираем слева закладку «Выборка данных» и пишем там код, по которому будут выбираться документы для отправки, простой вариант с отбором только по периоду приведен на Рис.14.

14.png

Рис. 14


На этом этап отправки данных заканчивается. Из формы Настройки правил обмена можно сохранить новый код модуля в буфер обмена и заменить им код в конфигурациях источника и приемника в общем модуле «МенеджерОбменаЧерезУниверсальныйФормат13». (Рис. 15)

15.jpg

Рис. 15

 

7. Загрузка данных из AdditionalInfo

Теперь в базе приемнике при получении документа «Отчет Комиссионера» нужно считать данные из «AdditionalInfo». Для этого в Общем модуле «МенеджерОбменаЧерезУниверсальныйФормат13» (после того, как заменили его на код из конвертации) находим процедуру «ПКО_Документ_ОтчетКомиссионераОПродажах_Получение_ПриКонвертацииДанныхXDTO». В ней получим данные из «AdditionalInfo» и заполним данные в документе. (Рис. 16)

16.png

Рис. 16

 

8. Завершение

Теперь можно настраивать синхронизацию между базами (Администрирование – Синхронизация данных – Настройки синхронизации данных – Создать – Другая программа). Созданная синхронизация будет переносить документ «Отчет комитенту» в базу приемник как документ «Отчет комиссионера».

 

Итог выполнения задачи

Настройка синхронизации между двумя базами 1С:Бухгалтерия предприятия 3.0 была успешно завершена Теперь документ «Отчет комитенту», сформированный в базе-источнике, автоматически передается в базу-приемник как документ «Отчет комиссионера». Процесс синхронизации полностью автоматизирован, что позволяет обеспечить точность и своевременность передачи данных.

Польза для клиента:

  1. Снижение трудозатрат и ошибок: Автоматизация обмена данными между базами исключила необходимость вручную переносить отчетность, что существенно снизило риск ошибок и сэкономило время сотрудников.
  2. Повышение эффективности учета: Благодаря корректной и своевременной передаче данных в базу-приемник улучшилось качество учета и контроля над отчетами.
  3. Снижение нагрузки на персонал: Автоматизация этого процесса позволила сотрудникам освободиться от рутинной работы и сосредоточиться на более важных задачах.

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


Заказать консультацию специалиста 1С
Оставьте заявку и наши эксперты проконсультируют вас по данной статье.
Отправить заявку
Рассказать друзьям
Для разработчиков 1С
Вам может быть интересно: