Как организовать консолидацию данных из трех десятков предприятий, не привлекая программистов на местах?

Публикация № 1093592

Разработка - Системная интеграция - Интеграция

Какую архитектуру и технологии выбрать для организации обмена между «зоопарком» разных конфигураций и системой, принципиально отличающейся от 1С, как наладить такой обмен без изменения конфигурации и организовать мониторинг из единого центра, расскажет докладчик конференции INFOSTART EVENT 2018 EDUCATION Александр Бобрышов. 

 

Добрый день, меня зовут Александр Бобрышов, я представляю компанию «Проф ИТ», мы являемся «Центром внедрения ERP». Помимо 1С, наша компания занимается еще и интеграцией всевозможных продуктов Microsoft (у нас есть Gold статус партнера), и другими интеграциями.

И сейчас я расскажу об одном нашем целевом проекте по консолидации данных из трех десятков предприятий без привлечения программистов на местах. 

Исходные данные проекта по консолидации

 

 

Заказчиком проекта был большой холдинг, куда входило множество разнородных компаний, таких, как автотранспортные предприятия, управление горнолыжными курортами, управление аэропортом, торговые компании, промышленные компании по производству, общепит и др. 

Очевидно, что в каждом из этих случаев ведение бухгалтерии различается. Плюс ко всему, бухгалтера– личности творческие, они, помимо прочего, могут в одной и той же сфере бизнеса вести бухгалтерию по-разному, вносить какие-то свои корректировки так, как им нравится.

 

 

Всю эту информацию было необходимо загрузить в основную базу холдинга, которая основана на продукте Oracle E-Business Suite, где структура данных совершенно другая, и подход к ведению бухгалтерии также другой. Соответственно, как все это консолидировать, заказчик не знал.

 

 

Третья проблема – это отсутствие программистов на местах. Не во всех филиалах и не во всех компаниях этого холдинга были программисты, которые могли бы что-то на месте сделать.

 

 

Соответственно, нам было нужно:

  • Собрать бухгалтерские данные со всех этих предприятий;

  • Далее – необходимо было обеспечить проверку корректности этих бухгалтерских данных по тем правилам, которые мы должны были задать и которые видела для себя головная компания;

  • Передать эти данные в хранилище;

  • Дальше – нам необходимо было организовать удобное сопровождение этого обмена, потому что, помимо прочего, все филиалы территориально достаточно разрознены. Соответственно, управлять этим всем достаточно тяжело, поэтому было принято решение все вести именно в центральной базе. 

  • Нужно было по максимуму упростить работу бухгалтера, чтобы порог вхождения был достаточно мал, и ему не приходилось сильно разбираться. Чтобы была одна кнопка, которая называлась «Сделать хорошо». 

 

 

Я постараюсь рассказать:

  • О том, какую мы архитектуру выбрали для нашего проекта;

  • Как мы наладили выгрузку данных «по одной кнопке», чтобы бухгалтер сильно не думал;

  • Как у нас организовано создание и модификация правил обмена (правил конвертации и выгрузки данных) из конечных баз в центральную. 

  • И, соответственно, покажу, как мы организовали мониторинг состояния обмена из единого центра управления.

Общая архитектура системы

 

 

Общая архитектура системы представлена на слайде:

  • Есть источники данных – это левая часть картинки;

  • И есть центральная база. 

Центр представлен:

  • Сервисом обмена, который передает данные в базу обмена на MS SQL (в эту базу стекаются данные из всех филиалов).

  • И есть управляющая сервисная база, написанная «с нуля» на 1С. В этой базе создаются правила обмена, и, по сути, ведется все сервисное обслуживание. 

  • Далее эти данные посредством регламентного задания сервисной базы попадают уже непосредственно в хранилище данных – в базу Oracle E-Business Suite. 

Это наша архитектура в общих чертах. 

Каким образом мы пытались сделать так, чтобы программисты на местах для поддержки обмена данными не привлекались? 

Изначально мы говорили о том, что будем хранить обработку для выгрузки в каком-то заранее обговоренном каталоге, откуда бухгалтера будут сами брать и пользоваться ею. Но заказчик поставил нам условие, что никаких дополнительных внешних каталогов быть не должно, для приема и отправки данных будет использоваться только один веб-адрес с открытым портом. 

Поэтому мы отказались от использования каталога и сделали так, чтобы наша обработка, которая будет выгружаться на места, «загонялась» в бинарные данные, помещалась непосредственно в таблицу SQL и потом уже при старте конечной системы преобразовывалась обратно в основную обработку для выгрузки. 

 

 

Расскажу про сам сервис обмена:

  • Так как у нас, по сути, было только одно небольшое окошко – веб-адрес с открытым портом, мы написали свою собственную службу Windows, 

  • Эта служба разработана на C#. 

  • Она работает именно как HTTP-сервис – позволяет принимать HTTP-запросы и отдает на них какие-то ответы. 

  • Все данные передаются в формате XML. 

Каким образом построена работа этого сервиса?

У него есть два метода – «exec» и «save». 

  • Метод «exec» вызывает хранимую процедуру с базой обмена на SQL. 

  • А метод «save» просто помещает передаваемые данные в ту таблицу, которая указана в качестве параметра данного метода.

Это в общих чертах.

База обмена

 

 

Сама база обмена, как я уже говорил – это SQL-база, которая по структуре таблиц полностью соответствует нашему хранилищу. Все таблицы всех справочников и документов полностью повторяют структуру таблиц хранилища данных на Oracle.

 

 

На каждую таблицу данных есть свои сервисные поля. Люди, которые занимаются интеграцией, все это прекрасно знают – это флажки, идентификаторы пакетов и т.д.

 

 

Соответственно, в базе обмена у нас есть основная таблица, которая содержит в себе правила сопоставления для объектов хранилища и объектов из 1С, которые будут применяться при выгрузке. Это – святая святых.

Сервисная база

 

 

Итак, есть основная таблица SQL с правилами конвертации, про которую я рассказал. А это – обработка в 1С, которая заполняет эту таблицу. Разобью ее на три части, на три сектора. 

В первом секторе мы задаем наши правила в разрезе:

  • Объектов хранилища данных;

  • Конфигурации (конфигурационной единицы) 

  • И хозяйственной операции. Мы не привязываемся к конкретным документам 1С, которые соответствуют объекту «Дебиторский счет-фактура» в OeBS («Реализация товаров и услуг», «Чек ККМ» и прочие) – мы свели все это в хозяйственную операцию. Это такая надстройка, абстрактная структура. И уже для данной хозяйственной операции мы задаем, какие для нее будут документы.

 

 

Здесь можно подробнее увидеть, как устроена иерархия объектов хранилища. Она повторяет структуру целевой базы.

 

 

Связь филиалов с правилами сопоставления осуществляется через конфигурационные единицы. Допустим, у нас есть филиал в Курске, который работает на конфигурации БП2.0. Но правила мы пишем не для Курска, а для БП2.0. Это упрощает работу, потому что, если конфигурации в разных филиалах совпадают, для них действуют единые правила. А поскольку конфигурации, по большей части, были типовые, с этим все просто. Было несколько отклонений, для них мы выдумывали отдельные конфигурационные единицы – КА_1, например (доработанная «Комплексная автоматизация»).

 

 

На слайде показана карточка хозяйственной операции. 

  • На второй вкладке формы производится привязка к объектам 1С – мы привязываем к данной хозяйственной операции те виды документов и справочников, которые могут в ее рамках использоваться.

  • Также для каждой хозяйственной операции мы задаем разрешенные проводки. Если проводка разрешена, и она основная, то по указанным видам документов выбираются и анализируются все движения по регистру бухгалтерии. И если в результате этого анализа обнаруживается, что документ, который участвует в этом обмене, имеет какую-то запрещенную проводку, бухгалтеру при выгрузке данных на месте сразу выводится сообщение о том, что по такому-то документу есть запрещенная проводка, которую необходимо исправить. 

 

 

Далее – мы придумали механизм более гибкой привязки объектов 1С к объекту хранилища.

Вы все прекрасно знаете, что написать правила один раз так, чтобы они работали для всех, невозможно – в любом случае будут какие-то отклонения, какие-то условности. Мы попытались реализовать эти условности через дополнительную надстройку.

На слайде выделена процедура, написанная кодом 1С. Программист может ее редактировать, если ему нужно выполнить какие-то дополнительные операции перед выгрузкой.

 

 

Например, у нас есть хозяйственная операция ДебеторскийСФРеализация, в рамках которой используется документ РеализацияТоваровУслуг, но для данного документа нам нужно отобрать только те проводки, которые сформированы с определенным видом операции. Этот отбор мы можем реализовать в коде – здесь мы отфильтровываем какие-то вещи или можем их подменить. 

Для удобства мы написали свой маленький редактор кода на HTML – это поле HTML, оно раскрашивается. 

 

 

В коде используются определенные функции для внутренних проверок. Например, мы создали функцию ОбъектВида(), куда передаем необходимый тип, чтобы она сверила его с типом внутренней переменной Объект, чтобы проверить, что это – «Реализация товаров и услуг» или еще что-нибудь.

Таких функций мы описали достаточно много – это, по сути, маленькое «программирование в программировании».

 

 

Код можно проверять. По кнопке «Проверка» запускается выполнение этого кода с учетом всех встроенных процедур, которые у нас используются (таких, как ОбъектВида()). И просто проходит синтаксический контроль. Если есть какая-то ошибка, мы об этом говорим. 

Все переменные, которые у нас со знаком $, после точки не анализируются (по умолчанию считается, что конструкция верная). 

 

 

 

Есть дополнительные функции, которые позволяют вставлять в этот код объекты 1С с теми наименованиями, которые есть в конфигурации. Для этого мы сделали выгрузку структуры конфигурации из филиалов.

Здесь пользователь (программист) может подставить в код табличную часть или реквизит из документа, может вызвать синтакс-помощник с описанием той или иной функции. 

 

 

Третья часть нашей обработки – это непосредственно сопоставление. 

Здесь мы говорим, какие поля у нас с какими сопоставляются. Грубо говоря, у нас есть поле объекта хранилища данных, и мы можем сопоставить его со значением поля 1С (например, Объект.Номенклатура) либо напрямую, либо с какими-то условиями. Каждое такое поле выполняет роль процедуры – там тоже есть миниредактор, есть условия, мы даже можем вводить сюда какие-то сложные конструкции. Но это будет выполняться не по процедуре «Выполнить», а по процедуре «Вычислить». 

Взаимодействие сервисной базы и базы обмена (SQL)

 

 

Далее – как у нас идет взаимодействие всего этого?

Помимо того, что у нас есть правила обмена, которые мы задаем нашей чудо-обработкой, у нас, помимо прочего, из сервисной базы в базу обмена выгружаются еще и все хранимые процедуры, которые будут использоваться нашим сервисом.

Это – регламентный обмен, который поставляет данные в базу обмена.

Взаимодействие источника данных и базы обмена (SQL) через сервис обмена

 

 

Как происходит взаимодействие с источником данных? 

Источник данных соединяется с сервисом обмена и посылает POST запрос с методом «exec» и в качестве параметра передает туда имя хранимой процедуры, которая должна выполниться. 

 

 

Сервис обмена вызывает эту хранимую процедуру в нашей базе SQL. 

Хранимая процедура может либо что-то выполнить внутри – сделать какие-то манипуляции с базой, либо выбрать какие-то необходимые нам коллекции. Соответственно, если будет несколько выборок, каждая из них обернется в свою коллекцию.

 

 

Запрошенные данные будут переданы обратно в сервис обмена. 

 

 

Сервис обмена преобразовывает эти данные в XML и передает их источнику. А дальше источник с этими данными делает необходимые манипуляции. 

В качестве данных, в частности, могут быть переданы правила обмена и непосредственно обработка самой выгрузки.

Выгрузка данных в филиалах

Расскажу, как действует выгрузка данных в филиалах. 

Мы разослали по всем филиалам через «Дополнительные отчеты и обработки» стартовую обработку, единственная задача которой – подключиться к сервису обмена и запросить первоначальные данные, которые включают в себя непосредственно обработку по выгрузке.

Эта обработка по выгрузке – единая для всех, мы тиражировали ее из нашей сервисной базы. Изменения в нее вносятся централизованно, и ее обновленная версия помещается в базу обмена в виде бинарных файлов. 

Соответственно, стартовая обработка в филиалах подключается и получает актуальную обработку выгрузки.

 

 

Теперь о выгрузке данных из источника. Допустим, мы все правила получили, бухгалтер проверил, что все проводки соответствуют нашим правилам, никаких ошибок нет, он нажимает кнопку «Отправить данные». Эти данные, опять же, заворачиваются в XML, и вызывается метод «save», которому передается параметром этот XML. В XML у нас содержится имя таблицы, куда необходимо поместить данные, и сама коллекция (причем, этих коллекций может быть несколько). 

 

 

Сервис обмена принимает эти данные и помещает их в базу обмена. 

 

 

Далее – возвращает квитанцию с ответом, передал он данные или нет. Если что-то по какой-то причине не было помещено, то те данные, которые у нас не прошли, мы обрабатываем повторно и, соответственно, не снимаем с регистрации объекты, которые находятся в источнике данных.

Регистрация данных в источниках осуществляется простейшим методом. В каждой типовой конфигурации есть план обмена «Полный», куда включены абсолютно все объекты системы. Он один раз настраивается, и далее, все наши документы и справочники регистрируются в созданном узле этого плана обмена и выгружаются по этим зарегистрированным изменениям. Если что-то не прогрузилось, мы просто объекты с регистрации не снимаем. 

Мониторинг обмена с помощью сервисной базы

 

 

Как это все мониторится? Для бизнеса и админов этого обмена мы в сервисной базе сделали обработку, где можно посмотреть, какие филиалы, когда выходили на связь, были ли по каким-то филиалам ошибки. 

Все это визуализировано на карте – обычный HTML с разметкой, где обозначены наши филиалы. При наведении мышкой выводится дополнительная информация о том, когда был последний обмен, сколько ошибок было по обмену и т.д.

Есть отчет по ошибкам. В нем видно, в каком филиале была ошибка, что это за ошибка. Если у пользователя при выгрузке данных была какая-то запрещенная операция, все это фиксируется и попадает в этот отчет.

Ответы на вопросы

Насколько я понял, у вас есть огромное количество разных баз, и стоит задача привести их к некоему единому пониманию на уровне бизнеса. Вы пишите хранимые процедуры в какой-то центральной базе, и потом эти хранимые процедуры рассылаете на места или как?

  • У нас есть основная хранимая процедура, мы ее назвали GetData (получить данные). Там есть несколько запросов, которые обращаются к таблицам – в том числе с маппингом, по связкам. С помощью этой хранимой процедуры, простыми SELECT-ами, выбирается вся необходимая для филиала информация. Соответственно, сервис обращается к этой хранимой процедуре, получает все эти данные, заворачивает их в XML и отдает в филиал. И есть еще одна специфическая хранимая процедура, о которой я хочу рассказать отдельно. Почему вообще заказчик изначально затеял этот проект? У них интеграция была построена наоборот – они сначала получали данные из регистра бухгалтерии (все проводки по оборотам за какой-то период), а потом с помощью скрипта на Oracle из 3000 строк весь этот массив данных анализировали, и делали транзакционные вставки в записи. Грубо говоря, есть оборот по какому-то определенному счету за период, а этот скрипт, в зависимости от того, какие в проводке использовались субконто, определял, что это за операция, и дальше уже вставлял транзакционную запись непосредственно в ту или иную таблицу (дебиторский счет-фактура, кредиторский счет-фактура, либо это вообще поступление денежных средств). Мы сказали, что это неправильно, нужно пойти обратным путем – сначала собрать транзакционные данные, а уже из этих транзакционных данных собрать обороты. И это будет правильно. Поэтому мы привязались именно к документу 1С – получали совершенные этим документом проводки, и на основании этих проводок по месяцам делали собственную оборотно-сальдовую ведомость, которая хранилась в отдельной таблице – GLLines. Для этого была написана отдельная хранимая процедура, которая собирала транзакционные данные для всех этих проводок и заворачивала их в оборотно-сальдовую ведомость. Эту хранимую процедуру тоже можно было редактировать в сервисной базе. И потом при обмене, когда все транзакционные данные помещены, перед тем как выгружать данные в хранилище, вызывается эта процедура, которая по существующим транзакциям пересчитывает обороты.

Я так понял, в вашей сервисной обработке программист работает в терминологии полей SQL и хранимых процедур. Насколько сложно взять простого смертного 1С-ника, пересадить на это и обучить? Какими знаниями должен обладать человек, чтобы успешно решать эти настройки, которые будут отправляться на места? 

  • Здесь порог вхождения достаточно высокий, недостаточно написать SELECT * FROM *. Терминологию T-SQL нужно знать, хотя бы на начальном уровне. Мы согласовывали это с заказчиком, у них были специалисты.

Приходит молодой 1С-ник, который достаточно хорошо знает 1С. Если дать ему задачу разобраться в этом механизме, сколько времени нужно, чтобы быть уверенным, что он это сделает?

  • Сколько времени нужно, чтобы обучить человека азам T-SQL? Примерно так, наверное, и будет. Если 1С-ник понимает и мыслит именно на уровне структуры данных, у него аналитический, а не гуманитарный склад ума, то я думаю, можно научить за неделю. Все люди разные и восприятие информации у всех отличается. Кто-то сможет за 2-3 дня понять структуру и идею, как это все работает. А так как у нас все 1С-ники пишут запросы грамотно (у нас есть статус Эксперта по технологическим вопросам), то люди очень быстро начинают понимать, как эти запросы выстраиваются на уровне SQL, потому что это, по сути, то же самое, что и методология создания запросов.

А как вы проверяете новые изменения, которые внесли, работают? Как у вас сделана проверка того, что все это валидируется и работает?

  • У нас есть проверка кода, я показывал ее на скриншоте. Если мы для хранимой процедуры написали много строк, которые выполняются перед выгрузкой, этот код можно проверить непосредственно в сервисной базе. Какие-то синтаксические ошибки начального уровня он находит.

А если поле как-то не так названо?

  • Мы загружаем в сервисную базу структуру конечной конфигурации, поэтому у нас там есть помощник, который может вставить для объекта подчиненный реквизит (например, Номенклатура.ВидНоменклатуры). Этот реквизит он может взять непосредственно из структуры конфигурации, для которой он пишет это правило. В данном случае, мы пытались минимизировать эти ошибки. Но даже если ошибка вылезет при выгрузке данных у бухгалтера, например, при попытке обращения к какому-то несуществующему реквизиту, система не падает, она фиксирует эти ошибки и передает их обратно в сервисную базу. 

 

****************************************************************

Данная статья написана по итогам доклада, прочитанного на конференции INFOSTART EVENT 2018 EDUCATION. Больше статей можно прочитать здесь.

В 2020 году приглашаем всех принять участие в 7 региональных митапах, а также юбилейной INFOSTART EVENT 2020 в Москве.

Выбрать мероприятие.

Специальные предложения

Как организовать консолидацию данных из трех десятков предприятий, не привлекая программистов на местах?

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Константин С. 646 16.07.19 09:01 Сейчас в теме
Учитывая доступность интернета, заголовок не корректен.
Вот лет 15-20 назад, былоб интересно.
4. ShurikDM 13 31.08.19 13:00 Сейчас в теме
(1) пожалуй, соглашусь. Доклад опубликовали "как есть" с предыдущего эвента. Появится немного времени, я его отредактирую и сделаю более "читабельным"
2. CoolSpawn 4 22.07.19 12:26 Сейчас в теме
А почему не сделали HTTP сервис в СБ? вроде 1С позволяет делать сервисы у себя?
3. ShurikDM 13 31.08.19 12:59 Сейчас в теме
(2) требование заказчика было таким, чтобы 1С в головном подразделении никаким боком не "смотрело" в интернет. С помощью сервиса были реализованы только 2 метода: один вставлял записи в существующие таблицы в SQL, второй выполнял существующие хранимые процедуры опять же в базе SQL с возвратом результата выполнения хранимки.
Оставьте свое сообщение

См. также

Обмен данными. Консистентность vs Многопоточность Промо

Интеграция v8 1cv8.cf Бесплатно (free)

Рассмотрим теоретические основы обмена данными. Какие бывают обмены, какие гарантии при этом даются, зачем идти на компромиссы и что при этом может пойти не так. Есть ли идеальная схема?

03.09.2019    11739    m-rv    1    

Интеграции с сервером SQL. Быстро и просто

Интеграция Внешние источники данных v8 1cv8.cf Бесплатно (free)

Решаем вопросы экспорта/импорта данных в базы отличного от 1С происхождения.

06.07.2020    1447    Infector    4    

Мониторинг факта выполнения обмена с помощью сервиса healthchecks.io

Интеграция Системное администрирование v8 1cv8.cf Россия Бесплатно (free)

В статье опишу вариант простого мониторинга обработчиков, запускаемых по расписанию.

30.06.2020    1403    malikov_pro    5    

Как мы запилили в АЙТАТ.РФ обработку-бота, чтобы ускорить отгрузку в 2 раза или Реальный опыт внедрения нового механизма "Трансляция событий" от 1С-Коннект

Интеграция v8 Бесплатно (free)

Статья о внедрении и использовании в решениях задач нового механизма от 1С-Коннект. Будет полезно тем кто использует интеграцию 1С-Коннект с 1С Предприятие. На текущий момент механизм "Трансляция событий" находится в бета-тестировании и доступен только закрытому списку приглашенных участников. Выражаем благодарность разработчикам механизма "Трансляция событий".

24.06.2020    1147    direwest    4    

Маркировка лекарственных препаратов. Часть первая "Быстрая интеграция"

Интеграция v8 1cv8.cf Фармацевтика, аптеки Россия УУ Бесплатно (free)

Данный цикл будет посвящен маркировке лекарственных препаратов (далее ЛП), нюансам работы с "1С: Библиотека интеграции с МДЛП", доступной для скачивания на сайте ИТС, методиками работы с регистраторами выбытия, и проблемам, с которыми пришлось столкнуться при интеграции. Эта статья будет представлять из себя краткую инструкцию, что делать, когда маркировка уже близко и необходимо быстро внедрить ее. Надеюсь, она станет подспорьем в данной задаче. Будут приведены рекомендации, как в короткие сроки с минимально необходимой функциональностью и минимумом чтения документации произвести интеграцию библиотеки МДЛП и выполнить начальные настройки. Также будут даны рекомендации по быстрым, но важным, на мой взгляд, доработкам.

23.06.2020    2154    IssakN    8    

Диадок. Подключаемый модуль. Отладка

Интеграция Внешние источники данных v8 1cv8.cf Бесплатно (free)

Небольшой пример, как работать с подключаемым модулем Диадок (для изменения УПД перед выгрузкой на сайт Диадок.). Отладка подключаемого модуля, если не смогли подключить стандартную отладку.

17.06.2020    2840    John_d    1    

1C# – 1С моей мечты

Интеграция v8 Бесплатно (free)

Встроенных в платформу 1С возможностей не всегда хватает для построения сложных интеграционных схем между различными 1С и не-1С-решениями на базе MS SQL Server. Как сделать интеграцию между SQL-базами более гибкой с помощью платформы 1С# на конференции Infostart Event 2019 Inception рассказал Дмитрий Жичкин.

01.06.2020    9941    zhichkin    33    

Обработчик "После завершения транзакции" своими руками

Практика программирования Интеграция v8::blocking Бесплатно (free)

Обработчик "Сразу после завершения транзакции" очень востребован в механизме обмена мгновенными сообщениями, развитием которого фирма 1С заинтересовались настолько, что уже создала "Сервисы интеграции". Но платформа 8.3.17 всё еще не имеет полноценного обработчика "После записи" в подписках на события.

31.05.2020    2520    barelpro    62    

Интеграция Camunda BPM и 1С

WEB Интеграция v8 Бесплатно (free)

Быстрый старт. Только практические примеры. Установка, запуск и публикация бизнес-процесса на сервере Camunda BPM. Управление бизнес-процессами из 1С при помощи Camunda REST API.

12.05.2020    3129    zhichkin    19    

Как мы загружаем данные в "Центр управления кассами Магнита"

Внешние источники данных Интеграция v8 1cv8.cf Бесплатно (free)

Статья о том, как мы делали механизм загрузки больших объемов данных в "Центр управления кассами Магнита"

08.05.2020    4629    chernenko_vv    25    

Интеграция СуперОкна7 и УНФ

Интеграция Внешние источники данных v8 УНФ Россия Бесплатно (free)

Изучаем базу данных СуперОкна7, смотрим возможности передачи и получения информации.

08.05.2020    1927    vostok1.dz    2    

Синхронизация БИТ:СКУД 8 с Parsec.Net 2.5

Интеграция Внешние источники данных v8 1cv8.cf Бесплатно (free)

Настройка синхронизации БИТ:СКУД 8 с Parsec.Net.2.5, выгрузка данных из внешней системы контроля доступа.

04.05.2020    3684    RPGrigorev    0    

Измерительная лаборатория с использованием 1С+Ардуино

Периферийные устройства Интеграция v8 Россия Бесплатно (free)

1С в автоматизации "научных" и около... экспериментов.

02.05.2020    3989    maxlab    15    

Интеграция БИТ:СКУД с типовой конфигурацией

Интеграция v8 1cv8.cf Россия Бесплатно (free)

Интеграция БИТ:СКУД с типовой конфигурацией, обновление БИТ:СКУД в составе конфигурации и отдельно. Обновление системы защиты.

26.04.2020    4758    RPGrigorev    0    

Интеграция 1С и BI-системы: мой опыт с коннектором ATK BIView

Интеграция v8 1cv8.cf Россия Бесплатно (free)

Интеграция 1С и BI-системы: мой опыт с коннектором ATK BIView.

06.04.2020    3786    Flyerink    0    

Как я собрал для себя высокопроизводительный и бесплатный облачный бекенд для 1С на PosgreSQL + PostgREST

Производительность и оптимизация (HighLoad) WEB Интеграция Мобильная разработка Администрирование веб-серверов v8 Бесплатно (free)

В этой статье я расскажу о проблемах бека для мобильных приложений или другого фронта, который требует производительности, быстрой реакции и отказоустойчивости, и как я решил это благодаря opensource проекту PostgREST и СУБД Postgre SQL 12. Проведу простой тест производительности для сравнения 1С с данным решением. Это может быть полезно всем, кто разрабатывает мобильные приложения либо фронтсайд-приложения для 1С на чем угодно - на мобильной платформе или на нативном языке или на Simple UI. И также обзор новых функций SimpleUI для связи с этим бекендом.

31.03.2020    11814    informa1555    28    

Использование таблиц SQL Server в качестве очередей сообщений

Практика программирования Интеграция v8 Бесплатно (free)

Статья о событийно-ориентированной интеграции и об асинхронной обработке данных в контексте 1C под управлением SQL Server. Подробно разбирается вопрос использования таблиц СУБД в качестве очередей сообщений.

23.03.2020    2577    zhichkin    6    

Интеграция "Библиотеки интеграции МДЛП 1.1.2.7" с типовой конфигурацией

Интеграция Конфигурирование 1С v8 Здравоохранение, медицина, стоматология Россия Бесплатно (free)

Инструкция для интеграции “Библиотеки интеграции МДЛП 1.1.2.7” в типовые конфигурации, на примере конфигурации “Управление нашей фирмой, редакция 1.6 (1.6.18.168)”.

02.03.2020    4993    RPGrigorev    3    

Бесшовная интеграция через обмен по правилам - миссия выполнима

Практика программирования Интеграция Перенос данных из 1C8 в 1C8 v8 ДО ERP2 Бесплатно (free)

При организации работы с договорами в ERP 2, с помощью бесшовной интеграции с Документооборотом, «типовой» методикой является создание договоров в ЕРП. После создания договора в ЕРП, пользователь «отправляет» договор в ДО по бесшовной интеграции. На практике, весьма часто пользователи хотят видеть обратную схему: вводить договоры в ДО и при этом получать их в ЕРП без «лишних телодвижений». Или даже вводить их независимо в обеих системах – так, чтобы потом «стыковать» по каким-то определенным правилам.

24.01.2020    4662    e-9    2    

Передача данных с сервера на клиент через WebSocket NativeAPI и Centrifugo

Интеграция v8::УФ 1cv8.cf Россия Бесплатно (free)

В статье описываю реализацию обмена для замены передачи сообщений через 1С Сервер взаимодействия.

23.09.2019    6945    malikov_pro    11    

Оповещения боту из 1С за 31 минуту

Практика программирования Интеграция v8::УФ 1cv8.cf Бесплатно (free)

Поделюсь опытом, как быстро сделать бота с оповещениями в Телеграмм из 1С без лишних затрат.

18.09.2019    16562    feva    39    

Система питания в офисе: как совместить вендинговые автоматы, 1С, облачную кассу и веб-технологии

Интеграция Розничная торговля Розничная торговля v8 1cv8.cf Розничная и сетевая торговля (FMCG) Россия УУ Бесплатно (free)

В начале 2019 года тенденция развития автоматов питания в России привела к появлению проекта нового формата питания на работе — МикроМаркета “Го!Поедим”. Потребовалось создать новый формат зоны питания сотрудников: интегрировать в офисные кухни полноценные МикроМаркеты с бесконтактной оплатой, кофе-машинами, лаунж-зоной. Если правильно совместить вендинговые автоматы, облачную кассу, 1С и веб-технологии, то в результате будут не только сытые сотрудники, но и корректная работа всей системы офисного питания.

22.06.2019    6322    antonovintervolga    6    

1С + TecDoc + CMS Битрикс. Трудности перевода

Интеграция Оптовая торговля Оптовая торговля v8 1cv8.cf Автомобили, автосервисы Россия УУ Бесплатно (free)

Варианты подключения номенклатурных данных базы TecDoc, если у вас автобизнес.

12.04.2019    6558    n.saltsina    11    

RabbitMQ + Конвертация Данных 3.0

Внешние источники данных Обмен через XML Интеграция Перенос данных из 1C8 в 1C8 v8 КД Бесплатно (free)

Предлагаем ознакомиться с хронологией проекта, проследить ход мыслей от снятия потребностей до реализации, и решить, удалось ли проектной команде найти оптимальное архитектурное решение под конкретный кейс заказчика путем совмещения двух известных, но до сих пор не пересекавшихся технологий, и получилось ли сложить плюсы и устранить минусы каждой из них.

21.03.2019    25424    barelpro    82    

Переход на "Зарплату и управление персоналом 3.1"

Интеграция Управление персоналом (HRM) Пользователю системы Бухгалтерский учет Управление персоналом (HRM) v8 v8::СПР ЗУП2.5 ЗУП3.x Россия БУ Бесплатно (free)

Сменила я тут работу и уже после того, как я приступила к исполнению обязанностей, мой новый начальник мне призналась, что выбор пал на меня только из-за того, что я знаю программу. Справедливости ради, эта уверенность была основана только на том, что я прошла тестирование, включающее только основные операции кадрового делопроизводства. Так или иначе, а работодатель попал в точку, нанимая меня в надежде, что я решу проблему: нужно перейти «с 8.2 на 8.3». Ничего сложного, скажет большинство, я тоже так говорю, но ситуация осложнялась некоторым количеством предшественников, которые уже «нафеячили» в программах до меня. Взять и сделать все заново мне не разрешили, так что пришлось исходить из того, что есть, и именно это дало пищу для размышлений и, в конце концов, привело к написанию этих рекомендаций. Если перед Вами стоит задача перехода с ЗУП 2.5 на ЗУП 3.1, я попробую облегчить Вам жизнь этой статьей.

01.02.2019    13047    VKuser24804875    33    

Выбор программы 1С

Пользователю системы Интеграция Управление проектом v8 1cv8.cf Россия Бесплатно (free)

Данная статья является своеобразной точкой отсчета для тек, кто размышляет на тему автоматизации бизнес-процессов своей компании. Для тех, кто только начинает свое знакомство с линейкой программных продуктов фирмы 1С. Мы рассмотрим упрощенный процесс выбора программного продукта применительно к тому или иному направлению учета.

16.01.2019    9019    itworks    22    

Проектирование архитектуры и модификация программных продуктов как технология в сложных проектах системной интеграции и автоматизации на базе 1С: СППР

Управление проектом Интеграция СППР v8 1С:Франчайзи, автоматизация бизнеса Бесплатно (free)

Как сделать проектирование функциональной архитектуры ПО технологией. Цель - устранить ряд типовых проблем на сложных проектах. Как использовать для решения этих задач 1С система проектирования прикладных решений (СППР). Статья полезна для директоров франчайзи, системных интеграторов, руководителей проектов, архитекторов и консультантов.

03.10.2018    16410    roman72    19    

Планы обмена 1С

Перенос данных из 1C8 в 1C8 Интеграция v8 Бесплатно (free)

В статье - мастер-классе Дмитрий Жичкин рассказывает, для чего нужны планы обмена 1С и какие задачи они решают. Он подробно описывает физическую структуру планов обмена и механизмов регистрации изменений, рассматривает основные проблемы, возникающие при выгрузке изменений и предлагает методы их решения.

10.09.2018    55028    zhichkin    29    

Создание web-площадки на технологиях 1С, или как Водоканал сделал "Личный кабинет потребителя"

WEB Интеграция v8 Энергетика и ЖКХ Бесплатно (free)

Гончаров Максим делится опытом создания «Личного кабинета потребителя» на сайте водоканала. Он описывает архитектуру системы и объясняет, какую роль в ней играют технологии: «Битрикс», OData, веб-сервисы, «1С:БСП». Также в статье раскрываются возможности использования подсистемы «Анкетирование» в «1С:БСП» как конструктора документов.

25.06.2018    17078    maxx    33    

На что действительно способны HTTP-сервисы

WEB Интеграция v8 Бесплатно (free)

В статье я собираюсь не только рассказать вам про HTTP-сервисы 1С, но и показать много прикольных слайдов с картинками. Я думаю, будет весело, и вы найдете для себя что-то полезное.

14.06.2018    35222    dalgaso2010    45    

Как написать обмен с 50 поставщиками и не сойти с ума. Теория

Интеграция v8 1cv8.cf Бесплатно (free)

Поставщики бывают разные. Одни готовы подстроиться под наш формат - другие нет; одни обмениваются SOAPом - другие RESTом; одни работают с кодами товаров - другие с идентификаторами предложений; одни готовы отдать статус по заказу - другие нет; у одних есть справочники, элементы которых вам нужно сопоставить со своими - у других нет. В общем очень разные.

09.04.2018    11615    m-rv    12    

Может ли 1С выйти на рынок B2C

Интеграция v8 Бесплатно (free)

Размышляя о том, может ли 1С втиснуться на рынок сервисов типа Slack, Wrike и им подобных, текст незаметно углубился в размышления о том, где граница применимости платформы 1С. Что будет, если 1С пойдет на рынок таких продуктов и возможно ли это вообще. Рассказал свое представление о том, где у 1С есть преимущества и где слабые стороны. Получился такой себе вырожденный SWAT-анализ. Но без таблиц. Только буквы, только хардкор.

15.08.2017    13573    WanGoff    76    

Обмен сообщениями. Что это?

Интеграция v8 Бесплатно (free)

Большая часть моей работы посвящена интеграции приложений. Очень странно, что для «1С:Предприятие 8» нигде не описаны промышленные шаблоны интеграции, а если и есть какая-то информация — то ее очень мало. Цель данной статьи (или цикла статей, как получится) стало желание поделится опытом, источниками информации и самое главное полезными книгами.

27.10.2016    22419    pbazeliuk    11    

Контур.EDI изнутри, или история командной разработки тиражного продукта на 1С

Интеграция Практика программирования Математика и алгоритмы Оптовая торговля Оптовая торговля v8 Россия УУ Бесплатно (free)

“Система - больше, чем просто совокупность ее элементов”; “Несколько разработчиков - это еще не команда разработки”. Расскажу, как мы прочувствовали эти очевидные утверждения на своей шкуре.

17.11.2015    40799    skif47    94    

УПП + Perco + SDK

Интеграция v8 УПП1 Россия Бесплатно (free)

1С: УПП интеграция с Perco через SDK

24.10.2014    32520    Alex33614    12    

Интеграция 1С с Perco

Интеграция v8 УПП1 Россия Бесплатно (free)

Как работать с базой электронной проходной Perco через 1С.

16.10.2014    29960    Alex33614    17    

Автоматизация компании ЖКХ: задачи и решения

Интеграция v8 Энергетика и ЖКХ Россия Бесплатно (free)

Отрасль жилищно-коммунального хозяйства мы до сих пор видели в двух ипостасях. Это оставшиеся с советских времен, жутко неэффективные МУПы и ДЭЗы и новоиспеченные фирмы, дорвавшиеся к «большим» деньгам ЖКХ, при этом тут же попавшие в шумные скандалы о растратах и неэффективном управлении. Но потихоньку ситуация меняется. Приходят на руководящие должности разумные люди, создаются управляющие компании целью которых становиться не «урвать и сбежать», а нормально работать и зарабатывать.

29.05.2011    11345    verybig    14