WriteReportings — различия между версиями

Материал из razgovorov.ru
Перейти к: навигация, поиск
Строка 43: Строка 43:
 
*** {{Шаблон:ApiParam|Code||число| Код ошибки}}
 
*** {{Шаблон:ApiParam|Code||число| Код ошибки}}
 
* {{Шаблон:ApiParam|Stat||объект|[[Stat_-_ExtSdk2_Объект|статистика времени выполнения операции]]}}
 
* {{Шаблон:ApiParam|Stat||объект|[[Stat_-_ExtSdk2_Объект|статистика времени выполнения операции]]}}
 
 
#:<source lang="json">
 
{
 
  "QueryId": "589c68be-70b6-4b1d-94ce-ca0951d50d81",
 
  "Result": {
 
    "Error": null,
 
    "FailedFiles": [],
 
    "ID": "e2634cf5a9fa4bceba654efa7ff5e6cf",
 
    "LoadedFiles": [
 
      {
 
        "Date": "2021-03-22",
 
        "DocName": "Реализация&nbsp№БП-21&nbspот&nbsp22.03.21&nbspСнабАвиа, ООО&nbspна сумму&nbsp3596.04",
 
        "DocSubType": "1115131",
 
        "DocType": "СчФктр",
 
        "DocUUID": "782b9855-39c9-4cd1-904c-884b3467a190",
 
        "Document": 34551,
 
        "FileInnerID": 0,
 
        "Info": {
 
          "DocType": "ДокОтгрИсх",
 
          "DocTypeCaption": "Реализация",
 
          "OpenMode": 4,
 
          "SuccessfulScanReplacement": false,
 
          "Дата": "2021-03-22",
 
          "ИдентификаторДиск": "ca67c7f7-f4b5-4110-9e01-996270bee958",
 
          "Номер": "БП-21",
 
          "РП.ДополнительнаяИнформация": [
 
            {
 
              "PicsInfo": null,
 
              "Дата": null,
 
              "ИдО": null,
 
              "Количество": 10,
 
              "Название": "\"Букварь\", Жукова Н., Эксмо, 2016 г. / 96 стр. (код товара: 2208337) ",
 
              "НазваниеЕИ": null,
 
              "Номенклатура": null,
 
              "Номенклатура.Наименование": null,
 
              "Номенклатура.Описание": null,
 
              "НоменклатураДокументаРасш.ЕИУ": null,
 
              "НоменклатураДокументаРасш.Комментарий": null,
 
              "НоменклатураДокументаРасш.НДС": null,
 
              "Номер": null,
 
              "Примечание": "",
 
              "Сумма": 1000,
 
              "СуммаЦен": 1000,
 
              "СуммаЦенБезНДС": null,
 
              "Цена": 100,
 
              "ЦенаБезНДС": null
 
            },
 
            {
 
              "PicsInfo": null,
 
              "Дата": null,
 
              "ИдО": null,
 
              "Количество": 11,
 
              "Название": "Номенклатура с ® ",
 
              "НазваниеЕИ": null,
 
              "Номенклатура": null,
 
              "Номенклатура.Наименование": null,
 
              "Номенклатура.Описание": null,
 
              "НоменклатураДокументаРасш.ЕИУ": null,
 
              "НоменклатураДокументаРасш.Комментарий": null,
 
              "НоменклатураДокументаРасш.НДС": null,
 
              "Номер": null,
 
              "Примечание": "",
 
              "Сумма": 2552,
 
              "СуммаЦен": 2552,
 
              "СуммаЦенБезНДС": null,
 
              "Цена": 232,
 
              "ЦенаБезНДС": 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": 12321043,
 
        "Parameters": {
 
          "DocUUID": "782b9855-39c9-4cd1-904c-884b3467a190",
 
          "IsLoadingInto": false,
 
          "IsNeedFilePrepare": false,
 
          "ИдентификаторДискВерсияДокумента": "ca67c7f7-f4b5-4110-9e01-996270bee958_e34d6e3d-8f4f-49cd-a752-a2587e2b6034",
 
          "ИдентификаторДискДокумент": "ca67c7f7-f4b5-4110-9e01-996270bee958",
 
          "ТипРеестра": "РеестрЭО"
 
        },
 
        "ShortState": 0,
 
        "Size": 4388,
 
        "Type": 0
 
      }
 
    ],
 
    "PK": 6840569,
 
    "Parameters": {
 
      "Sourse": 0
 
    },
 
    "Status": 4
 
  },
 
  "Stat": {
 
    "OnUploadingCreate": {
 
      "ExtSdk2.OnUploadingCreate": {
 
        "count": 1,
 
        "time": 19
 
      }
 
    }
 
  }
 
}
 
</source>
 
  
 
== Алгоритм работы ==  
 
== Алгоритм работы ==  
Строка 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": "Реализация&nbsp№БП-21&nbspот&nbsp22.03.21&nbspСнабАвиа, ООО&nbspна сумму&nbsp3596.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 (объект) - Параметры загрузки
    • Error (строка) - Содержит текст ошибки, если обработка загрузки завершилась с ошибкой
    • LoadedFiles (массив) - Список загруженных файлов
      • PK (число) - Идентификатор (первичный ключ) загружаемого файла
      • Name (строка) - Имя файла
      • Size (строка) - Размер файла в байтах
      • Type (число) - Тип загруженного файла Подробнее
      • Document (число) - Первичный ключ документа (если есть)
      • DocUUID (строка) - Идентификатор документа (если есть)
      • DocName (строка) - Имя документа (если есть)
      • DocType (строка) - Тип документа из сервиса форматов (если есть)
      • DocSubType (строка) - Подтип документа из сервиса форматов (если есть)
      • Parameters (объект) - Параметры загружаемого файла
      • Info (объект) - Информация о загружаемом файле (заполняется загрузчиком)
    • FailedFiles (массив) - Список файлов, которые не удалось загрузить
      • PK (число) - Идентификатор (первичный ключ) загружаемого файла
      • Name (строка) - Имя файла
      • Size (строка) - Размер файла в байтах
      • Parameters (объект) - Параметры загружаемого файла
      • Info (объект) - Информация о загружаемом файле (заполняется загрузчиком)
      • Msg (строка) - Текст ошибки загрузки файла
      • UserMsg (строка) - Текст ошибки загрузки файла для информационного сообщения пользователю
      • Code (число) - Код ошибки
  • Stat (объект) - статистика времени выполнения операции

Алгоритм работы

  1. Принимаем на вход JSON объект объект Каталог с массивом вложений.
  2. Если требуется загрузка файлов на СБИС.Диск( Параметр Ссылка проставлен не во всех вложениях ). Если все ссылки изначально проставлены, то сразу переход к п.3
    1. Загружаем переданные файлы на СБИС.Диск и проставляем ссылки. Сообщаем пользователю о начале асинхронной загрузки файлов ошибкой метода вида ExtException с кодом 308 сериализованную в строку, где в detail лежит текст "#ASYNC"( См. #Исключения №1 ). Она обозначает, что плагин загрузит файлы из вложений на СБИС.Диск и проставит недостающие ссылки в соответствующий объект Файл. Во время проставления ссылок возможны следующее событие от плагина:
      1. В случае ошибки плагин пробрасывает событие с именем "extsdk2.async.error". Оно содержит QueryID вызываемого метода и ExtException, сериализованные в строку( См. #Исключения №2 ). Обработка вложений плагином немедленно завершается.
  3. Загрузка отчетности в СБИС
    1. Если во всех вложениях ссылки уже были проставлены, то сообщаем пользователю о начале загрузки файлов в СБИС ошибкой метода вида ExtException с кодом 308 сериализованную в строку, где в detail лежит текст "#ASYNC"( См. #Исключения №1 ). Она означает, что необходимо ожидать событие загрузки отчетности в СБИС.
    2. Если во вложениях ссылки проставлялись плагином, то вызываем метод Uploading.Create и ожидаем событие окончания загрузки.
  4. При получении события окончания загрузки вызываем метод Uploading.GetResult передав идентификатор загрузки из события.
  5. Разбираем ответ Uploading.GetResult и возвращаем результат работы WriteReportingsEx в виде JSON объекта
    1. В случае успеха плагин пробрасывает событие с именем "extsdk2.async.complete" возвращает #Результат, сериализованный в строку.
    2. В случае ошибки плагин пробрасывает событие с именем "extsdk2.async.error"( См. #Исключения №2 ).


Исключения

  1. Сообщение об ошибке с текстом "#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'
          }
        ]
      }
    }
  2. Сообщение 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": "Реализация&nbsp№БП-21&nbspот&nbsp22.03.21&nbspСнабАвиа, ООО&nbspна сумму&nbsp3596.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
}