1с при переносе объекта по ссылке не создавать новый объект а только переносить ссылку
К сожалению, у Вас недостаточно прав для дальнейшего просмотра.
Если Вы приобрели курс, но еще не активировали токен — пожалуйста, активируйте доступ по инструкциям, высланным на Ваш email после покупки.
Если Вы не залогинены на сайте — залогиньтесь, вернитесь на эту страницу и обновите ее.
Если Вы залогинены, у Вас активирован токен доступа, но Вы все равно видите эту запись — напишите нам на e-mail поддержки.
Комментарии / обсуждение (42):
Подскажите , когда мы используем параметры в правилах ПОД для обмена на основе БСП, то установку параметров можно выполнить только в коде обработчиков правил, или можно выполнить это где-нибудь в модулях подсистемы обмена данными?
…
(текст комментария доступен только участникам Мастер-группы)
Здравствуйте. Вопрос по ПКО вкладка Настройки.
Не включена опция “При переносе объекта по ссылке не создавать новый объект, а только создавать ссылку”
и включена опция “Не замещать существующие объекты в приемнике при загрузке, а только создавать новые и заполнять их”. В этом случае будет ли изменен объект при переносе по ссылке, если он изменен в базе-источнике?
…
(текст комментария доступен только участникам Мастер-группы)
Здравствуйте. Файл ConvData-Session-07-BoundaryBox-QA02.avi весит 2 кб, битый что-ли… Хотелось бы посмотреть его.
Доброго дня, Виталий!
Вес файл должен быть 5,69 МБ.
Попробуйте скачать файл повторно.
Какой браузер Вы используете? Другие файлы у Вас скачались без проблем?
Браузер Mozilla Firefox. Сейчас нормально скачал файл.
…
(текст комментария доступен только участникам Мастер-группы)
Здравствуйте! Не пойму где в справке Конвертации найти информацию о том как подключать внешние обработки, алгоритмы, запросы.
…
(текст комментария доступен только участникам Мастер-группы)
1С:Справка скоро станет нарицательным :)
…
(текст комментария доступен только участникам Мастер-группы)
Вы имеете в виду открыть конфигурацию конвертации, внешние обработки, типовые правила обмена
ну если не изучить то хотя бы ознакомиться изнутри и тогда справка окажется
не так нужна как это кажется на первый взгляд?
…
(текст комментария доступен только участникам Мастер-группы)
Всё хорошо, прекрасная маркиза.
Дела идут, и жизнь легка.
Ни одного печального сюрприза
За исключеньем пустяка.
…
(текст комментария доступен только участникам Мастер-группы)
Проясните, пожалуйста, ситуацию с параметрами конфигурации.
Ситуация первая. Создадим параметр, укажем, что он и в диалоге будет, и при загрузке, и передается в приемник. Вручную проставим значение в обработке выгрузки.
Далее, например в ПКО, после загрузки мы можем работать с этим значением.
Ситуация вторая. Все тоже самое, но параметр установим программно через Параметр.ИмяПараметра, интерактивно ничего вводить не будем.
В конечную базу он приедет пустым. Получается программно их не установить?
Ситуация третья. Если мы не хотим, чтоб параметр отображался (сняли флаги или вообще создали программно параметр), то передать его в приемник не выйдет вообще? Соответственно, придется писать какой-то свой код (в обработчиках конфигурации или ПКО), который будет создавать доп. узел, атрибут или еще что-то подобное, что на стороне приемника уже обрабатывать.
Или же есть более простой вариант?
Второй вопрос связан отчасти с заданием к этому уроку. Из теории я понял, что полноценно работать с обработкой можно только из обычного приложения и с обычной формой.
Пробовал следующую схему:
1. Создал дополнительную обработку, где в модуле разместил 2 экспортные процедуры. Обработку добавил в конвертацию.
2. Первая процедура вызывается из обработчика “после загрузки правил обмена” так: Процедура1(ЭтотОбъект). В самой процедуре этот параметр (по факту ОбработкаОбъект унив. обмена) присваивается в реквизит обработки.
3. Далее в этом же обработчике конвертации создается описание оповещения:
ОписаниеОповещения = Новый ОписаниеОповещения(“ЗавершениеДиалогаНастроек”, ДопОбработки.БиблиотекаПроцедур_ДляКонвертации)
Где “ЗавершениеДиалогаНастроек” – это имя второй процедуры в доп. обработке.
А “ДопОбработки.БиблиотекаПроцедур_ДляКонвертации” сама эта обработка.
4. Далее открываем форму.
ОткрытьФорму(“ВнешняяОбработка.ВнешняяОбработка_Задание10_1.Форма.Форма”, , , , , , ОписаниеОповещения);
5. Получается следующая картина: если установить значение реквизита как описано в пункте 2, то прочитав повторно его значение до открытия формы, я получаю тоже количество параметров, что и в обработке обмена.
6. Но если в процедуре “ЗавершениеДиалогаНастроек” доп. обработки я обращусь к реквизиту (т.е. уже после открытия формы), который устанавливал в пункте 2, то там количество параметров будет 0. Как будто создался новый объект обработки универсального обмена.
Сама идея заключалась в том, чтобы в дополнительной обработке заполнять параметры обработки обмена (реквизит). Для этого нужен сам объект, который я запоминал в реквизите доп. обработки.
Но в процедуре, которая отрабатывает после закрытия окна, я как будто обращаюсь не к сохраненному объекту, а к новому.
Надеюсь что-то возможно понять из моей писанины.
Возможно ли что-то подобное реализовать? Или единственный вариант – это обычные формы, обычное приложение.
Как мы уже знаем, правила конвертации объектов используются для сопоставления объектов в конфигурациях источнике и приемнике. Естественно, что в правиле задается объект источник данных (то есть откуда брать данные) и объект - приемник данных (то есть куда переносить или записывать данные).
Кроме них имеется еще ряд свойств смысл которых постараемся раскрыть.
Искать объект приемника по внутреннему идентификатору объекта источника - флаг определяющий поиск объектов в приемнике для версии платформы V8. Если этот флажок взведен, то поиск объекта для модификации в базе приемнике осуществляется по внутреннему (уникальному) идентификатору объекта. Этот идентификатор не виден пользователю а средствами программы поддерживается уникальность идентификаторов в информационной базе, так что никакие два объекта информационной базы не имеют одинаковых идентификаторов.
Продолжить поиск по полям поиска, если по идентификатору объект приемник не найден - флаг определяет продолжать поиск объекта в информационной базе приемнике, если поиск по уникальному идентификатору не привел к положительному результату.
Не замещать существующие объекты в приемнике при загрузке, а только создавать новые и заполнять их * - флаг определяет нужно ли выполнять изменение реквизитов объекта в информационной базе приемнике, если объект был успешно найден по уникальному идентификатору или по полям поиска.
Не создавать новый объект в приемнике, если он НЕ найден * - флаг определяет нужно ли создавать новый объект в информационной базе - приемнике, если он не был найден по уникальному идентификатору или по полям поиска.
При переносе объекта по ссылке НЕ создавать новый объект, а только переносить ссылку - флаг определяет нужно ли создавать новый объект в информационной базе - приемнике, если он не был найден по уникальному идентификатору или по полям поиска в том случае если объект переносится по ссылке. Если объект не находится и у него установлен поиск по уникальносу идентификатору то будет перенесена только ссылка на объект (без полей поиска - одна ссылка). Если же объект выгружается непосредственно (то есть выгружается не только ссылка на объект, но и все его реквизиты), то флаг ни на что не влияет.
Не выгружать объекты свойств источника по ссылкам - флаг определяет нужно ли выгружать все объекты на которые есть ссылки у объекта источника или достаточно выгрузить только информацию о ссылках на эти объекты. Допустим вы выгружаете справочник номенклатура. Если у соответствующего ПКО не взведен этот флажок, то кроме номенклатуры будут выгружены все объекты на которые она ссылается. Если же флаг взведен, то объекты на которые ссылается номенклатура выгружены не будут. Попробуйте поставить этот флажок и посмотреть результирующий файл выгрузки данных, а затем убрать его и сравнить результаты. Вам быстро станет понятен его смысл.
Не запоминать выгруженные объекты - флаг определяет нужно ли системе при выгрузке КЭШировать последние выгруженные объекты. КЭШирование позволяет ускорить процесс выгрузки и загрузки данных.
Использовать быстрый поиск объекта при выгрузке и загрузке - флаг определяет использовать ли быстрый поиск объектов для выгрузки. Имеет смысл применять для небольших по количеству записей справочников (Количество записей не более 1000 элементов). Эффект достигается в том случае, если у многих объектов установлен флаг Не выгружать объекты свойств по ссылкам. При такой схеме выгрузки и загрузке данных скорость возрастает в несколько раз.
Автоматически генерировать номер или код, если он не задан - флаг определяет нужно ли системе автоматически генерировать новый код или номер объекта, если перед записью он не заполнен.
On-line обмен
Выгружать объект (полностью), только при наличии на него ссылки - настройка определяет при каких обстоятельствах необходимо выгружать объект. В том случае, если флажок установлен, то выгрузка объекта будет выполнена по следующим правилам:
- По правилам выгрузки если объект уже выгружался, то выгружаем его как есть
- По правилам выгрузки если объект не выгружался, то не выгружаем
- При выгрузке по ссылке на объект выгружаем целиком
Например, если нужно переносить не всю номенклатуру из одной ИБ в другую, а только ту, на которую есть ссылки, то флажок подойдет.
Не замещать объект созданный в информационной базе приемнике при загрузке - настройка определяет нужно ли (обратно) переносить объект, который был создан в информационной базе, с которой организован обмен. То есть, если документ создан в информационной базе 1, при помощи обмена поступил в информационную базу 2, то стоит ли его при изменении в базе 2 переносить в базу 1. Настройка позволяет указать приоритет объекта при обмене по месту его создания. То есть изменения в информационной базе, где был создан объект распространяются везде, а изменения в других базах не влияют на этот объект в базе 1.
Приоритет объекта загрузки - настройка определяет приоритет объекта при загрузке в случае коллизии изменений. Значение по умолчанию и в случае незаполненного значения - Выше. Если произошла коллизия, программа анализирует приоритет объекта загрузки. Только в том случае, если приоритет объекта загрузки равен Выше он будет записан в информационную базу приемника. В случае если приоритет Совпадает или Ниже программа зафиксирует соответствующую информацию о коллизии в информационной базе, но объект менять при этом не будет.
Варианты настроек полей поиска - таблица с возможными вариантами настроек полей поиска для пользователя. Разработчик правил определяет возможные комбинации полей поиска, которые пользователь может выбирать при настройке обмена. Все настройки указанные разработчиком правил должны быть отработаны в коде обработчика "Поля поиска". Переменная НастройкаПоиска в обработчике определяет выбранный пользователем вариант сопоставления (ИмяНастройкиДляАлгоритма из соответствующей строки таблицы). Если пользователь не выбрал ни один вариант сопоставления, или ему ни один вариант не был предложен, то НастройкаПоиска - пустая строка.
На закладке "Дополнительно" можно редактировать наименование правила, вхождение его в определенную группу а так же описание правила.
Примечания:
* Не рекомендуется для использования при настройке on-line обмена
С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).
Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.
Доработка позволяет организовать двухсторонний обмен данными в режиме реального времени между любыми конфигурациями (типовые, самописные, обычные формы, управляемые формы). Также предлагается вариант в виде расширения конфигурации (.cfe) для конфигураций стоящих на поддержке без возможности изменения. В обмене может участвовать любое количество баз. Правила обмена подготавливаются с использованием конфигурации "Конвертация данных".
К слову, в БСП 2.3 уже реализован универсальный обмен данными через Веб-сервис, но для его внедрения необходимо включение в конфигурацию всех сопутствующих подсистем БСП, что не всегда представляется возможным. Особенно, если текущая конфигурация на обычных формах (БСП 2.3 ориентировано на управляемые формы).
В представленных алгоритмах были проработаны следующие вопросы:
1. Запуск синхронизации производится в реальном режиме времени при записи (удалении) объекта (документа, справочника), но только если запись выполняется интерактивно. То есть, при пакетном перепроведении документов при восстановлении последовательности или из обработки "Групповая обработка справочников и документов" синхронизация не требуется (предполагается, что движения документов не переносятся, а формируются при проведении).
4. Для универсальности данные передаются в базу приемник в формате XML, сформированными программно с помощью обработки "Универсальный обмен данными XML" по правилам обмена, подготовленными в конфигурации "Конвертация данных". Соответственно, на стороне приемника производится загрузка этой же обработкой. Как правило, во всех типовых конфигурациях данная обработка присутствует, а для самописных можно загрузить из состава .cf данной публикации.
5. Пакет передаваемых данных должен иметь минимальный объем данных, Чтобы не загружать сетевые службы и Веб-сервер. Для этих целей, предусмотрено:
- за один раз производится выгрузка только одного объекта (с подчиненными объектами, выгруженными по ссылкам, если это справочник);
- при разработке правил обмена для всех документов устанавливается режим "Не выгружать объекты свойств источника по ссылкам". В этом случае исключается избыточность передаваемых данных. Если же в реквизите встречается ссылка на элемент объекта, который не включен в состав регистрируемых объектов плана обмена (то есть данный вид объектов самостоятельно не синхронизируется) и эта ссылка не была найдена в базе приемнике (в терминах обработки это фиктивная ссылка), то формируется список фиктивных ссылок, который возвращается в базу источник и рекурсивно инициируется синхронизация для этих объектов.
6. Как следствие из предыдущего пункта, проведение документа в базе приемнике реализовано отдельным запросом после полной передачи всего пакета вместе с рекурсивной синхронизацией фиктивных ссылок по предыдущему пункту. Так как для документов отключена выгрузка объектов свойств источника по ссылкам, то на момент первичной записи документа в нем могут присутствовать фиктивные ссылки, из за которых нормальное проведение документа в этот момент невозможно.
Реализация
1. Для всех синхронизируемых объектов в форме элемента справочника (форме документа) в обработчике "При открытии" необходимо добавить следующий код:
3. Общий модуль "ЛУ_СинхронизацияКлиентСервер" (Сервер, Клиент Обычное приложение) - обработчики подписок
- Синхронизировать - булево,
- Сервер, База, Пользователь, Пароль - Строка, 100, переменная
- ПравилаКонвертации - ХранилищеЗначения (в форме узла реализована загрузка в этот реквизит правил обмена из файла XML)
(для наглядности из листингов исключены все конструкции связанные с обработкой исключений, вывода ошибок, и вспомогательные методы)
При разработке правил конвертации очень сложно отлаживать правила в боевой схеме, поэтому для сложных конвертаций рекомендую сначало воспользоваться средствами отладки встроенными в обработку "Универсальный обмен данными XML", в этом случае имеется возможность подключить алгоритмы из правил в виде модулей внешней обработки как при выгрузке, так и при загрузке данных. И только после успешной выгрузки - загрузки в интерактивном режиме через промежуточный файл - пробовать синхронизацию через Веб.
Данная схема успешно реализована в реальных действующих системах:
- связка УТ 10.3 и УПП 1.3. (УТ нетиповая, доработана под производство с вводом данных через тач-панели на конвейерной линии)
- связка Самописная конфигурация и БП 3.0 (В самописной конфигурации ведется учет технологических операций на фабрике птицы)
- ОбменДаннымиОнлайнЧерезВебСервис.cf - содержит все описанные объекты для синхронизации (Источник + Приемник). Обычные формы. Клиент-серверный вариант. В файловом варианте тоже все будет работать, кроме регламентного задания. В этом случае необходимо предусмотреть периодический запуск синхронизации с помощью метода ПодключитьОбработчикОжидания(). При сравнении, объединении необходимо отметить по подсистемам файла: подсистема "ЛУ_СинхронизацияЧерезВебСервис".
- ДемоБазы.zip - содержит выгрузки из двух баз (PR1.dt и PR2.dt) для демонстрации готовой настроенной схемы синхронизации. Базы содержат простенькие документы и справочники. Имена метаданных синхронизируемых объектов различаются. Правила конвертации загружены в базу. Необходимо восстановить базы из .dt. Выполнить публикацию на Веб-сервере под именами PR1 и PR2 с установленной галочкой Публиковать Веб-сервисы и LuExchange. В режиме Предприятия в настройках соответствующих узлов планов обмена необходимо прописать имя Веб-сервера на котором была выполнена публикация баз.
- ОбменДаннымиОнлайнЧерезВебСервис.cfe - вариант доработки в виде расширения конфигурации для баз находящихся на поддержке без возможности редактирования. Ввиду ограниченного функционала расширений, не содержит объекты: План обмена и Регламентное задание. То есть синхронизация здесь реализована без квитирования успешности доставки данных, но полностью совместима с протоколом обмена основного .cf
11. Инструкция по внедрению (ОбменДаннымиОнлайнЧерезВебСервис.cf)
Скачиваем файл ОбменДаннымиОнлайнЧерезВебСервис.cf
Публикуем обе базы на Веб-сервере (Как? - это отдельная тема, поиск в помощь)
При публикации отмечаем галочками Публиковать Веб-сервисы и LuExchange.
- Сервер - имя веб-сервера, на котором выполнена публикация баз
- База - имя, под которым выполнена публикация корреспондирующей базы на веб-сервере, как правило совпадает с именем базы на сервере 1С Предприятие
- Логин - имя пользователя, которого необходимо создать в обеих базах с ролью WebСервисLuExchange (подключение веб-сервиса будет происходить под этим пользователем)
- Пароль
- Правила конвертации - сюда необходимо загрузить правила конвертации, созданные в конфигурации "Конвертация данных"
Создание правил конвертации - тоже отдельная большая тема. (Если не в курсе, можно поштудировать инет)
Если Вы владеете этим мощным и универсальным инструментом, то для идентичных корреспондирующих баз, правила конвертации сможете создать полностью автоматически за несколько минут.
Открываем состав плана обмена ЛУ_WebСервис и добавляем все объекты, для которых в правилах конвертации прописали ПВД (Правила выгрузки данных).
- Для ПВД поддерживается только способ выборки: "Стандартная выборка"
- Для всех ПКО справочников и документов рекомендуется устанавливать в ИСТИНА следующие свойства:
- Искать объект приемника по внутреннему идентификатору объекта источника;
- При переносе объкта по ссылке НЕ создавать новый объект, а только переносить ссылку;
- Не выгружать объекты свойств источника по ссылкам;
В этом случае файл данных XML для выгружаемого объекта не будет содержать объекты выгружаемые по ссылкам. Это существенно уменьшит размер передаваемых данных и ускорит процесс синхронизации. Выгрузка этих объектов при необходимости будет инициироваться автоматически.
Если возникнут затруднения в настройке планов обменов
можно скачать вложение "ДемоБазы.zip" и посмотреть как это выполнено в них.Приветствую Вас, уважаемый читатель нашего блога SoftMaker.kz! Если вам была понятна статья о правилах конвертации группы свойств (ПКГС), то вы без труда поймете, то о чем мы будем говорить в этой статье. Давайте сегодня рассмотрим настройки выгрузки и загрузки данных у правила конвертации объекта (ПКО) в конфигурации конвертация данных, редакция 2.1, которые помогут вам в решении определенных задач. На иллюстрации к данной статье вы можете увидеть, где расположены данные флаги. Итак, приступим!
Не выгружать объекты свойств источника по ссылкам
Что значит выгружать по ссылкам? Если у текущего правила конвертации объекта (ПКО) существует правило конвертации свойства (ПКС), которое будет обработано с помощью другого ПКО. Например, есть ПКО Подразделения и одно из его ПКС Должность, то Должность будет обработано другим ПКО — Должности. Такой перенос и называется переносом по ссылкам. Иначе говоря, ПКС Должность ссылается на ПКО Должности, чтобы корректно перенести реквизит Должность из источника в приемник.
Если установить флаг Не выгружать объекты свойств источника по ссылкам, то при обработке ПКО Подразделения не будут переноситься данные свойства Должность.
Не запоминать выгруженные объекты
Если флаг установлен, то отключаются внутренние механизмы кэширования выгруженных объектов и поэтому включать этот флаг без надобности не рекомендуется. Эту настройку нужно обязательно использовать, если правило выгрузки данных (ПВД) текущего объекта производится при помощи произвольного алгоритма (у ПВД установлен соответствующий флаг).
Использовать быстрый поиск объекта при выгрузке и загрузке
Этот флаг влияет на оптимизацию выгрузки данных объекта. Если флаг установлен, то производится быстрый поиск объектов (имеет смысл для справочников с небольшим количеством элементов, не превышающим 1000).
Искать объект приемника по внутреннему идентификатору объекта источника
Эта настройка влияет на поиск объектов в базе приемнике. Если флаг установлен, то поиск объектов в базе приемнике будет осуществляться по по внутренним идентификаторам. В статье о задвоении кодов справочников был хорошо объяснен этот механизм.
Продолжить поиск по полям поиска, если по идентификатору объект приемник не найден
После установки этого флага, поиск осуществляется по полям поиска (обычно это код или наименование), если не найден нужный элемент по внутреннему идентификатору. В той же статье о задвоении кодов справочников был был затронут этот функционал.
Не замещать существующие объекты в приемнике при загрузке, а только создавать новые и заполнять их
При установке этого флага, если система находит в конечной базе объект, который соответствует загружаемому, то этот объект не меняется.
Не создавать новый объект в приемнике, если он НЕ найден
Название этого флага говорит само за себя. Если система не находит объект в базе приемнике, то он не будет создан. А поиск, как мы уже знаем из предыдущих настроек, может быть, как по внутреннему идентификатору, так и по полям поиска.
При переносе объекта по ссылке НЕ создавать новый объект, а только переносить ссылку
Предназначение этого флага в том, чтобы не создавать объект, который уже существует в приемнике. С помощью этого флага производится оптимизация для ускорения процесса загрузки с использованием уже существующих ссылок в конечной базе. И этот флаг имеет смысл только при переносе данных по ссылке, а не с помощью ПВД.
Автоматически генерировать номер или код, если он не задан
Обычно этот флаг используется в тех случаях, когда нужно перенести объект источника, у которого изначально может и не быть кода или номера. Например, такое происходит, когда нужно конвертировать строку в элемент справочника.
Программная установка параметров
Часть параметров можно задавать программно в обработчике ПКО Перед выгрузкой. Эти параметры имеют тип Булево. Например, ЗапоминатьВыгруженные и противоположный ему НеЗапоминатьВыгруженные — эти два параметра соответствуют флагу Не запоминать выгруженные объекты.
НеСоздаватьЕслиНеНайден — соответствует флагу Не создавать новый объект в приемнике, если он НЕ найден.
Таким образом, можно интерактивно настраивать глобальное поведение объекта на закладке Настройки. А частное поведение, в зависимости от некоторых условий, реализовывать программно, в этом случае приоритет будет у программных настроек.
Существуют различные подходы к организации обмена данными между различными информационными базами. Один из таких подходов - организация обмена данными при помощи правил обмена. Для организации обмена данными достаточно разработать правила по которым необходимо переносить данные из одной информационной базы в другую. Когда правила обмена готовы, с их помощью из информационной базы источника можно выгрузить необходимую информацию в файл обмена из которого в свою очередь эти данные можно загрузить в информационную базу приемник.
На схеме видно, что при помощи внешней обработки и правил обмена данными из информационной базы-источника выгружается файл с данными. Этот файл с данными поступает на вход внешней обработке и в информационную базу-приемник загружаются необходимые данные.
- Стадию подготовки правил обмена;
- Стадию обмена данными;
- Выгрузка;
- Преобразование(Конвертация) ;
- Запись в файл данных;
- Чтение данных из файла;
- Запись изменение объектов ИБ;
Правила обмена представляют собой задание определенного соответствия или преобразования(конвертации) между объектами источника и объектами приемника.
На приведенном примере видно, что для правил обмена (или Конвертации) "Два объекта в один" установлено соответствие объектов для справочников "Пользователи" и "ФизическиеЛица". То есть задано, что объекты справочника "Пользователи" из информационной базы источника нужно переносить в объекты справочника "Пользователи" информационной базы приемника.
В правиле задается объект источник данных (то есть откуда брать данные) и объект - приемник данных (то есть куда переносить или записывать данные).
Кроме них имеется еще ряд свойств смысл которых постараемся раскрыть.- Искать объект приемника по внутреннему идентификатору объекта источника - флаг определяющий поиск объектов в приемнике для версии платформы V8. Если этот флажок взведен, то поиск объекта для модификации в базе приемнике осуществляется по внутреннему (уникальному) идентификатору объекта. Этот идентификатор не виден пользователю а средствами программы поддерживается уникальность идентификаторов в информационной базе, так что никакие два объекта информационной базы не имеют одинаковых идентификаторов.
- Продолжить поиск по полям поиска, если по идентификатору объект приемник не найден - флаг определяет продолжать поиск объекта в информационной базе приемнике, если поиск по уникальному идентификатору не привел к положительному результату.
- Не замещать существующие объекты в приемнике при загрузке, а только создавать новые и заполнять их - флаг определяет нужно ли выполнять изменение реквизитов объекта в информационной базе приемнике, если объект был успешно найден по уникальному идентификатору или по полям поиска.
- Не создавать новый объект в приемнике, если он НЕ найден - флаг определяет нужно ли создавать новый объект в информационной базе - приемнике , если он не был найден по уникальному идентификатору или по полям поиска.
- При переносе объекта по ссылке НЕ создавать новый объект, а только переносить ссылку - флаг определяет нужно ли создавать новый объект в информационной базе - приемнике , если он не был найден по уникальному идентификатору или по полям поиска в том случае если объект переносится по ссылке. Если объект не находится и у него установлен поиск по уникальному идентификатору то будет перенесена только ссылка на объект (без полей поиска - одна ссылка). Если же объект выгружается непосредственно (то есть выгружается не только ссылка на объект, но и все его реквизиты), то флаг ни на что не влияет.
- Не выгружать объекты свойств источника по ссылкам - флаг определяет нужно ли выгружать все объекты на которые есть ссылки у объекта источника или достаточно выгрузить только информацию о ссылках на эти объекты. Допустим вы выгружаете справочник номенклатура. Если у соответствующего ПКО не взведен этот флажок, то кроме номенклатуры будут выгружены все объекты на которые она ссылается. Если же флаг взведен, то объекты на которые ссылается номенклатура выгружены не будут. Попробуйте поставить этот флажок и посмотреть результирующий файл выгрузки данных, а затем убрать его и сравнить результаты. Вам быстро станет понятен его смысл.
- Не запоминать выгруженные объекты - флаг определяет нужно ли системе при выгрузке КЭШировать последние выгруженные объекты. КЭШирование позволяет ускорить процесс выгрузки и загрузки данных.
- Использовать быстрый поиск объекта при выгрузке и загрузке - флаг определяет использовать ли быстрый поиск объектов для выгрузки. Имеет смысл применять для небольших по количеству записей справочников (Количество записей не более 1000 элементов). Эффект достигается в том случае, если у многих объектов установлен флаг Не выгружать объекты свойств по ссылкам. При такой схеме выгрузки и загрузке данных скорость возрастает в несколько раз.
- Автоматически генерировать номер или код, если он не задан - флаг определяет нужно ли системе автоматически генерировать новый код или номер объекта, если перед записью он не заполнен.
Когда соответствие между объектами установлено, можно определить каким образом необходимо переносить реквизиты этих объектов. То есть, нам нужно задать, что реквизиту "Наименование" одного справочника соответствует реквизит "Наименование" другого.
На приведенном примере видно, что для ПКО "Пользователи" установлено 3 соответствия между свойствами (или реквизитами) объектов. Указано, что реквизит "Наименование" справочника "Пользователи" информационной базы источника должен преобразовываться в реквизит "Наименование" справочника "Пользователи" информационной базы приемника.
Когда соответствие между свойствами объектов задано, программе нужно указать критерии сопоставления объектов (то есть нужно указать, как по объекту источнику искать объект в приемнике) в двух информационных базах. Для такого сопоставления используется флажок "Поиск" у соответствующего ПКС. Если флажок взведен, то поиск соответствующего объекта будет выполняться по этому свойству. В приведенном примере, видно, что поиск объекта в информационной базе приемнике будет выполняться по реквизиту "Наименование". Если поиск установлен по нескольким реквизитам, то поиск будет осуществляться по ним всем одновременно (то есть условия накладываются по "И". В этом случае, правило сопоставления звучит следующим образом: Искать в информационной базе - приемнике объект у которого все реквизиты поиска совпадают с реквизитами поиска объекта источника).В правиле конвертации задаются реквизит из объекта источника и объекта приемника.
- Поиск объекта при загрузке по данному свойству - флаг определяющий нужно ли по данному свойству производить поиск объектов в информационной базе приемнике. Если сразу у нескольких реквизитов установлено свойство поиска данных, то условия поиска объединяются по "И". В этом случае правило поиска звучит следующим образом: Найти объект у которых все реквизиты поиска совпадают с источником. (ВНИМАНИЕ. Поиск по уникальному идентификатору, который может быть установлен у правила конвертации объектов более приоритетный, то есть если он установлен то поиск будет выполнен по этому идентификатору).
- Отключить обработку данного правила - флаг, позволяет отключить обработку данного свойства, не удаляя его из правил конвертации объектов.
- Не замещать значение данного свойства у существующих объектов ИБ - флаг, позволяет отключить обработку данного для объектов информационной базы приемника, которые были найдены по уникальному идентификатору или по полям поиска.
- Автоматически приводить значение к длине приемника - флаг, позволяет включить автоматическое приведение Номера или Кода справочника соответствующему значению в приемнике по длине. При этом префиксы сохраняются, а числовые части преобразуются под длину поля в приемнике.
Кроме того, имеется возможность задать соответствие между предопределенными элементами справочников, планов видов характеристик и значений перечислений. Такое сопоставление будем называть "Правила конвертации значений" ПКЗ.
На приведенном примере видно, что для ПКО "ВидыАгентскихДоговоров" установлено соответствие между значениями перечисления. То есть значение перечисления "Аренда" в информационной базе источнике должна преобразовываться в значение перечисления "Аренда" в информационной базе приемнике.Читайте также: