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

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

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

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

Добрый день, друзья. Меня зовут Жичкин Дмитрий. Я – программист широкого профиля. Сразу скажу, что проект решения, про которое я буду рассказывать, размещен на GitHub https://github.com/zhichkin/one-c-sharp, там есть подробная видеоинструкция, благодаря которой вы сможете начать использовать проект уже через 15 минут после её просмотра.

Развитие проекта можно найти здесь: DaJet QL - расширяемый язык запросов и JSON в запросах DaJet QL

 

Интеграция – это просто!

 

 

Основная идея проекта – интеграция должна быть настолько простой, насколько это возможно. В частности, платформу 1C# отличает очень легкое и быстрое создание веб-сервисов, а также получение данных из различных источников без обменов и COM-соединений – в одном запросе.

Кратко идею проекта можно выразить таким оператором SQL, как:

SELECT FROM ЛюбойИсточникДанныхИлиИхКомбинация INTO ВебСервис

На слайде вы видите иконку 1С7.7. Это не просто так, благодаря 1С# 1С7.7 теперь тоже умеет веб-сервисы.

 

 

Платформа 1C# состоит из трех компонент – это:

  • метаданные в терминах метаданных 1С;
  • запросы, которые также конфигурируются в терминах метаданных 1С восьмой версии (несмотря на то, что мы работаем с различными источниками – 7.7, 8.x, не-1С-ные базы, с любыми источниками работаем именно в терминах метаданных 1С);
  • и платформенный веб-сервер 1C#

 

 

Чтобы создать веб-сервис на платформе 1С#, нужно сделать три простых действия:

  • создать в метаданных объект «Запрос данных»;
  • сконфигурировать его при помощи дизайнера запросов;
  • и начать пользоваться.

 

Модель метаданных 1С#

 

 

Теперь немного теории о каждом компоненте.

Платформа 1С# основана на метаданных – ровно так же, как и 1С. Но она имеет свою собственную универсальную модель метаданных, которую вы видите на слайде. Она очень простая. И именно за счет этого достигается возможность моделировать любые структуры данных – 7.7, 8.х, не 1С-ных баз – любых реляционных баз.

 

 

Платформа 1С# имеет конфигуратор, что не удивительно. Выглядит он примерно так, как показано на слайде:

  • слева мы видим панель метаданных, которые отображаются ровно так же, как и в 1С – вам это будет сразу понятно и привычно;
  • а справа мы видим рабочую панель, где можно конфигурировать запрос, просматривать свойства метаданных – в данном случае мы видим метаданные SQL-сервера, тут выведен какой-то регистр сведений.

Как метаданные 1С попадают в конфигуратор 1C#?

Они туда попадают точно так же, как и в «Конвертацию данных» – есть обработка на управляемых и неуправляемых формах, которая выгружает метаданные 1С в виде XML-файла, и мы его потом загружаем в конфигуратор 1C# и дальше пользуемся.

Но попутно конфигуратор 1С# загружает еще и метаданные SQL-сервера – типы данных полей и прочее. Таким образом, мы имеем в платформе данные прикладных объектов в виде метаданных и метаданные SQL.

 

Дизайнер запросов 1C#

 

 

На эту информацию опирается дизайнер запросов. Он работает в терминах метаданных 1С восьмой версии. Его особенность – в запросе мы можем обратиться к любому источнику данных, к любой базе. Например, у нас есть база Торговли и Бухгалтерии, мы можем одним запросом обратиться к двум базам и получить оттуда какие-то сведения.

Мы можем взять в качестве источников 7.7, 8.х, SQL-базу произвольного формата, и в одном запросе всю информацию из них соединением получить.

 

 

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

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

Обратите внимание, что дизайнер запросов 1С# несколько расширяет привычный нам язык запросов 1С – в частности, здесь используются табличные хинты, которых иногда не хватает в языке запросов 1С.

 

 

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

Другими словами, на платформе 1С# запрос фактически равен веб-сервису.

При этом генерируется автоматически REST API и пр.

 

Web сервер 1С#

 

 

Третий компонент платформы – это веб-сервер. Он построен на базе Kestrel, это кроссплатформенное решение.

Для тех, кто не знает, что такое Kestrel – это как Node.js, только быстрее. Он просто работает – обрабатывает запросы и отдает данные в JSON.

 

Пример использования 1С#

 

 

Давайте на небольшом практическом примере рассмотрим, как можно создать веб-сервис на платформе 1С#.

Допустим, мы хотим сверить два справочника в разных базах («Управление торговлей» и «Бухгалтерия предприятия») – пусть это будут справочники валют.

Одним запросом мы их соединим FULL JOIN и результат отдадим по REST API в виде JSON.

 

Шаг 1. Определяем URL

 

 

Первый шаг – в конфигураторе 1С# в панели метаданных мы создаем структуру URL. Готовый URL видно на слайде в правом верхнем углу.

При этом есть возможность разделять REST API по версиям (пространствам имен) – можно создать «версию 1», «версию 2», «версию для тестирования», а потом из «версии для тестирования» перенести запрос в рабочую ветку.

Это делается очень просто, за несколько секунд – URL задан.

 

Шаг 2. Редактируем запрос

 

 

Далее – мы правой кнопкой щелкаем на объекте метаданных ЗапросДанных, в контекстном меню выбираем «Редактировать»

 

 

У нас открывается шаблон SELECT.

 

 

В поле FROM подставляем данные справочника из базы «Управление торговлей» (перетаскиваем его из дерева метаданных с помощью Drag and Drop). Добавляем таблички из «Управления торговлей» и из «Бухгалтерии».

В качестве соединения выбираем FULLL JOIN. В качестве варианта чтения выбираем nolock (в MS SQL Server это называется READUNCOMMITED).

 

 

Добавляем условие соединения – в данном случае, по коду.

 

 

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

 

 

Теперь нужно сохранить запрос в метаданных – нажимаем кнопку Save.

И можем тут же проверить результат запроса нажатием кнопки Execute, в стиле Microsoft SQL Server Management Studio.

 

 

Результат запроса сервер 1C# показывает нам сразу в табличном виде – мы видим это в интерфейсе.

Здесь мы видим, что:

  • рубли у нас есть в обоих базах;
  • в «Управлении торговлей» у нас есть китайские юани – их нет в «Бухгалтерии»;
  • в «Бухгалтерии» есть доллар и евро – их нет в «Управлении торговлей».

Работает.

 

Шаг 3. Пользуемся

 

 

И третье действие – пользуемся. Когда мы обратимся по тому URL, который мы сконфигурировали, наши табличные данные будут представлены в виде вот такого JSON – мы их получим запросом к веб-серверу 1С#.

Вот так просто создается веб-сервис на платформе 1С#.

 

Запросы к метаданным

 

 

Но это еще не все.

Структура хранения 1С# предполагает хранение метаданных так же, как и всех остальных объектов. Есть специальная информационная база – Metadata, где в табличках хранятся метаданные. Соответственно, это дает возможность обращаться с запросами к метаданным. Зачем это нужно? Казалось бы, это избыточно. Но на самом деле, это очень удобный инструмент, и я им пользуюсь довольно часто.

Например, на слайде сконфигурирован запрос – сейчас мы подробнее разберем, что он делает.

 

 

Допустим, это может быть полезно для BI. Предположим, бизнес-аналитик приходит к 1С-нику, говорит: «Мне нужно получить названия всех таблиц справочников Номенклатура во всех базах 1С, которые зарегистрированы на сервере 1С#».

С помощью дизайнера запросов можно сконфигурировать такой запрос и прямо здесь по кнопке Execute посмотреть его результат в табличном виде. На слайде видно, как называется эта таблица в базе «Бухгалтерии», и как – в «Управлении торговлей».

Также можно получить эти данные по REST API в виде JSON – справа в верхнем углу на слайде видны параметры, которые были отданы в запросе к REST.

И с этим можно сразу же начинать работать – не нужно ничего придумывать. Можно сразу что-то перегружать в OLAP и прочее (как один из вариантов использования).

Лично я этим пользуюсь, чтобы быстро находить названия таблиц, либо, наоборот, из названия SQL-таблиц понимать, каким объектам метаданных это соответствует – это очень удобно.

 

 

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

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

При этом «Бухгалтерию» дорабатывать нельзя – веб-сервисы 1С на нее вешать нельзя, изменять ее никак нельзя. И обмены данными мы с ней никакие делать не хотим – не хотим соединяться с ней по COM-соединению и т.д. (допустим, эти базы вообще в разных городах, так тоже бывает).

Можно быстро накидать запрос, подцепить бухгалтерскую базу к 1С#, сделать REST API, и все. Это можно сделать буквально за несколько минут и использовать в нашей оперативной базе.

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

 

Плюсы 1С#

 

 

Плюсы.

  • Один из плюсов, который я вижу – это очень низкий порог входа. Достаточно знать основы метаданных 1С и немного язык запросов, этого достаточно, чтобы создавать веб-сервисы, вообще не зная, что это такое. Сконфигурировал запрос, нажал кнопку Save – и получил готовый веб-сервис.
  • Можно создавать витрины данных – mashup-приложения, получающие данные из нескольких баз (на примере с «Бухгалтерией» и с «Управлением торговлей»). Можно соединять данные из разных баз в едином интерфейсе безо всяких обменов – показывать их и делать какие-то витрины.
  • Создание микросервисов – понятно (Kestrel очень быстрый).
  • И хотелось бы особенно отметить еще один плюс – это расширение возможностей языка запросов. Не все возможности SQL-сервера используются в языке запросов 1С. Это можно исправить, например, при помощи платформы 1С#.

 

Планы развития 1С#

 

 

Планы развития

  • Когда вы голосовали за мой доклад, у меня было задекларировано, что я покажу, как организовать при помощи 1С# переносы данных (это INSERT, UPDATE, DELETE и т.д.). К сожалению, я не успел это реализовать к конференции. Но думаю, что до конца года я это точно успею сделать, и в платформе 1С# еще появятся операторы модификации данных.
  • Кроме этого, у меня в планах сделать объект метаданных «Очередь сообщений», чтобы это работало по аналогии, как сейчас работают веб-сервисы – мы делаем какой-то запрос, и в качестве INTO указываем имя очереди сообщений. И запрос просто кладет туда данные. Можно будет дергать такой запрос по REST API, дернули – и у нас в очередь что-то упало.
  • Интеграция 1С# и OneScript мне кажется очень перспективной, потому что по метаданным 1С# можно генерировать прикладные объекты для OneScript. Это даст возможность разрабатывать конфигурации на OneScript. И вообще работать с прикладными объектами 1С из OneScript.

А если развить мысль дальше, то можно придумать еще более интересные варианты:

  • берем Kubernetes – контейнеризируем туда 1C#;
  • подцепляем базу 1С;
  • к веб-сервисам 1С# цепляем веб-интерфейс «Цифрового Кота»;
  • потом прикручиваем Jenkins и весь DevOps;
  • вместо РИБ – Kafka или RabbitMQ.

Вот такой интересный Inception у меня по итогам конференции получился.

Если кому-то проект интересен, то все желающие приглашаются участвовать в нем, разрабатывать. Ссылка на GitHub – https://github.com/zhichkin/one-c-sharp

Продолжение развития проекта – новые возможности языка запросов 1C# в публикации //appaas.u-clouds.com/public/1226230/.

 

Вопросы:

 

  • У меня есть вопрос по обновлению метаданных вместе с обновлением баз. Как это реализовано? Через «Конвертацию данных» или как-то еще?
  • Да, в платформе 1С# есть возможность обновлять метаданные. Я об этом не стал в докладе рассказывать – хотелось просто сфокусироваться на главном. Мы той же самой обработкой выгружаем метаданные в XML, и есть специальная компонента. Дело в том, что 1C# - это модульная система. Этого модуля здесь на слайдах в интерфейсе не было видно – там, когда подключаешь еще один модуль, в меню появляется еще одна кнопка – и этот модуль умеет мержить и обновлять метаданные. Он делает это в интерфейсе примерно так же, как мы делаем в конфигураторе «Сравнение-объединение».
  • Я услышал в докладе плюсы, но не услышал минусы. Меня беспокоит вопрос – что по этому поводу думает 1С в части лицензионной политики?
  • Я ждал этот вопрос. Мне его задают последние лет 10, наверное. Я каждый раз отвечаю на этот вопрос по-разному, и уже устал отвечать. Можно я не буду отвечать?
  • Вы сейчас начали говорить о других операциях – не только SELECT, а INSERT, UPDATE и т.д. А вы не боитесь конфликтов с 1С:Предприятием? Когда люди там работают, как в основной системе, и здесь вдруг вы решаете со стороны – начинаете кидать куда-то данные. Как вы это собираетесь разруливать?
  • Когда вы пользуетесь ножом, у вас всегда есть риск порезаться. Поэтому любой инструмент требует аккуратного обращения. Вы абсолютно правы – все подряд не нужно такими операциями обрабатывать. Надо думать, что делаешь. Но иметь такую возможность очень приятно во многих случаях. Такие случаи в 1С есть.
  • RLS поддерживается?
  • Нет, не поддерживается, потому что запросы летят напрямую в SQL. Соответственно, если очень хочется, я не вижу препятствий, чтобы взять RLS из 1С и просто к каждому запросу его подцеплять. Это можно сделать. Если кто-то подключится к разработке, я буду очень благодарен – то, что вы сейчас видели, я делал в свободное от работы время.
  • Насколько видно из презентации, ваш инструмент в итоге генерит просто SQL-запрос, как есть. И отдает его SQL-серверу. А вопросы безопасности – такие, как выполнение запроса под разными пользователями, выполнение запроса на разных SQL-серверах – это, получается, уже нужно спускать на уровень системных администраторов?
  • У нас с SQL базой данных работает сервер 1С под одной учеткой всегда. Здесь можно сделать то же самое. От Kestrel работать под одной учеткой. Можно навернуть еще что-то. Я этим вопросом пока не озадачивался. Это – концепция.
  • Это – перекладывание запроса. Фактически мы из уровня прикладного 1С спускаемся на уровень прямых запросов SQL. Соответственно, нам нужно уже подтягивать DBA на то, чтобы разруливать эти запросы.
  • Если вернуться к вопросу о безопасности, я еще раз повторяю – платформа 1С# работает с какой-то строкой соединения. Ничто не мешает в эту строку соединения заложить имя конкретного пользователя и пароль. Это будет работать точно так же, как работает сервер 1С. Я понимаю, что есть еще система безопасности более высокого уровня, которую обеспечивают роли 1С и т.д. Но никто не мешает на Kestrel логиниться и там все это разруливать. Соответственно, можно сделать, что каким-то пользователям какие-то веб-сервисы видны, а какие-то не видны. Эту подсистему, конечно, нужно делать. Ее сейчас нет.
  • Хочу уточнить по поводу источников данных. Базы 7.7 – понятно, базы 8.х – понятно. А в качестве прочих источников подразумеваются какие-то сторонние базы на платформе SQL?
  • Вообще любые, но именно MS SQL Server. Это все сейчас работает только с MS SQL Server. Если в сообществе найдется кто-то, кто хорошо знает Postgres и С# – пожалуйста, можно сделать и для Postgres, и для чего угодно. Просто лично я Postgres не очень хорошо знаю. Там просто есть строка подключения, и в частности, с SQL-сервером работает не ODBC, а Native Client. С другими базами так же. Если у вас базы лежат на разных инстансах, это работать в одном запросе не будет. Чтобы подружить MS SQL Server и Postgres – надо будет что-то делать. Если делаются запросы к разным базам, то базы должны лежать на одном инстансе – иначе не получится. Зато можно сделать два веб-сервера на разных серверах и потом они могут между собой общаться. Я пока не допилил запросы 1С#, чтобы он сам кого-то спрашивал – пока его спрашивают. Но можно допилить, чтобы еще и он кого-то спрашивал. И еще никто не отменяет линкованные сервера. SQL это позволяет, значит, это позволяет 1С#. Концепция такая – все, что позволяет MS SQL Server (большинство востребованных возможностей), должен позволять 1C#.
  • Поддерживаются ли параметризированные запросы?
  • Да, на одном из слайдов, где я показывал интерфейс дизайнера запросов, там наверху было видно, что можно указывать параметры запроса. И когда я рассказывал про запросы к метаданным, там тоже в правом верхнем углу были параметры, которые передавались в запрос в виде JSON.
  • Подскажите, а есть ли возможность консольной загрузки метаданных, выгруженных из 1С?
  • Нет, консольной утилиты нет. Но можно доработать.

 

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

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

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

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

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

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. pm74 169 01.06.20 12:38 Сейчас в теме
выглядит круто
1. не совсем понял традиционные 1с web http сервисы как то присутствуют в вашей среде или
все только на связке 1C# + MS SQL + Kestrel ?
2. с загрузкой метаданных понятно, что с обновлением ?
3. работает только на win , ms sql или и на других платформах тоже ?
3. Varies 01.06.20 14:59 Сейчас в теме
(1) Если прочитать внимательно, то все ответы на ваши вопросы есть ;)
7. zhichkin 723 01.06.20 15:11 Сейчас в теме
(1) 1. Нет. Только 1C# + MS SQL + Kestrel. 1C может вызывать web-сервисы 1C#.

2. Есть возможность по аналогии со сравнением / объединением как в 1С. Это отдельный модуль. На GitHub он там где-то есть в какой-то папке. Честно говоря, не успел его полноценно прикрутить. Нужно время.

3. Первая версия проекта - только Windows. Вторая (ссылка в шапке доклада) - кросплатформенна.
2. CheBurator 3422 01.06.20 13:00 Сейчас в теме
Если это будет работать с 1С 7.7 - то это 1.круто 2.то что надо!
Прикрутить сабж к 1С 7.7 DBF - есть возможность (прямые запросы)..?
5. zhichkin 723 01.06.20 15:04 Сейчас в теме
(2) Если специально этим заморочиться, то можно и к DBF.
Интеграции с 7-кой посвятил мало времени: работы много, а перспектива непонятна.
12. CheBurator 3422 02.06.20 21:22 Сейчас в теме
(5) еще менее понятна перспектива на 8-ке. где и без этого всяких приблуд вагон ;-)
4. Varies 01.06.20 15:01 Сейчас в теме
А я веб-сервисы через расширения добавляю, и трогать конфигурацию не нужно.
но в целом проект интересный и перспективный :)
6. zhichkin 723 01.06.20 15:07 Сейчас в теме
(4) Проект нарушает лицензионное соглашение 1С.
Имейте это ввиду, пожалуйста.
1C# - это исследовательский проект.
9. user759467 01.06.20 22:31 Сейчас в теме
(6) А что именно нарушает 1C# в плане лицензии? Изменений в программном 1с коде не делаются, делать запросы в скуль и выгружать структуру метаданных тоже вроде не запрещено.
10. Fox-trot 114 01.06.20 22:37 Сейчас в теме
нельзя обращаться напрямую к бд, надо через ком-коннектор хотя бы
8. officeRebot 11 01.06.20 21:31 Сейчас в теме
Позитивная программа, но не совсем понятны преимущества перед HTTP сервисом со справочником запросов или внешних обработок для получения данных, завернутых в расширение , которые не будут нарушать ЛС.
11. zhichkin 723 01.06.20 22:45 Сейчас в теме
(8) Быстродействие и производительность.

Вообще изначально проект задумывался под другое.
Подо что - ответ в развитии проекта:
Язык запросов 1C#
JSON в запросах 1C#
13. Vortigaunt 82 02.06.20 23:08 Сейчас в теме
Можно ли этой платформой заменить механизм http-сервисов 1С? Есть ли нормальная авторизация, а не как у 1С - где логин + пароль передаются в Base64 строке?
Предполагается применить вашу платформу для организации дисконт-сервера. Кассы должны быстро коннектиться к базе со скидками, записывать туда начисления баллов, считывать остаток баллов. Подойдет ли для такой задачи?
14. zhichkin 723 03.06.20 00:10 Сейчас в теме
(13) В целом ответ - да.
Если есть конкретное деловое предложение, то пишите в личку.
19. Vortigaunt 82 03.06.20 12:51 Сейчас в теме
(14) Но для этого надо дождаться реализации методов INSERT, UPDATE, DELETE?
20. zhichkin 723 03.06.20 13:03 Сейчас в теме
22. Vortigaunt 82 03.06.20 13:40 Сейчас в теме
15. savostin.alex 76 03.06.20 02:33 Сейчас в теме
Добрый день.
Подключение работает только к локальному серверу БД? При попытке подключиться к стороннему и выполнить запрос - база вне сети, хотя метаданные были загружены...
16. savostin.alex 76 03.06.20 03:29 Сейчас в теме
(15)Связанный сервер я создал, базы на удаленном сервере БД вижу в SSMS
18. zhichkin 723 03.06.20 12:09 Сейчас в теме
(16) Это про какую версию 1C# ?
Первая не умеет связанные сервера - только БД на одном инстансе.
Вторая версия здесь: Язык запросов 1C#
21. savostin.alex 76 03.06.20 13:19 Сейчас в теме
(18)0.1.0, для нее был zip со всем необходимым. Для новой версии нужно с git забрать все библиотеки и подменить их? Готовой сборки нет?
23. zhichkin 723 03.06.20 14:09 Сейчас в теме
24. savostin.alex 76 04.06.20 02:20 Сейчас в теме
(23)В инструкции:

1. Распаковать установочный архив 1C# в любой каталог.

Далее, при выполнении bat для запуска web-сервера - dotnet OneCSharp.Web.Server.dll - нет такой библиотеки.
ЧЯДНТ?
30. zhichkin 723 04.06.20 14:31 Сейчас в теме
(24)
Далее, при выполнении bat для запуска web-сервера - dotnet OneCSharp.Web.Server.dll - нет такой библиотеки.
ЧЯДНТ?

.net core установили ? Полный тект ошибки какой консоль выдаёт ?
25. savostin.alex 76 04.06.20 10:02 Сейчас в теме
(23)Разобрался немного.
На тестовом запросе

SEL ECT TOP 10
	TYPEOF(Документ.ПоступлениеТоваровУслуг) AS TYPEOF,
	Ссылка      AS Ссылка,
	_IDRRef     AS Ссылка_IDRRef,
	Ссылка.uuid AS Ссылка_uuid,
	Ссылка.type AS Ссылка_type,
	DATEADD(YEAR, -2000, Дата) AS Дата,
	_Date_Time AS DateTime,
	_Version
FR OM
	Документ.ПоступлениеТоваровУслуг
Показать

получаю:
{"result":"","errors":[{"line":0,"description":"TYPEOF не является известным имя встроенной функции."}]}

В статье же сказано:

Язык запросов 1C# реализует специальную функцию TYPEOF для получения кода типа объекта аналогично функции ССЫЛКА в языке запросов 1С.

Что необходимо сделать?
27. zhichkin 723 04.06.20 14:26 Сейчас в теме
(25)
TYPEOF(Документ.ПоступлениеТоваровУслуг) AS TYPEOF,

У Вас SQL Server какой версии ? Попробуйте на SQL Server 2016 Express. Возможно парсер младшей версии недогонят ...
29. zhichkin 723 04.06.20 14:30 Сейчас в теме
(25) Давайте так: по первой версии 1C# будем задавать вопросы здесь, а по второй - там.
31. zhichkin 723 05.06.20 03:20 Сейчас в теме
(25) Сделал всё по своей инструкции. Работает "из коробки". Прилагаю скриншот из Postman.
Прикрепленные файлы:
17. Fox-trot 114 03.06.20 08:24 Сейчас в теме
попробуй увеличить время простоя соединения
26. herfis 365 04.06.20 10:16 Сейчас в теме
Я вижу огромный труд и практически готовый коммерческий продукт.
Соответственно и вопрос (возможно, проглядел на него ответ) - какова схема распространения и использования сейчас и какова она в планах?
ЗЫ. В принципе, на гитхабе я вижу ответ на первую часть вопроса.
28. zhichkin 723 04.06.20 14:28 Сейчас в теме
(26) Никаких планов нет. Спасибо лицензионному соглашению от 1С.
Вы с какой целью интересуетесь ? Есть конкретное предложение - пишите в личку.
32. goodursus 08.06.20 14:33 Сейчас в теме
С 1С базами все получилось, спасибо за информацию. А вот с "SQL-база произвольного формата" желательно бы тоже подробный пример для подключения, так как Метаданные - Открыть подразумевают начальную загрузку xml файла, а потом уже подключение к базе MS SQL.
Заранее спасибо.
33. zhichkin 723 08.06.20 15:09 Сейчас в теме
(32) Выгружаете метаданные из 1С в xml. Смотрите формат этого xml - он очень простой. Делаете такой же для баз данных не на 1С. Дальше по инструкции.
Я понимаю, что такой ответ звучит сложно, но пока только так. Сейчас времени сделать автоматическое формирование xml по произвольной базе данных из SQL Server у меня нет. Возможно, что я вернусь к этому вопросу позже.
Оставьте свое сообщение

См. также

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

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

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

01.02.2019    12527    0    VKuser24804875    33    

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

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

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

16.01.2019    8771    0    itworks    22    

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

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

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

03.10.2018    15995    0    roman72    19    

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

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

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

15.08.2017    13396    0    WanGoff    76    

УПП + Perco + SDK

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

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

24.10.2014    32320    0    Alex33614    12    

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

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

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

29.05.2011    11264    0    verybig    14