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

Материал из razgovorov.ru
Перейти к: навигация, поиск
 
(не показана 1 промежуточная версия этого же участника)
Строка 103: Строка 103:
 
{
 
{
 
"Файл": {
 
"Файл": {
"Имя": "ON_NSCHFDOPPR___20210326_f25268e5-803a-407e-9ba5-0950ba405a3f.xml",
+
"Имя": "ON_NSCHFDOPPR___10210326_f25268e5-803a-407e-9ba5-0950ba405a3f.xml",
"ПутьКФайлу": Путь до файла на PC
+
"ПутьКФайлу": Путь к правильно сформированному файлу на PC
 +
}
 +
},
 +
{
 +
"Файл": {
 +
"Имя": "sfact.xml",
 +
"ПутьКФайлу": Путь к не правильно сформированному файлу на PC
 
}
 
}
 
}
 
}
Строка 114: Строка 120:
 
<source lang="json">
 
<source lang="json">
 
{
 
{
{
+
  "QueryId": "57ad3d81-1fbb-4bd9-9da7-3900f099edb2",
"Error": null,
+
  "Result": {
"FailedFiles": [],
+
    "Error": null,
"ID": "4d3b19e9df7142c197d9960dec5cc08a",
+
    "FailedFiles": [
"LoadedFiles": [
+
      {
{
+
        "Code": 0,
"Date": "2021-03-22",
+
        "Info": {
"DocName": "Реализация&nbsp№БП-21&nbspот&nbsp22.03.21&nbspСнабАвиа, ООО&nbspна сумму&nbsp3596.04",
+
          "SuccessfulScanReplacement": false
"DocSubType": "1115131",
+
        },
"DocType": "СчФктр",
+
        "Msg": "Неверно указан ИНН \"{ОРГАНИЗАЦИЯИНН}\". Должен состоять из 10 или 12 цифр.",
"DocUUID": "782b9855-39c9-4cd1-904c-884b3467a190",
+
        "Name": "sfact1.xml",
"Document": 34551,
+
        "PK": 12322907,
"FileInnerID": 0,
+
        "Parameters": {
"Info": {
+
          "IsLoadingInto": false,
"DocType": "ДокОтгрИсх",
+
          "IsNeedFilePrepare": false,
"DocTypeCaption": "Реализация",
+
          "ИдентификаторДискВерсияДокумента": "f52bfff7-2d09-44c2-a69c-c69d566a6214_5fc01a00-d4e0-4701-926e-aac5fc605031",
"OpenMode": 4,
+
          "ИдентификаторДискДокумент": "f52bfff7-2d09-44c2-a69c-c69d566a6214",
"SuccessfulScanReplacement": false,
+
          "ТипРеестра": "РеестрЭО"
"Дата": "2021-03-22",
+
        },
"ИдентификаторДиск": "e7488132-9c2c-4c6e-b513-38d40869be81",
+
        "Size": 2838,
"Номер": "БП-21",
+
        "UserMsg": "Неверно указан ИНН \"{ОРГАНИЗАЦИЯИНН}\". Должен состоять из 10 или 12 цифр."
"РП.ДополнительнаяИнформация": [
+
      }
{
+
    ],
"PicsInfo": null,
+
    "ID": "9f1d9178102843cd8f51a22db27cce55",
"Дата": null,
+
    "LoadedFiles": [
"ИдО": null,
+
      {
"Количество": 10,
+
        "DocList": [
"Название": "\"Букварь\", Жукова Н., Эксмо, 2016 г. / 96 стр. (код товара: 2208337) ",
+
          {
"НазваниеЕИ": null,
+
            "Date": "2021-03-21",
"Номенклатура": null,
+
            "DocName": "Реализация&nbsp№БП-15&nbspот&nbsp21.03.21&nbspСнабАвиа, ООО",
"Номенклатура.Наименование": null,
+
            "DocSubType": "1115131",
"Номенклатура.Описание": null,
+
            "DocType": "СчФктр",
"НоменклатураДокументаРасш.ЕИУ": null,
+
            "DocUUID": "2e7100b0-1c7e-488e-82b8-4ca095c7a0f3",
"НоменклатураДокументаРасш.Комментарий": null,
+
            "Document": 37845,
"НоменклатураДокументаРасш.НДС": null,
+
            "FileInnerID": 0,
"Номер": null,
+
            "Info": {
"Примечание": "",
+
              "DocType": "ДокОтгрИсх",
"Сумма": 1000.0,
+
              "DocTypeCaption": "Реализация",
"СуммаЦен": 1000.0,
+
              "OpenMode": 4,
"СуммаЦенБезНДС": null,
+
              "SuccessfulScanReplacement": false,
"Цена": 100.0,
+
              "Дата": "2021-03-21",
"ЦенаБезНДС": null
+
              "ИдентификаторДиск": "e4e91959-47aa-47da-8378-09ddddb47a82",
},
+
              "Номер": "БП-15",
{
+
              "РП.ДополнительнаяИнформация": [],
"PicsInfo": null,
+
              "РП.ОсновнаяИнформация": {
"Дата": null,
+
                "Валюта": "",
"ИдО": null,
+
                "Веха": null,
"Количество": 11,
+
                "Заголовок1": {
"Название": "Номенклатура с ® ",
+
                  "Адрес": null,
"НазваниеЕИ": null,
+
                  "Геометка": null,
"Номенклатура": null,
+
                  "ИдО": 176,
"Номенклатура.Наименование": null,
+
                  "Название": "СнабАвиа",
"Номенклатура.Описание": null,
+
                  "Тип": 0
"НоменклатураДокументаРасш.ЕИУ": null,
+
                },
"НоменклатураДокументаРасш.Комментарий": null,
+
                "Заголовок2": null,
"НоменклатураДокументаРасш.НДС": null,
+
                "Заголовок3": null,
"Номер": null,
+
                "Заголовок4": {
"Примечание": "",
+
                  "ИдО": null,
"Сумма": 2552.0,
+
                  "Название": null,
"СуммаЦен": 2552.0,
+
                  "Тип": null
"СуммаЦенБезНДС": null,
+
                },
"Цена": 232.0,
+
                "Комментарий1": "",
"ЦенаБезНДС": null
+
                "Комментарий2": "ООО ВинСтек",
},
+
                "Комментарий3": null,
{
+
                "Комментарий4": null,
"PicsInfo": null,
+
                "Комментарий5": null,
"Дата": null,
+
                "Комментарий6": null,
"ИдО": null,
+
                "КомментарийЗаголовка": null,
"Количество": 4,
+
                "КомментарийОтветственного": null,
"Название": "Товар?*%:?*;?:%№%\";)?+(+_ ",
+
                "НастройкиОтображения": {},
"НазваниеЕИ": null,
+
                "НашаОрганизация": {
"Номенклатура": null,
+
                  "Голова": "ВинСтек",
"Номенклатура.Наименование": null,
+
                  "Филиал": ""
"Номенклатура.Описание": null,
+
                },
"НоменклатураДокументаРасш.ЕИУ": null,
+
                "Регламент": {
"НоменклатураДокументаРасш.Комментарий": null,
+
                  "Название": "Реализация"
"НоменклатураДокументаРасш.НДС": null,
+
                },
"Номер": null,
+
                "Сотрудник": [],
"Примечание": "",
+
                "Срок": null,
"Сумма": 44.04,
+
                "Сумма": null
"СуммаЦен": 44.04,
+
              }
"СуммаЦенБезНДС": null,
+
            },
"Цена": 11.01,
+
            "Name": "ON_NSCHFDOPPR___10210326_f25268e5-803a-407e-9ba5-0950ba405a3f.xml",
"ЦенаБезНДС": null
+
            "NameList": [
}
+
              {
],
+
                "Name": "ON_NSCHFDOPPR___10210326_f25268e5-803a-407e-9ba5-0950ba405a3f.xml",
"РП.ОсновнаяИнформация": {
+
                "PK": 12322906
"Валюта": "",
+
              }
"Веха": null,
+
            ],
"Заголовок1": {
+
            "PK": 12322906,
"Адрес": null,
+
            "Parameters": {
"Геометка": null,
+
              "DocUUID": "2e7100b0-1c7e-488e-82b8-4ca095c7a0f3",
"ИдО": 176,
+
              "IsLoadingInto": false,
"Название": "СнабАвиа",
+
              "IsNeedFilePrepare": false,
"Тип": 0
+
              "ИдентификаторДискВерсияДокумента": "e4e91959-47aa-47da-8378-09ddddb47a82_04050472-3bb9-4771-8ebd-d2d268d1c4f8",
},
+
              "ИдентификаторДискДокумент": "e4e91959-47aa-47da-8378-09ddddb47a82",
"Заголовок2": null,
+
              "ТипРеестра": "РеестрЭО"
"Заголовок3": null,
+
            },
"Заголовок4": {
+
            "ShortState": 0,
"ИдО": null,
+
            "Size": 4388,
"Название": null,
+
            "Type": 0
"Тип": null
+
          }
},
+
        ],
"Комментарий1": "",
+
        "GroupName": "Реализация",
"Комментарий2": "ООО ВинСтек",
+
        "GroupSize": 1
"Комментарий3": null,
+
      }
"Комментарий4": null,
+
    ],
"Комментарий5": null,
+
    "PK": 6840909,
"Комментарий6": null,
+
    "Parameters": {
"КомментарийЗаголовка": null,
+
      "Sourse": 0
"КомментарийОтветственного": null,
+
    },
"НастройкиОтображения": {},
+
    "Status": 4
"НашаОрганизация": {
+
  },
"Голова": "ВинСтек",
+
  "Stat": {
"Филиал": ""
+
    ...
},
+
  }
"Регламент": {
 
"Название": "Реализация"
 
},
 
"Сотрудник": [],
 
"Срок": 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]]

Текущая версия на 15:58, 19 октября 2021

Описание

Метод позволяет за один вызов загрузить отчетность в СБИС.

Параметры

  • Catalog ! (объект) - объект с массивом вложений
    • Вложение (массив) - Массив вложений для загрузки
      • Файл (объект) - Объект файл
        • Имя (строка) - Имя файла
        • ДвоичныеДанные (строка) - Файл в виде двоичных данных( Не допускается использовать одновременно с Строка, ПутьКФайлу, Ссылка )
        • Строка (строка) - Файл в виде строки( Не допускается использовать одновременно с ДвоичныеДанные, ПутьКФайлу, Ссылка )
        • ПутьКФайлу (строка) - Путь до файла на PC( Не допускается использовать одновременно с ДвоичныеДанные, Строка, Ссылка )
        • Ссылка (строка) - Ссылка на файл на СБИС.Диск( Не допускается использовать одновременно с ДвоичныеДанные, Строка, ПутьКФайлу )

Результат

  • QueryId (строка) - Идентификатор запроса в плагин
  • Result (объект) - объект
    • PK (число) - Первичный ключ загрузки
    • Status (число) - Статус загрузки
    • Parameters (объект) - Параметры загрузки
    • Error (строка) - Содержит текст ошибки, если обработка загрузки завершилась с ошибкой
    • LoadedFiles (массив) - Список загруженных файлов
      • GroupName (строка) - Имя группы документов
      • GroupSize (число) - Количество документов в группе
      • DocList (массив) - Список документов
        • PK (число) - Идентификатор (первичный ключ) загружаемого файла
        • Name (строка) - Имя файла
        • Size (строка) - Размер файла в байтах
        • Type (число) - Тип загруженного файла Подробнее
        • Document (число) - Первичный ключ документа (если есть)
        • DocUUID (строка) - Идентификатор документа (если есть)
        • DocName (строка) - Имя документа (если есть)
        • DocType (строка) - Тип документа из сервиса форматов (если есть)
        • DocSubType (строка) - Подтип документа из сервиса форматов (если есть)
        • Parameters (объект) - Параметры загружаемого файла
        • Info (объект) - Информация о загружаемом файле (заполняется загрузчиком)
        • ShortState (число) - Состояние документа (заполняется прикладным загрузчиком)
        • Date (строка) - Дата документа (заполняется прикладным загрузчиком)
        • FileInnerID (число) - Внутренний идентификатор загружаемого файла
        • NameList (массив) - Список файлов в документе
          • PK (число) - Первичный ключ файла
          • Name (строка) - Имя файла
    • 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.ReadResult передав идентификатор загрузки из события.
  5. Разбираем ответ Uploading.ReadResult и возвращаем результат работы WriteReportings в виде 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.WriteReportings',
        'stack': [
          {
            'method_name': 'AsyncUploadAttachments b3e310ec-7d85-4026-bfad-228690f38d55'
          }
        ]
      }
    }
  2. Сообщение extsdk2.async.error об ошибке с QueryId вызываемого метода
    {
      
    }

Пример успешного вызова

Запрос

{
"Вложение": 
[
	{
		"Файл": {
			"Имя": "ON_NSCHFDOPPR___10210326_f25268e5-803a-407e-9ba5-0950ba405a3f.xml",
			"ПутьКФайлу": Путь к правильно сформированному файлу на PC
		}
	},
	{
		"Файл": {
			"Имя": "sfact.xml",
			"ПутьКФайлу": Путь к не правильно сформированному файлу на PC
		}
	}
]
}

Ответ

{
  "QueryId": "57ad3d81-1fbb-4bd9-9da7-3900f099edb2",
  "Result": {
    "Error": null,
    "FailedFiles": [
      {
        "Code": 0,
        "Info": {
          "SuccessfulScanReplacement": false
        },
        "Msg": "Неверно указан ИНН \"{ОРГАНИЗАЦИЯИНН}\". Должен состоять из 10 или 12 цифр.",
        "Name": "sfact1.xml",
        "PK": 12322907,
        "Parameters": {
          "IsLoadingInto": false,
          "IsNeedFilePrepare": false,
          "ИдентификаторДискВерсияДокумента": "f52bfff7-2d09-44c2-a69c-c69d566a6214_5fc01a00-d4e0-4701-926e-aac5fc605031",
          "ИдентификаторДискДокумент": "f52bfff7-2d09-44c2-a69c-c69d566a6214",
          "ТипРеестра": "РеестрЭО"
        },
        "Size": 2838,
        "UserMsg": "Неверно указан ИНН \"{ОРГАНИЗАЦИЯИНН}\". Должен состоять из 10 или 12 цифр."
      }
    ],
    "ID": "9f1d9178102843cd8f51a22db27cce55",
    "LoadedFiles": [
      {
        "DocList": [
          {
            "Date": "2021-03-21",
            "DocName": "Реализация&nbsp№БП-15&nbspот&nbsp21.03.21&nbspСнабАвиа, ООО",
            "DocSubType": "1115131",
            "DocType": "СчФктр",
            "DocUUID": "2e7100b0-1c7e-488e-82b8-4ca095c7a0f3",
            "Document": 37845,
            "FileInnerID": 0,
            "Info": {
              "DocType": "ДокОтгрИсх",
              "DocTypeCaption": "Реализация",
              "OpenMode": 4,
              "SuccessfulScanReplacement": false,
              "Дата": "2021-03-21",
              "ИдентификаторДиск": "e4e91959-47aa-47da-8378-09ddddb47a82",
              "Номер": "БП-15",
              "РП.ДополнительнаяИнформация": [],
              "РП.ОсновнаяИнформация": {
                "Валюта": "",
                "Веха": 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,
                "Сумма": null
              }
            },
            "Name": "ON_NSCHFDOPPR___10210326_f25268e5-803a-407e-9ba5-0950ba405a3f.xml",
            "NameList": [
              {
                "Name": "ON_NSCHFDOPPR___10210326_f25268e5-803a-407e-9ba5-0950ba405a3f.xml",
                "PK": 12322906
              }
            ],
            "PK": 12322906,
            "Parameters": {
              "DocUUID": "2e7100b0-1c7e-488e-82b8-4ca095c7a0f3",
              "IsLoadingInto": false,
              "IsNeedFilePrepare": false,
              "ИдентификаторДискВерсияДокумента": "e4e91959-47aa-47da-8378-09ddddb47a82_04050472-3bb9-4771-8ebd-d2d268d1c4f8",
              "ИдентификаторДискДокумент": "e4e91959-47aa-47da-8378-09ddddb47a82",
              "ТипРеестра": "РеестрЭО"
            },
            "ShortState": 0,
            "Size": 4388,
            "Type": 0
          }
        ],
        "GroupName": "Реализация",
        "GroupSize": 1
      }
    ],
    "PK": 6840909,
    "Parameters": {
      "Sourse": 0
    },
    "Status": 4
  },
  "Stat": {
    ...
  }
}