WriteReportings — различия между версиями
Строка 43: | Строка 43: | ||
*** {{Шаблон:ApiParam|Code||число| Код ошибки}} | *** {{Шаблон:ApiParam|Code||число| Код ошибки}} | ||
* {{Шаблон:ApiParam|Stat||объект|[[Stat_-_ExtSdk2_Объект|статистика времени выполнения операции]]}} | * {{Шаблон:ApiParam|Stat||объект|[[Stat_-_ExtSdk2_Объект|статистика времени выполнения операции]]}} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Алгоритм работы == | == Алгоритм работы == | ||
Строка 249: | Строка 89: | ||
<source lang="json"> | <source lang="json"> | ||
{ | { | ||
− | + | "Вложение": | |
+ | [ | ||
+ | { | ||
+ | "Файл": { | ||
+ | "Имя": "ON_NSCHFDOPPR___20210326_f25268e5-803a-407e-9ba5-0950ba405a3f.xml", | ||
+ | "ПутьКФайлу": Путь до файла на PC | ||
+ | } | ||
+ | } | ||
+ | ] | ||
} | } | ||
</source> | </source> | ||
Строка 256: | Строка 104: | ||
<source lang="json"> | <source lang="json"> | ||
{ | { | ||
− | + | { | |
+ | "Error": null, | ||
+ | "FailedFiles": [], | ||
+ | "ID": "4d3b19e9df7142c197d9960dec5cc08a", | ||
+ | "LoadedFiles": [ | ||
+ | { | ||
+ | "Date": "2021-03-22", | ||
+ | "DocName": "Реализация №БП-21 от 22.03.21 СнабАвиа, ООО на сумму 3596.04", | ||
+ | "DocSubType": "1115131", | ||
+ | "DocType": "СчФктр", | ||
+ | "DocUUID": "782b9855-39c9-4cd1-904c-884b3467a190", | ||
+ | "Document": 34551, | ||
+ | "FileInnerID": 0, | ||
+ | "Info": { | ||
+ | "DocType": "ДокОтгрИсх", | ||
+ | "DocTypeCaption": "Реализация", | ||
+ | "OpenMode": 4, | ||
+ | "SuccessfulScanReplacement": false, | ||
+ | "Дата": "2021-03-22", | ||
+ | "ИдентификаторДиск": "e7488132-9c2c-4c6e-b513-38d40869be81", | ||
+ | "Номер": "БП-21", | ||
+ | "РП.ДополнительнаяИнформация": [ | ||
+ | { | ||
+ | "PicsInfo": null, | ||
+ | "Дата": null, | ||
+ | "ИдО": null, | ||
+ | "Количество": 10, | ||
+ | "Название": "\"Букварь\", Жукова Н., Эксмо, 2016 г. / 96 стр. (код товара: 2208337) ", | ||
+ | "НазваниеЕИ": null, | ||
+ | "Номенклатура": null, | ||
+ | "Номенклатура.Наименование": null, | ||
+ | "Номенклатура.Описание": null, | ||
+ | "НоменклатураДокументаРасш.ЕИУ": null, | ||
+ | "НоменклатураДокументаРасш.Комментарий": null, | ||
+ | "НоменклатураДокументаРасш.НДС": null, | ||
+ | "Номер": null, | ||
+ | "Примечание": "", | ||
+ | "Сумма": 1000.0, | ||
+ | "СуммаЦен": 1000.0, | ||
+ | "СуммаЦенБезНДС": null, | ||
+ | "Цена": 100.0, | ||
+ | "ЦенаБезНДС": null | ||
+ | }, | ||
+ | { | ||
+ | "PicsInfo": null, | ||
+ | "Дата": null, | ||
+ | "ИдО": null, | ||
+ | "Количество": 11, | ||
+ | "Название": "Номенклатура с ® ", | ||
+ | "НазваниеЕИ": null, | ||
+ | "Номенклатура": null, | ||
+ | "Номенклатура.Наименование": null, | ||
+ | "Номенклатура.Описание": null, | ||
+ | "НоменклатураДокументаРасш.ЕИУ": null, | ||
+ | "НоменклатураДокументаРасш.Комментарий": null, | ||
+ | "НоменклатураДокументаРасш.НДС": null, | ||
+ | "Номер": null, | ||
+ | "Примечание": "", | ||
+ | "Сумма": 2552.0, | ||
+ | "СуммаЦен": 2552.0, | ||
+ | "СуммаЦенБезНДС": null, | ||
+ | "Цена": 232.0, | ||
+ | "ЦенаБезНДС": null | ||
+ | }, | ||
+ | { | ||
+ | "PicsInfo": null, | ||
+ | "Дата": null, | ||
+ | "ИдО": null, | ||
+ | "Количество": 4, | ||
+ | "Название": "Товар?*%:?*;?:%№%\";)?+(+_ ", | ||
+ | "НазваниеЕИ": null, | ||
+ | "Номенклатура": null, | ||
+ | "Номенклатура.Наименование": null, | ||
+ | "Номенклатура.Описание": null, | ||
+ | "НоменклатураДокументаРасш.ЕИУ": null, | ||
+ | "НоменклатураДокументаРасш.Комментарий": null, | ||
+ | "НоменклатураДокументаРасш.НДС": null, | ||
+ | "Номер": null, | ||
+ | "Примечание": "", | ||
+ | "Сумма": 44.04, | ||
+ | "СуммаЦен": 44.04, | ||
+ | "СуммаЦенБезНДС": null, | ||
+ | "Цена": 11.01, | ||
+ | "ЦенаБезНДС": null | ||
+ | } | ||
+ | ], | ||
+ | "РП.ОсновнаяИнформация": { | ||
+ | "Валюта": "", | ||
+ | "Веха": null, | ||
+ | "Заголовок1": { | ||
+ | "Адрес": null, | ||
+ | "Геометка": null, | ||
+ | "ИдО": 176, | ||
+ | "Название": "СнабАвиа", | ||
+ | "Тип": 0 | ||
+ | }, | ||
+ | "Заголовок2": null, | ||
+ | "Заголовок3": null, | ||
+ | "Заголовок4": { | ||
+ | "ИдО": null, | ||
+ | "Название": null, | ||
+ | "Тип": null | ||
+ | }, | ||
+ | "Комментарий1": "", | ||
+ | "Комментарий2": "ООО ВинСтек", | ||
+ | "Комментарий3": null, | ||
+ | "Комментарий4": null, | ||
+ | "Комментарий5": null, | ||
+ | "Комментарий6": null, | ||
+ | "КомментарийЗаголовка": null, | ||
+ | "КомментарийОтветственного": null, | ||
+ | "НастройкиОтображения": {}, | ||
+ | "НашаОрганизация": { | ||
+ | "Голова": "ВинСтек", | ||
+ | "Филиал": "" | ||
+ | }, | ||
+ | "Регламент": { | ||
+ | "Название": "Реализация" | ||
+ | }, | ||
+ | "Сотрудник": [], | ||
+ | "Срок": null, | ||
+ | "Сумма": 3596.04 | ||
+ | } | ||
+ | }, | ||
+ | "Name": "ON_NSCHFDOPPR___20210326_f25268e5-803a-407e-9ba5-0950ba405a3f.xml", | ||
+ | "PK": 12311932, | ||
+ | "Parameters": { | ||
+ | "DocUUID": "782b9855-39c9-4cd1-904c-884b3467a190", | ||
+ | "IsLoadingInto": false, | ||
+ | "IsNeedFilePrepare": false, | ||
+ | "ИдентификаторДискВерсияДокумента": "e7488132-9c2c-4c6e-b513-38d40869be81_2d322d6b-ff18-4475-8829-6e25cc3e2082", | ||
+ | "ИдентификаторДискДокумент": "e7488132-9c2c-4c6e-b513-38d40869be81", | ||
+ | "ТипРеестра": "РеестрЭО" | ||
+ | }, | ||
+ | "ShortState": 0, | ||
+ | "Size": 4388, | ||
+ | "Type": 0 | ||
+ | } | ||
+ | ], | ||
+ | "PK": 6835331, | ||
+ | "Parameters": { | ||
+ | "Sourse": 0 | ||
+ | }, | ||
+ | "Status": 4 | ||
+ | } | ||
</source> | </source> | ||
[[Категория:Методы ExtSdk2]] | [[Категория:Методы ExtSdk2]] |
Версия 11:15, 19 октября 2021
Содержание
Описание
Метод позволяет за один вызов загрузить отчетность в СБИС.
Параметры
- Catalog ! (объект) - объект с массивом вложений
- Вложение (массив) - Массив вложений для загрузки
- Файл (объект) - Объект файл
- Имя (строка) - Имя файла
- ДвоичныеДанные (строка) - Файл в виде двоичных данных( Не допускается использовать одновременно с Строка, ПутьКФайлу, Ссылка )
- Строка (строка) - Файл в виде строки( Не допускается использовать одновременно с ДвоичныеДанные, ПутьКФайлу, Ссылка )
- ПутьКФайлу (строка) - Путь до файла на PC( Не допускается использовать одновременно с ДвоичныеДанные, Строка, Ссылка )
- Ссылка (строка) - Ссылка на файл на СБИС.Диск( Не допускается использовать одновременно с ДвоичныеДанные, Строка, ПутьКФайлу )
- Файл (объект) - Объект файл
- Вложение (массив) - Массив вложений для загрузки
Результат
- QueryId (строка) - Идентификатор запроса в плагин
- Result (объект) - объект
- PK (число) - Первичный ключ загрузки
- Status (число) - Статус загрузки
- Parameters (объект) - Параметры загрузки
- Sourse (число) - Подробнее
- Error (строка) - Содержит текст ошибки, если обработка загрузки завершилась с ошибкой
- LoadedFiles (массив) - Список загруженных файлов
- PK (число) - Идентификатор (первичный ключ) загружаемого файла
- Name (строка) - Имя файла
- Size (строка) - Размер файла в байтах
- Type (число) - Тип загруженного файла Подробнее
- Document (число) - Первичный ключ документа (если есть)
- DocUUID (строка) - Идентификатор документа (если есть)
- DocName (строка) - Имя документа (если есть)
- DocType (строка) - Тип документа из сервиса форматов (если есть)
- DocSubType (строка) - Подтип документа из сервиса форматов (если есть)
- Parameters (объект) - Параметры загружаемого файла
- Info (объект) - Информация о загружаемом файле (заполняется загрузчиком)
- FailedFiles (массив) - Список файлов, которые не удалось загрузить
- PK (число) - Идентификатор (первичный ключ) загружаемого файла
- Name (строка) - Имя файла
- Size (строка) - Размер файла в байтах
- Parameters (объект) - Параметры загружаемого файла
- Info (объект) - Информация о загружаемом файле (заполняется загрузчиком)
- Msg (строка) - Текст ошибки загрузки файла
- UserMsg (строка) - Текст ошибки загрузки файла для информационного сообщения пользователю
- Code (число) - Код ошибки
- Stat (объект) - статистика времени выполнения операции
Алгоритм работы
- Принимаем на вход JSON объект объект Каталог с массивом вложений.
- Если требуется загрузка файлов на СБИС.Диск( Параметр Ссылка проставлен не во всех вложениях ). Если все ссылки изначально проставлены, то сразу переход к п.3
- Загружаем переданные файлы на СБИС.Диск и проставляем ссылки. Сообщаем пользователю о начале асинхронной загрузки файлов ошибкой метода вида ExtException с кодом 308 сериализованную в строку, где в detail лежит текст "#ASYNC"( См. #Исключения №1 ). Она обозначает, что плагин загрузит файлы из вложений на СБИС.Диск и проставит недостающие ссылки в соответствующий объект Файл. Во время проставления ссылок возможны следующее событие от плагина:
- В случае ошибки плагин пробрасывает событие с именем "extsdk2.async.error". Оно содержит QueryID вызываемого метода и ExtException, сериализованные в строку( См. #Исключения №2 ). Обработка вложений плагином немедленно завершается.
- Загружаем переданные файлы на СБИС.Диск и проставляем ссылки. Сообщаем пользователю о начале асинхронной загрузки файлов ошибкой метода вида ExtException с кодом 308 сериализованную в строку, где в detail лежит текст "#ASYNC"( См. #Исключения №1 ). Она обозначает, что плагин загрузит файлы из вложений на СБИС.Диск и проставит недостающие ссылки в соответствующий объект Файл. Во время проставления ссылок возможны следующее событие от плагина:
- Загрузка отчетности в СБИС
- Если во всех вложениях ссылки уже были проставлены, то сообщаем пользователю о начале загрузки файлов в СБИС ошибкой метода вида ExtException с кодом 308 сериализованную в строку, где в detail лежит текст "#ASYNC"( См. #Исключения №1 ). Она означает, что необходимо ожидать событие загрузки отчетности в СБИС.
- Если во вложениях ссылки проставлялись плагином, то вызываем метод Uploading.Create и ожидаем событие окончания загрузки.
- При получении события окончания загрузки вызываем метод Uploading.GetResult передав идентификатор загрузки из события.
- Разбираем ответ Uploading.GetResult и возвращаем результат работы WriteReportingsEx в виде JSON объекта
- В случае успеха плагин пробрасывает событие с именем "extsdk2.async.complete" возвращает #Результат, сериализованный в строку.
- В случае ошибки плагин пробрасывает событие с именем "extsdk2.async.error"( См. #Исключения №2 ).
Исключения
- Сообщение об ошибке с текстом "#ASYNC" и кодом 308
{ 'type': 'Error', 'queryID': 'b3e310ec-7d85-4026-bfad-228690f38d55', 'data': { 'code': 308, 'detail': '#ASYNC', 'dump': {}, 'message': 'Ожидайте загрузки документа', 'method_name': 'ExtSdk2.WriteReportingsEx', 'stack': [ { 'method_name': 'AsyncUploadAttachments b3e310ec-7d85-4026-bfad-228690f38d55' } ] } }
- Сообщение extsdk2.async.error об ошибке с QueryId вызываемого метода
{ }
Пример успешного вызова
Запрос
{
"Вложение":
[
{
"Файл": {
"Имя": "ON_NSCHFDOPPR___20210326_f25268e5-803a-407e-9ba5-0950ba405a3f.xml",
"ПутьКФайлу": Путь до файла на PC
}
}
]
}
Ответ
{
{
"Error": null,
"FailedFiles": [],
"ID": "4d3b19e9df7142c197d9960dec5cc08a",
"LoadedFiles": [
{
"Date": "2021-03-22",
"DocName": "Реализация №БП-21 от 22.03.21 СнабАвиа, ООО на сумму 3596.04",
"DocSubType": "1115131",
"DocType": "СчФктр",
"DocUUID": "782b9855-39c9-4cd1-904c-884b3467a190",
"Document": 34551,
"FileInnerID": 0,
"Info": {
"DocType": "ДокОтгрИсх",
"DocTypeCaption": "Реализация",
"OpenMode": 4,
"SuccessfulScanReplacement": false,
"Дата": "2021-03-22",
"ИдентификаторДиск": "e7488132-9c2c-4c6e-b513-38d40869be81",
"Номер": "БП-21",
"РП.ДополнительнаяИнформация": [
{
"PicsInfo": null,
"Дата": null,
"ИдО": null,
"Количество": 10,
"Название": "\"Букварь\", Жукова Н., Эксмо, 2016 г. / 96 стр. (код товара: 2208337) ",
"НазваниеЕИ": null,
"Номенклатура": null,
"Номенклатура.Наименование": null,
"Номенклатура.Описание": null,
"НоменклатураДокументаРасш.ЕИУ": null,
"НоменклатураДокументаРасш.Комментарий": null,
"НоменклатураДокументаРасш.НДС": null,
"Номер": null,
"Примечание": "",
"Сумма": 1000.0,
"СуммаЦен": 1000.0,
"СуммаЦенБезНДС": null,
"Цена": 100.0,
"ЦенаБезНДС": null
},
{
"PicsInfo": null,
"Дата": null,
"ИдО": null,
"Количество": 11,
"Название": "Номенклатура с ® ",
"НазваниеЕИ": null,
"Номенклатура": null,
"Номенклатура.Наименование": null,
"Номенклатура.Описание": null,
"НоменклатураДокументаРасш.ЕИУ": null,
"НоменклатураДокументаРасш.Комментарий": null,
"НоменклатураДокументаРасш.НДС": null,
"Номер": null,
"Примечание": "",
"Сумма": 2552.0,
"СуммаЦен": 2552.0,
"СуммаЦенБезНДС": null,
"Цена": 232.0,
"ЦенаБезНДС": null
},
{
"PicsInfo": null,
"Дата": null,
"ИдО": null,
"Количество": 4,
"Название": "Товар?*%:?*;?:%№%\";)?+(+_ ",
"НазваниеЕИ": null,
"Номенклатура": null,
"Номенклатура.Наименование": null,
"Номенклатура.Описание": null,
"НоменклатураДокументаРасш.ЕИУ": null,
"НоменклатураДокументаРасш.Комментарий": null,
"НоменклатураДокументаРасш.НДС": null,
"Номер": null,
"Примечание": "",
"Сумма": 44.04,
"СуммаЦен": 44.04,
"СуммаЦенБезНДС": null,
"Цена": 11.01,
"ЦенаБезНДС": null
}
],
"РП.ОсновнаяИнформация": {
"Валюта": "",
"Веха": null,
"Заголовок1": {
"Адрес": null,
"Геометка": null,
"ИдО": 176,
"Название": "СнабАвиа",
"Тип": 0
},
"Заголовок2": null,
"Заголовок3": null,
"Заголовок4": {
"ИдО": null,
"Название": null,
"Тип": null
},
"Комментарий1": "",
"Комментарий2": "ООО ВинСтек",
"Комментарий3": null,
"Комментарий4": null,
"Комментарий5": null,
"Комментарий6": null,
"КомментарийЗаголовка": null,
"КомментарийОтветственного": null,
"НастройкиОтображения": {},
"НашаОрганизация": {
"Голова": "ВинСтек",
"Филиал": ""
},
"Регламент": {
"Название": "Реализация"
},
"Сотрудник": [],
"Срок": null,
"Сумма": 3596.04
}
},
"Name": "ON_NSCHFDOPPR___20210326_f25268e5-803a-407e-9ba5-0950ba405a3f.xml",
"PK": 12311932,
"Parameters": {
"DocUUID": "782b9855-39c9-4cd1-904c-884b3467a190",
"IsLoadingInto": false,
"IsNeedFilePrepare": false,
"ИдентификаторДискВерсияДокумента": "e7488132-9c2c-4c6e-b513-38d40869be81_2d322d6b-ff18-4475-8829-6e25cc3e2082",
"ИдентификаторДискДокумент": "e7488132-9c2c-4c6e-b513-38d40869be81",
"ТипРеестра": "РеестрЭО"
},
"ShortState": 0,
"Size": 4388,
"Type": 0
}
],
"PK": 6835331,
"Parameters": {
"Sourse": 0
},
"Status": 4
}