Универсальная Обработка Обмена Данными Для 1С 8.2
May 21, 2014 - Универсальная обработка 'Выгрузка и загрузка данных XML'. От формата файла, создаваемого при выгрузке по плану обмена,. И после того как изучили данные обработки с диска ИТС можно смело бегать по интернету и форумам в поисках того что подходит именно Вам. Универсальных обработках для «1С:Предприятия 8.2» находятся на диске ИТС в каталоге 1CITS EXE ExtReps Unireps82. Обзор универсальных обработок. 1 Настройка технологического журнала Внешняя обработка НастройкаТехнологическогоЖурнала.epf предназначена для создания и настройки конфигурационного файла технологического журнала.
Универсальная Обработка Обмена Данными 1с 8.2
Автоматизированные системы управления в большинстве случаев состоят из отдельных баз данных и зачастую имеют территориально распределенную структуру. При этом правильно реализованный обмен данными — необходимое условие для эффективной работы таких систем. Первоначальная настройка обмена при этом может потребовать ряда действий, не только в части программирования, но и консалтинга, даже если мы имеем дело с однородными источниками, как в случае с продуктами на платформе «1С:Предприятие».
Почему настройка обмена 1С может стать самой трудоемкой и недешевой задачей проекта интеграции, рассмотрим в этой статье. Обмен данными в среде 1С позволяет:.
Исключить двойной ввод документов;. Автоматизировать смежные бизнес-процессы;.
Оптимизировать взаимодействие между распределенными подразделениями;. Оперативно актуализировать данные для работы специалистов разных отделов;.
«Разграничить» разные виды учета.В случае, когда данные одного вида учета существенно отличаются от другого, необходимо обеспечить конфиденциальность информации и «разграничить» информационные потоки. Например, обмен данными между 1С УТ и 1С Бухгалтерия не требует выгрузки в базу регламентного учета управленческих данных.
Если представлять стандартный процесс реализации первичного обмена данными, когда хотя бы один из его объектов – продукт 1С, то можно выделить следующие этапы:. Согласование состава обмена;. Определение транспорта (протоколов обмена);. Синхронизация;. Установка правил;. Составление расписания.
Выявление состава обмена 1С Объекты обмена можно условно поделить на «источник» и «приемник». При этом они могут исполнять две роли одновременно, что будет называться – двусторонним обменом. Определение источника и приемника происходит логическим путем в зависимости от необходимости или от функциональных возможностей системы.Например, при интеграции «WA: Финансист» – решения для ведения финансового учета и управления процессами казначейства, разработанного на базе «1С:Предприятие», эксперты WiseAdvice рекомендуют именно его в качестве мастер-системы. Это обусловлено наличием инструментов контроля для соблюдения правил заявочной политики, а соответственно, и для обеспечения эффективности работы решения. Далее на основе полученных и зафиксированных требований со стороны пользователей создается список данных для обмена, определяется их объем, требования к частоте обмена, прописывается процесс работы с ошибками и обработки исключительных ситуаций (коллизий). На этом же этапе в зависимости от парка имеющихся систем и структуры предприятия определяются с форматом обмена: Распределенная информационная база. РИБ подразумевает обмен между идентичными конфигурациями баз данных 1С, с четкой структурой управления «главный-подчиненный» для каждой пары обмена.
Являясь элементом технологической платформы, РИБ помимо данных может передавать изменения в конфигурации и административную информацию БД (но только от главного к подчиненному). Универсальный обмен данными в 1С. Механизм, позволяющий настроить обмен баз 1С, как с конфигурациями на платформе «1С:Предприятие», так и с системами сторонней разработки.
Обмен осуществляется посредством перевода данных в универсальный xml-формат в соответствии с «Планами обмена». EnterpriseData.
Новейшая разработка фирмы 1С, предназначенная для реализации обмена данными в формате xml между продуктами, созданными на платформе «1С:Предприятие», с любыми системами автоматизации. Применение EnterpriseData упрощает доработки, связанные с обменом. Ранее при включении в систему новой конфигурации была необходима реализация механизма импорта и экспорта данных, как для нее, так и для уже имеющихся систем. Теперь системы, поддерживающие EnterpriseData, не нуждаются в доработках, имея только одну точку «входа-выхода». Определение транспорта (протоколов обмена) Для системы на платформе «1С:Предприятие 8» предусмотрен широкий спектр возможностей для организации обмена с любыми информационными ресурсами посредством общепринятых универсальных стандартов (xml, текстовые файлы, Excel, ADO-соединение и т.д.).
Поэтому при определении транспорта для данных обмена следует отталкиваться от возможностей базы данных сторонней системы. Ответы к учебнику потушанской начальный курс. Синхронизация справочников Основным принципом эффективной синхронизации справочников является наличие одной точки ввода. Но если речь идет о работе со справочниками, исторически заполнявшимися по разным правилам, необходимо четко определить поля синхронизации для приведения обмена к «общему знаменателю».На этом этапе может потребоваться проведение работ по нормализации НСИ на стороне источника данных.
В зависимости от состояния справочников и их объема, процесс сопоставления элементов, распознавания, выявления ошибок и дублей, а также заполнения недостающих полей и назначение полей синхронизации, может потребовать работы целой группы экспертов, как со стороны интегратора (владельца методики нормализации НСИ), так и со стороны заказчика. Установка правил Возможность отображения данных систем-источников в приемниках зависит от правильно заданных правил обмена. Правила, представленные в формате xml, регулируют соответствие ключевых реквизитов объектов источника-приемника. Решение «1С:Конвертация данных» предназначено для автоматизации создания правил для реализации как единоразового обмена, так и постоянного. Гарантирует отсутствие потерь данных при обмене План обмена. Это составная часть любой конфигурации на платформе «1С:Предприятие», полностью описывающая порядок обмена 1С: состав данных (документы с «опознавательными» реквизитами) и узлы (информационные базы приемники-передатчики), а также активацию РИБ для избранных направлений обмена.
Любое изменение данных, занесенных в План обмена, фиксируется и получает признак «измененности». До тех пор, пока измененные данные не будут соответствовать друг другу в узлах приемника-передатчика, признак сброшен не будет, и система будет рассылать контрольные сообщения в оба узла. После выгрузки данных и подтверждения их полного соответствия в обеих системах, признак сбрасывается. Расписание обмена в 1С Для автоматизации регулярного обмена устанавливается периодичность выгрузки данных. Частота обмена зависит от необходимости и технических возможностей.
Также конфигурации на платформе «1С:Предприятие» позволяют настроить обмен данными при наступлении какого-нибудь события. Рассмотрев стандартный процесс реализации обмена, обратим внимание на факторы, которые потребуют доработок на разных этапах:. Не типовые, сильно доработанные конфигурации БД;. Разные версии платформы «1С:Предприятие»;. Давно не обновлявшиеся, не актуальные версии конфигурации;. Объекты обмена, ранее подвергшиеся доработкам;. Необходимость в нестандартных правилах обмена;.
Сильно различающийся набор и состав реквизитов в имеющихся справочниках. Поскольку даже стандартные действия по реализации первичного обмена данными требуют экспертных знаний, их рекомендуется проводить при участии специалистов 1С. Только после выполнения всех вышеописанных действий следует переходить к настройке обмена в конфигурации. Рассмотрим интеграцию баз данных на примере «1С:УПП» и «1С:Розница» (по этой же схеме настраивается обмен с «1С:УТ»). Также к типовой синхронизации относится обмен УПП - УПП, характерный для масштабных систем автоматизации на крупнейших промышленных предприятиях. Настройка на стороне «УПП» В подменю «Сервис» выбираем «Обмен данными c продуктами на платформе» (выбор прямого обмена с «Розницей» зачастую грозит ошибками на уровне COM-объектов). Обратим внимание на служебное сообщение «Данная возможность недоступна».
Чтобы решить эту проблему, необходимо выбрать «Настройку обмена данными» и проставить галочку. Далее сообщение об ошибке игнорируем. В настройках синхронизации данных выбираем «Создать обмен с «Розница» Окно с предложением о синхронизации. Перед настройкой параметров подключения через локальный или сетевой каталог следует убедиться, что на диске под каталог есть место. Хотя, как правило, он не занимает более 30-50 Мб, в исключительных случаях под него может потребоваться до 600 Мб. Создать необходимый каталог можно прямо из конфигуратора. При подключении через сетевой каталог предложения настроить подключение посредством FTP-адреса и по электронной почте игнорируем, нажимая «Далее».
В настройках вручную проставляем префиксы – условные обозначения баз (как правило, БП, УПП, РО), задаем правила и начальную дату выгрузки данных. Префикс будет указываться в названии документов, для обозначения базы, в которой они были созданы. Если правила выгрузки не будут отредактированы, данные по умолчанию будут выгружаться по всем имеющимся параметрам. Сводная информация по итогу произведенных действий. Создаем файл настройки обмена для «Розницы», чтобы не повторять свои действия. При необходимости немедленной отправки данных сразу после настройки синхронизации – проставляем галочку. Для автоматизации процесса обмена необходимо настроить расписание.
Настройка на стороне «Розница» Меню «Розница». Проставляем галочку и выбираем «Синхронизацию».
Производим «обратную» настройку, выбирая Управление производственным предприятием. Загружаем файл с настройками, созданный в УПП.
Проставляем галочку, адрес система подхватывает автоматически. Действуем так же, как в УПП. Создаем правила выгрузки.
Сводная информация по итогу произведенных действий. Проверочное сопоставление данных (Ручное сопоставление данных рекомендуется произвести на подготовительном этапе, поскольку эти работу могут стать самыми трудоемкими в процессе реализации обмена). Открытие окна сопоставления происходит по двойному щелчку мыши.


Выгрузка данных. В случае ошибки в синхронизации «Подробно» будет заменено на «Никогда». «Подробно» открывает журнал регистрации с уточненной информацией по обмену.
Данные выгружаются в виде файла схемы и файла данных. Формат файла данных - DBF. Схема выгружается как таблица значений через функцию ЗначениеВФайл. При загрузке схемы производится попытка автоматического сопоставления выгружаемых объектов и их реквизитов с объектами и реквизитами в базе-приемнике. Реализован обмен справочников, документов и регистров сведений. Есть возможность отбора выгружаемых объектов как по конкретным значениям (справочники, документы), там и путем задания периода (документы, периодические регистры сведений). Также реализован механизм отбора по пометке удаления и статусу проведения, механизм установки пометок удаления и проведения документов после загрузки.
ВНИМАНИЕ: большие грабли!!! Обработка не вытаскивает значения реквизитов составных типов. В файле выгрузки содержатся только тип и ключ (код, наименование, индекс и т.д. в зависимости от типа). При загрузке производится поиск по указанному полю. Если соответствующих значений в базе-приемнике нет, реквизиты останутся пустыми.
Поэтому прежде чем выгружать, скажем, регистр 'Ответственные лица', надо выгрузить справочник организаций и справочник сотрудников. В обработке присутствует возможность выбора реквизита загрузки.
К примеру, поле 'Наименование' можно загрузить в реквизит 'Комментарий'. Так же есть возможность выгружать и загружать не все реквизиты, а также назначать загружаемым реквизитам значение по умолчанию. Подробная инструкция по использованию содержится в самой обработке. На безошибочность не претендую.
Ответственности за возможный ущерб, причиненный использованием обработки, не несу. История версий: Версия Описание 1.2.1 3:12 Мск 1. Пришлось начать вести нумерацию версий. Добавил подсветку полей таблиц, разрешенных для редактирования. Теперь в случае если длина кода/наименования справочника-приемника (длина номера документа-приемника) короче длины соответствующего поля объекта-источника, значение урезается. Код и номер берутся как правая часть, наименование - как левая. Это позволяет загружать справочники с более длинными кодами и кучей лидирующих нулей в объекты с кодами покороче.
Вид объекта-приемника теперь можно выбрать только того же типа, что и объект-источник. Если выгружался справочник - даст загрузить только в виде справочника, а никак не документа. Реализовал возможность выгрузки не всех реквизитов, а только отмеченных.
Аналогично с загрузкой. 1.2.2 13:05 Мск 1. Исправил некорректную работу отбора по периодам, другие мелкие недочеты.
Сделал возможность выбора ключа не только для реквизитов загружаемых объектов, но и для самих объектов. Сделал более подробную трассировку. 1.3.1 15:36 Мск 1.
Реализовал указание реквизитов по умолчанию. При выборе значения можно сделать его приоритетным, тогда оно будет назначаться реквизитам, игнорируя сведения файла выгрузки. В случае отсутствия приоритета значение подставится только при пустом значении реквизита.
Исправил работу ключа синхронизации загружаемых объектов. Исправил ошибку замещения строк при загрузке табличных частей. Исправил загрузку реквизитов, не перечисленных в списке выгруженных. Исправил ошибку при загрузке подчиненных справочников.
Исправил ошибку выгрузки объектов с длинными именами. Исправил ошибку выгрузки объектов с кодом или наименованием нулевой длины. Снял пароль с модуля, разработка теперь в формате OpenSource. Дальнейшее развитие проекта не намечается. Исправил загрузку регистров сведений, теперь загрузка идет не набором записей, затирая все предыдущее, а через менеджер.
По прежнему, загрузка возможна только регистров с независимый режимом записи. Ошибка пропала, документы загрузились, НО 1) загрузились только числовые и текстовые значения (кол-во, цена, сумма, комментарии и т.п.). При выгрузке в окне трассировки программа написала, что выгружено 123 объекта, при загрузке же сказала, что загружено 377 объекта. Видимо эти лишние 254 объекта - это справочники.
2) справочники (организации, склады, номенклатура и т.п.) не подгрузились - они по-прежнему пустые. Возможно поэтому в документах не заполнены ссылочные реквизиты. Пожелание: если это конечно не геморно реализовать, то было бы очень удобно задавать не только соответствующие типы, но и значения по умолчанию выбранного типа, или другого. Например, я переношу данные из БП 2.0 в КА. В КА, в документах, есть реквизиты 'Отражать в УУ', 'Отражать в БУ' и 'Отражать в НУ'. Этих реквизитов нет в БП 2.0.
Поэтому при переносе документов, уже в базе КА, они не проводятся из-за того, Что эти реквизиты не заполнены. Удобно перед загрузкой указать для этих реквизитов значение ИСТИНА по умолчанию. Если вы внимательно посмотрите на настройку загрузки, то поймете, почему загрузились только текстовые значения. Обработка не выгружает отсутствующие элементы, не перечисленные в отборе. То есть, если вы выгружаете документ 'Реализация', то справочник 'Номенклатура' выгружаться не будет.
А выгрузятся коды (или наименования - как уж настроите). При загрузке же обработка будет искать в базе приемнике справочник 'Номенклатура', а в нем - элемент с этим кодом (или наименованием). Если такового нет - реквизит останется пустым. Разница в количестве объектов объясняется тем, что при загрузке каждая строка документа загружается отдельно и учитывается при подсчете. При выгрузке идет подсчет только документов.
Пожелание по поводу реквизита 'По умолчанию' учту, фишка полезная. У обработки есть еще масса побочных способов применения. Например, можно выгрузить справочник, а потом загрузить в эту же базу, прописав загрузку наименования в реквизит 'ПолнНаименование'. Или в поле 'Комментарий' документа засунуть наименование контрагента или строковое представление вида операции. При этом все указанные махинации проводить как со всем справочником, так и только с выбранными элементами.
Всё это хорошо. Но при беглом взгляде на работу складывается впечатление, что это Ваша интерпретация типовой конфигурации КД. Вы просто изменили формат файла обмена данными.
А точно также надо настраивать правила обмена реквизитами. Полагаю Ваша обработка будет хорошо работать только для конфигураций, 'почти похожих друг на друга'. А если встанет задача посерьезней. Например конвертировать УТ в БП, да ещё видоизмененные.
Сразу столкнешься с нехваткой написания скриптов и алгоритмов. Вот здесь КД просто незаменима. Поэтому Ваша декларация 'Для обмена данными между любыми конфигурациями' слишком преувеличена. Да и формат файла обмена - xml, не совсем плохой формат. Мне, кажется незачем изобретать велосипед. На мой взгляд, лучше КД не придумать!
Да и потом КД - это не просто конфигурация - это технология обмена, отработанная годами. Заменить её просто одной обработкой это, простите, абсурд. Пожелание: если это конечно не геморно реализовать, то было бы очень удобно задавать не только соответствующие типы, но и значения по умолчанию выбранного типа, или другого. Например, я переношу данные из БП 2.0 в КА. В КА, в документах, есть реквизиты 'Отражать в УУ', 'Отражать в БУ' и 'Отражать в НУ'.
Этих реквизитов нет в БП 2.0. Поэтому при переносе документов, уже в базе КА, они не проводятся из-за того, Что эти реквизиты не заполнены. Удобно перед загрузкой указать для этих реквизитов значение ИСТИНА по умолчанию.