1C из браузера

Материал из razgovorov.ru
Версия от 12:10, 29 октября 2021; Вишневский Никита (обсуждение | вклад) (Где взять актуальный файлы настроек)
Перейти к: навигация, поиск

Где взять актуальные файлы настроек

Посмотреть список настроек для конфигураций можно на сервисе интеграции в разделе "Внешние системы"-"Стандартные настройки" на вкладке "Стандартные". Для получения прав напишите поручение на имя руководителя группы "API и вспомогательные подсистемы интеграции"

Скачать актуальные версии настроек на ПК можно с git.sbis.ru Для 1С fresh отсюда

Особенности файлов настроек

Порядок узлов

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

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

Пример: в типовой инишке узел:

<мОснование Имя="Договор">
    <Основание>[Документ].ДоговорКонтрагента</Основание>
    <Основание_Номер>[Основание].Номер</Основание_Номер>
    <Основание_Дата Тип="Дата" Формат="ДФ=dd.MM.yyyy" >[Основание].Дата</Основание_Дата>
    <Основание_Название>^+('Договор',' №',Основание_Номер,' от ',Основание_Дата)</Основание_Название>
</мОснование>

в пользовательской:

<мОснование Имя="Договор">
    <Основание_НомерДоговора>[Основание].НомерДоговора</Основание_НомерДоговора>
    <Основание_Название>^+('Договор №',Основание_НомерДоговора)</Основание_Название>
</мОснование>

В результате получим склейку:

<мОснование Имя="Договор">
    <Основание>[Документ].ДоговорКонтрагента</Основание>
    <Основание_Номер>[Основание].Номер</Основание_Номер>
    <Основание_Дата Тип="Дата" Формат="ДФ=dd.MM.yyyy" >[Основание].Дата</Основание_Дата>
    <Основание_Название>^+('Договор №',Основание_НомерДоговора)</Основание_Название>
    <Основание_НомерДоговора>[Основание].НомерДоговора</Основание_НомерДоговора>
</мОснование>

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

Правильная пользовательская инишка должна выглядеть так:

<мОснование Имя="Договор">
    <Основание_Номер>[Основание].НомерДоговора</Основание_Номер>
    <Основание_Название>^+('Договор №',Основание_Номер)</Основание_Название>
</мОснование>

Представление объектов, типы значений

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

<Номенклатура>[ТаблДок].Номенклатура</Номенклатура>
<Название>[Номенклатура].Наименование</Название>

Если же необходимо получить представление документа, то такой способ не подойдет, т.к. у документа нет свойства "Наименование". В таком случае нужно указать тип к которому необходимо привести значение:

<ТаблДок_Название Тип="Строка">[ТаблДок].Документ</ТаблДок_Название>

Использование запросов

Для подключений использующих ComConnector или Application запросы работают так же, как и для ВО.

При интеграции с 1C fresh через плагин использовать запросы нет возможности. Поэтому в инишке для получения списка документов вместо "ЗапросСпискаДокументов" используется узел "СписокДокументов". Тип документа берем из поля "Реестр1С_Тип". Делаем вызов списка документов с фильтром: период, организация, контрагент. Полученный массив перебираем и обсчитываем каждый документ по узлу "СписокДокументов". Полученную структуру добавляем в результирующий RecordSet. Для включения в пакет дополнительных вложений добавляем в "СписокДокументов" узел "Вложения", где указываем список типов подчиненных документов.

<Вложения>
    <Подчиненные>
        <СчетНаОплатуПокупателю>'СчетНаОплатуПокупателю'</СчетНаОплатуПокупателю>
        <СчетФактураВыданный>'СчетФактураВыданный'</СчетФактураВыданный>
    </Подчиненные>
</Вложения>

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

Добавление нового реестра

Чтобы выбор нового реестра появился в меню кнопки загрузить, необходимо в новой инишке добавить поле "РеестрСБИС_ИдМеню" с значением кнопки того реестра в котором находится кнопка и поле "Реестр1С_Название" с заголовком данного реестра. Подробней описание в разделе "Описание доп. полей".

Описание доп. полей

РеестрСБИС_ИдМеню – содержит имена кнопок загрузки, разделенных запятой. В инишках для загрузки в СБИС находится в корне. В инишка для выгрузки в ИС в узле «мДокумент», по которому должен обсчитываться документ.

В реестрах документов Исходящие, Входящие имена кнопок формируются по маске: [Направление документа][Действие с ИС][Имя реестра]

Направление документа – принимает значение: OutBox – Исходящие документы, в том числе все документы, созданные в системе вручную. Например, созданный документ «Поступление», тоже будем иметь направление OutBox. InBox – Входящие документы.

Действие с ИС – принимает значения: Read – чтение данных из 1С, соответственно кнопка «Загрузить», Write – запись данных в ИС, соответственно кнопка «Выгрузить».

Имя реестра – задается разработчиками реестров.

Пример:

Кнопка «Загрузить»

OutBoxReadИсходящие – Документы - Исходящие

OutBoxReadКоррИсх – Документы – Исходящие - Исходящие письма

OutBoxReadАктСверкиДок - Документы – Исходящие – Акты сверок

InBoxReadВходящие – Документы – Входящие

InBoxReadКоррВх – Документы – Входящие – Входящие письма

По аналогии были названы кнопки и для справочников:

OutBoxReadСотрудники – Сотрудники

OutBoxReadНоменклатура – Бизнес – Каталог и цены

Кнопка «Выгрузить»

OutBoxWriteИсходящие – Документы - Исходящие

OutBoxWriteКоррИсх – Документы – Исходящие - Исходящие письма

InBoxWriteКоррВх – Документы – Входящие – Входящие письма

InBoxWriteВходящие – Документы – Входящие

Для кнопок в карточках документов в маску имени кнопки добавляется суффикс «Doc». Пример: «InBoxDocWriteАктСверкиДок».

Реестр1С_Название - название реестра, как он отображается в меню кнопок загрузить, выгрузить.

ДокументПоУмолчанию - признак инишки «по умолчанию». Находится в корне и нужен для открытия реестра при создании первого подключения в кабинете.

Алгоритм выгрузки документов из СБИС в 1С

1. Включен учет или нет, мы не проверяем. Во входящем пакете смотрим наличие узла «ВложениеУчета», если он отсутствует, то берем «Вложение».

2. Перебираем вложения и подбираем инишку для каждого по алгоритму:

  • Имя инишки формируется по маске [Направление]_[Вложение.Тип]_[Вложение.ВерсияФормата]. Например,

Загрузка_ЭДОНакл_3_01 или ЗагрузкаИсходящих_ЭДОНакл_3_01. Если такой инишки для данного подключения нет, то значит выгрузка вложения не поддерживается. Направление указывается владельцем кнопки «Выгрузить»: OutBox - исходящие, InBox – входящие.

  • Проверяется, если в инишке есть поле СБИСИдМеню, то что в нем присутствует имя кнопки, указанное на

реестре. Например, "InBoxWriteВходящие".

  • Перебираем узлы мДокумент:
    • Проверяется, если в инишке есть поле СБИСИдМеню, то что в нем присутствует имя кнопки, указанное на реестре. Например, "InBoxWriteВходящие".
    • Проверяем, если в инишке есть поле РеестрСБИС_ИдМенюФильтр, то что оно равно переданному с клиента фильтру. В интерфейсе - это выглядит, как подменю при выборе подключения для выгрузки. Пока это используется только для некоторых конфигураций для Веб подключений.
    • Проверяется, если в инишке есть поле РеестрСБИС_Операция, то что его значение равно названию регламента на пакете. Например, для ПКО: «Оплата от покупателя».

Если по указанным условиям ни один мДокумент не подошел, то берется тот на котором есть признак ДокументПоУмолчанию = 1, иначе выгрузка данного вложения не поддерживается.


Порядок расчета вложений определяется полем Вес в подобранном мДокумент, чтобы накладные всегда загружались в 1С раньше счетов-фактур. Поэтому в инишке накладной вес не указан, для счет-фактуры = 50, для счетов = 100.

3. Поиск документов происходит так же, как в ВО - ищем документ по идентификатору пакета и вложения в регистрах сведений (их мы записываем так же, как ВО при выгрузке документов в 1С), если не нашли, то ищем по типу, дате и номеру документа. Тип берем из поля подобранной инишки Документ.

4. Создавать или не создавать номенклатуру, если ее не нашли определяется наличием в инишке признаком СоздаватьНоменклатуру = "Истина". Для большинства конфигураций этот флаг включен. Возможно уже для всех.

Анахронизмы

Поля, которые уже не используются и которые можно смело удалять: Реестр1С_ВидимыеСтолбцы, СбисФорматСпискаДокументов, Реестр1С_Имя.