Ошибка проверки xdto значение не соответствует простому типу

Добрый день! 1С:Предприятие 8.3 (8.3.18.1289) Зарплата и управление персоналом, редакция 3.1 (3.1.19.80) (http://v8.1c.ru/hrm/)
Copyright © ООО «1С-Софт», 2010 — 2020. Все права защищены
(http://www.1c.ru). Прошу помощи, при отправки реестра прямых выплат выдает ошибку:
Ошибка проверки данных XDTO:
Значение: » не соответствует простому типу: {http://pilot.fss.ru/1.7}IdType
Значение не соответствует значениям фасета перечисления
{Документ.РеестрСведенийНеобходимыхДляНазначенияИВыплатыПособий.МодульМенеджера(417)}: ROW.ID_TYPE = СтруктураДанных.УдостоверениеЛичностиКодМВД;
{Документ.РеестрСведенийНеобходимыхДляНазначенияИВыплатыПособий.МодульМенеджера(379)}: ЗаполнитьСтрокуРеестра(ROW, ВыборкаСтрок);
{Документ.РеестрСведенийНеобходимыхДляНазначенияИВыплатыПособий.МодульМенеджера(311)}: ТекстXML = СформироватьФайлРеестра(ВыборкаПоШапкеДокумента, ИдентификаторФСС);
{Документ.РеестрСведенийНеобходимыхДляНазначенияИВыплатыПособий.МодульМенеджера(327)}: ФайлРеестра = ФайлРеестра(Ссылка, Неопределено);
{ОбщийМодуль.ЗарплатаКадрыБазовый.Модуль(1221)}: ФайлДляОтправки = Документы.РеестрСведенийНеобходимыхДляНазначенияИВыплатыПособий.ПолучитьФайлДляОтправки(Ссылка);

Добрый день.

Цитата (Катерина Тестова):Ошибка проверки данных XDTO:
Значение: » не соответствует простому типу

На профильном сайте отвечают так:

Цитата:Ошибка может возникать, когда у сотрудника в адресе не заполнен индекс. Проверьте реквизит «Адрес регистрации» в Заявлении на выплату пособия (Отчетность, справки – Пособия за счет ФСС).

А если Вы уже сами разобрались с проблемой и причина была в другом, можете разместить здесь ваш вариант ответа. Не исключено, что он пригодится и кому-то еще.

Заполнить и подать уведомление об исчисленных суммах налогов и взносов

Цитата (Катерина Тестова):УдостоверениеЛичностиКодМВД

Дополнительно проверьте правильность заполнения паспортных данных, в частности код подразделения МВД/ОУФМС.

Я
   El_Duke

23.05.17 — 10:21

Добрый день

Имеется ЗУП 3.1.2.212. Сделан док Заявление на выплату пособия (ежемесячного) по уходу за ребенком, к нему Реестр сведений для передачи в ФСС.

При попытке выгрузить его для передачи в ФСС возникает ошибка:

Ошибка проверки данных XDTO

Значение 0,875 не соответствует простому типу:(http://pilot.fss.ru/1.7) nildouble

Че это за фигня и как её забороть ?

Сейчас просматриваю список ошибок релиза, но может уже кто сталкивался и подскажет ?

   NikVars

1 — 23.05.17 — 10:25

Может обновиться?!

   El_Duke

2 — 23.05.17 — 10:28

(1) не обновлялся т.к. прочел про ошибки перерасчета НДФЛ (в ДГПХ и не только) релиза 213

   El_Duke

3 — 24.05.17 — 15:04

Обновился до релиза 238 — не помогло

Неужели ни у кого не ходил в отпуск по уходу сотр на неполной ставке ?

  

El_Duke

4 — 24.05.17 — 15:39

Капец

Оказывается реестр ФСС почему то не понимает долю ставки с точностью в 3 знака. У нас сотрудница работает неполный день 7 часов, это 0,875 ставки (7/8). Так вот такое значение передать нельзя. Пришлось в доке Отпуск по уходу сначала руками установить целую ставку, потом в выгруженном файле менять на 0,88

Честно говоря в абсолютно не понимаю почему установлено такое ограничение на точность ставки.

ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку «Обновить» в браузере.

Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.

Реестр прямых выплат в ФСС (Отчетность, справки – Пособия за счет ФСС) может не отправляться, выдавая при этом ошибку:

Ошибка проверки данных XDTO: Значение: « не соответствует простому типу: Значение не соответствует образцу

Данные ошибка может возникать, если у сотрудника в адресе не заполнен индекс. Необходимо это проверить в Заявлении сотрудника на выплату пособия (Отчетность, справки – Пособия за счет ФСС) в реквизите Адрес регистрации.

В случае отсутствия индекса следует в карточке сотрудника (Кадры – Сотрудники) в разделе Личных данных еще раз заполнить Адрес по прописке и записать изменения.

Перезаполнять Заявление… не нужно, обновленный адрес автоматически подтянется. В этом можно убедиться, если закрыть и снова открыть Заявление….

Если Вы еще не подписаны:

Активировать демо-доступ бесплатно →

или

Оформить подписку на Рубрикатор →

После оформления подписки вам станут доступны все материалы по 1С:ЗУП, записи поддерживающих эфиров и вы сможете задавать любые вопросы по 1С.

Подписывайтесь на наши YouTube и Telegram чтобы не пропустить
важные изменения 1С и законодательства

Помогла статья?

Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно

Оцените публикацию

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд

(1 оценок, среднее: 1,00 из 5)

Загрузка…

  1. 09.09.2020, 07:23

    #1

    Kuken вне форума


    Гость форума


    День добрый форумчане.
    вот такая ошибка появилась при обмене выгрузка из УНФ (перепиленная в край) в БП по универсалу:
    Событие: Отправка.
    ПОД: Справочник_СпецификацииНо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 в 07:55.


  2. 09.09.2020, 09:27

    #2

    Konor18 вне форума


    Модератор

    Аватар для Konor18


    По умолчанию Re: 1c & XDTO

    Цитата Сообщение от Kuken
    Посмотреть сообщение

    День добрый форумчане.
    вот такая ошибка появилась при обмене выгрузка из УНФ (перепиленная в край) в БП по универсалу:
    Событие: Отправка.
    ПОД: Справочник_СпецификацииНо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
    может я не правильно ищу может не там.
    вот в чем проблема то.

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


  3. 09.09.2020, 09:30

    #3

    Kuken вне форума


    Гость форума


    По умолчанию Re: 1c & XDTO

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


  4. 09.09.2020, 10:27

    #4

    Konor18 вне форума


    Модератор

    Аватар для Konor18


    По умолчанию Re: 1c & XDTO

    Цитата Сообщение от Kuken
    Посмотреть сообщение

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

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


  5. Пользователь сказал cпасибо:


  6. 09.09.2020, 10:33

    #5

    Kuken вне форума


    Гость форума


    По умолчанию Re: 1c & XDTO


  7. 09.09.2020, 11:33

    #6

    Kuken вне форума


    Гость форума


    По умолчанию Re: 1c & XDTO

    <xs:element name=»ДоляСтоимости» type=»xs:decimal»/> — тут поменял int на decimal
    <xs:any namespace=»##any» processContents=»lax» minOccurs=»0″ maxOccurs=»unbounded»/>


  8. 10.09.2020, 07:43

    #7

    Kuken вне форума


    Гость форума


    По умолчанию Re: 1c & XDTO

    эм… народ. а теперь для тупых вопрос.
    выгрузил XDTO из 1с поправил….
    а как назад загрузить???


  9. 10.09.2020, 12:40

    #8

    Konor18 вне форума


    Модератор

    Аватар для Konor18


    По умолчанию Re: 1c & XDTO

    Цитата Сообщение от Kuken
    Посмотреть сообщение

    эм… народ. а теперь для тупых вопрос.
    выгрузил XDTO из 1с поправил….
    а как назад загрузить???

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


  10. Пользователь сказал cпасибо:


  11. 11.09.2020, 06:51

    #9

    Kuken вне форума


    Гость форума


    По умолчанию Re: 1c & XDTO

    вообщем не помогло.
    вот полная ошибка в очередной раз.
    Событие: Отправка.
    ПОД: Справочник_СпецификацииНо� �енклатуры_Отправка.
    ПКО: Справочник_СпецификацииНо� �енклатуры_Отправка.
    Объект: Справочник объект: Спецификации, Печать простая по желанию закачика Оснастка: 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

    Последний раз редактировалось Kuken; 11.09.2020 в 08:02.


Похожие темы

  1. Ответов: 0

    Последнее сообщение: 13.07.2018, 15:59

  2. Ответов: 1

    Последнее сообщение: 28.03.2018, 17:23

Социальные закладки

Социальные закладки


Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
  • BB коды Вкл.
  • Смайлы Вкл.
  • [IMG] код Вкл.
  • [VIDEO] код Вкл.
  • HTML код Выкл.

Правила форума

Программист 1С, разрабатывая свой веб-сервис в большинстве случаев работает не с простыми типами, а с типами свой конфигурации, либо с типами данных другой информационной системы. Потому программист сталкивается с проблемой перевода одного типа данных в другой. Для решения этой проблемы в 1С существует механизм XDTO.

XDTO (XML Data Transfer Objects) это механизм позволяющий создавать модель данных и переводить ее в формат XML. Простыми словами, вы можете сделать модель документа поступления товаров и услуг через XDTO и выгрузить любой документ в XML файл, не работая с файлом напрямую.

Этот механизм применяется при обмене файлами XML и при работе с типами в веб-сервисах.
Давайте попробуем разобраться с XDTO. У нас уже есть конфигурация с веб-сервисом и веб операцией Plus2(). Пусть теперь эта операция будет возвращать сообщения о ошибках. Например, если входящий параметр функции меньше нуля, мы будем выдавать ошибку «Error», в остальных случаях будем выдавать «ОК». То есть теперь функция Plus2 будет возвращать структуру:

1. Результат — число — результат выполнения сложения. 0 если есть ошибка;
2. Ошибка — строка — «Ok» или «Передано отрицательное значение».

Для создания такой структуры мы будем использовать тип ОбъектXDTO, так как он может описать сложную структуру с несколькими реквизитами различных типов. Помимо ОбъектXDTO существует тип ЗначениеXDTO, но данный тип не позволяет описывать сложные структуры, потому использовать мы его не можем.

Для этого нам надо:

1. Создать модель XDTO для нашей структуры;
2. В модуле веб-сервиса создать ОбъектXDTO для для того что бы возвратить как результат функции.

Приступим. Откроем базу в режиме конфигурирования. Найдем в дереве метаданных XDTO и создадим новый пакет XDTO.

Откроется окно свойств, назовем этот пакет «ТипыВебСервиса». В свойство «URI пространства имен» укажем «http://codenotes-1c.blogspot.com». Как я уже писал в статье «1С:Предприятие 8. Веб-сервисы. Реализация веб-сервиса» нет особого значения что вы укажете в этом поле и даже не особо важно (для 1С) что эта строка будет ссылкой URI.

После этого пакет можно открыть, щелкнув в дереве метаданных по пакету «ТипыВебСервиса» и в новом окне добавим «Тип объекта».

Дадим ему имя «РезультатОперации», остальные свойства можно не менять.

У объекта создадим свойство. Для этого нажмем на него правой кнопкой и выберем «Добавить — Свойство».

И в окне свойств заполним его свойства. Укажем имя «Результат» и тип int из пространства имен http://www.w3.org/2001/XMLSchema как показано на рисунке.

И создадим второе свойство «Ошибка» как на картинке ниже.

На этом завершено создание пакета XDTO. Теперь можно приступить к написанию кода обработки ошибки и возврата результата веб-операции.

У нашего веб-сервиса WebService в свойство «Пакет XDTO» укажем только что созданный пакет. Иначе не сможем указать у веб-операции Plus2 тип «РезультатОперации».

Откроем свойства веб-операции Plus2 в поле «Тип возвращаемого значения» выберем тип «РезультатОперации» из пакета с пространства имен «http://codenotes-1c.blogspot.com» как на рисунке.

Теперь функция Plus2 будет возвращать не число, а структуру с двумя полями «Результат» и «Ошибка». Давайте откроем модуль веб-сервиса. Так как созданная нами структура не является стандартным типом то необходимо создать переменную типа «РезультатОперации», конечно на самом деле это будет ОбъектXDTO.

ТипXDTOРезультатОперации = ФабрикаXDTO.Тип(«http://codenotes-1c.blogspot.com», «РезультатОперации»);

Этой строкой мы с помощью Фабрики XDTO в конфигурации создали ТипОбъектаXDTO, указав пространство имен пакета и имя типа.

РезультатОперации = ФабрикаXDTO.Создать(ТипXDTOРезультатОперации);

Эта строка создает уже сам ОбъектXDTO, с которым можно уже будет работать привычным способом (обращение к реквизитам через точку). Далее мы перепишем код, добавив проверку на отрицательные значения, и код веб-операции будет выглядеть так:

Функция Plus2(Параметр)
  ТипXDTOРезультатОперации = ФабрикаXDTO.Тип(«http://codenotes-1c.blogspot.com»,    «РезультатОперации»);
  РезультатОперации = ФабрикаXDTO.Создать(ТипXDTOРезультатОперации);
  Если Параметр < 0 Тогда
    РезультатОперации.Результат = 0;
    РезультатОперации.Ошибка = «Передано отрицательное значение»;
  Иначе
    РезультатОперации.Результат = Параметр+2;
    РезультатОперации.Ошибка = «Ok»;
  КонецЕсли;
Возврат РезультатОперации;
КонецФункции

Если вызвать эту операцию с отрицательным значением то получим следующий результат:

<soap:header/>

<soap:body>

<m:plus2response xmlns:m=»www.URI.com»>

   </m:return>

</m:plus2response>

</soap:body>

</soap:envelope>

О том как вызвать операцию веб-сервиса и просмотреть результат вы можете прочитать в статье «1С:Предприятие 8. Веб-сервисы. Публикация и тестирование».

Вы видите что в результате сообщение веб-операции содержит два поля — Результат и Ошибка.
В данном примере описана работа с ОбъектомXDTO. Как я уже говорил, его отличие от ЗначениеXDTO в том, что ЗначениеXDTO не может описывать структурированные типы, вы не сможете, используя ЗначениеXDTO создать тип передающий какой либо документ или справочник. Но! ЗначениеXDTO имеет большие возможности по описанию ограничений примитивных типов и нашу задачу с проверкой на отрицательное значение параметра можно было решить более изящно. Если создать в пакете XDTO ТипЗначения «ПоложительноеЧисло» и указать его минимум,

то этот тип можно использовать как тип входного параметра:

Теперь при вызове веб-операции с отрицательным значением в ответ мы получим сообщение об ошибке:

 <soap:Header/>

 <soap:Body>

    <soap:Fault>

       <soap:Code>

          <soap:Value>soap:Sender</soap:Value>

       </soap:Code>

       <soap:Reason>

          <soap:Text xml:lang=»ru_RU»>Неизвестная ошибка. Ошибка проверки данных XDTO:

Несоответствие фасету MinInclusive = ‘0’

по причине:

Ошибка проверки данных XDTO:

Несоответствие фасету MinInclusive = ‘0’</soap:Text>

       </soap:Reason>

    </soap:Fault>

 </soap:Body>

</soap:Envelope>

Таким образом используя описание ЗначенияXDTO мы можем указать ограничения к типам и не задумываться о программной обработке значений. Вы можете использовать ЗначениеXDTO в полях ОбъектаXDTO, тем самым можете создавать очень сложные структуры типов данных.

Смотрите также:
Электронный учебник по программированию в 1С
Рекомендации по изучению программирования 1С с нуля
Игра «Кто хочет стать миллионером?» с вопросами на определенную тематику (язык программирования JavaScript, английские, немецкие, французские, испанские, португальские, ни­дер­ландские, итальянские слова, электробезопасность, промышленная безопасность, бокс и т.п.), написанная на 1С
Программирование в 1С 8.3 с нуля — краткий самоучитель
Комплексная подготовка программистов 1С:Предприятие 8.2
Сайты с уроками программирования и со справочниками
Youtube-каналы с уроками программирования
Сайты для обучения программированию
Лекции и уроки

19.01.2012
1С бухгалтерия

Пару раз выгружал регламентированную отчетность из 1С БГУ 8.2 и проблем не было. (Именно с процессом выгрузки). А вот сегодня напоролся на организацию, где программа при выгрузке вот что мне выдала:

Выгрузка отчетности не выполнена.
ВнешняяОбработка.ВыгрузкаБюджетнойОтчетностиСводОтчетов20.МодульОбъекта
Группа отчетов (Период отчетности ‘2011 г.’) не записана.

[SDXC0100] Не удается отобразить ‘ООО "Рога и копыта"’ в XDTO.
Модуль: , Номер строки: 
причина:
 
[XDXC0000] [SDXC0140] Значение ‘ООО "Рога и копыта"’ не было корректно преобразовано в XDTO (имя сериализатора: «Сериализация отчетных данных»).
Модуль: , Номер строки: 
причина:
 
[XDXC0000] Ошибка при установке значения атрибута контекста (КПП)
Модуль: ОбщийМодуль.ОбщегоНазначения, Номер строки: 1 904
причина:
 
[XDXC0000] Несоответствие типов XDTO
Модуль: , Номер строки: 0
причина:
 
[XDXC0000] Ошибка проверки данных XDTO:
Значение: '12150101' не соответствует простому типу: {urn:schemas-1c-ru:reports/budget/base}КПП
Несоответствие фасету Length = '9'
Модуль: , Номер строки: 0
Модуль: Обработка.ДиспетчерСериализации, Номер строки: 748

И соответственно в xml-файле только заголовок файла без данных.

Так сразу и не поймешь чего он хочет. Особенно если учесть, что после данного сообщения еще выходит сообщение о том, что подготовленные формы отчетности не соответствуют нужному формату (или как-то так). В общем тут само собой напрашивалось либо обновление форм отчетности, либо обновление обработки ВыгрузкаСвод8.epf, либо самой конфигурации.
Все обновил, но проблема осталась.

Потом думал, что ему название организации не нравится. Но эксперименты с название тоже ничего не дали. Потом лишь я обратил внимание что ему КПП не нравится и что у нас в КПП пропущен один нолик. Добавили его и все прошло.

При входе в базу 1с вы можете увидеть “Ошибка преобразования данных XDTO:

Начало Свойства: errorProcessingSettings

Форма: Элемент

Тип: {http://v8.1c.ru/8.2/managed-application/core}ErrorProcessingSettings по причине

Чаще всего ошибка возникает при определенном типе запуска: это либо через тонкий клиент, либо через линк42, случаи бывают разные. Через браузер такие базы запускаются без ошибок.

Есть простое решение данной проблемы.

Достаточно запустить базу доступным нам способом (где нет ошибки) включить Функции тех. специалиста (Меню — Настройки — Параметры — Режим технического специалиста)

В Функциях для технического специалиста ищем Управление настройками обработки ошибок (Стандартные)

Запускаем

Готово!

Уже более 10 000 компаний работают
в облачной 1С от 42Clouds

— Консультация по 1С Бесплатно!

— Поддержка 24/7 по техническим вопросам: в чате, по телефону, по почте

— Все типовые конфигурации онлайн, доступ через RDP, Remote App, Web

Реестр прямых выплат в ФСС (Отчетность, справки – Пособия за счет ФСС) может не отправляться, выдавая при этом ошибку:

Ошибка проверки данных XDTO: Значение: « не соответствует простому типу: Значение не соответствует образцу

Данные ошибка может возникать, если у сотрудника в адресе не заполнен индекс. Необходимо это проверить в Заявлении сотрудника на выплату пособия (Отчетность, справки – Пособия за счет ФСС) в реквизите Адрес регистрации.

В случае отсутствия индекса следует в карточке сотрудника (Кадры – Сотрудники) в разделе Личных данных еще раз заполнить Адрес по прописке и записать изменения.

Перезаполнять Заявление… не нужно, обновленный адрес автоматически подтянется. В этом можно убедиться, если закрыть и снова открыть Заявление….

Если Вы еще не подписаны:

Активировать демо-доступ бесплатно →

или

Оформить подписку на Рубрикатор →

После оформления подписки вам станут доступны все материалы по 1С:ЗУП, записи поддерживающих эфиров и вы сможете задавать любые вопросы по 1С.

Подписывайтесь на наши YouTube и Telegram чтобы не пропустить
важные изменения 1С и законодательства

Помогла статья?

Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно

Оцените публикацию

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд

(1 оценок, среднее: 1,00 из 5)

Загрузка…

   DS_SD

06.06.08 — 17:23

Подскажите, пожалуйста, что делаю не так…

При сериализации справочника возникает проблема с реквизитами, которые имеют тип перечисления и не заполнены

ОбъектXDTO.Проверка() выдает следующее:

Структура объекта не соответствует типу: {http://v8.1c.ru/8.1/data/enterprise/current-config}CatalogObject.ТипыЦенНоменклатуры

Проверка свойства ‘СпособРасчетаЦены’:

   форма: Элемент

   имя: {http://v8.1c.ru/8.1/data/enterprise/current-config}СпособРасчетаЦены

   тип: {http://v8.1c.ru/8.1/data/enterprise/current-config}EnumRef.СпособыРасчетаЦены

Отсутствует обязательное свойство

Присваиваю значение свойству так:

ОбъектXDTO.СпособРасчетаЦены = Фабрика.Создать(ТипЗначенияXDTO, Спр.СпособРасчетаЦены);

ТипЗначенияXDTO содержит тип {http://v8.1c.ru/8.1/data/enterprise/current-config}EnumRef.СпособыРасчетаЦены

   regniws

1 — 06.06.08 — 17:43

ну, видимо потому что в схеме, данные поля обязательны для заполнения.

   DS_SD

2 — 06.06.08 — 17:52

Если ты о свойстве «Возможно пустое». пробовал, менял — все одно и тоже.

Кстати, функция возвращает такую ошибку:

{(1)}: Ошибка при вызове метода контекста (Создать): Ошибка проверки данных XDTO:

Значение: » не соответствует простому типу: {http://v8.1c.ru/8.1/data/enterprise/current-config}EnumRef.СпособыРасчетаЦены

Значение не соответствует значениям фасета перечисления

   regniws

3 — 06.06.08 — 17:55

выгрузи пакет xdto в xsd схему и посмотри на нее глазками в разделе, где проверяются твои перечисления. Может на что тебя натолкнет.

Может глукануло и просто список доступных значений полей не соответствует тому, что есть в базе.

   DS_SD

4 — 06.06.08 — 18:07

Вот так объявляется перечисление:

<xsd:simpleType name=»EnumRef.СпособыРасчетаЦены»>

   <xsd:restriction base=»xsd:string»>

       <xsd:enumeration value=»ПоПроцентнойНаценкеНаБазовыйТип»/>

       <xsd:enumeration value=»ПоВхождениюБазовойЦеныВДиапазон»/>

   </xsd:restriction>

</xsd:simpleType>

Вот так справочник:

<xsd:complexType name=»CatalogObject.ТипыЦенНоменклатуры»>

   <xsd:sequence>

       …

       …

       …

       <xsd:element name=»СпособРасчетаЦены» type=»tns:EnumRef.СпособыРасчетаЦены»/>

   </xsd:sequence>

</xsd:complexType>

мысли уже кончились…

   regniws

5 — 06.06.08 — 18:11

хм.. ну, думаю, что ты у себя проверил, что всего два значения у тебя перечисления в конфигураторе!?

Кстати, в xsd твоем не сказано. что name=»СпособРасчетаЦены» необязательно для заполнения.

   DS_SD

6 — 06.06.08 — 18:20

1) да, эта часть конфы идентична.

2) просто, поскольку это роли не сыграло, вернул взад… еще раз проверил, появилась строка :

<xsd:element name=»СпособРасчетаЦены» nillable=»true» type=»tns:EnumRef.СпособыРасчетаЦены»/>

толку от нее не увидел

   regniws

7 — 06.06.08 — 18:23

хм.. а я знаю..

короче, нужно посмотреть, как сериализуется пустое значение перечисления.

nilable = true, говорит, что его вообще можно не заполнять, но

пустое значение и отсутствие значения — это разные вещи :)))

например, если сериализуется в «», то это не nilable = true, и к тому же по рестрикшенам xsd

<xsd:simpleType name=»EnumRef.СпособыРасчетаЦены»>

   <xsd:restriction base=»xsd:string»>

       <xsd:enumeration value=»ПоПроцентнойНаценкеНаБазовыйТип»/>

       <xsd:enumeration value=»ПоВхождениюБазовойЦеныВДиапазон»/>

   </xsd:restriction>

</xsd:simpleType>

это тоже не допустимо

попробуй в xsd Руками поправить

<xsd:simpleType name=»EnumRef.СпособыРасчетаЦены»>

   <xsd:restriction base=»xsd:string»>

       <xsd:enumeration value=»»/>

       <xsd:enumeration value=»ПоПроцентнойНаценкеНаБазовыйТип»/>

       <xsd:enumeration value=»ПоВхождениюБазовойЦеныВДиапазон»/>

   </xsd:restriction>

</xsd:simpleType>

или во что оно там сериализуется.

   regniws

8 — 06.06.08 — 18:23

а, ну и потом xsd загрузить обратно

   DS_SD

9 — 06.06.08 — 18:30

))) Кошмар!!! Получилось! Спасибо тебе большое!

А если не ручками, а в конфигураторе, мышкой, такое получится?

   regniws

10 — 06.06.08 — 18:31

не знаю :)) никогда не работал с xdto :))))

   regniws

11 — 06.06.08 — 18:32

да, и хотелось бы, так сказать, мужской комплемент   :)

зачетный вопрос, инетерсно было разобраться :)))

   DS_SD

12 — 06.06.08 — 18:37

Похоже нет. Ничего подобного там не нашел… Ну 1С… :)) Ну такое то надо предусмотреть (при экспорте XML-схемы).

Ладно, теперь буду по аналогии мучать составные типы! Спасибо!

   regniws

13 — 06.06.08 — 18:39

:)

  

DS_SD

14 — 06.06.08 — 18:41

11 Спасибо ) надеюсь, ветка кому-н. еще пригодиться

Добрый день. есть база в 1с фреш, актуальная Управление нашей фирмой. Когда только начали работать была всего дна валюта «рубли» и проблем с обменом с сайтом не было(заказы выгружались). На прошлой неделе бухгалтер включила в 1с функцию «несколько валют» и добавила валюту евро. После этого при попытке сделать обмен с сайтом возникает ошибка

Ошибка проверки данных XDTO:
Значение: '' не соответствует простому типу: {urn:1C.ru:commerceml_210}КодВалюты
Несоответствие фасету Length = '3'
{ОбщийМодуль.ИнтеграцияСИнтернетМагазиномСервер.Модуль(3913)}:		ТипЦеныXDTO.Валюта = ФорматВалютыДляXDTO(Параметры.ВыборкаВидовЦен.ВалютаЦены);
{ОбщийМодуль.ИнтеграцияСИнтернетМагазиномСервер.Модуль(2238)}:		ДобавитьВидыЦенВПакетПредложенийXDTO(ПакетПредложенийXDTO, ПакетCML, Параметры);
{ОбщийМодуль.ИнтеграцияСИнтернетМагазиномСервер.Модуль(2736)}:	КоммерческаяИнформацияXDTO = ПодготовитьДанныеXDTOПакетПредложений(Параметры, ПакетCML);
{ОбщийМодуль.ИнтеграцияСИнтернетМагазиномСервер.Модуль(2342)}:					ВыгрузкаЦенУспешно = ВыгрузитьПакетПредложений(Параметры, ИмяФайлаПрайса, ПакетCML);
{ОбщийМодуль.ИнтеграцияСИнтернетМагазиномСервер.Модуль(2714)}:	Успешно = ВыгрузитьНоменклатуруВКаталогНаДиске(Параметры, СтрокаТаблицыИнформации);
{ОбщийМодуль.ИнтеграцияСИнтернетМагазиномСервер.Модуль(1740)}:		ТоварыУспешноВыгружены = ВыгрузитьНоменклатуру(Параметры);
{ОбщийМодуль.ИнтеграцияСИнтернетМагазиномСервер.Модуль(1564)}:		НСтр("ru = 'Интерактивный обмен'"),
{(1)}:ИнтеграцияСИнтернетМагазиномСервер.ВыполнитьОбменИнтерактивно(Параметры[0],Параметры[1])
{ОбщийМодуль.ОбщегоНазначения.Модуль(5275)}:	Выполнить ИмяМетода + "(" + ПараметрыСтрока + ")";
{ОбщийМодуль.ДлительныеОперации.Модуль(1347)}:		ОбщегоНазначения.ВыполнитьМетодКонфигурации(ИмяПроцедуры, ПараметрыВызова);
{ОбщийМодуль.ДлительныеОперации.Модуль(1326)}:			ВызватьПроцедуру(ВсеПараметры.ИмяПроцедуры, ВсеПараметры.ПараметрыПроцедуры);

по причине:
Несоответствие типов XDTO
по причине:
Ошибка проверки данных XDTO:
Значение: '' не соответствует простому типу: {urn:1C.ru:commerceml_210}КодВалюты
Несоответствие фасету Length = '3'

Не могу понять, в чем может быть проблема. Подскажите, пожалуйста.

Содержание статей: 1С:Предприятие 8. Веб-сервисы
Предыдущая статья: 1С:Предприятие 8. Веб-сервисы. Реализация собственного веб-сервиса

Программист 1С, разрабатывая свой веб-сервис в большинстве случаев работает не с простыми типами, а с типами свой конфигурации, либо с типами данных другой информационной системы. Потому программист сталкивается с проблемой перевода одного типа данных в другой. Для решения этой проблемы в 1С существует механизм XDTO.

XDTO (XML Data Transfer Objects) это механизм позволяющий создавать модель данных и переводить ее в формат XML. Простыми словами, вы можете сделать модель документа поступления товаров и услуг через XDTO и выгрузить любой документ в XML файл, не работая с файлом напрямую.
Этот механизм применяется при обмене файлами XML и при работе с типами в веб-сервисах.
Давайте попробуем разобраться с XDTO. У нас уже есть конфигурация с веб-сервисом и веб операцией Plus2(). Пусть теперь эта операция будет возвращать сообщения о ошибках. Например, если входящий параметр функции меньше нуля, мы будем выдавать ошибку «Error», в остальных случаях будем выдавать «ОК». То есть теперь функция Plus2 будет возвращать структуру:

  1. Результат — число — результат выполнения сложения. 0 если есть ошибка;
  2. Ошибка — строка — «Ok» или «Передано отрицательное значение».

Для создания такой структуры мы будем использовать тип ОбъектXDTO, так как он может описать сложную структуру с несколькими реквизитами различных типов. Помимо ОбъектXDTO существует тип ЗначениеXDTO, но данный тип не позволяет описывать сложные структуры, потому использовать мы его не можем.

Для этого нам надо:

  1. Создать модель XDTO для нашей структуры;
  2. В модуле веб-сервиса создать ОбъектXDTO для для того что бы возвратить как результат функции.

Приступим. Откроем базу в режиме конфигурирования. Найдем в дереве метаданных XDTO и создадим новый пакет XDTO.

XDTO

Откроется окно свойств, назовем этот пакет «ТипыВебСервиса». В свойство «URI пространства имен» укажем «http://codenotes-1c.blogspot.com». Как я уже писал в статье 1С:Предприятие 8. Веб-сервисы. Реализация собственного веб-сервиса нет особого значения что вы укажете в этом поле и даже не особо важно (для 1С) что эта строка будет ссылкой URI. 

После этого пакет можно открыть, щелкнув в дереве метаданных по пакету «ТипыВебСервиса» и в новом окне добавим «Тип объекта».

ОбъектXDTO

Дадим ему имя «РезультатОперации», остальные свойства можно не менять. 

ОбъектXDTO

