1C из браузера — различия между версиями

Материал из razgovorov.ru
Перейти к: навигация, поиск
Строка 1: Строка 1:
 
Необходимо обратить особое внимание на то что, '''важен порядок следования узлов'''.
 
Необходимо обратить особое внимание на то что, '''важен порядок следования узлов'''.
 
Например, значение использующееся при расчете формулы не может быть определено позже.
 
Например, значение использующееся при расчете формулы не может быть определено позже.
 +
 
Так делать нельзя:
 
Так делать нельзя:
 
<source lang="xml">
 
<source lang="xml">

Версия 23:24, 21 октября 2021

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

Так делать нельзя:

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

Файлы настроек загрузки, выгрузки документов

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

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

Направление документа – принимает значение: 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С_Имя.