PDA

Просмотр полной версии : 1c & XDTO



Kuken
09.09.2020, 08:23
День добрый форумчане.
вот такая ошибка появилась при обмене выгрузка из УНФ (перепиленная в край) в БП по универсалу:
Событие: Отправка.
ПОД: Справочник_СпецификацииНоm енклатуры_Отправка.
ПКО: Справочник_СпецификацииНоm енклатуры_Отправка.
Объект: Справочник объект: Спецификации, Печать с логотипом Диаметр печати: 40,Оснастка: Переклейка на оснастку заказчика, (e1cib/data/Справочник.Спецификации?ref= 95cfd89d672c49b011eae6d66d90fca8).

{ОбщийМодуль.ОбменДаннымиXD TOСервер.Модуль(835)}: Ошибка формирования объекта XDTO: Тип свойства <Таблица>. Имя свойства: <Товары>.

{ОбщийМодуль.ОбменДаннымиXD TOСервер.Модуль(835)}: Ошибка формирования объекта XDTO: Тип свойства <ОбычноеСвойство>. Имя свойства: <ДоляСтоимости>.

{ОбщийМодуль.ОбменДаннымиXD TOСервер.Модуль(756)}: Ошибка при вызове метода контекста (Создать)
ЗначениеXDTO = ФабрикаXDTO.Создать(Свойство .Тип, ЗначениеСвойства);
по причине:
Ошибка проверки данных XDTO:
Значение: '244.22' не соответствует простому типу: {http://www.w3.org/2001/XMLSchema}int
Несоответствие фасету FractionDigits = '0'
ВызватьИсключение ТекстОшибки;
ВызватьИсключение ТекстОшибки;

Я понимаю что мне ошибка говорит что ДЛИННА ДРОБНОЙ ЧАСТИ должна быть равна 0, а у мена нет.
Я не могу понять где поправить этот FRACTIONDIGITS

все ссылки XDTO на данную хрень выглядят так <xs:element name="ДоляСтоимости" type="xs:decimal"/>

у меня в объектах XDTO нет ни одного объекта (я не нашел) который ссылаеться на http://www.w3.org/2001/XMLSchema
может я не правильно ищу может не там.
вот в чем проблема то.

Konor18
09.09.2020, 10:27
День добрый форумчане.
вот такая ошибка появилась при обмене выгрузка из УНФ (перепиленная в край) в БП по универсалу:
Событие: Отправка.
ПОД: Справочник_СпецификацииНоm енклатуры_Отправка.
ПКО: Справочник_СпецификацииНоm енклатуры_Отправка.
Объект: Справочник объект: Спецификации, Печать с логотипом Диаметр печати: 40,Оснастка: Переклейка на оснастку заказчика, (e1cib/data/Справочник.Спецификации?ref= 95cfd89d672c49b011eae6d66d90fca8).

{ОбщийМодуль.ОбменДаннымиXD TOСервер.Модуль(835)}: Ошибка формирования объекта XDTO: Тип свойства <Таблица>. Имя свойства: <Товары>.

{ОбщийМодуль.ОбменДаннымиXD TOСервер.Модуль(835)}: Ошибка формирования объекта XDTO: Тип свойства <ОбычноеСвойство>. Имя свойства: <ДоляСтоимости>.

{ОбщийМодуль.ОбменДаннымиXD TOСервер.Модуль(756)}: Ошибка при вызове метода контекста (Создать)
ЗначениеXDTO = ФабрикаXDTO.Создать(Свойство .Тип, ЗначениеСвойства);
по причине:
Ошибка проверки данных XDTO:
Значение: '244.22' не соответствует простому типу: {http://www.w3.org/2001/XMLSchema}int
Несоответствие фасету FractionDigits = '0'
ВызватьИсключение ТекстОшибки;
ВызватьИсключение ТекстОшибки;

Я понимаю что мне ошибка говорит что ДЛИННА ДРОБНОЙ ЧАСТИ должна быть равна 0, а у мена нет.
Я не могу понять где поправить этот FRACTIONDIGITS

все ссылки XDTO на данную хрень выглядят так <xs:element name="ДоляСтоимости" type="xs:decimal"/>

у меня в объектах XDTO нет ни одного объекта (я не нашел) который ссылаеться на http://www.w3.org/2001/XMLSchema
может я не правильно ищу может не там.
вот в чем проблема то.

Можно изменить формат универсального пакета, но проще изменить правила выгрузки, перед выгрузкой сделать преобразование (округление) у нужному типу, если это не критично для точности.

Kuken
09.09.2020, 10:30
в том то все и дело что кретично, этот параметр учитывается в ЗП людей.
Я понимаю что можно поставить FractionDigits = '2', но я не знаю где это сделать.

Konor18
09.09.2020, 11:27
в том то все и дело что кретично, этот параметр учитывается в ЗП людей.
Я понимаю что можно поставить FractionDigits = '2', но я не знаю где это сделать.

если точность критически важна - тогда меняйте в пакете - ветка общие - xdto-объекты - пакет называется EnterpriseData (используемую версию вроде можно посмотреть в настройках обмена)
там где-то в настройках можно поменять тип и свойства объектов, где искать ваше свойство не знаю

Kuken
09.09.2020, 11:33
Ок. поищу отпишу.

Kuken
09.09.2020, 12:33
<xs:element name="ДоляСтоимости" type="xs:decimal"/> - тут поменял int на decimal
<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

Kuken
10.09.2020, 08:43
эм... народ. а теперь для тупых вопрос.
выгрузил XDTO из 1с поправил....
а как назад загрузить???

Konor18
10.09.2020, 13:40
эм... народ. а теперь для тупых вопрос.
выгрузил XDTO из 1с поправил....
а как назад загрузить???

поставить курсор на корневой элемент "xdto_пакеты", нажать правую кнопку мыши и появиться пункт "импорт схемы"

Kuken
11.09.2020, 07:51
вообщем не помогло.
вот полная ошибка в очередной раз.
Событие: Отправка.
ПОД: Справочник_СпецификацииНо� �енклатуры_Отправка.
ПКО: Справочник_СпецификацииНо� �енклатуры_Отправка.
Объект: Справочник объект: Спецификации, Печать простая по желанию закачика Оснастка: 4642 Р4 оснастка для печати диаметром 42мм, (e1cib/data/Справочник.Спецификации?ref= 95dfd89d672c49b011eaf36ec5fba3c3).

{ОбщийМодуль.ОбменДаннымиXD TOСервер.Модуль(835)}: Ошибка формирования объекта XDTO: Тип свойства <Таблица>. Имя свойства: <Товары>.

{ОбщийМодуль.ОбменДаннымиXD TOСервер.Модуль(835)}: Ошибка формирования объекта XDTO: Тип свойства <ОбычноеСвойство>. Имя свойства: <ДоляСтоимости>.

{ОбщийМодуль.ОбменДаннымиXD TOСервер.Модуль(756)}: Ошибка при вызове метода контекста (Создать)
ЗначениеXDTO = ФабрикаXDTO.Создать(Свойство .Тип, ЗначениеСвойства);
по причине:
Ошибка проверки данных XDTO:
Значение: '21.77' не соответствует простому типу: {http://www.w3.org/2001/XMLSchema}int
Несоответствие фасету FractionDigits = '0'
ВызватьИсключение ТекстОшибки;
ВызватьИсключение ТекстОшибки;
это вся схема XDTO
https://yadi.sk/d/5pip-5btETZoHw
EnterpriseData1.3.7
https://yadi.sk/d/rt0-q0aASDcOUA
EnterpiseData1.6.1
https://yadi.sk/d/24NcK--YGSgPgg