Оглавление:
Отладка обработчиков правил обмена 1С 8.3 (8.2)
При разработке правил обмена 1С 8 широко используется возможность программного переопределения поведения правил обмена — механизм обработчиков. Обработчики событий существенно расширяют функционал конвертации данных и являются незаменимым инструментом настройки правил обмена в тех случаях, когда интерактивных возможностей конфигурации недостаточно.
Обработчики и алгоритмы пишутся на языке той платформы, в которой они будут выполняться при обмене.
Если это платформа «1С: Предприятие 7.7», то код обработчиков интегрируется в код обработки выгрузки или загрузки. Соответственно, каждый обработчик или алгоритм выделяется в отдельную функцию и доступен для отладки при обмене.
Если выгрузка или загрузка происходят на платформе «1С: Предприятие 8», то код обработчиков не интегрируется в код обработки обмена данными, а выгружается в файл правил обмена. В процессе обмена данными код обработчиков или алгоритмов берется из файла правил и выполняется непосредственно в контексте оператора «Выполнить». Для отладки кода обработчиков и алгоритмов можно воспользоваться обработкой «Универсальный обмен данными XML».
Обработка 1С «Универсальный обмен данными XML» позволяет автоматически сформировать текст модуля отладки с кодом обработчиков и подключить этот модуль при выполнении обмена данными посредством внешней обработки. Для получения отладочного модуля с кодом обработчиков не требуется использование конфигурации «Конвертация данных», а также какое-либо изменение существующих правил обмена или файлов данных выгрузки. При этом необходимо отметить, что при отладке выгрузки данных код обработчиков и алгоритмов берется из файла правил и содержит только те обработчики и алгоритмы, которые используются при выгрузке. Соответственно, при отладке загрузки код обработчиков берется из файла данных и содержит только те обработчики и алгоритмы, которые используются при загрузке.
Настройка отладки обработчиков правил обмена
Для выполнения сеанса отладки откройте обработку «Универсальный обмен данными XML» и перейдите на закладку «Выгрузка» или «Загрузка» (в зависимости от варианта обмена). Установите флажок «Режим отладки обработчиков выгрузки (загрузки)» и откройте окно настройки отладки по кнопке «Настройка отладки выгрузки (загрузки)». Настройка отладки обработчиков и алгоритмов правил обмена выполняется за четыре шага:
Получите 267 видеоуроков по 1С бесплатно:
Шаг 1: Выбор режима отладки алгоритмов
В первую очередь выберите режим отладки алгоритмов:
- Без отладки алгоритмов.
- Вызывать алгоритмы как процедуры.
- Подставлять код алгоритмов по месту вызова.
- Удаление данных.
- Подключение и выгрузка данных в ИБ (рис.3).
- Транзакцию при записи объектов (это иногда ускоряет процесс);
- Режим записи новых данных в регистр (либо по одной, либо набором);
Режим «Без отладки алгоритмов» удобно использовать, когда мы точно знаем, что ошибка в обработчике не связана с кодом какого-либо алгоритма. В этом режиме код алгоритмов не выгружается в модуль отладки. Алгоритмы выполняются в контексте оператора «Выполнить», и их код недоступен для отладки.
Режим «Вызывать алгоритмы как процедуры» рекомендуется использовать в тех случаях, когда необходимо проводить отладку кода алгоритмов. Алгоритмы выгружаются как отдельные процедуры, а их вызовы вставляются в код обработчиков или других алгоритмов. Для передачи параметров в алгоритмы используется глобальная переменная «Параметры». Этот способ является рекомендуемым. Однако если разработчик использует какой-либо другой способ передачи параметров (например, используются локальные переменные обработчика), то при попытке запуска выгрузки или загрузки в режиме отладки обработчиков программа выдаст ошибку создания внешней обработки. Для отладки таких алгоритмов существует третий режим.
В режиме «Подставлять код алгоритмов по месту вызова» текст алгоритмов подставляется прямо в текст вызывающих их обработчиков или других алгоритмов с учетом вложенности вызовов. В этом режиме сняты ограничения на использование локальных переменных, однако есть ограничение на отладку рекурсивных алгоритмов. В момент формирования модуля отладки при обнаружении рекурсивных вызовов алгоритмов программа сообщит об ошибке.
Шаг 2: Формирование модуля отладки
Выполните выгрузку обработчиков по кнопке «Сформировать модуль отладки выгрузки (загрузки)». Сформированные обработчики и алгоритмы выводятся в отдельное окно для просмотра, содержимое которого можно скопировать в буфер обмена по кнопке «Копировать в буфер обмена».
Шаг 3: Создание внешней обработки
Запустите конфигуратор и создайте внешнюю обработку. В модуль обработки вставьте текст сгенерированного модуля и сохраните обработку под любым именем.
Шаг 4: Подключение внешней обработки
В заключение укажите имя файла внешней обработки в поле «Имя файла внешней обработки с модулем отладки» и нажмите на кнопку «Готово». При этом программа выполнит проверку по времени создания (обновления) файла обработки. Если обработка имеет более раннюю версию, чем версия файла модуля отладки (обработка не была обновлена данными выгрузки), то будет выведено предупреждение, и форма настройки закрыта не будет.
После выполнения описанной настройки можно запускать выгрузку или загрузку в режиме отладки. При этом в распоряжении разработчика имеется весь функционал Конфигуратора по отладке кода внешней обработки.
Отладка глобального обработчика конвертации «После загрузки правил обмена» не поддерживается.
После завершения исправления выявленных ошибок в модуле отладки необходимо самостоятельно перенести измененный код в соответствующие обработчики и алгоритмы в конфигурации «Конвертация данных».
Пример передачи параметров алгоритму
Как уже отмечалось выше, для передачи параметров алгоритму рекомендуется использовать глобальную переменную «Параметры», которая доступна во всех обработчиках конвертации. Передачу параметров алгоритму рассмотрим на примере выгрузки остатков по заданному складу организации.
В глобальном обработчике конвертации «Перед выгрузкой данных» определяем структуру «ПараметрыАлгоритмов»:
В обработчике «Перед обработкой» правила выгрузки данных определяем параметры для передачи в алгоритм «ВыгрузитьОстаткиПоСкладу»:
В теле алгоритма получаем переданные параметры:
Заключение
В этой статье мы узнали о механизме отладки обработчиков событий и алгоритмов правил обмена. Выяснили, что при возникновении ошибок выгрузки или загрузки данных возможно использование обработки «Универсальный обмен данными XML» в режиме отладки обработчиков. Все необходимые тексты для отладки находится в файле правил обмена или в файле данных. Настройка и выполнение обмена данными становятся более удобными для использования и анализа.
Азы настройки обмена данными в 1С с помощью конфигурации «1С Конвертации данных» на примере смотрите в видео:
Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):
К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.
programmist1s.ru
Выгрузка данных
На следующей строке формы находятся два переключателя:
Табличная часть расположенная ниже позволяет настроить отборы и остальные параметры выгрузки.
Для отладки алгоритмов и исправления ошибок можно воспользоваться встроенным в обработку обмена механизмом. Его активация производится установкой соответствующего флажка в нижней части формы. Нажатие на кнопку «Настройка отладки…» вызывает окно (Рис. 4).
Отличительной чертой этой формы является информативная справка в левой части макета, которая описывает каждый из трех возможных режимов отладки. В качестве файла внешней обработки с модулем может выступать любой файл формата epf.
Нажатие на кнопку «Готово» проверяет правильность и полноту заполненных данных.
В отличие от «Выгрузки», на данной закладке (Рис.5) нет табличной части, зато гораздо больше флажков, позволяющих регулировать параметры записи новых и измененных объектов.
В первую очередь необходимо выбрать файл, который послужит источником информации. Это можно сделать в поле ввода «Имя файла для загрузки». В случае если данные выгружались в архив, защищенный паролем, его необходимо будет ввести в соответствующее поле.
Дополнительные настройки
- Позволяет использовать транзакцию в процессе выгрузки;
- Оптимизирует обмен между базами 8-ой версии 1С;
Эти и некоторые другие функции включаются выставлением соответствующих флажков на форме (рис.6).
Эта закладка используется только разработчиками в режиме отладки. Позволяет удалять из базы ненужные объекты.
Коротко о настройке правил обмена
- epf – если конфигурация 1С 8 самописная или не стандартная, в ней может не быть обработки «Универсальный обмен данными», этот файл и есть эта обработка;
Затем в справочнике Конвертации создается элемент, содержащий информацию о направлении обмена данными. Для него можно настроить Правила обмена.
Внешний вид и особенности использования Универсального обмена данными
Достаточно часто в работе крупных предприятий и торговых сетей возникает необходимость в обмене данными между базами. Каждый программист и администратор по-разному решает этот вопрос. Кто-то пишет выгрузки-загрузки через промежуточные файлы таблиц, кто-то использует режим COM соединения для подключения к базе источнику. Однако, в последнее время всё большую популярность набирает собственный 1С-овский механизм под названием «Универсальный обмен данными в формате XML».
Внешний вид обработки
В Полном интерфейсе открыть обработку можно по адресу Сервис->Прочие обмены данными-> Универсальный обмен данными в формате XML.
Форма обработки (Рис.1) содержит четыре закладки:
Рис. 1
- Выгрузка данных;
- Загрузка данных;
- Дополнительные настройки;
Интерфейс каждой из закладок сильно загружен элементами, а потому требует отдельного рассмотрения.
В самой верхней части закладки находится поле выбора файла правил обмена. Для нестандартных баз и обменов файл обмена придется создавать самому.
Как видно из приведенных выше рисунков, в зависимости от переключателя отличается внешний вид формы. В случае если выбран файловый вариант обмена, пользователю предлагается выбрать место нахождения файла, куда будет выполнена выгрузка и возможность его сжатия для экономии места и защиты паролем.
Вариант прямого подключения к базе-приемнику поддерживает и файловый и клиент-серверный вариант работы. В этом случае необходимо будет прописать адрес базы, заполнить поля «Пользователь» и «Пароль». Прежде чем приступить к обмену данными, желательно протестировать подключение.
Загрузка данных
Соответствующие флажки позволяют настроить:
- Загрузку данных в режиме обмена (в этом случае все платформенные проверки, за исключением проверки при проведении документов, будут игнорироваться при записи);
- Перезапись измененных элементов;
- Установку пометки удаления для загружаемых элементов;
- Обрезку незначащих символов (пробелов и табуляций) для строковых значений.
- Включает режим отладки;
- Выгружать только те объекты, которые разрешены к использованию текущему пользователю;
- Включить протоколирование процесса обмена между базами.
- epf – необходим для выгрузки структуры метаданных для баз 1С 8;
- ert –файл содержит код для выгрузки структуры метаданных конфигураций 1С версий 7.7;
- ert – файл обработки выгрузки-загрузки данных для семерки.
- Исключить двойной ввод документов;
- Автоматизировать смежные бизнес-процессы;
- Оптимизировать взаимодействие между распределенными подразделениями;
- Оперативно актуализировать данные для работы специалистов разных отделов;
- «Разграничить» разные виды учета.*
- Согласование состава обмена;
- Определение транспорта (протоколов обмена);
- Синхронизация;
- Установка правил;
- Составление расписания.
- РИБ подразумевает обмен между идентичными конфигурациями баз данных 1С, с четкой структурой управления «главный-подчиненный» для каждой пары обмена. Являясь элементом технологической платформы, РИБ помимо данных может передавать изменения в конфигурации и административную информацию БД (но только от главного к подчиненному).
- Механизм, позволяющий настроить обмен баз 1С, как с конфигурациями на платформе «1С:Предприятие», так и с системами сторонней разработки. Обмен осуществляется посредством перевода данных в универсальный xml-формат в соответствии с «Планами обмена».
- Новейшая разработка фирмы 1С, предназначенная для реализации обмена данными в формате xml между продуктами, созданными на платформе «1С:Предприятие», с любыми системами автоматизации. Применение EnterpriseData упрощает доработки, связанные с обменом. Ранее при включении в систему новой конфигурации была необходима реализация механизма импорта и экспорта данных, как для нее, так и для уже имеющихся систем. Теперь системы, поддерживающие EnterpriseData, не нуждаются в доработках, имея только одну точку «входа-выхода».
- Не типовые, сильно доработанные конфигурации БД;
- Разные версии платформы «1С:Предприятие»;
- Давно не обновлявшиеся, не актуальные версии конфигурации;
- Объекты обмена, ранее подвергшиеся доработкам;
- Необходимость в нестандартных правилах обмена;
- Сильно различающийся набор и состав реквизитов в имеющихся справочниках.
Как понятно из названия закладки, она содержит инструменты, использование которых позволяет точнее настроить процесс обмена. В частности:
Удаление данных
Использование стандартного обработчика очень упрощает жизнь программистам. В то же самое время, одним из самых сложных моментов для того, кто впервые столкнулся с «Универсальным обменом данным в формате XML» является вопрос: «Где взять файл правил обмена?».
В первую очередь, для самостоятельного изготовления правил обмена, необходима специальная конфигурация, которая носит название «Конвертация данных». В ее составе есть несколько интересных файлов, которые позволяют настроить практически любой обмен между различными базами 1С 7 и 8 версий:
Запустив соответствующие обработки необходимо выгрузить структуры метаданных для исходной базы и базы приемника. Затем в конфигурации «Конвертация» необходимо внести информацию о конфигурациях источника и приемника в справочник «Конфигурации».
blog.it-terminal.ru
Как создать правило обмена в 1с
Учебник по 1С Конвертации данных (редакция 2) Создание правил обмена данными
Мы знаем структуру метаданных информационной базы источник и приемника. Этой информации нам вполне достаточно для того, что бы определить какие объекты информационной базы источника должны преобразовываться в какие объекты информационной базы приемника. То есть мы можем установить некоторое соответствие между объектами информационной базы источника и приемника. Например, мы можем задать, что справочнику Номенклатура информационной базы источника соответствует справочник Номенклатура (или какой — либо другой справочник) информационной базы приемника.
Такое соответствие между объектами источника и приемника будем называть «Правила конвертации объектов» или ПКО.
На приведенном примере видно, что для правил обмена (или Конвертации) «Два объекта в один» установлено соответствие объектов для справочников «Пользователи» и «ФизическиеЛица». То есть задано, что объекты справочника «Пользователи» из информационной базы источника нужно переносить в объекты справочника «Пользователи» информационной базы приемника.
Когда соответствие между объектами установлено, можно определить каким образом необходимо переносить реквизиты этих объектов. То есть, нам нужно задать, что реквизиту «Наименование» одного справочника соответствует реквизит «Наименование» другого.
Такое соответствие между свойствами (или реквизитами) объектов источника и приемника будем называть «Правила конвертации свойств» или ПКС.
На приведенном примере видно, что для правил конвертации объектов «Пользователи» установлено 3 соответствия между свойствами (или реквизитами) объектов. Указано, что реквизит «Наименование» справочника «Пользователи» информационной базы источника должен преобразовываться в реквизит «Наименование» справочника «Пользователи» информационной базы приемника.
Когда соответствие между свойствами объектов задано, программе нужно указать критерии сопоставления объектов (то есть нужно указать, как по объекту источнику искать объект в приемнике) в двух информационных базах. Для такого сопоставления используется флажок «Поиск» у соответствующего правила конвертации объектов. Если флажок взведен, то поиск соответствующего объекта будет выполняться по этому свойству. В приведенном примере, видно, что поиск объекта в информационной базе приемнике будет выполняться по реквизиту «Наименование». Если поиск установлен по нескольким реквизитам, то поиск будет осуществляться по ним всем одновременно (то есть условия накладываются по «И». В этом случае, правило сопоставления звучит следующим образом: Искать в информационной базе — приемнике объект у которого все реквизиты поиска совпадают с реквизитами поиска объекта источника).
Кроме того, имеется возможность задать соответствие между предопределенными элементами справочников, планов видов характеристик и значений перечислений. Такое сопоставление будем называть «Правила конвертации значений» ПКЗ.
На приведенном примере видно, что для правил конвертации объектов «ВидыАгентскихДоговоров» установлено соответствие между значениями перечисления. То есть значение перечисления «Аренда» в информационной базе источнике должна преобразовываться в значение перечисления «Аренда» в информационной базе приемнике.
Мы познакомились с правилами конвертации объектов, свойств и значений. На первый взгляд очень простые правила сопоставления позволяют перенести данные из одной информационной базы в другую.
С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).
helpme1c.ru
Обмен данными в 1С
Автоматизированные системы управления в большинстве случаев состоят из отдельных баз данных и зачастую имеют территориально распределенную структуру. При этом правильно реализованный обмен данными — необходимое условие для эффективной работы таких систем.
Первоначальная настройка обмена при этом может потребовать ряда действий, не только в части программирования, но и консалтинга, даже если мы имеем дело с однородными источниками, как в случае с продуктами на платформе «1С:Предприятие». Почему настройка обмена 1С (или, как еще это называется — синхронизация данных в 1С 8.3) может стать самой трудоемкой и недешевой задачей проекта интеграции, рассмотрим в этой статье.
Обмен данными в среде 1С позволяет:
*В случае, когда данные одного вида учета существенно отличаются от другого, необходимо обеспечить конфиденциальность информации и «разграничить» информационные потоки. Например, обмен данными между 1С УТ и 1С Бухгалтерия не требует выгрузки в базу регламентного учета управленческих данных, т.е. синхронизация в 1С тут будет неполная.
Если представлять стандартный процесс реализации первичного обмена данными, когда хотя бы один из его объектов – продукт 1С, то можно выделить следующие этапы:
Выявление состава обмена 1С
Объекты обмена можно условно поделить на «источник» и «приемник». При этом они могут исполнять две роли одновременно, что будет называться – двусторонним обменом. Определение источника и приемника происходит логическим путем в зависимости от необходимости или от функциональных возможностей системы.*
*Например, при интеграции «WA: Финансист» – решения для ведения финансового учета и управления процессами казначейства, разработанного на базе «1С:Предприятие», эксперты WiseAdvice рекомендуют именно его в качестве мастер-системы. Это обусловлено наличием инструментов контроля для соблюдения правил заявочной политики, а соответственно, и для обеспечения эффективности работы решения.
Далее на основе полученных и зафиксированных требований со стороны пользователей создается список данных для обмена, определяется их объем, требования к частоте обмена, прописывается процесс работы с ошибками и обработки исключительных ситуаций (коллизий).
На этом же этапе в зависимости от парка имеющихся систем и структуры предприятия определяются с форматом обмена:
Распределенная информационная база
Универсальный обмен данными в 1С
EnterpriseData
Определение транспорта (протоколов обмена)
Для системы на платформе «1С:Предприятие 8» предусмотрен широкий спектр возможностей для организации обмена с любыми информационными ресурсами посредством общепринятых универсальных стандартов (xml, текстовые файлы, Excel, ADO-соединение и т.д.). Поэтому при определении транспорта для данных обмена следует отталкиваться от возможностей базы данных сторонней системы.
Синхронизация справочников
Основным принципом эффективной синхронизации справочников является наличие одной точки ввода. Но если речь идет о работе со справочниками, исторически заполнявшимися по разным правилам, необходимо четко определить поля синхронизации для приведения обмена к «общему знаменателю».*
*На этом этапе может потребоваться проведение работ по нормализации НСИ на стороне источника данных. В зависимости от состояния справочников и их объема, процесс сопоставления элементов, распознавания, выявления ошибок и дублей, а также заполнения недостающих полей и назначение полей синхронизации, может потребовать работы целой группы экспертов, как со стороны интегратора (владельца методики нормализации НСИ), так и со стороны заказчика.
Установка правил
Возможность отображения данных систем-источников в приемниках зависит от правильно заданных правил обмена. Правила, представленные в формате xml, регулируют соответствие ключевых реквизитов объектов источника-приемника. Решение «1С:Конвертация данных» предназначено для автоматизации создания правил для реализации как единоразового обмена, так и постоянного.
Гарантирует отсутствие потерь данных при обмене План обмена. Это составная часть любой конфигурации на платформе «1С:Предприятие», полностью описывающая порядок обмена 1С: состав данных (документы с «опознавательными» реквизитами) и узлы (информационные базы приемники-передатчики), а также активацию РИБ для избранных направлений обмена.
Любое изменение данных, занесенных в План обмена, фиксируется и получает признак «измененности». До тех пор, пока измененные данные не будут соответствовать друг другу в узлах приемника-передатчика, признак сброшен не будет, и система будет рассылать контрольные сообщения в оба узла. После выгрузки данных и подтверждения их полного соответствия в обеих системах, признак сбрасывается.
Расписание обмена в 1С
Для автоматизации регулярного обмена устанавливается периодичность выгрузки данных. Частота обмена зависит от необходимости и технических возможностей. Также конфигурации на платформе «1С:Предприятие» позволяют настроить обмен данными при наступлении какого-нибудь события.
Рассмотрев стандартный процесс реализации обмена, обратим внимание на факторы, которые потребуют доработок на разных этапах:
Поскольку даже стандартные действия по реализации первичного обмена данными требуют экспертных знаний, их рекомендуется проводить при участии специалистов 1С. Только после выполнения всех вышеописанных действий следует переходить к настройке обмена в конфигурации. Рассмотрим интеграцию баз данных на примере «1С:УПП» и «1С:Розница» (по этой же схеме настраивается обмен с «1С:УТ»). Также к типовой синхронизации относится обмен УПП — УПП, характерный для масштабных систем автоматизации на крупнейших промышленных предприятиях.
Настройка на стороне «УПП»
В подменю «Сервис» выбираем «Обмен данными c продуктами на платформе…» (выбор прямого обмена с «Розницей» зачастую грозит ошибками на уровне COM-объектов). Обратим внимание на служебное сообщение «Данная возможность недоступна».
Чтобы решить эту проблему, необходимо выбрать «Настройку обмена данными»
…и проставить галочку. Далее сообщение об ошибке игнорируем.
В настройках синхронизации данных выбираем «Создать обмен с «Розница»…
Окно с предложением о синхронизации.
Перед настройкой параметров подключения через локальный или сетевой каталог следует убедиться, что на диске под каталог есть место. Хотя, как правило, он не занимает более 30-50 Мб, в исключительных случаях под него может потребоваться до 600 Мб. Создать необходимый каталог можно прямо из конфигуратора.
При подключении через сетевой каталог предложения настроить подключение посредством FTP-адреса и по электронной почте игнорируем, нажимая «Далее».
В настройках вручную проставляем префиксы – условные обозначения баз (как правило, БП, УПП, РО), задаем правила и начальную дату выгрузки данных. Префикс будет указываться в названии документов, для обозначения базы, в которой они были созданы. Если правила выгрузки не будут отредактированы, данные по умолчанию будут выгружаться по всем имеющимся параметрам.
Сводная информация по итогу произведенных действий.
Создаем файл настройки обмена для «Розницы», чтобы не повторять свои действия. При необходимости немедленной отправки данных сразу после настройки синхронизации – проставляем галочку.
Для автоматизации процесса обмена необходимо настроить расписание.
Настройка на стороне «Розница»
Меню «Розница».
Проставляем галочку и выбираем «Синхронизацию».
Производим «обратную» настройку, выбирая Управление производственным предприятием.
Загружаем файл с настройками, созданный в УПП.
Проставляем галочку, адрес система подхватывает автоматически.
Действуем так же, как в УПП.
Создаем правила выгрузки.
Сводная информация по итогу произведенных действий.
Синхронизация.
Проверочное сопоставление данных (Ручное сопоставление данных рекомендуется произвести на подготовительном этапе, поскольку эти работу могут стать самыми трудоемкими в процессе реализации обмена). Открытие окна сопоставления происходит по двойному щелчку мыши.
Выгрузка данных.
В случае ошибки в синхронизации «Подробно…» будет заменено на «Никогда…».
«Подробно…» открывает журнал регистрации с уточненной информацией по обмену.
Готово.
wiseadvice-it.ru