У объекта создадим свойство. Для этого нажмем на него правой кнопкой и выберем «Добавить — Свойство».

Свойства ОбъектXDTO

И в окне свойств заполним его свойства. Укажем имя «Результат» и тип int из пространства имен http://www.w3.org/2001/XMLSchema как показано на рисунке.

Реквизиты ОбъектXDTO

И создадим второе свойство «Ошибка» как на картинке ниже.

Реквизиты Объект XDTO

На этом завершено создание пакета XDTO. Теперь можно приступить к написанию кода обработки ошибки и возврата результата веб-операции.

У нашего веб-сервиса WebService в свойство «Пакет XDTO» укажем только что созданный пакет. Иначе не сможем указать у веб-операции Plus2 тип «РезультатОперации».

Веб сервис ПакетXDTO

Откроем свойства веб-операции Plus2 в поле «Тип возвращаемого значения» выберем тип «РезультатОперации» из пакета с пространства имен «http://codenotes-1c.blogspot.com» как на рисунке.

ОбъектXDTO

Теперь функция Plus2 будет возвращать не число, а структуру с двумя полями «Результат» и «Ошибка». Давайте откроем модуль веб-сервиса. Так как созданная нами структура не является стандартным типом то необходимо создать переменную типа «РезультатОперации», конечно на самом деле это будет ОбъектXDTO. 

ТипXDTOРезультатОперации = ФабрикаXDTO.Тип(«http://codenotes-1c.blogspot.com», «РезультатОперации»);

Этой строкой мы с помощью Фабрики XDTO в конфигурации создали ТипОбъектаXDTO, указав пространство имен пакета и имя типа.

РезультатОперации = ФабрикаXDTO.Создать(ТипXDTOРезультатОперации);

Эта строка создает уже сам ОбъектXDTO, с которым можно уже будет работать привычным способом (обращение к реквизитам через точку). Далее мы перепишем код, добавив проверку на отрицательные значения, и код веб-операции будет выглядеть так:

Функция Plus2(Параметр)
ТипXDTOРезультатОперации = ФабрикаXDTO.Тип(«http://codenotes-1c.blogspot.com», «РезультатОперации»);
РезультатОперации = ФабрикаXDTO.Создать(ТипXDTOРезультатОперации);
Если Параметр < 0 Тогда 
РезультатОперации.Результат = 0;
РезультатОперации.Ошибка = «Передано отрицательное значение»;
Иначе
РезультатОперации.Результат = Параметр+2;
РезультатОперации.Ошибка = «Ok»;
КонецЕсли;
Возврат РезультатОперации;
КонецФункции

Если вызвать эту операцию с отрицательным значением то получим следующий результат:

<soap:Envelope xmlns:soap=»http://www.w3.org/2003/05/soap-envelope»>

   <soap:Header/>

   <soap:Body>

      <m:Plus2Response xmlns:m=»www.URI.com»>

         <m:return xmlns:xs=»http://www.w3.org/2001/XMLSchema» xmlns:xsi=»http://www.w3.org/2001/XMLSchema-instance»>

            <Результат xmlns=»http://codenotes-1c.blogspot.com»>0</Результат>

            <Ошибка xmlns=»http://codenotes-1c.blogspot.com»>Передано отрицательное значение</Ошибка>

         </m:return>

      </m:Plus2Response>

   </soap:Body>

</soap:Envelope>

О том как вызвать операцию веб-сервиса и просмотреть результат вы можете прочитать в статье 1С:Предприятие 8. Веб-сервисы. Публикация и тестирование

Вы видите что в результате сообщение веб-операции содержит два поля — Результат и Ошибка.
В данном примере описана работа с ОбъектомXDTO. Как я уже говорил, его отличие от ЗначениеXDTO в том, что ЗначениеXDTO не может описывать структурированные типы, вы не сможете, используя ЗначениеXDTO создать тип передающий какой либо документ или справочник. Но! ЗначениеXDTO имеет большие возможности по описанию ограничений примитивных типов и нашу задачу с проверкой на отрицательное значение параметра можно было решить более изящно. Если создать в пакете XDTO ТипЗначения «ПоложительноеЧисло» и указать его минимум,

ЗначениеXDTO

то этот тип можно использовать как тип входного параметра:

Свойства параметра веб-операции

Теперь при вызове веб-операции с отрицательным значением в ответ мы получим сообщение об ошибке:

<soap:Envelope xmlns:soap=»http://www.w3.org/2003/05/soap-envelope»>
   <soap:Header/>
   <soap:Body>
      <soap:Fault>
         <soap:Code>
            <soap:Value>soap:Sender</soap:Value>
         </soap:Code>
         <soap:Reason>
            <soap:Text xml:lang=»ru_RU»>Неизвестная ошибка. Ошибка проверки данных XDTO:
Значение: ‘-2’ не соответствует простому типу: {http://codenotes-1c.blogspot.com}ПоложительноеЧисло
Несоответствие фасету MinInclusive = ‘0’
по причине:
Ошибка проверки данных XDTO:
Значение: ‘-2’ не соответствует простому типу: {http://codenotes-1c.blogspot.com}ПоложительноеЧисло
Несоответствие фасету MinInclusive = ‘0’</soap:Text>
         </soap:Reason>
      </soap:Fault>
   </soap:Body>
</soap:Envelope>

Таким образом используя описание ЗначенияXDTO мы можем указать ограничения к типам и не задумываться о программной обработке значений. Вы можете использовать ЗначениеXDTO в полях ОбъектаXDTO, тем самым можете создавать очень сложные структуры типов данных.

Понравилась статья? Поделить с друзьями:
  • Ошибка проверки sdl xliff
  • Ошибка проверки openid аутентификации 1с фреш
  • Ошибка проверки openid аутентификации 1с тонкий клиент
  • Ошибка проверки itools при установке приложений
  • Ошибка проверки клуба apex legends