Добрый день, друзья! Нужна ваша помощь. Заполняю xml документ по xsd схеме, с помощью XDTO пакета (Для загрузки в СУЗ, Честный знак).
Пишет что не правильно заполнено (На сайте Честный знак при загрузке)...
Подскажите пожалуйста что я делаю не правильно:
В Файле xsd схема и пример из Честного знака. и мой файл
Пишет что не правильно заполнено (На сайте Честный знак при загрузке)...
Подскажите пожалуйста что я делаю не правильно:
ПакетЗаказКодовСУЗ = ФабрикаXDTO.Пакеты.Получить("urn:oms.order");
СвойствоOrder = ПакетЗаказКодовСУЗ.КорневыеСвойства.Получить("order");
ГлавныйПакетXDTO = ФабрикаXDTO.Создать(СвойствоOrder.Тип);
///Дополнительно. Получаем Список значений "cisType"
КоллекцияПеречисленийCIS = ПакетЗаказКодовСУЗ.Получить("cisType").Фасеты;
ФБТИП = ФабрикаXDTO.Тип("urn:oms.order","OrderMilkType");
ТоварМолокоXDTO = ФабрикаXDTO.Создать(ФБТИП);
ТоварМолокоXDTO.contactPerson = "string";
ТоварМолокоXDTO.createMethodType = "SELF_MADE";
ТоварМолокоXDTO.productGroupe = "milk";
ТоварМолокоXDTO.productionOrderId = "string";
ТоварМолокоXDTO.releaseMethodType = "PRODUCTION";
ПродуктыXDTO = ФабрикаXDTO.Тип("urn:oms.order","OrderMilkType").Свойства.Получить("products").Тип;
XDTOПродукт = ПродуктыXDTO.Свойства.Получить("product").Тип;
products = ФабрикаXDTO.Создать(ПродуктыXDTO);
/// Заполняем список
СписокКодовXDTO = ФабрикаXDTO.Создать(XDTOПродукт);
СписокКодовXDTO.cisType = "UNIT"; /// Единичный товар
СписокКодовXDTO.gtin = "04607088111111"; /// Штрих код номенклатуры 14 цифр
СписокКодовXDTO.quantity = 100 ; /// Количество КМ
СписокКодовXDTO.expDate = Формат(ТекущаяДата(),"ДФ=ддММгг"); ///Дата срока годности более 72 часа (YYMMDD)
//СписокКодовXDTO.expDate72 = Формат(); ///Дата срока годности менее 72 часа (YYMMDDHHMM)
СписокКодовXDTO.serialNumberType = "OPERATOR"; /// Способ формирования кода маркировки (Оператор)
//СписокКодовXDTO.serialNumbers = Список значений xdto; /// Ручное формирование кодов маркировка. У нас формирует "Оператор"
СписокКодовXDTO.stickerId = ""; /// Идентификатор этикетки - не обязателен
СписокКодовXDTO.templateId = 20; /// Идентификатор шаблона КМ. (У молоч. продукции = 20)
products.product.Добавить(СписокКодовXDTO);
ТоварМолокоXDTO.products = products;
ГлавныйПакетXDTO.milk = ТоварМолокоXDTO;
Запись = Новый ЗаписьXML;
Запись.ОткрытьФайл("c:\test.xml");
Запись.ЗаписатьОбъявлениеXML();
ФабрикаXDTO.ЗаписатьXML(Запись, ГлавныйПакетXDTO,"order");
Запись.Закрыть();
ПоказатьВ Файле xsd схема и пример из Честного знака. и мой файл
Прикрепленные файлы:
order-v5.0.xsd
заказ_кодов_маркировки.xml
test.xml
По теме из базы знаний
- Автоматическое заполнение статистической формы учета перемещения товаров при ЭКСПОРТЕ (ФТС) в государства ЕАЭС (Беларусь, Казахстан, Армения и Кыргызская Республика)
- Простой способ передачи файла с клиента на сервер и обратно. Пример работы с XML
- БГУ 1.0.57.4: исправление ошибки обновления при заполнении корреспонденции счетов
- Мониторинг ПФР/Минтруда по приказу № Пр-366. Форма для сбора сведений о заработной плате работников бюджетной сферы. Автоматическое заполнение с возможностью корректировки и консолидации и выгрузка в формате XML. ЗГУ/ЗУП 3.1
- Чтение и запись структуры XML
Найденные решения
(9)Могу предположить что теги стоят не в том порядке, в котором они прописаны в схеме..
В схеме это присутствует, заполняйте фабрику так как указано в схеме, ну или в примере..
Лень было лезть схему смотреть сразу
Элемент sequence определяет, что дочерние элементы должны появляться в последовательности. Каждый дочерний элемент может использоваться от 0 до бесконечного числа раз.
В схеме это присутствует, заполняйте фабрику так как указано в схеме, ну или в примере..
Лень было лезть схему смотреть сразу
(15)не, нашел, не косяк, это базовый тип...
а вот про порядок следования верно подмечено. OrderProduct в схеме упорядоченный
"Упорядоченный – признак того, является ли порядок следования элементов, представляющих значения свойств, строго соответствующим порядку следования свойств в типе объекта XDTO. Если задана модель контента xsd:all, то порядок следования элементов XML может быть произвольным. При этом допустимым является порядок, соответствующий порядку следования свойств в типе. То есть если свойство Упорядоченный имеет значение Ложь, то на входе порядок следования элементов XML не контролируется, а на выходе определяется порядком следования свойств, если только признак Последовательный не имеет значение Истина." (С)
а вот про порядок следования верно подмечено. OrderProduct в схеме упорядоченный
"Упорядоченный – признак того, является ли порядок следования элементов, представляющих значения свойств, строго соответствующим порядку следования свойств в типе объекта XDTO. Если задана модель контента xsd:all, то порядок следования элементов XML может быть произвольным. При этом допустимым является порядок, соответствующий порядку следования свойств в типе. То есть если свойство Упорядоченный имеет значение Ложь, то на входе порядок следования элементов XML не контролируется, а на выходе определяется порядком следования свойств, если только признак Последовательный не имеет значение Истина." (С)
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(3)
А так у вас не в 1С проблема то ...
т.е. файл он записывает у вас, а уже на стороне Честного знака отбой идет ??
Сложно догадаться. я думал у вас при записи файла ошибку выдает
Я так понял первый файл как должно быть, второй это ваш ?
тогда ошибка вот в этом
">
В вашем файле этого нету...
А так у вас не в 1С проблема то ...
т.е. файл он записывает у вас, а уже на стороне Честного знака отбой идет ??
Сложно догадаться. я думал у вас при записи файла ошибку выдает
Я так понял первый файл как должно быть, второй это ваш ?
тогда ошибка вот в этом
xsi:schemaLocation="urn:oms.order schema.xsd
В вашем файле этого нету...
Фабрика то дописывает в заголовок
Но там помимо этого должно быть еще
т.е как я понял это где искать эту схему..как в Фабрике это добавить..не знаю, можно потом после формирования файла это добавить..прочитать как текст и добавить через стрЗаменить...
<order xmlns="urn:oms.order"
Но там помимо этого должно быть еще
xsi:schemaLocation="urn:oms.order schema.xsd"
т.е как я понял это где искать эту схему..как в Фабрике это добавить..не знаю, можно потом после формирования файла это добавить..прочитать как текст и добавить через стрЗаменить...
(15)не, нашел, не косяк, это базовый тип...
а вот про порядок следования верно подмечено. OrderProduct в схеме упорядоченный
"Упорядоченный – признак того, является ли порядок следования элементов, представляющих значения свойств, строго соответствующим порядку следования свойств в типе объекта XDTO. Если задана модель контента xsd:all, то порядок следования элементов XML может быть произвольным. При этом допустимым является порядок, соответствующий порядку следования свойств в типе. То есть если свойство Упорядоченный имеет значение Ложь, то на входе порядок следования элементов XML не контролируется, а на выходе определяется порядком следования свойств, если только признак Последовательный не имеет значение Истина." (С)
а вот про порядок следования верно подмечено. OrderProduct в схеме упорядоченный
"Упорядоченный – признак того, является ли порядок следования элементов, представляющих значения свойств, строго соответствующим порядку следования свойств в типе объекта XDTO. Если задана модель контента xsd:all, то порядок следования элементов XML может быть произвольным. При этом допустимым является порядок, соответствующий порядку следования свойств в типе. То есть если свойство Упорядоченный имеет значение Ложь, то на входе порядок следования элементов XML не контролируется, а на выходе определяется порядком следования свойств, если только признак Последовательный не имеет значение Истина." (С)
(9)Могу предположить что теги стоят не в том порядке, в котором они прописаны в схеме..
В схеме это присутствует, заполняйте фабрику так как указано в схеме, ну или в примере..
Лень было лезть схему смотреть сразу
Элемент sequence определяет, что дочерние элементы должны появляться в последовательности. Каждый дочерний элемент может использоваться от 0 до бесконечного числа раз.
В схеме это присутствует, заполняйте фабрику так как указано в схеме, ну или в примере..
Лень было лезть схему смотреть сразу
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот