Интеграция и обмен данными 1с
Большая часть автоматизированных систем управления имеет в своем составе отдельные базы данных и, нередко, структуру с территориальным распределением. Для качественного использования этих автоматизированных систем необходимо грамотно наладить обмен данными.
При первичной настройке обмена данными в программе 1С обычно нужно выполнить немало специфических мероприятий, как в области программирования, так и в сфере консалтинга. Причем даже в том случае, если речь идет об однотипных источниках информации, например, продуктами на базе 1С: Предприятие.
Узнаем о том, как синхронизировать или, проще говоря, настроить обмен данными в утилите 1С 8.3.
Цели обмена баз данных в 1С
Наладив обмен данными в программе 1С, можно добиться следующих целей:
- Разграничить различные варианты учета;
- Быстро актуализировать информацию, требующуюся сотрудникам различных подразделений компании;
- Наладить связь между распределенными офисами фирмы;
- Провести автоматизацию смежных бизнес-процедур;
- Не допустить ошибочного повторного ввода документации.
Поясним, что необходимость в разграничении разных видов учета возникает, когда информация одного варианта учета имеет значительные отличия от данных иного учета. Разграничение позволит добиться конфиденциальности сведений и «разбить» информационные потоки. Для примера: обмен данными между программами 1С – Бухгалтерия и Управление Торговлей не должен сопровождаться передачей управленческих данных в базу регламентного учета. Иными словами, синхронизация должна быть лишь частичной.
Особенности обмена данных в 1С
Типичная процедура первичного обмена данными в 1С (при условии, что 1С является хотя бы одним из объектов), состоит из таких этапов:
- Выделение состава обмена.
- Поиск протоколов обмена.
- Непосредственный обмен-синхронизация.
- Определение правил.
- Формирование графика.
Рассмотрим каждый этап подробнее.
Как выявить состав обмена?
Объекты обмена – это приемник и источник. Вместе с тем источник может быть одновременно приемником, и наоборот – в таком случае речь будет идти о двухстороннем обмене. Определить приемника и источника можно, учитывая функционал системы или необходимость. Предположи, при синхронизации созданной на платформе 1С: Предприятие системы управления казначейством и ведения финансового учета «WA: Финансист» специалисты советуют применять ее же как мастер-систему. Это связано с тем, что в программе есть функционал для контроля над соблюдением правил заявочной политики. А значит, работа программы окажется наиболее эффективной.
Определившись и зафиксировав требования пользователей, можно приступать к формированию перечня данных для обмена:
- Прописать процессы обработки коллизий (исключительных ситуаций) и работы с ошибками;
- Определиться с требованиями к частоте обмена данными;
- Выделить объем данных для синхронизации.
Здесь же, учитывая структуру и уже имеющиеся системы организации, нужно выбрать оптимальный формат обмена:
Новый проект компании-разработчика 1С, позволяющий проводить синхронизацию данных в формате xml между решениями, выполненными на базе 1С: Предприятие, со всеми вариантами систем автоматизации. Выбрав данный формат, можно облегчить доработки, необходимые для проведения обмена данными. Прежде для интегрирования в систему новой конфигурации нужно было экспортировать и импортировать сведения – как в нее, так и в имеющиеся системы. Сейчас же системы, работающие с EnterpriseData, имеют лишь одну область «входа/выхода», и не требуют доработок.
Механизм, дающий возможность настройки обмена данными между базами 1С, сторонними сервисами и решениями на основе 1С: Предприятие. Синхронизация выполняется путем перевода сведений в универсальный формат xml согласно «Плану Обмена».
Обмен осуществляется между схожими конфигурациями информационных баз 1С с ясной структурой управления «главный и подчиненный» для каждой пары обмена. Распределенная информационная база выступает в качестве составляющей технологической платформы, а также отправляет от главного к подчиненному административные сведения баз данных и изменения в конфигурации.
Определение протоколов обмена (транспорт)
Для решения на базе 1С: Предприятие имеется множество инструментов для синхронизации с любыми информационными сервисами с помощью единых универсальных стандартов - ADO-соединений, Excel, текстовых файлов, xml и других. Решая вопрос с выбором протокола обмена, нужно ориентироваться на возможности базы данных второго участника обмена – сторонней системы.
Синхронизируем справочники
Наличие общей точки ввода – ключевой принцип для качественной синхронизации справочников. Однако если мы говорим об использовании справочников, которые всегда оформлялись по различным правилам, следует четко выделить поля синхронизации для того, чтобы обмен мог проводиться по «общему знаменателю».
На этой стадии может возникнуть необходимость в нормализации НСИ со стороны источника данных. Зачастую требуются усилия большого количества специалистов – со стороны заказчика и со стороны собственника методики нормализации НСИ (интегратора) для оформления не хватающих полей и назначения полей синхронизации, обнаружения дублей и ошибок, распознавания, сопоставления элементов. Все зависит от состояния и величины справочников.
Определение правил
От того, насколько грамотно определены правила обмена зависит качество отображения информации от источников в системах-приемниках. Правила, оформленные в xml формате, контролируют соответствие главных реквизитов объектов приемника.
Программа 1С: Конвертация данных позволяет автоматизировать разработку правил для постоянного и разового обмена данными. Кроме того, при обмене «План Обмена» она гарантирует отсутствие утраты сведений. Это составляющая всех конфигураций, выполненных на основе 1С: Предприятие, целиком определяющая схему обмена 1С:
- Информационные базы приемники-передатчики – узлы;
- Документация с «опознавательными» реквизитами – состав данных;
- РИБ для определенных направлений обмена.
Все изменения сведений, имеющихся в «Плане Обмена», будут отражаться и получать признак «измененности». Признак «измененности» не будет сброшен до того момента, пока скорректированные сведения не станут в узлах приемника-передатчика соответствовать друг другу, и пока система не станет направлять в оба узла контрольные уведомления. Признак «измененности» сбросится, когда данные будут выгружены и обе системы подтвердят их полное соответствие друг другу.
График обмена в 1С
Частота выгрузки информации устанавливается при необходимости наладить регулярный автоматизированный обмен. Периодичность выгрузки определяется с учетом технических возможностей и необходимости. Кроме того, решения на основе 1С: Предприятие дают возможность настройки обмена сведения при наступлении определенных событий.
Есть несколько факторов, которые на различных этапах реализации процесса обмена данными потребуют доработок:
- Существенно разный состав и комплекс реквизитов в справочниках;
- Необходимость в нетиповых правилах синхронизации;
- Наличие объектов обмена, которые прежде были доработаны;
- Использование неактуальных, не обновлявшихся длительный срок версий конфигураций;
- Различные версии 1С: Предприятие;
- Использование значительно измененных, нестандартных баз данных.
Мы советуем обратиться за помощью к специалистам по 1С: так как даже стандартные мероприятия по выполнению первичного обмена сведениями требуют профессионального подхода. Непосредственную настройку обмена в конфигурации можно осуществлять, пройдя все указанные выше этапы.
Узнаем, как интегрировать базы данных, взяв для примера утилиты 1С: Розница и Управление Производственным Предприятием (аналогичным образом можно будет выполнить настройку обмена с 1С: Управление Торговлей). Кроме того, к стандартному обмену данными относится синхронизация между УПП и УПП, которая выполняется на крупных промышленных предприятиях в случае с масштабными систем автоматизации.
Особенности настройки со стороны 1С: Управление Производственным Предприятием
Кликаем на строку «Обмен данными c продуктами…», расположенную в разделе «СЕРВИС» (выбор прямого обмена с РОЗНИЦЕЙ может обернуться ошибками COM-объектов). Появится шаблонное уведомление о том, что «Данная возможность недоступна».
Поставьте флажок. Теперь на уведомление можно не обращать внимания.
Кликаем на «Создать обмен с «Розница» в настройках синхронизации информации
Откроется вкладка с предложением синхронизации.
Прежде, чем определять параметры подключения через сетевой или локальный каталог, нужно удостовериться, что под каталог достаточно пространства на диске. К слову, чаще всего каталог весит до 50 Мб. Крайне редко ему необходимо до 600 Мб. Оформить нужный каталог можно непосредственно из конфигуратора.
Если подключение осуществляется через сетевой каталог, на предложения программы выполнить настройку подключения по э-мейл и с помощью адреса FTP можно не обращать внимание. Кликаем на кнопку «ДАЛЕЕ».
Вручную в настройках указываем условные обозначения баз – префиксы (чаще всего РО, УПП, БП), определяем изначальную дату выгрузки сведений и правила. Префикс станет значиться в наименовании документации – для обозначения баз данных, в которых созданы правила. Если вы откажитесь от редактирования правил выгрузки данных, то данные автоматически начнут выгружаться по текущим параметрам программы.
Сводные данные по результатам выполненных мероприятий.
Формируем файл для настройки синхронизации для «РОЗНИЦА» (в дальнейшем это позволит отказаться от повтора действий). Если выполнить отправку данных необходимо сразу после настройки обмена, в соответствующей строке ставим флажок.
Чтобы автоматизировать процедуру синхронизации, нужно провести настройку графика.
Особенности настройки со стороны «РОЗНИЦЫ»
Ставим флажок и кликаем на «Синхронизация».
Выбираем «Управление производственным предприятием» для выполнения «обратной» настройки.
Выгружаем оформленный в УПП файл с настройками.
Ставим флажок. Система автоматически подхватит адрес.
Выполняем те же действия, что ранее осуществили в УПП.
Определяем правила для выгрузки данных.
Появляется сводная информация по результатам осуществленных мероприятий.
Двойным кликом мышкой открываем окно сопоставления данных. Выполняем проверочное сопоставление сведений. Вручную сопоставлять информацию советуем на этапе подготовки к обмену данными. Так как эти действия чаще всего являются наиболее сложными и масштабными при выполнении первичной синхронизации.
Если при синхронизации данных возникнет ошибка, фраза «Никогда…» заменит строку «Подробно…»
Строка «Подробно..» открывает журнал регистрации с детализированными данными по синхронизации.
Процедура синхронизации данных в 1С успешно подошла к концу.
Напоследок отметим, что даже стандартная процедура настройки обмена данными требует определенных теоретических знаний и практических умений. Если вы не уверены в том, что можете провести синхронизацию собственными силами, обращайтесь за помощью к профессионалам Первого Бита.
Хотите получать подобные статьи по четвергам?
Быть в курсе изменений в законодательстве?
Подпишитесь на рассылку
Электронный обмен данными, реализуемый в решениях «1С», базируется на средствах интеграции технологической платформы, на международных и отечественных открытых стандартах электронного обмена данными.
Платформа «1С:Предприятие 8» предоставляет разнообразные средства для обмена данными и интеграции прикладных решений, позволяющие:
- создавать, обрабатывать и обмениваться данными различных форматов;
- осуществлять доступ ко всем объектам системы «1С:Предприятие 8», реализующим ее функциональные возможности;
- поддерживать различные протоколы обмена;
- поддерживать стандарты взаимодействия с другими подсистемами;
- разрабатывать собственные интернет-решения.
Система программ «1С:Предприятие 8» предоставляет готовые решения для организации электронного обмена данными с внешними информационными системами. Решения построены на основе российских и международных стандартов и протоколов электронного обмена данными.
Применение стандартов в типовых решениях позволяет организациям применять современные технологии построения взаимоотношений с системами смежников, значительно повысить надежность и достоверность обмена данными, перейти на современные бизнес-процессы электронного документооборота, использовать общепризнанную бизнес-логику взаимодействия.
Фирма «1С» предоставляет различные сервисы для поиска и анализа информации:
-
для поиска лучших кредитных предложений от банков и финансовых организаций;
- сервис 1С:ФинОтчетность для мониторинга финансового состояния заемщиков;
- сервис 1С:Лизинг для поиска лучших предложений от лизинговых компаний.
Курс "Внедрение прикладного решения "1С:Зарплата и управление персоналом 8" в 1С:Учебном центре №1 с 16 по 19 мая 2022 года 05.05.2022 12:26:00
Старт продаж новых тарифных планов на 1 месяц при подключении онлайн-касс к оператору фискальных данных "Такском" через сервис "1С-ОФД" 04.05.2022 17:30:00
Очные курсы в 1С:Учебном центре №1. Начало продаж. Расписание на май-июнь 2022 года 29.04.2022 17:08:00
Открытие новых сертифицированных экзаменационных центров (1С:СЭЦ) в городах Брянск и Тверь 29.04.2022 16:19:00
Интеграция 1С в экосистеме
Требования:
большие объемы данных
оперативная выгрузка с минимальной задержкой
возможность принимать данные в нескольких потоках
Сейчас в 1С популярны способы интеграции:
синхронизация данных XML
ODATA соединение к базе 1С
Каждый из этих способов хорошо подходит для решения определенных задач, но не в нашей ситуации. Коротко опишу почему.
Еще одной причиной неэффективности таких способов является то, что мы не сможем выполнять оперативную выгрузку данных с минимальной задержкой. Эти способы не смогут обеспечить мгновенное получение данных из систем.
Когда данные не только передаются, но и обрабатываются множеством клиентов, которые называются подписчиками (consumers).
Давайте перейдем к практике создания простого приложения на 1С для обмена данными. План создания архитектуры интеграции посредством Kafka будет следующий.
сначала напишем библиотеку DLL для установки соединения
чтобы стать подписчиком (consumers) и слушать топик на наличие новых данных, мы создадим «бессмертное» фоновое задание
для отправки данных в топик (producer) мы сделаем подписку в 1С на запись объектов, для мгновенной отправки
Поднять и настроить сервер Kafka не сложно, в интернете достаточно необходимой информации.
В этой библиотеке основные методы это:
для чтения данных: ConsumerCreate(), Consume(), ConsumeClose()
для отправки данных: ProducerCreate(), SendProducer(), ProducerClose()
Теперь напишем фоновое задание с «бессмертным» циклом для непрерывного чтения данных:
Думаю, в этом коде ничего сложного, мы создаем экземпляр библиотеки DLL в коде 1С и пользуемся его методами.
Так мы обеспечили мгновенную отправку данных с базы А при записи объекта и мгновенное чтение в базе Б.
В итоге мы применение нашей шины в таких проектах, как: MDM (быстрое согласование и контроль данных), DWH (сбор структурированных данных), CRM (быстрое согласование заявок).
В стоимость очного дневного курса включено:
- 3 дня с 10:00 до 17:00
- методические материалы
- обеды, кофе-брейки
- свидетельство 1С-Учебного центра №3
В стоимость WEB-курса включено:
- 5 недель курса, 5 вебинаров с преподавателем
- доступ на 2 года к обновляемым видеоматериалам после окончания курса
- свидетельство 1С-Учебного центра №3 (при условии выполнения практики)
Для выполнения практики на WEB- курсе у Вас должна быть установлена лицензионная платформа "1С:Предприятие 8" (коммерческая поставка). Учебная версия платформы НЕ подходит.
В стоимость очного курса-погружения включено:
- 5 дней с 10:00 до 17:00 или 9 вечеров с 18:15 по 21:15
- конспект, наушники
- обеды, кофе-брейки
- доступ на 2 года к обновляемым видеоматериалам после окончания курса
- свидетельство 1С-Учебного центра №3 (при условии выполнения практики)
В стоимость он-лайн трансляции включено:
- он-лайн трансляция очного курса в режиме вебинара, 3 дня с 10:00 до 17:00 по мск времени
- методическое пособие в печатном виде (заранее отправляется почтой России)
- свидетельство 1С-Учебного центра №3
Слушатели, кто ранее прошел обучение в очном формате, WEB или формате погружения, могут приобрести продление доступа к видеоматериалам еще на 2 года. Стоимость 3900 руб.
Что это за формат: Предлагаемый формат сочетает многие преимущества дистанционного обучения с очной составляющей, представленной видеоматериалами и онлайн-консультациями.
WEB-курс состоит из видеороликов, практических задач и вебинаров с преподавателям. Ко всем материалам курса предоставляется круглосуточный доступ через Интернет – можно заниматься в удобное время. Курс разделен на занятия. В течение занятия изучаются материалы по текущей теме, выполняются практикумы, задаются вопросы преподавателю. В конце каждого занятия проводится вебинар, на котором преподаватель разбирает все поступившие вопросы, типовые ошибки, объясняет правильное решение. Запись вебинаров доступна в портале. Таким образом проходят несколько занятий одно за другим. В конце проводится итоговая самостоятельная работа и итоговый вебинар.
Для кого этот формат: Для региональных слушателей курсов, а также для тех, кто не готов проходить очное обучение в учебном центре, любит и может учиться самостоятельно.
Что это за формат: Очный или удаленный курс-погружение - формат, сочетающий в себе все плюсы очного обучения, дистанционных технологий и индивидуального обучения. Заниматься можно в оборудованном учебном классе, на своем рабочем месте или из дома. Вы самостоятельно изучаете материалы курса (пошаговые видеоролики) и выполняете практикумы. При этом в аудитории или в Skype (в зависимости от формата) находится преподаватель, который готов в любой момент ответить на вопрос и помочь с решением практических задач, проверить правильность их выполнения.
Преимущества: индивидуальные консультации преподавателя по Вашим вопросам и подходящий лично для Вас темп прохождения материала.
Все это дает более глубокую проработку материала курса.
Этот курс возможно пройти со своего рабочего места с полным эффектом присутствия преподавателя там, где ученик! Если эта возможность Вас заинтересовала – позвоните нам!
Для кого этот формат: Для тех, кто предпочитает изучение материала в удобном для себя темпе с возможностью повторения непонятных тем нужное количества раз, консультации с преподавателем здесь и сейчас.
Что это за формат: Очный или удаленный курс-погружение - формат, сочетающий в себе все плюсы очного обучения, дистанционных технологий и индивидуального обучения. Заниматься можно в оборудованном учебном классе, на своем рабочем месте или из дома. Вы самостоятельно изучаете материалы курса (пошаговые видеоролики) и выполняете практикумы. При этом в аудитории или в Skype (в зависимости от формата) находится преподаватель, который готов в любой момент ответить на вопрос и помочь с решением практических задач, проверить правильность их выполнения.
Преимущества: индивидуальные консультации преподавателя по Вашим вопросам и подходящий лично для Вас темп прохождения материала.
Все это дает более глубокую проработку материала курса.
Этот курс возможно пройти со своего рабочего места с полным эффектом присутствия преподавателя там, где ученик! Если эта возможность Вас заинтересовала – позвоните нам!
Для кого этот формат: Для тех, кто предпочитает изучение материала в удобном для себя темпе с возможностью повторения непонятных тем нужное количества раз, консультации с преподавателем здесь и сейчас.
Механизмы интеграции
Конфигурация "1С:Документооборот" редакции КОРП содержит несколько встроенных планов обмена с другими типовыми конфигурациями на платформе "1С:Предприятие".
Редакции ПРОФ и ДГУ не содержат таких планов обмена. Тем не менее, все редакции поддерживают обмен данными с помощью встроенной обработки УниверсальныйОбменДаннымиXML , использующей внешние правила обмена, загружаемые из файла. Собственные планы обмена можно добавить в любую из редакций.
Встроенные планы обмена предназначены для автоматической синхронизации данных в ходе совместного использования разных прикладных решений, но могут использоваться и для первоначального наполнения информационной базы.
Внешние правила обмена, поставляемые в составе дистрибутива, предназначены скорее для первоначального наполнения информационной базы, но могут использоваться и для последующей синхронизации данных. В последнем случае обмен нужно будет запускать регулярно вручную.
Встроенные планы обмена используют подсистему Обмен данными "Библиотеки стандартных подсистем" (далее БСП) редакции 2. Это значит, что в составе каждого плана обмена есть макет с правилами регистрации, а также макеты правил обмена и правил обмена конфигурации-корреспондента:
- Правила регистрации используются в "1С:Документообороте" для определения необходимости регистрации записываемого объекта к выгрузке в конфигурацию-корреспондент.
- Типовые правила регистрации тривиальны (содержат только перечень регистрируемых объектов без дополнительных условий).
- Автоматическая регистрация изменений в планах обмена выключена, для регистрации используется стандартная механика БСП, анализирующая изменения в выгружаемых полях перед регистрацией.
При необходимости комплект правил может быть загружен из файла. Как правило, это делают:
- после обновления конфигурации-корреспондента. В этом случае свежий комплект правил находится в составе дистрибутива обновления, в папке "Синхронизация данных";
- во время отладки правил обмена, разрабатываемых на основе типовых правил, если они требуют доработки на конкретном внедрении.
После отладки доработанных правил обмена рекомендуется включить их в состав конфигурации, сняв с поддержки макеты, чтобы:
- получить возможность сравнивать доработанные правила с типовыми при обновлении конфигурации;
- избежать проблем, связанных с проверкой правил при обновлении информационной базы после изменения структуры метаданных.
Обратите внимание:
Правила, загруженные из файла и переставшие соответствовать новой структуре метаданных, не дадут довести до конца штатное обновление информационной базы.Правила обмена разрабатываются с помощью конфигурации "Конвертация данных" редакции 2.1. Конфигурация бесплатна и доступна по линии ИТС. Рекомендуется использовать типовые правила как основу для разработки, сохранив их в файлы и загрузив в информационную базу "Конвертации данных".
"1С:Документооборот" не поддерживает обмен данными в формате EnterpriseData. Соответственно, для разработки правил обмена не следует использовать конфигурацию "Конвертация данных" редакции 3.
Расширение плана обмена
При включении новых объектов в существующий план обмена следует:
Добавление плана обмена
При разработке собственных планов обмена следует:
- Создать новый план обмена на стороне обеих конфигураций. Имя плана обмена должно быть одинаковым в обеих конфигурациях. Состав обязательных процедур модуля менеджера плана обмена приведен в документации к подсистеме Обмен данными "Библиотеки стандартных подсистем" соответствующей версии.
- Включить в состав планов обмена объекты, участвующие в обмене, а также регистр сведений СоответствиеОбъектовИнформационныхБаз , запретив авторегистрацию изменений. Использование собственного механизма регистрации БСП позволит избежать выгрузки объектов, изменившихся только в части не участвующих в обмене реквизитов.
- Создать подписки на события, аналогичные описанным выше, и обработчики для них. Лучше создать для этого отдельный общий модуль, не снимая с поддержки общий модуль ОбменДаннымиСобытияДокументооборот .
- Включить новый план обмена в тип параметра общих команд подсистемы Обмен данными . Проще всего найти нужные команды, выполнив в Конфигураторе поиск ссылок на типовой план обмена.
- Включить новый план обмена в код процедуры ПолучитьПланыОбмена общего модуля ОбменДаннымиПереопределяемый .
- При необходимости создать формы настройки плана обмена (см. документацию к "Библиотеке стандартных подсистем", а также примеры в планах обмена с конфигурациями "1С:Бухгалтерия" предприятия и "1С:Управление производственным предприятием").
- Сохранить описания обновленных конфигураций в файлы с помощью обработки MD8Exp.epf , входящей в состав дистрибутива конфигурации "Конвертация данных".
- Загрузить описания конфигураций в информационную базу "Конвертации данных".
- Разработать два набора правил обмена и два набора правил регистрации для каждой из сторон обмена.
- Добавить оба набора правил обмена и по одному набору правил регистрации в каждую конфигурацию в качестве макетов плана обмена.
- Настроить синхронизацию данных и отладить ее.
Обратите внимание:
Правила обмена, зачитанные из макетов в составе конфигурации, кэшируются в регистре сведений ПравилаДляОбменаДанными . При отладке рекомендуется использовать загрузку правил обмена из файла. Для обновления правил из макета следует изменить номер версии конфигурации или выполнить загрузку вручную по команде Загрузить правила… , выбрав вариант Из конфигурации .Веб-сервисы
Типовая конфигурация "1С:Документооборот" содержит набор веб-сервисов.
Некоторые из них специализированы и служат, например, для обмена с мобильными устройствами или для синхронизации данных с другими информационными базами, разработанными с применением "Библиотеки стандартных подсистем".
Два веб-сервиса, однако, предназначены для интеграции с произвольными внешними программами, как разработанными на платформе "1С:Предприятие", так и любыми другими, способными обращаться к веб-сервисам. Речь идет о веб-сервисах:
- Files – простой сервис, поддерживающий работу с файлами и папками "1С:Документооборота" извне.
- DMService – поддерживает работу с основными объектами и функциями "1С:Документооборота". Перекрывает функционал веб-сервиса Files . Используется "Библиотекой интеграции 1С:Документооборота".
Данные веб-сервисы включены во все редакции "1С:Документооборота".
Работа с веб-сервисами из прикладных решений на платформе "1С:Предприятие", как правило, строится следующим образом:
- Определяется способ хранения и редактирования настроек подключения к веб-сервису. Настройки состоят из:
- Адреса веб-сервиса;
- Имени пользователя и пароля (в текущих версиях платформы поддерживается только аутентификация "1С:Предприятия", поэтому следует либо предоставить пользователям интегрируемого прикладного решения возможность ввести имя пользователя и пароль, либо использовать для доступа служебную учетную запись, для которой запрещен интерактивный вход);
- Таймаута при обращении к сервису (при низком качестве соединения, а также при первом обращении к сервису задержки могут быть значительными).
- Определяется способ получения WSПрокси для обращения к веб-сервису. Операции создания WSОпределений и WSПрокси достаточно затратны, поэтому рекомендуется выносить получение реквизитов, в отдельный общий модуль с повторно возвращаемыми значениями.
- Создаются процедуры и функции, являющиеся обертками для функционала веб-сервиса на стороне прикладного решения. Непосредственную работу с объектами XDTO рекомендуется инкапсулировать в них, чтобы облегчить доработки при изменении функционала сервиса.
Примеры использования веб-сервисов можно увидеть в "Библиотеке интеграции 1С:Документооборота", поставляемой в составе дистрибутива "1С:Документооборота".
Веб-сервис Files
Веб-сервис использует всего четыре типа объектов:
- File – файл в папке.
- Folder – папка файлов.
- ShortFileInfo – сведения о файле, возвращаемые сервисом после его создания.
- FileList – список файлов, отобранных по условиям.
- GetFileList – получает список файлов в указанной папке.
- GetFile – получает файл по указанному коду файла.
- AddFile – добавляет файл в указанную папку.
- DeleteFile – помечает файл на удаление.
- FindFolder – находит папку по наименованию в указанной родительской папке.
- AddFolder – создает новую папку в указанной родительской папке.
Все действия, выполняемые этим веб-сервисом, можно выполнить с помощью веб-сервиса DMService. Работа с файлами документов поддерживается только DMService.
Веб-сервис DMService
Сервис использует XDTO-пакет DM. Пакет содержит несколько десятков прикладных объектов, являющихся представлениями таких объектов "1С:Документооборота", как файлы, документы, процессы, задачи и так далее. Все они - потомки абстрактного DMObject и имеют общие свойства objectId и externalObject .
Свойство objectId представляет собой ссылку на объект "1С:Документооборота" и содержит его представление, идентификатор и тип.
Свойство externalObject представляет собой ссылку на объект интегрируемой программы и так же содержит его представление, идентификатор и тип. Свойство заполняется сервисом автоматически, если объект "1С:Документооборота" был ранее связан с объектом интегрируемой конфигурации, например, при создании или записи с заполненным свойством externalObject .
Сервис поддерживает всего одну операцию, execute . В качестве параметра передается объект-потомок DMRequest . Требуемая операция и ее параметры определяются типом переданного объекта и его свойствами. Например, запрос DMGetObjectListRequest получает список объектов типа, указанного в свойстве type по условиям, указанным в свойстве query .
Результат операции возвращается в объекте-потомке DMResponse . В простейших случаях это объект DMOK . В случае ошибки возвращается DMError , содержащий краткое ( subject ) и полное ( description ) описание ошибки.
Для большинства запросов существуют парные им объекты-ответы, содержащие результат выполненной операции. Например, список объектов, полученный вызовом DMGetObjectListRequest , возвращается в объекте DMGetObjectListResponse .
Приведем простейший пример работы с веб-сервисом на встроенном языке платформы "1С:Предприятие". Начнем с получения определений и прокси веб-сервиса (подразумевается, что адрес публикации, имя пользователя и пароль уже получены):
Cоздадим запрос на получение списка внутренних документов:
Определим условие запроса (поиск по наименованию):
Выполним запрос, проверив результат на предмет ошибки:
Разберем ответ, заполнив таблицу названиями и идентификаторами найденных документов:
Подробное описание объектов и операций сервиса дается в составе дистрибутива "1С:Документооборота" (файл "Описание веб-сервисов.html" в каталоге шаблонов). Это описание доступно также из интерфейса демонстрационной конфигурации "Библиотека интеграции с 1С:Документооборотом", которая содержит также более сложные и полезные примеры использования сервиса.
При выпуске новых версий "1С:Документооборота" сервис расширяется и дополняется новыми объектами и свойствами так, чтобы не затронуть работу клиентских приложений, не знающих об этих изменениях. Этого же принципа следует придерживаться при самостоятельном изменении функционала сервиса: например, добавляя новые свойства, устанавливать минимальное количество в 0.
Обработка запросов к сервису сосредоточена в общих модулях:
- ОбработкаЗапросовXDTO – общий вход для всех вызовов
- ОбработкаЗапросовXDTOБизнесПроцессыИЗадачи
- ОбработкаЗапросовXDTOДокументы
- ОбработкаЗапросовXDTOФайлы
Присутствуют только в редакции КОРП:
- ОбработкаЗапросовXDTOКорп
- ОбработкаЗапросовXDTOОбмен
- ОбработкаЗапросовXDTOПочта
- ОбработкаЗапросовXDTOУчетВремени
Перед использованием сервиса следует получать его версию и редакцию запросом DMGetVersionRequest и не пользоваться возможностями, которые не поддерживает сервис. Попытка использовать отсутствующие возможности, например, попытка создать исходящее письмо в редакции ПРОФ, приведет к ошибке (возврату DMError ).
Доработки рекомендуется вносить в модуль ОбработкаЗапросовXDTO Переопределяемый . Его процедуры и функции позволяют провести дополнительное изменение объектов XDTO при их создании по объектам "1С:Документооборота" и наоборот.
Библиотека интеграции 1С:Документооборота
"Библиотека интеграции 1С:Документооборота" (далее БИД) не является самостоятельным прикладным решением, хотя и содержит некоторые демонстрационные объекты, и предназначена для встраивания в прикладные решения на платформе "1С:Предприятие".
БИД может использоваться с любыми версиями "1С:Документооборота", начиная с редакции 1.2.
БИД публикуется в составе дистрибутива "1С:Документооборота" и предназначена для работы с "Библиотекой стандартных подсистем" версии, последней на момент публикации. Однако адаптация БИД к конфигурациям, содержащим более ранние версии БСП, не составляет большого труда, поскольку БИД использует функционал БСП в небольшом объеме.
Более подробное описание "Библиотеки интеграции 1С:Документооборота" и порядка ее встраивания содержится в документации, поставляемой в составе дистрибутива (папка DocDMIL ).
Читайте также: