Выполнение операции заполнение xdto ошибка установки значения свойства номосн

Клиент поставил задачу — добавлять в основание документа не только документ но и счет на оплату (основание реализации).

Сначала я смотрю, где выводится основание передачи, там действительно указан договор:

Выгружаю в файл, нахожу, где это в тегах XML:

Запускаем монитор производительности и смотрим, где заполняется ОснПер (ищем поиском в логе кода ОснПер), находим что это процедура ЗаполнитьДокумент_УПД2019_ИнформацияПродавца модуля ФорматыЭДО_ФНС:

Если в отладчике поправить значения:

То можно убедиться, что отображение тоже меняется:

Не хочется добавлять весь длинный код формирования кода ЭДО в директиву «Изменение и контроль». Но тут встречается проблема. В этом длинном коде после окончания формирования нет ни одной функции, куда передавались бы одновременно Документ и ДеревоДанных, увы. Есть только вызов ЗаполнитьСведенияОПодписантах, но он вызывается не всегда (внутри Если):

Сначала я хотел использовать доработки в функцию ПроверитьОбъектXDTO модуля ФорматыЭДО_ФНС, но увы, туда не передается ДеревоДанных.

Поэтому буду использовать свой метод спуска параметра в стек. Сначала я хотел вставить ссылку на документ в дерево данных, как написано в моей статье. Но раз использую параметры сеанса, это уже не требуется (код вставки ссылки в дерево закомментирован):

&Вместо("СформироватьДанныеОсновногоТитулаПоОбъектуУчета")
Функция эдоко_СформироватьДанныеОсновногоТитулаПоОбъектуУчета(ОбъектУчета, Настройки, Данные)
	
	// https://geniy1s.ru/razbiraem-novoe-edo-ot-1s-v-bp3-iyun-2021/
	//Не буду использовать, помещаю сразу в параметры сеанса
	//Использовать: ТекСсылкаНаОбъект = ДеревоЭлектронногоДокументаБЭД.ЗначениеРеквизитаВДереве(ДеревоДанных, "дор_ОбъектУчета");
	//НСтр = Данные.ДанныеДокумента.Строки.Добавить();
	//НСтр.ПолныйПуть = "дор_ОбъектУчета";
	//НСтр.Значение = ОбъектУчета;
	
	УстановитьПривилегированныйРежим(Истина); //Чтобы работать с параметров сеанса, на который не назначены права
	ПараметрыСеанса.эдоко_ДанныеДляЗаполнения = Новый ФиксированнаяСтруктура(); //Очищаем
	
	Если ТипЗнч(ОбъектУчета) = Тип("ДокументСсылка.РеализацияТоваровУслуг") Тогда
		Если ЗначениеЗаполнено(ОбъектУчета.СчетНаОплатуПокупателю) Тогда
			Структура = Новый Структура();
			Номер = ""; 
			ЭлектронноеВзаимодействиеПереопределяемый.ПолучитьПечатныйНомерДокумента(ОбъектУчета.СчетНаОплатуПокупателю, Номер);
			Дата = Формат(ОбъектУчета.СчетНаОплатуПокупателю.Дата, "ДФ=dd.MM.yyyy");
			Структура.Вставить("Номер", Номер);
			Структура.Вставить("Дата", Дата);
			Структура.Вставить("Представление", "Счет на оплату № " + Номер + " от " + Дата);
			
			ПараметрыСеанса.эдоко_ДанныеДляЗаполнения = Новый ФиксированнаяСтруктура(Структура);
		КонецЕсли;
	КонецЕсли;
	
	
	
	
	Результат = ПродолжитьВызов(ОбъектУчета, Настройки, Данные); //формирвоание титула после добавления ссылки, т.к. там все и происходит
	
	
	
	Возврат Результат;

КонецФункции

К тому же, этот код будет работать намного дольше и в разных релизах, т.к. не привязан к длинному исходному коду через «Изменение и контроль».

Теперь осталось только добавить элемент в список оснований:

