что такое правила обмена
Что такое правила обмена
Мы знаем что такое правила обмена и зачем они нужны. Познакомимся более подробно с дополнительным функционалом работы с правилами обмена. Откроем настройки правил обмена данными (конвертации):
В правилах обмена задаются конфигурации источника и приемника для данных, кроме того:
Можно указать имя файла по умолчанию для сохранения правил обмена, модулей выгрузки и загрузки данных для 7.7, наименование правил обмена.
Допустим, офис принимает заказы исключительно на товары, поэтому желательно установить запрет на выгрузку услуг. Если для элемента справочника Номенклатура реквизит Услуга установлен Истина, то он гарантированно не должен выгружаться. Контроль выгрузки услуг лучше всего сразу сделать опциональным, чтобы не менять правила, в случае, если удаленный офис станет принимать заказы и на услуги.
Параметры – это специализированная структура данных в алгоритмах выгрузки, с помощью которой можно обращаться к переменным обработки. Настройка структуры параметров для правил конвертации осуществляется в конфигурации «Конвертация данных», а установка значений параметров возможна в форме обработки выгрузки и загрузки данных.
Для редактирования параметров откроем форму элемента справочника Конвертации для редактируемых правил обмена и перейдем на закладку параметры. Создадим новый элемент справочника Параметры. Присвоим имя параметра – ВыгружатьУслуги. Имя параметра служит для обращения к нему в структуре Параметры при написании программного кода в обработчиках. Наименование будет отображаться в табличной части Параметров в форме обработки универсального обмена данными. Для того, чтобы параметр был виден в диалоге при настройке выгрузки нужно установить флажок «Устанавливать в диалоге» и выбрать тип значения параметра. Для работы с параметрами в диалоге необходимо также установить флажок «Выгружать параметры в формате версии 2.01» в форме элемента справочника Конвертации.
Недостаточно просто указать параметры, надо чтобы алгоритм выполнения выгрузки «понимал», в каком случаем выгружать элемент, а в каком нет. Для подобных (и многих других) случаев используется механизм обработчиков. Суть его заключается в том, что в ключевых точках выполнения всех базовых алгоритмов выгрузки и загрузки данных обрабатывается код, написанный разработчиком при создании правил обмена. Естественно, что использование такого тонкого инструмента требует осторожности и продуманности. Мы рекомендуем перед написанием собственных обработчиков внимательно ознакомится со справкой к конфигурации «Конвертация данных 2.0», где описаны все доступные в обработчиках переменные и способы их использования, а также перечислены виды обработчиков и особенности их вызова в алгоритмах обмена данными.
Для нашей цели необходимо использовать обработчик правила выгрузки «Перед выгрузкой». Откроем правило выгрузки данных Номенклатура и поместим в поле «Перед выгрузкой» на закладке «События» следующий программный код:
Что же делает наш обработчик? При написании программного кода мы использовали переменные алгоритмов выгрузки данных. Структура Параметры служит для обращения к параметру ВыгружатьУслуги, который задается в форме обработки обмена данными. Переменная объект предоставляет доступ к выгружаемому объекту. А переменная Отказ позволяет контролировать отказ от выгрузки текущего объекта. Обработчик исполняется непосредственно перед началом выгрузки объекта, что и дает возможность отменить выгрузку объекта.
Наша задача решена, осталось только сохранить правила обмена в файле. После этого откроем универсальную обработку выгрузки и загрузки данных и посмотрим как изменилась ее логика работы:
Есть возможность передавать параметры из одной конфигурации в другую. Достаточно для этого на закладке «Параметры» установить флажок «Передавать параметр при выгрузке» и этот параметр будет помещен в файл обмена и к его значению можно будет обратиться при загрузке данных. Можно для параметра указать правило конвертации, согласно которому должны будут конвертироваться значения. При помощи флажка «Передавать параметр при выгрузке» можно передавать только те параметры, которые редактируются в диалоге при выгрузке данных. Если же нужно передать параметр, которые в этом диалоге не присутствует, то нужно вызвать процедуру:
На закладке Параметры выгрузки появился параметр, изменяя значения которого услуги либо выгружаются, либо не выгружаются.
На закладках Версии и Обновления можно посмотреть информацию о выгруженных и загруженных версиях правил обмена.
С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).
Подписывайтесь и получайте новые статьи и обработки на почту (не чаще 1 раза в неделю). |
Вступайте в мою группу ВКонтакте, Одноклассниках, Facebook или Google+ — самые последние обработки, исправления ошибок в 1С, всё выкладываю там в первую очередь.
Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.
Нажмите одну из кнопок, чтобы поделиться:
Организация конвертации данных и обмена данными с помощью конфигурации «Конвертация данных 2.0»
В этом методическом руководстве описаны принципы организации конвертации данных и обмена данными между типовыми конфигурациями на платформах «1С:Предприятие 8» и «1С:Предприятие 7.7» при помощи конфигурации «Конвертация данных 2.0». При написании данного материала мы решили пойти по пути демонстрации общей концепции конфигурации «Конвертация данных 2.0» и приемов работы посредством разбора типичных ситуаций, возникающих в практике конвертации данных между типовыми конфигурациями. Как показывает опыт, такой способ изложения наиболее эффективен, поскольку позволяет специалисту быстро приобрести навыки использования средств конфигурации в своей повседневной деятельности.
Для работы с методическим руководством вам понадобится конфигурация «Конвертация данных 2.0» версии 2.09.1, внешние обработки MD80Exp.epf и V8Exchan.epf, поставляемые с релизом конфигурации «Конвертация данных 2.0». Для реализации механизма обмена данными, описанного в руководстве, необходима конфигурация «Управление торговлей 10.2» версии 10.2.5 или выше.
Общие принципы конвертации данных
Конфигурация «Конвертация данных 2.0» является мощным средством для организации конвертации данных между конфигурациями любой структуры и сложности, функционирующими как на платформе «1С:Предприятие 7.7», так и на платформе «1С:Предприятие 8». Рассмотрим общую схему конвертации данных между конфигурациями, созданными на платформе «1С:Предприятие 8».
Ключевые задачи при подготовке правил обмена – настройка соответствий между объектами метаданных конфигураций источника и приемника и настройка соответствий между свойствами объектов (реквизитами объектов и табличных частей). Процесс подготовки файла обмена заканчивается генерацией XML-файла правил и условно разделяется на следующие этапы:
Содержание этих технологических этапов будет развернуто при разборе примера в следующих параграфах руководства. Поэтому для лучшего понимания рекомендуем в процессе изучения примера по созданию правил обмена обращаться к технологическим схемам.
Для первого знакомства с концепцией системы «Конвертация данных 2.0» рассмотрим решение задачи, с которой сталкивалось подавляющее большинство специалистов, работающих с типовыми конфигурациями: перенос данных справочника из одной информационной базы в другую.
Предположим, что для организации нового рабочего места на торговом предприятии необходимо из текущей базы данных предприятия в новую базу данных перенести информацию о товарах. Такая ситуация может возникнуть при создании отдельной информационной базы филиала компании, удаленной торговой точки, склада и пр.
Готовим описание метаданных
Для подготовки правил обмена необходимо получить информацию о структуре конфигураций источника и приемника данных. Для этих целей используется внешняя обработка MD80Exp.epf для конфигураций на платформе «1С:Предприятие 8» и MD77Exp.ert для конфигураций на платформе «1С:Предприятие 7.7». Напомним, что эти обработки входят в комплект дистрибутива конфигурации «Конвертация данных 2.0».
Формирование описания структуры метаданных займет некоторое время. После завершения обработки мы получили XML-файл, содержащий описание метаданных конфигурации «Управление торговлей 10.2» в формате конфигурации «Конвертация данных 2.0».
Теперь нам необходимо загрузить полученное описание метаданных в информационную базу конфигурации «Конвертация данных 2.0» для подготовки правил обмена. Для этого запустим конфигурацию «Конвертация данных 2.0» и откроем обработку Загрузка описания метаданных с помощью кнопки Загрузка описания структуры конфигурации на панели интерфейса. В поле Имя файла выберем файл описания метаданных, который мы только что подготовили. И нажмем Выполнить загрузку для запуска обработки.
В верхней части формы в виде дерева представлена структура метаданных. В табличной части на закладке Свойства показаны реквизиты, табличные части объектов метаданных. Для документов дополнительно показана структура записей регистров, движения по которым делает соответствующий документ.
Так как в рамках нашей задачи конфигурация-источник и конфигурация-приемник идентичны, подготовительный этап создания правил обмена закончен. В случае, когда нужно организовать обмен между конфигурациями разной структуры, весь процесс нужно повторить для второй конфигурации.
Создаем правила конвертации
Теперь, когда мы загрузили структуру метаданных конфигураций, используемых в обмене, можно начинать подготовку правил обмена. Обратите внимание, что на этом этапе работа будет проводиться исключительно в конфигурации «Конвертация данных 2.0», без обращения к конфигурациям
– участникам обмена. Это позволяет эффективно организовать работу даже в том случае, когда конфигурации источник и приемник для вас недоступны, а имеются только их описания в виде XML-файлов.
Обратите внимание, что для одной и той же пары конфигураций мы можем создавать и редактировать несколько правил обмена данными, предназначенных для разных целей.
Очевидно, для корректной перегрузки справочника Номенклатура нам нужно создать правило конвертации для этого справочника и правила конвертации свойств для каждого реквизита.
Теперь перейдем к формированию правил конвертации свойств. Воспользуемся обработкой автонастройки свойств (пункт Синхронизация свойств объектов подменю Обработки ). Так же как и для объектов, автонастройка проанализирует реквизиты источника и приемника и предложит нам вариант установления соответствий.
Оставим все флажки установленными. По нажатию кнопки Записать для всех выбранных соответствий реквизитов будут созданы правила конвертации.
Настраиваем правила конвертации свойств
Итак, всю «черную» работу за нас выполнили обработки автосинхронизации. Теперь рассмотрим более детально результат и внесем необходимые коррективы.
Если же в колонке Поиск не будет установленных флажков, то для справочника Номенклатура элемент при каждой загрузке будет создаваться заново. Это может иметь очень неприятные последствия, если вы по ошибке запустите загрузку вторично. Новые элементы будут дублироваться даже в случае, когда у справочника включена уникальность кодов и есть элементы с такими же кодами.
Воспользуемся еще раз обработкой автосинхронизации объектов. С ее помощью мы сможем создать сразу все нужные нам правила конвертации объектов.
В результате у нас появятся уже семь правил конвертации. Обратите внимание, что правило СтавкиНДС создано автоматически в процесс группового создания свойств. Эта обработка не только создает правила конвертации свойств, но и контролирует наличие правил конвертации для объектов ссылочного типа, поэтому при обработке реквизита СтавкаНДС было создано правило конвертации СтавкиНДС.
Теперь для каждого правила мы видим текущий и предлагаемый способ синхронизации. Нажмем кнопку Записать для установки синхронизации. В результате для всех выбранных правил будет установлены новые реквизиты синхронизации.
Перегружаем данные
Для выгрузки данных недостаточно установить соответствия объектов и реквизитов источника и приемника. Нужно еще указать, какие именно объекты и как выгружать. Для этого необходимо создать правила выгрузки данных.
На этом работа по редактированию правил завершена. Поскольку наша задача
Теперь можно перейти к генерации файла правил обмена.
С помощью кнопки Выгрузить данные запустим обработку выгрузки. Обратите внимание, что выгрузка данных может занять значительное время.
Дальнейшая доработка правил обмена
Параметры – это специализированная структура данных в алгоритмах выгрузки, с помощью которой можно обращаться к переменным обработки. Настройка структуры параметров для правил конвертации осуществляется в конфигурации «Конвертация данных», а установка значений параметров возможна в форме обработки V8Exchan.epf. Обратите внимание, что механизм установки параметров в форме реализован в обработках V8Exchan.epf, начиная с версии 2.01.
Недостаточно просто указать параметры, нужно, чтобы алгоритм выполнения выгрузки «понимал», в каком случае выгружать элемент, а в каком
– нет. Для подобных (и многих других) случаев используется механизм обработчиков. Суть его заключается в том, что в ключевых точках выполнения всех базовых алгоритмов выгрузки и загрузки данных обрабатывается код, написанный разработчиком при создании правил обмена. Естественно, что использование такого тонкого инструмента требует осторожности и продуманности. Мы рекомендуем перед написанием собственных обработчиков внимательно ознакомиться со справкой к конфигурации «Конвертация данных 2.0», где описаны все доступные в обработчиках переменные и способы их использования, а также перечислены виды обработчиков и особенности их вызова в алгоритмах обмена данными.
Если Параметры.ВыгружатьУслуги = ЛОЖЬ И Объект.Услуга = ИСТИНА Тогда
Отказ = ИСТИНА;
КонецЕсли;
Наша задача решена, осталось только сохранить правила обмена в файле.
Обмен данными в 1С
Большая часть автоматизированных систем управления имеет в своем составе отдельные базы данных и, нередко, структуру с территориальным распределением. Для качественного использования этих автоматизированных систем необходимо грамотно наладить обмен данными.
При первичной настройке обмена данными в программе 1С обычно нужно выполнить немало специфических мероприятий, как в области программирования, так и в сфере консалтинга. Причем даже в том случае, если речь идет об однотипных источниках информации, например, продуктами на базе 1С: Предприятие.
Узнаем о том, как синхронизировать или, проще говоря, настроить обмен данными в утилите 1С 8.3.
Цели обмена баз данных в 1С
Наладив обмен данными в программе 1С, можно добиться следующих целей:
Поясним, что необходимость в разграничении разных видов учета возникает, когда информация одного варианта учета имеет значительные отличия от данных иного учета. Разграничение позволит добиться конфиденциальности сведений и «разбить» информационные потоки. Для примера: обмен данными между программами 1С – Бухгалтерия и Управление Торговлей не должен сопровождаться передачей управленческих данных в базу регламентного учета. Иными словами, синхронизация должна быть лишь частичной.
Особенности обмена данных в 1С
Типичная процедура первичного обмена данными в 1С (при условии, что 1С является хотя бы одним из объектов), состоит из таких этапов:
Рассмотрим каждый этап подробнее.
Как выявить состав обмена?
Объекты обмена – это приемник и источник. Вместе с тем источник может быть одновременно приемником, и наоборот – в таком случае речь будет идти о двухстороннем обмене. Определить приемника и источника можно, учитывая функционал системы или необходимость. Предположи, при синхронизации созданной на платформе 1С: Предприятие системы управления казначейством и ведения финансового учета «WA: Финансист» специалисты советуют применять ее же как мастер-систему. Это связано с тем, что в программе есть функционал для контроля над соблюдением правил заявочной политики. А значит, работа программы окажется наиболее эффективной.
Определившись и зафиксировав требования пользователей, можно приступать к формированию перечня данных для обмена:
Здесь же, учитывая структуру и уже имеющиеся системы организации, нужно выбрать оптимальный формат обмена:
Новый проект компании-разработчика 1С, позволяющий проводить синхронизацию данных в формате xml между решениями, выполненными на базе 1С: Предприятие, со всеми вариантами систем автоматизации. Выбрав данный формат, можно облегчить доработки, необходимые для проведения обмена данными. Прежде для интегрирования в систему новой конфигурации нужно было экспортировать и импортировать сведения – как в нее, так и в имеющиеся системы. Сейчас же системы, работающие с EnterpriseData, имеют лишь одну область «входа/выхода», и не требуют доработок.
Механизм, дающий возможность настройки обмена данными между базами 1С, сторонними сервисами и решениями на основе 1С: Предприятие. Синхронизация выполняется путем перевода сведений в универсальный формат xml согласно «Плану Обмена».
Обмен осуществляется между схожими конфигурациями информационных баз 1С с ясной структурой управления «главный и подчиненный» для каждой пары обмена. Распределенная информационная база выступает в качестве составляющей технологической платформы, а также отправляет от главного к подчиненному административные сведения баз данных и изменения в конфигурации.
Определение протоколов обмена (транспорт)
Синхронизируем справочники
Наличие общей точки ввода – ключевой принцип для качественной синхронизации справочников. Однако если мы говорим об использовании справочников, которые всегда оформлялись по различным правилам, следует четко выделить поля синхронизации для того, чтобы обмен мог проводиться по «общему знаменателю».
На этой стадии может возникнуть необходимость в нормализации НСИ со стороны источника данных. Зачастую требуются усилия большого количества специалистов – со стороны заказчика и со стороны собственника методики нормализации НСИ (интегратора) для оформления не хватающих полей и назначения полей синхронизации, обнаружения дублей и ошибок, распознавания, сопоставления элементов. Все зависит от состояния и величины справочников.
Определение правил
От того, насколько грамотно определены правила обмена зависит качество отображения информации от источников в системах-приемниках. Правила, оформленные в xml формате, контролируют соответствие главных реквизитов объектов приемника.
Программа 1С: Конвертация данных позволяет автоматизировать разработку правил для постоянного и разового обмена данными. Кроме того, при обмене «План Обмена» она гарантирует отсутствие утраты сведений. Это составляющая всех конфигураций, выполненных на основе 1С: Предприятие, целиком определяющая схему обмена 1С:
Все изменения сведений, имеющихся в «Плане Обмена», будут отражаться и получать признак «измененности». Признак «измененности» не будет сброшен до того момента, пока скорректированные сведения не станут в узлах приемника-передатчика соответствовать друг другу, и пока система не станет направлять в оба узла контрольные уведомления. Признак «измененности» сбросится, когда данные будут выгружены и обе системы подтвердят их полное соответствие друг другу.
График обмена в 1С
Частота выгрузки информации устанавливается при необходимости наладить регулярный автоматизированный обмен. Периодичность выгрузки определяется с учетом технических возможностей и необходимости. Кроме того, решения на основе 1С: Предприятие дают возможность настройки обмена сведения при наступлении определенных событий.
Есть несколько факторов, которые на различных этапах реализации процесса обмена данными потребуют доработок:
Мы советуем обратиться за помощью к специалистам по 1С: так как даже стандартные мероприятия по выполнению первичного обмена сведениями требуют профессионального подхода. Непосредственную настройку обмена в конфигурации можно осуществлять, пройдя все указанные выше этапы.
Узнаем, как интегрировать базы данных, взяв для примера утилиты 1С: Розница и Управление Производственным Предприятием (аналогичным образом можно будет выполнить настройку обмена с 1С: Управление Торговлей). Кроме того, к стандартному обмену данными относится синхронизация между УПП и УПП, которая выполняется на крупных промышленных предприятиях в случае с масштабными систем автоматизации.
Особенности настройки со стороны 1С: Управление Производственным Предприятием
Кликаем на строку «Обмен данными c продуктами…», расположенную в разделе «СЕРВИС» (выбор прямого обмена с РОЗНИЦЕЙ может обернуться ошибками COM-объектов). Появится шаблонное уведомление о том, что «Данная возможность недоступна».
Для устранения сообщения кликайте на «Настройку обмена данными»
Поставьте флажок. Теперь на уведомление можно не обращать внимания.
Кликаем на «Создать обмен с «Розница» в настройках синхронизации информации
Откроется вкладка с предложением синхронизации.
Прежде, чем определять параметры подключения через сетевой или локальный каталог, нужно удостовериться, что под каталог достаточно пространства на диске. К слову, чаще всего каталог весит до 50 Мб. Крайне редко ему необходимо до 600 Мб. Оформить нужный каталог можно непосредственно из конфигуратора.
Если подключение осуществляется через сетевой каталог, на предложения программы выполнить настройку подключения по э-мейл и с помощью адреса FTP можно не обращать внимание. Кликаем на кнопку «ДАЛЕЕ».
Вручную в настройках указываем условные обозначения баз – префиксы (чаще всего РО, УПП, БП), определяем изначальную дату выгрузки сведений и правила. Префикс станет значиться в наименовании документации – для обозначения баз данных, в которых созданы правила. Если вы откажитесь от редактирования правил выгрузки данных, то данные автоматически начнут выгружаться по текущим параметрам программы.
Сводные данные по результатам выполненных мероприятий.
Формируем файл для настройки синхронизации для «РОЗНИЦА» (в дальнейшем это позволит отказаться от повтора действий). Если выполнить отправку данных необходимо сразу после настройки обмена, в соответствующей строке ставим флажок.
Чтобы автоматизировать процедуру синхронизации, нужно провести настройку графика.
Особенности настройки со стороны «РОЗНИЦЫ»
Ставим флажок и кликаем на «Синхронизация».
Выбираем «Управление производственным предприятием» для выполнения «обратной» настройки.
Выгружаем оформленный в УПП файл с настройками.
Ставим флажок. Система автоматически подхватит адрес.
Выполняем те же действия, что ранее осуществили в УПП.
Определяем правила для выгрузки данных.
Появляется сводная информация по результатам осуществленных мероприятий.
Двойным кликом мышкой открываем окно сопоставления данных. Выполняем проверочное сопоставление сведений. Вручную сопоставлять информацию советуем на этапе подготовки к обмену данными. Так как эти действия чаще всего являются наиболее сложными и масштабными при выполнении первичной синхронизации.
Если при синхронизации данных возникнет ошибка, фраза «Никогда…» заменит строку «Подробно…»
Строка «Подробно..» открывает журнал регистрации с детализированными данными по синхронизации.
Процедура синхронизации данных в 1С успешно подошла к концу.
Напоследок отметим, что даже стандартная процедура настройки обмена данными требует определенных теоретических знаний и практических умений. Если вы не уверены в том, что можете провести синхронизацию собственными силами, обращайтесь за помощью к профессионалам Первого Бита.