Ответы пользователя по тегу Django
  • Как организовать общение между базой данных 1с и django?

    WhiteSsnoww
    @WhiteSsnoww
    Программист
    В общем случае задачу обмена 1С с сайтом можно решить так.
    На стороне 1С:
    1. Создаем ПланОбмена и включаем в состав плана обмена объекты, изменения которых требуется выгружать на сайт
    2. Создаем РегламентноеЗадание, которое раз в сутки или чаще запускает процесс обмена данными с сайтом
    3. Пишем код на 1С, который забирает из ПланаОбмена новые зарегистрированные изменения, сереализует их в заданный формат - XML или JSON, и отправляет на сервер сайта через HTTPS-запрос.
    4. После успешной выгрузки данных на сайт получаем от сайта номер квитанции, которая ранее была отправлена на сайт. По номеру квитанции снимает с регистрации изменения на плане обмена, т.к. они подтверждены сайтом как принятые.

    На стороне сайта:
    1. Реализуем REST API для взаимодействия с 1С - чтобы 1С могла через HTTPS-запросы отправлять и получать данные.
    2. Реализуем таблицу для хранения квитанций для ПланаОбмена 1С
    3. Реализуем парсинг полученных данных из XML или JSON
    4. Реализуем запись в базу полученных данных

    PS На стороне 1С можно обойтись и без ПлановОбмена и выгружать данные выборкой запросом
    Соответственно можно обойтись и без квитанций, т.к. это сущность для ПланаОбмена
    Можно выгружать по одному объекту и снимать его с регистрации в ПланеОбмена сразу после 200 от сайта.

    Вариантов много. Зависит от задачи и требований.
    Ответ написан
    Комментировать
  • Как происходит взаимодействие сайта и 1С: Предприятие?

    WhiteSsnoww
    @WhiteSsnoww
    Программист
    Мы делали у себя интеграцию 1С с сайтом. В общих чертах так.
    На стороне 1С:
    - создаем план обмена
    - в план обмена включаем таблицы, которые требуется выгружать
    - создаем регламентное задание, которое срабатывает раз в 5 минут 24/7
    - регламентное задание делает выборку изменений по плану обмена - метод ПланОбмена.ВыбратьИзменения()
    - полученные изменения выгружаем в XML типовым сериализатором платформы 1С - ЗаписьXML()
    - полученный файл выгружаем в АПИ сайта

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