&Вместо("ПроверитьОбъектXDTO")
Функция эдоко_ПроверитьОбъектXDTO(Знач ОбъектXDTO, Ошибки)
	//Добавляем
	
	УстановитьПривилегированныйРежим(Истина); //Чтобы работать с параметров сеанса, на который не назначены права
	
	Если ТипЗнч(ПараметрыСеанса.эдоко_ДанныеДляЗаполнения) = Тип("ФиксированнаяСтруктура") Тогда
		ДопДанные = Новый Структура(ПараметрыСеанса.эдоко_ДанныеДляЗаполнения);
		Номер = ""; Дата = ""; Представление = "";
		Если ДопДанные.Свойство("Представление", Представление) И ДопДанные.Свойство("Дата", Дата) И ДопДанные.Свойство("Номер", Номер) Тогда
			Попытка
				СписокXDTO = ОбъектXDTO.Получить("Документ/СвПродПер/СвПер").ПолучитьСписок("ОснПер");
				ПространствоИмен = ПространствоИмен_УПД2019_ИнформацияПродавца();
				
				ОснПер = ПолучитьОбъектТипаCML("Файл.Документ.СвПродПер.СвПер.ОснПер", ПространствоИмен);
				ОснПер.НаимОсн = Представление;
				ОснПер.НомОсн = Номер;
				ОснПер.ДатаОсн = Дата;
				
				СписокXDTO.Добавить(ОснПер);
				
			Исключение
			КонецПопытки;
		КонецЕсли;
	КонецЕсли;
	
	Результат = ПродолжитьВызов(ОбъектXDTO, Ошибки);
	Возврат Результат;
КонецФункции

В отладчике проверяю, как вы глядит добавляемый элемент списка XDTO со счетом-основанием:

В печатной форме 1С выводит эти теги так:

В XML-формате список оснований выглядит так:

Клиент говорил, что выгрузку счета можно сделать не программно, а через настройки ЭДО с контрагентом — через дополнительные поля. Но некоторые системы ЭДО игнорируют дополнительные поля, поэтому пока они вне стандарта, приходится делать программную доработку.

Думал уложусь в 1 час, но потратил 2, т.к. не хотел использовать «Изменение и контроль» и пришлось писать хитрый код по спуску контекста в стеку. Такой код проживет дольше при обновлениях 1С.

Среда: 3.0.116.32 Объем: 2 час

Показывать по
10
20
40
сообщений

Новая тема

Ответить

Сергей Интяшев

Дата регистрации: 29.01.2019
Сообщений: 1

Добрый день всем. При создании электронного документа выдает такую ошибку.

1С:Предприятие 8.3 (8.3.12.1685)
Бухгалтерия предприятия, редакция 3.0 (3.0.67.43)
Режим : Серверный, PostgreSQL

Не удается создать электронный документ, выдает ошибку: «Выполнение операции: Заполнение XDTO.
Ошибка установки значения свойства «НалСт».
Подробности см. в журнале регистрации.»

Сообщения из журнала регистрации:

Выполнение операции: Заполнение XDTO.
Ошибка установки значения свойства «НалСт».
{ОбщийМодуль.ОбменСКонтрагентамиВнутренний.Модуль(10673)}: Ошибка при вызове метода контекста (Установить)
            ОбъектXDTO.Установить(ИмяСвойства, Значение);
по причине:
Несоответствие типов XDTO
по причине:
Ошибка проверки данных XDTO:
Значение: ‘20%’ не соответствует простому типу:
Значение не соответствует значениям фасета перечисления

————————————————————————————-

Выполнение операции: Формирование ЭД.
{ОбщийМодуль.ОбменСКонтрагентамиВнутренний.Модуль(8390)}: Выполнение операции: Заполнение XDTO.
Ошибка установки значения свойства «НалСт».
                  ВызватьИсключение ЭлектронноеВзаимодействиеСлужебный.СоединитьОшибки(Ошибки);

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

Ленар Ленарович

Дата регистрации: 15.03.2019
Сообщений: 1

Нужно обновить 1С до определенного релиза. Для «Бухгалтерия предприятия», редакция 3.0 необходимо обновиться до релиза 3.0.67.67

Показывать по
10
20
40
сообщений

Возможно ли получить два ид обмена по табаку если организация ИП?

Собственно вопрос.

Не можем получить второй идентификатор обмена для второго подразделения у ИП

пишет следующие ошибки в журнале регистрации

Выполнение операции: Заполнение XDTO.

Ошибка установки значения свойства «ИННЮЛ»!

{ОбщийМодуль.ЭлектронныеДокументыВнутренний.Модуль(15696)}: Ошибка при вызове метода контекста (Установить)

    ОбъектXDTO.Установить(ИмяСвойства, Значение);

по причине:

Несоответствие типов XDTO

по причине:

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

Значение: ‘270402106984’ не соответствует простому типу: {http://www.1c.ru/edo/registration}ИННЮЛТип [^]

Значение не соответствует образцу

Выполнение операции: Формирование данных для оператора ЭДО

{ОбщийМодуль.ЭлектронныеДокументыВнутренний.Модуль(4054)}: Ошибка при вызове метода контекста (Проверить)

    Файл.Проверить();

по причине:

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

Структура объекта ‘/Документ/УчастЭДО/ЮЛ’ не соответствует типу:

Проверка свойства ‘ИННЮЛ’:

  форма: Атрибут

  имя: ИННЮЛ

  тип: {http://www.1c.ru/edo/registration}ИННЮЛТип [^]

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

Вариант только через единый центральный склад?

Здравствуйте.

помогите разобраться

Выполнение операции: Заполнение XDTO.

Ошибка установки значения свойства «Name»!

{ОбщийМодуль.ЭлектронныеДокументыВнутренний.Модуль(15686)}: Ошибка при вызове метода контекста (Установить)

                               ОбъектXDTO.Установить(ИмяСвойства, Значение);

по причине:

Несоответствие типов XDTO

по причине:

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

Значение: ‘ExpInvoiceAndPrimaryAccountingDocumentCustomer’ не соответствует простому типу:

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

вот это значение в фасет передается в стоковом типе. что не так не пойму.

При входе в базу 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

Показывать по
10
20
40
сообщений

Новая тема

Ответить

Сергей Интяшев

Дата регистрации: 29.01.2019
Сообщений: 1

Добрый день всем. При создании электронного документа выдает такую ошибку.

1С:Предприятие 8.3 (8.3.12.1685)
Бухгалтерия предприятия, редакция 3.0 (3.0.67.43)
Режим : Серверный, PostgreSQL

Не удается создать электронный документ, выдает ошибку: «Выполнение операции: Заполнение XDTO.
Ошибка установки значения свойства «НалСт».
Подробности см. в журнале регистрации.»

Сообщения из журнала регистрации:

Выполнение операции: Заполнение XDTO.
Ошибка установки значения свойства «НалСт».
{ОбщийМодуль.ОбменСКонтрагентамиВнутренний.Модуль(10673)}: Ошибка при вызове метода контекста (Установить)
            ОбъектXDTO.Установить(ИмяСвойства, Значение);
по причине:
Несоответствие типов XDTO
по причине:
Ошибка проверки данных XDTO:
Значение: ‘20%’ не соответствует простому типу:
Значение не соответствует значениям фасета перечисления

————————————————————————————-

Выполнение операции: Формирование ЭД.
{ОбщийМодуль.ОбменСКонтрагентамиВнутренний.Модуль(8390)}: Выполнение операции: Заполнение XDTO.
Ошибка установки значения свойства «НалСт».
                  ВызватьИсключение ЭлектронноеВзаимодействиеСлужебный.СоединитьОшибки(Ошибки);

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

Ленар Ленарович

Дата регистрации: 15.03.2019
Сообщений: 1

Нужно обновить 1С до определенного релиза. Для «Бухгалтерия предприятия», редакция 3.0 необходимо обновиться до релиза 3.0.67.67

Показывать по
10
20
40
сообщений

Читают тему:

Мы визуализируем ровно те данные, которые вы передаете. В Диадок приходит xml c данными <ОснПер НаимОсн=’договор’ НомОсн=’5280/9/2017-9843′ ДатаОсн=’26.12.2017′ ДопСвОсн=»/>.

Вероятно xml был создан сторонними средствами генерации. Наш метод генерации выдает XML, у которого атрибуты заключены в двойные кавычки. А в вашем файле все кавычки одинарные.

Мы не можем ручаться за файлы, сгенерированные сторонними средствами. Предлагаем проверить ваш инструмент генерации XML.

Возможно, вам также будет интересно:

  • Выполнение операции заполнение xdto ошибка установки значения свойства налст
  • Выполнение операции заполнение xdto ошибка установки значения свойства кпп
  • Выполнение операции заполнение xdto ошибка установки значения свойства иннюл
  • Выполнение операции заполнение xdto ошибка установки значения свойства иннфл
  • Выполнение операции заполнение xdto ошибка установки значения свойства идпол

  • Понравилась статья? Поделить с друзьями:
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии