Тонкости и подводные камни работы типового модуля интеграции Битрикс24 и 1С

07.11.21

Интеграция - WEB-интеграция

Цель статьи - указать на подводные камни и нюансы, о которых “не пишут на заборах” и которые встретились мне за время внедрения типового модуля интеграции 1С и Битрикс24. Будет интересна для людей, кто подумывает о том, чтобы настроить интеграцию, и хотят понять, с чем столкнутся. А также для тех, кто уже работает с подобным обменом, столкнулся с какими-то из описанных ситуаций и хочет понять, что пошло не так и “как жить дальше”. Постараюсь все описать “человеческим” языком с минимальной долей терминов, так как статья, надеюсь, будет полезна не только программистам.

P.S. В процессе написания понял, что придется писать цикл статей, т.к. в одну все просто не уместить...

Прежде всего хочу акцентировать внимание на том, что это НЕ инструкция! Подробнейшая инструкция по настройке имеется на официальном сайте HelpDesk’а Bitrix24 в открытом для всех и каждого доступе https://helpdesk.bitrix24.ru/section/104395/ (в статье я буду периодически оставлять ссылки на описание конкретных настроек).

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

Основные положения:

  • Рассматривать будем общую ситуацию полной интеграции, то есть с обменом (происходящим в обе стороны) всеми основными сущностями - товарами, контрагентами и заказами (счетами, в случае с Бухгалтерией предприятия - далее БП);
  • Рассматриваем всё без привязки к конкретной конфигурации (за исключением моментов, когда ситуация касается специфики конфигурации), подразумевая, что она не была изменена (типовая). 1С Фреш не рассматриваю, но если хочется понатягивать сову на глобус, информацию о поддержке можно найти тут;
  • Битрикс24 может быть как коробочный, так и облачный (учтите - в облачном теперь доступен обмен только на максимальном тарифе);
  • Идти будем по нарастающей сложности, запутанности и сцепленности разделов в порядке Общие настройки -> Товары -> Контрагенты -> Заказы (Счета).

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

Общие настройки

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

 

1. Установка модуля

Здесь мне особенно сказать нечего. Ребята из Битрикс сделали все грамотно и постарались максимально упростить процесс установки, чтобы даже простой пользователь с полными правами и без высшего образования по специальности “программист” мог его установить. Инструкцию для всех актуальных конфигураций ищите тут, главное - убедитесь, что ваша версия конфигурации максимально свежая. А иначе придется привлекать программиста, чтобы решить проблемы с совместимостью или установкой модуля более ранней версии (найти можно тут).

 

 

Сам модуль представляет из себя расширение конфигурации, что позволяет не вносить изменений в вашу конфигурацию и сэкономить тонны времени и средств на обновление. НО! Вот для 1С Управление Торговлей 10.3 все немного не так просто. Тут точно понадобится понимание что и как вы делаете, доступ к конфигуратору и немного прямых рук, так как модуль вшивается непосредственно в конфигурацию. Комплект для установки шаблона можно отыскать вот тут. Инструкция по установке в саму конфигурацию идет в комплекте.

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

 

 

2. Схемы обмена

Главные вопросы раздела: “Что с чем меняется?”, “А если у нас две базы 1С?” и “А если у нас два Битрикса?”.

 

 

2.1. Первый вопрос больше философский. Если же подойти с технической точки зрения к ответу на первый вопрос, то меняется в нашем случае всегда 1С с Битрикс24. Инициатором обмена всегда служит 1С! То есть непосредственно управлением выгрузкой/загрузкой данных манипулирует 1С. Битрикс в лучшем случае знает, что за 1С к нему подключена и какие объекты она планирует забирать и присылать. Непосредственно “забирает” из Битрикс24 с помощью запросов изменения сама 1С, ну и конечно же отправляет обратно свои изменения.

Нужно упомянуть, что есть режим обмена в реальном времени посредством поддержки постоянной связи с Битрикс24 и мгновенного получения изменений, но по сути своей он сводится к тому, что Битрикс сразу после изменений передает сообщение 1С, что изменения были, и 1С их тут же “забирает”. Технически манипулирует выгрузкой все равно 1С.

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

  • Контрагенты из всех баз 1С попадут в Битрикс и, как следствие, во все базы, где их нет (через Битрикс выгрузятся в базы при обмене);
  • Товары также попадут из всех баз во все базы;
  • Новые объекты из Битрикс24 будут попадать в базу 1С, которая первой “заберёт” изменения;
  • Изменения в реквизитах объекта на стороне одной из баз 1С приведут к изменению объекта в Битриксе и изменят соответствующий объект во всех остальных базах;

И это только верхушка айсберга - тут вам и отсутствие понимания, откуда пришли изменения, постоянная неразбериха адресных данных (а уж, поверьте, с ними все ну оооочень весело даже при обмене с одной базой), отсутствие данных там, где хотелось бы, и присутствие там, где нет. Если резюмировать, НЕТ! Возможности обмена Битрикс24 и нескольких баз 1С нет! Битрикс просто не приспособлен для этого.

 

 

 
 “Но ведь можно же как-то доработать? Программисты же могут все?!”. ВНИМАНИЕ! Точка зрения автора!

А вот тут я бы хотел высказать свое видение и объяснить "Почему так?". Если вкратце, то схема обмена нескольких систем должна быть понятной, логичной и иметь центральный узел (я сейчас говорю о нашей ситуации). Битрикс под центральный узел не подходит от слова совсем! Его первоочередная цель - это быть CRM системой или Корп. порталом.

То есть у вас в любом случае должна быть одна централизованная база 1С (обычно ее называют управленческой базой), в которую стекаются ВСЕ данные, и есть побочные системы, из которых эти данные поступают и куда, при необходимости, отправляются. Это для случаев, кода у вас в схеме не более 5 различных систем. Чем больше, тем более сложной и многоуровневой будет выглядеть схема, но всегда есть кто-то в центре, отвечающий за манипуляцию потоками данных.

 

 

Если интересно расширить кругозор о том, как правильно строить взаимодействие между большим количеством систем, чтобы оно оставалось максимально прозрачным и имело минимальную сцепленность, рекомендую к ознакомлению статью Андрея Овсянкина //infostart.ru/1c/articles/792952/. В ней есть как мат. часть, так и подробно описанные инструменты для реализации.

2.3. Про последний вопрос: да, это возможно без особых плясок с бубном. Стоит только учитывать момент, что возможны пересекающиеся изменения, как в случае со вторым вопросом (в первую очередь, это касается Контрагентов). Если Контрагент был изменен в одном из Битриксов, то поменяется и в другом через 1С. В целом вариант не многим лучше, чем описанный выше, но менее разрушителен.

3. Соответствия объектов

Один из частых вопросов, ответа на который нет нигде в официальных источниках: “А какие объекты в Битрикс24 соответствуют каким объектам в 1С?”. С виду кажется, что все просто: “Ну сделка - это заказ, компания - это контрагент, а товар - это номенклатура!”. Для общего понимания этого достаточно, но мы-то здесь не за этим, так ведь? Ведь есть же еще контактная информация, реквизиты компаний, банковские счета, единицы измерения и дополнительные реквизиты, в конце концов. Да и с основными объектами по типу компаний не все так просто.

Вот примерная таблица соответствия объектов:

 

Объект в Битрикс24 Объект в 1С
Товары Номенклатура
Компании Контрагенты (юр. лица)
Контакты Контрагенты (физ. лица)
Контактные лица Контрагентов
Сделка Заказ клиента
Счета Счета покупателю (только для БП)
Единицы измерения Единицы измерения

Реквизиты Компании /

Реквизиты Контакта

Контрагенты /

Контактные лица

Адреса Компании /

Адреса Контакта

Контактная информация Контрагента /

Контактная информация Контактного лица

Банковские реквизиты Банковские счета Контрагентов
Пользовательские поля Дополнительные реквизиты
Свойства товаров Дополнительные реквизиты
Лиды ---------------------
Задачи ---------------------

 

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

  • Настройка выгрузки основных объектов, помеченных зеленым, осуществляется отдельно друг от друга (хотя местами они и связаны) и подробно описана тут. На нюансах для каждого объекта я остановлюсь в других статьях;
  • Синим помечены объекты, выгрузка которых привязана непосредственно к основным объектам и частично настраивается в соответствующих разделах, поэтому на них я тоже остановлюсь позднее;
  • В таблицу я также включил некоторые объекты, которые не участвуют в типовом обмене, но про которые часто возникает вопрос: “А возможна ли выгрузка?”. Так вот, НЕТ! Задачи и лиды не выгружаются ни в какую сторону, ни в каком виде при использовании типового модуля (у Битриксовской части интеграции по умолчанию просто нет прав на эти разделы), НО выгрузка возможна! Отдельным путем через REST API Битрикс24 (тут документация), с привлечением программистов (тот самый случай, когда “Можно же как-то доработать?”).

4. Режимы синхронизации

Существует три режима обмена с Битрикс24, о которых можно почитать тут в самом низу страницы.

 

 

4.1. Первый из них “Ручной” - это просто режим, когда вы жмете кнопочку, и происходит обмен. О нем сказать нечего. Нажали и смотрите, как загружается, наблюдая за красивым журналом загрузки (к слову, про него в следующем разделе).

4.2. Второй  - “В режиме реального времени”. Подразумевает поступление изменений в динамическом варианте. То есть при любых изменениях в Битрикс24 или в 1С, происходит мгновенная подгрузка изменений по тому объекту, с которым они произошли. Нюансов в целом два:

  1. Первый, касающийся самого процесса. С недавних пор у Битрикса существует два способа оповестить 1С об изменениях объектов. Каждый вариант требует хорошей технической базы: стабильный и быстрый интернет, достаточно мощный сервер с 1С и технически грамотный системный администратор, который настроит всю “железную” составляющую. Варианты такие:
    1. Через так называемые “LongPoll-запросы”. Если не вдаваться в технические детали, то 1С поддерживает постоянное соединение с Битрикс24 и мгновенно получает от Битрикса все события изменений;
    2. Второй вариант, появившийся недавно, через HTTP-сервис. То есть вы публикуете вашу базу на WEB-сервер, указываете в настройках внешний путь до базы, и Битрикс обращается по указанному пути каждый раз, когда происходят изменения на портале.
  2. Второй нюанс касается принципа работы и связан в первую очередь с файловыми базами 1С и тонкостями их работы. В данном режиме работы (в реальном времени) весь обмен происходит в фоне (в фоновых заданиях), а соответственно, для того чтобы все работало и в файловых базах 1С, разработчикам модуля пришлось пойти на ухищрения. Так как в файловой базе фоновое задание по сути запускается не в “фоне” и при выполнение блокирует пользовательский сеанс, то, чтобы запустить обмен с Битрикс24 через режим реального времени, придется пожертвовать одним сеансом. Читай как  "У вас будет все время занята одна лицензия, одно “повисшее” окно 1С и один, работающий нон-стоп, компьютер").

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

4.3. Третий режим работы - это “По расписанию”. Самый, на мой взгляд, оптимальный вариант. Технически подразумевает просто регламентное задание, которое периодически активируется и запускает обмен. Может быть настроено аналогично любому другому регламентному заданию в 1С и имеет такую же логику работы. Касательно работы в файловых базах 1С - ограничения ровно такие же, как и с любым другим регламентным заданием. Чтобы оно отработало, нужно чтобы был активен хотя бы один пользовательский сеанс.

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

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

 
Много технических терминов и вставки кода

5. Журнал синхронизаций

 

 

У модуля интеграции Битрикс24 очень удобный и красивый журнал, но хранится он непосредственно в регистрах базы 1С. Как следствие, если происходит обмен большими объемами данных, то ОБЯЗАТЕЛЬНО необходимо установить настройку обрезки этого журнала. И обязательно должна быть снята галочка "Режим отладки". Она нужна только для программистов, если нужно посмотреть, что там за запросы уходят в Битрикс. А так как все это фиксируется в журнал, то количество сообщений от одного обмена увеличивается в несколько раз. В официальной инструкции этому не уделено достаточно внимания (тут в разделе “Общие настройки”), но на моей практике были случаи, когда база клиента разрасталась до крайне неприличных размеров (размер журнала в 3 раза превышал размер основных данных, накопленных за 3 года).

 

 

Особенно это критично для файловых баз, так как если вы превысите лимит по размеру таблицы данных (примерно 2 Гб), то спасать вашу базу придется с шаманами и бубнами. Еще один случай из практики, когда красивый журнал модуля Битрикс24 положил базу Бухгалтерии, и на спасение ушло полдня в авральном режиме (был последний день сдачи отчетности) и невесть сколько флаконов нашатыря для Главбуха.

В общем. При настройке убирайте галочку “Режим отладки” (в обязательном порядке) и выбирайте период обрезки журнала правильно.

6. Резюме

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

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

Здоровая критика, исправления и дополнения приветствуются. Если остались вопросы, добро пожаловать в комментарии, постараюсь ответить.

ВНИМАНИЕ! Спасибо за внимание! =3

Битрикс24 Bitrix24 Интеграция Обмен

См. также

Интеграция Альфа Авто 5 / Альфа Авто 6 и AUTOCRM / Инфотек

Сайты и интернет-магазины WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    15747    10    17    

11

Интеграция 1С — Битрикс24. Обмен задачами

Сайты и интернет-магазины Интеграция WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Интеграция 1С и Битрикс24. Разработка имеет двухстороннюю синхронизацию 1С и Битрикс24 задачами. Решение позволяет создавать пользователя в 1С из Битрикс24 и наоборот. Данная разработка технически подходит под все основные конфигурации линейки продуктов 1С:Предприятие 8.3 (8.3.18.1289). При приобретении предоставляется 1 месяц бесплатных обновлений разработки. Доступна демо-версия продукта с подключением Вашего Битрикс24

5040 руб.

04.05.2021    17549    6    15    

13

Интеграция с сервисом vetmanager

WEB-интеграция Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

Внешняя обработка разрабатывалась для загрузки документов из Ветменеджер в 1С: Бухгалтерия 3.0

12000 руб.

02.02.2021    16360    42    49    

23

[Расширение] БОР-Навигатор.Культура

Зарплата Бюджетный учет WEB-интеграция Обмен с ГосИС Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бюджетный учет Платные (руб)

Расширение конфигурации, включающее в себя объекты, необходимые для подготовки и сдачи отчета "Штатная численность" системы "БОР-Навигатор.Культура" в программе "1С:Зарплата и кадры государственного учреждения", редакция 3.1.

8400 руб.

01.02.2019    25741    9    0    

7

Заполнение по ИНН или наименованию реквизитов контрагента по данным сайта ФНС

Обмен с ГосИС WEB-интеграция Платформа 1С v8.3 Управляемые формы 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия государственного учреждения 1С:Документооборот 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Обработка является альтернативой механизму, разработанному фирмой 1С и заполняющему реквизиты контрагента по ИНН или наименованию. Не требуется действующей подписки ИТС. Вызывается как внешняя дополнительная обработка, т.е. используется, непосредственно, из карточки контрагента. Заполнение по ИНН или наименованию реквизитов контрагента по данным сайта ФНС (egrul.nalog.ru) для БП 2.0, БП 3.0, БГУ 1.0, БГУ 2.0, УТ 10.3, УТ 11.x, КА 1.1, КА 2.x, УПП 1.x, ERP 2.x, УНФ 1.5, УНФ 1.6, УНФ 3.0, ДО 2.1

2400 руб.

28.04.2016    88580    160    215    

318
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. malikov_pro 1292 07.11.21 17:44 Сейчас в теме
За разбор +,
"режим обмена в реальном времени" - маркетинговая уловка.
"Технически манипулирует выгрузкой все равно 1С." - Long pull вполне адекватная технология, хотите быстрее - нужно использовать систему очередей (далеко не все умеют и не все нужна такая скорость).
“А если у нас два Битрикса?”. - переделывать под несколько планов обмена/спецРС, модуль использовать как транспорт.
"постоянная неразбериха адресных данных" - корявость кода
"В этом разделе я постарался собрать самые основные боли" - показать остатки в разрезе складов в Б24?

Обмен идет с помощью API, если сделаете технический разбор, то думаю будет полезно.
Ваш контекст УТ10, в УТ 11 и УНФ приемы обработки данных несколько другие.
2. triviumfan 92 08.11.21 11:00 Сейчас в теме
У нас почему-то не взлетел обмен через нттп, хотя база опубликована. Интегратор тоже не смог понять, почему. Приходится использовать "Через push&pull сервер", поэтому всегда висит это фоновое задание, которое слегка напрягает) А иногда приходится ещё его отлаживать, так это вообще геморрой. Часто бывали проблемы, когда через б24 открывается окошко 1с, делаешь создание заказа, а клиенты не подтягивались. Прямо типичная проблема. А причины разные: то фоновое задание не активно (как оно завершается тоже не понятно, ведь там бесконечный цикл), то сеансы веб-клиентов задублировались, то ещё что-то. В общем один геморрой.
4. freegman74 58 08.11.21 14:37 Сейчас в теме
(2)Мне кажется вы немного путаете. Я пишу от типовом модуле обмена. ОН не подразумевает открытие окна 1С в Битрикс24. Вы скорей всего имеете в виду модуль "Бэкофис".
На момент когда я активно занимался интеграциями (в районе полугода назад), Бэкофис был весьма сырым продуктом. Там и проблемы со скоростью работы, и невозможность быстрого возобновления сессии (чтоб не ждать прогрузки всех окон web-морды) и миллион багов.
Не так давно они выпустили БэкОфис 2.0, но я с тех пор стараюсь избегать проектов с использованием этих модулей.
user1045671; svilsa; triviumfan; +3 Ответить
6. triviumfan 92 09.11.21 12:34 Сейчас в теме
(4) Да, верно, бэкофис. Но настройки интеграции в 1с выглядят также :)
3. bulpi 215 08.11.21 12:52 Сейчас в теме
" если вы превысите лимит по размеру таблицы данных (примерно 2 Гб)"
ИМХО, 4 Гб, разве нет?
freegman74; +1 Ответить
5. freegman74 58 08.11.21 14:40 Сейчас в теме
(3)Да вы правы. Нашел информацию на ИТС - 4 Гб на таблицу.
https://its.1c.ru/db/metod8dev/content/5710/hdoc
7. capitan 2466 11.11.21 15:50 Сейчас в теме
От себя я бы добавил, что если у вас был ранее обмен с битрикс и вы решили перейти на битрикс24 то...
точно
такой переход не предусмотрен в типовом функционале, потому, что поменялась логика хранения идентификаторов
так что пользователи битрикс
8. fatman78 17 14.11.21 16:04 Сейчас в теме
Название статьи на сегодняшний день не совсем корректно. Я бы исправил название на след: "Тонкости и подводные камни работы старой версии модуля синхронизации Битрикс24"
Для Битрикс24 уже появился и работает полноценный модуль синхронизации на Базе Бэкофис 2.0 и успешно работает для УНФ 1.6 ERP 2.5, УТ 11.5(эта конфигурация еще не вышла официально из бэты). Разработчики не скрывают что это новый механизм пришедший на замену описанному в вашей статье отдельному модулю "синхронизации" и объединяющий в себе несколько старых функций, ранее поставляемых в виде отдельных модулей, а так же совершенно новый функционал завязанный на смарт процессы, например: роботы и триггеры. И в скором времени старые модули будут сняты с поддержки.
9. freegman74 58 15.11.21 09:56 Сейчас в теме
(8)К сожалению не было опыта работы с новым модулем...
А информация, на счет снятия с поддержки старых модулей, откуда? Просто довольно много клиентов сидит именно на "старой" версии модуля. Особенно вопрос с модулем для 10.3.
Если там все так серьёзно, то в дальнейших статьях рассмотрю и включу данные по новому модулю.
Думаю большая часть кода осталось та же что и была.
10. fatman78 17 15.11.21 19:25 Сейчас в теме
(9) Информация от ведущего разработчика 1С интеграции с Битрикс24 смотреть со 2 минуты
abasovit; +1 Ответить
11. slavia43 21.12.21 11:05 Сейчас в теме
Цикл полезный, без сомнения. Когда ждать продолжение?
12. freegman74 58 21.12.21 11:59 Сейчас в теме
(11) Спасибо за отзыв. Вторая часть цикла уже опубликована (https://infostart.ru/1c/articles/1555935/), третью надеюсь успеть до конца года.
user1045671; abasovit; slavia43; +3 Ответить
13. СергейКа 669 12.03.22 14:30 Сейчас в теме
Здоровая критика, исправления и дополнения приветствуются.
))

“А если у нас две базы 1С?”

С технической точки зрения это решается достаточно не сложно. Намекну например что в разных базах нужно поставить разные источники данных в настройках обмена и соответственно можно распределить по разному таблицу изменений со стороны Б24.
Обмен сделками можно например разрулить разными воронками и брать только ту что нужно.
Но в целом с выводом что это делать не нужно - согласен. Хотя на практике приходилось делать. Здесь главный критерий что в разных базах должны вестись разные организации. Иначе потом краев не найдешь (если это 2 базы одинакового типа).
Или возможен вариант с разными базами если это УТ и БП по одной организации.
Просто потому что товары и контрагенты будут одинаковыми, но в одной базе берутся Сделки-Заказы покупателей, а во второй Счета. И особых проблем нет.
Есть еще моменты, где на самом деле не так. Но слишком много писать для комментария ))

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