Синхронизация с внешней базой данных - специальная обработка, которая создает в базе 1С элементы связанных классификаторов и связанные проформы, соответствующие записям таблиц источников.
Обработка доступна только для лицензии версии Бизнес.
Отличие от полного импорта для данной процедуры заключается в том, что в 1С загружаются только коды и названия аналитик для классификаторов и номера для документов. Все остальные реквизиты система будет динамически подгружать при просмотре элементов классификаторов или проформ, а также при формировании проводок.
Подробнее о механизме импорта из SQL, о связанных проформах и классификаторах можно узнать из статьи про источники импорта.
Описание объекта
Открыть окно обработки Синхронизация с внешней базой данных можно следующим образом:
Меню: Финансы >> Обмен данными >> Синхронизация с внешней базой данных.
Или:
Меню: Моделирование >> Финансы >> Импорт >> Синхронизация с внешней базой данных.
Форма обработки Синхронизация с внешней базой данных
• | Дата начала и Дата окончания - поля относятся только к синхронизации проформ. О том, как работает процедура синхронизации для связанных документов (и каким образом учитывается период обработки), читайте в разделе Принцип синхронизации проформ данной статьи. |
• | Включать зависимые - флажок заставляет обработку перед выполнением проанализировать, все ли галочки на видах объектов включены, и, если нет, то включает их. Например, связанный классификатор Клиенты содержит поле Банк, тип которого указан как внешний классификатор Банки. Если попытаться импортировать Клиентов, но забыть включить галочку для классификатора Банки, то может возникнуть ситуация, когда ссылка на банк будет в системе, но его самого не будет. Т.е. название банка не сможет быть отображено. Именно подобная ситуация и предотвращается данным флагом. При импорте всех объектов включение этого флага не имеет смысла. |
• | Выводить отчет - включает вывод отчета на экран после окончания процедуры синхронизации. Сам отчет отображает количество созданных, измённых и удаленных элементов. |
• | Обновлять формулы - включает пересчёт формул при импорте для проформ, в реквизитах которых настроены формулы. Сами формулы будут пересчитаны при первом проведении связанной проформы. Такой подход реализован для оптимизации скорости создания и проведения проформ и устранения двойного получения реквизитов проформы с сервера (при пересчете формул и проведении). |
• | "Быстрое" добавление - устанавливает все флажки для объектов без возможности их снятия. |
o | Дерево объектов - дерево видов синхронизируемых объектов автоматически заполняется при открытии списком всех связанных классификаторов и проформ. |
• | Объекты - отображаются связанные (синхронизируемые) объекты. |
Для каждого из видов объектов могут быть включены опции:
• | – создание элементов по добавленным в SQL записям. |
• | – обновление элементов по измененным в SQL записям (например, обновление названий и кодов элементов связанных классификаторов, номеров связанных проформ). |
• | – удаление элементов по удаленным в SQL записям. |
Также для проформ может быть включена опция Проведения документов (чтобы проформы проводились сразу при создании).
□ | Выполнить - запускает обработку на выполнение. |
Если установлена опция проведения проформ, то во избежание блокировок настоятельно рекомендуется выполнять обработку, когда в системе работает только один пользователь (который ее и запускает).
Создаваемые в процессе синхронизации элементы сразу наследуют от родительских объектов пользовательские права доступа к ним. Например, если для пользователя установлено право на чтение для связанного классификатора, то при создании в процессе синхронизации новых элементов этого классификатора таким элементам сразу будет присвоено право на чтение для упомянутого пользователя.
Принцип синхронизации проформ
Процедура работает следующим образом:
• | Создается выборка по записям базы SQL, удовлетворяющая следующему условию |
Дата изменения документа (при обработке записей SQL базы) берется из поля SQL, указанного при настройке проформы на вкладке Параметры связи в Поле даты изменения, дата документа - из поля SQL, указанного там же в Поле даты документа.
• | По такому же условию создается выборка в базе 1С. |
• | Если каких-либо элементов из выборки SQL нет в выборке 1С, то такие документы создаются в базе 1С (когда включена опция Создавать элементы) и, если установлено Проводить документы, сразу проводятся. |
• | Если каких-либо элементов из выборки 1С нет в выборке SQL, то такие документы удаляются из базы 1С, причем удаляются и движения, созданные ими (если включена опция Удалять элементы). |
• | Для элементов, которые в обоих выборках совпадают, проверяется следующее условие. |
Проформы, попадающие под это условие, обновляются (если включена опция Обновлять элементы) и перепроводятся (если включена опция Проводить документы).
Проформы, которые не удовлетворяют описанному условию, не проводятся и не обновляются, даже если установлены опции Проводить документы и Обновлять элементы. То есть не перепроводятся и не обновляются проформы, которые не изменялись со времени последней синхронизации, даже если их дата создания или изменения входит в период обработки. Таким образом обеспечивается быстродействие обработки.
Отчет про выполнение обработки
Запуск в виде макроса
Как большинство обработок обработка синхронизации с внешней базой может быть вызвана в виде макроса. При этом можно настроить нужные опции и сохранить макрос, запуская его при необходимости планировщиком через ярлык. Таким образом, можно настроить автоматическую синхронизацию раз в определенный промежуток времени (альтернатива авто-синхронизации при помощи регламентных заданий).
Настройка макроса по запуску обработки Синхронизация с внешней базой данных
См. также: