1C из браузера — различия между версиями
(→Алгоритм выгрузки документов из СБИС в 1С) |
(→Алгоритм выгрузки документов из СБИС в 1С) |
||
Строка 65: | Строка 65: | ||
реестре. Например, "InBoxWriteВходящие". | реестре. Например, "InBoxWriteВходящие". | ||
* Перебираем узлы '''мДокумент''': | * Перебираем узлы '''мДокумент''': | ||
− | ** Проверяется, если в инишке есть поле '''СБИСИдМеню''', то что в нем присутствует имя кнопки, указанное | + | ** Проверяется, если в инишке есть поле '''СБИСИдМеню''', то что в нем присутствует имя кнопки, указанное на реестре. Например, "InBoxWriteВходящие". |
− | на реестре. Например, "InBoxWriteВходящие". | + | ** Проверяем, если в инишке есть поле '''РеестрСБИС_ИдМенюФильтр''', то что оно равно переданному с клиента фильтру. В интерфейсе - это выглядит, как подменю при выборе подключения для выгрузки. Пока это используется только для некоторых конфигураций для Веб подключений. |
− | ** Проверяем, если в инишке есть поле '''РеестрСБИС_ИдМенюФильтр''', то что оно равно переданному с | + | ** Проверяется, если в инишке есть поле '''РеестрСБИС_Операция''', то что его значение равно названию регламента на пакете. Например, для ПКО: «Оплата от покупателя». |
− | клиента фильтру. В интерфейсе - это выглядит, как подменю при выборе подключения для выгрузки. | ||
− | Пока это используется только для некоторых конфигураций для Веб подключений. | ||
− | ** Проверяется, если в инишке есть поле '''РеестрСБИС_Операция''', то что его значение равно названию | ||
− | регламента на пакете. Например, для ПКО: «Оплата от покупателя». | ||
Если по указанным условиям ни один '''мДокумент''' не подошел, то берется тот на котором есть признак | Если по указанным условиям ни один '''мДокумент''' не подошел, то берется тот на котором есть признак |
Версия 10:45, 1 июля 2021
Файлы настроек загрузки, выгрузки документов
РеестрСБИС_ИдМеню – содержит имена кнопок загрузки, разделенных запятой. В инишках для загрузки в СБИС находится в корне. В инишка для выгрузки в ИС в узле «мДокумент», по которому должен обсчитываться документ.
В реестрах документов Исходящие, Входящие имена кнопок формируются по маске: [Направление документа][Действие с ИС][Имя реестра]
Направление документа – принимает значение: 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С_Имя».