Задать вопрос
@rusi4z

Конвертация данных 2.1. Получение элемента по индексу для значения не определено, как выгрузить из источника?

Необходимо выгрузить текстовый файл с правилами, выдает ошибку
1. 68105757b8e44502940784.png
2. 681057730a272992262653.png
3. 68105785eed4b587457543.png

Все эти три ошибки выходят при выгрузке данных из источника.

Так выглядит ПКО:
681057ae381fd903942131.png

А вот сам код:
УИН = "6411111111111111";
Запрос = Новый Запрос;
Запрос.Текст = 
"ВЫБРАТЬ
|	ОтчетОРозничныхПродажах.Ссылка КАК Ссылка,
|	ОтчетОРозничныхПродажах.КассаККМ КАК КассаККМ,
|	ОтчетОРозничныхПродажах.ОплатаПлатежнымиКартами.(
|		Ссылка КАК Ссылка,
|		НомерСтроки КАК НомерСтроки,
|		ВидОплаты КАК ВидОплаты,
|		НомерЧека КАК НомерЧека,
|		ПроцентТорговойУступки КАК ПроцентТорговойУступки,
|		Сумма КАК Сумма,
|		СуммаТорговойУступки КАК СуммаТорговойУступки,
|		КлючПродажи КАК КлючПродажи
|	) КАК ОплатаПлатежнымиКартами
|ИЗ
|	Документ.ОтчетОРозничныхПродажах КАК ОтчетОРозничныхПродажах
|ГДЕ
|	ОтчетОРозничныхПродажах.Товары.СерияНоменклатуры.УИН = &УИН";          

Запрос.УстановитьПараметр("УИН", УИН);
РезультатЗапроса = Запрос.Выполнить();
Результат = РезультатЗапроса.Выгрузить();
С = Новый Структура;

Для Каждого Строка Из Результат Цикл 
	С.Вставить("КассаККМ", Строка.КассаККМ);
	Для Каждого Поле Из Строка.ОплатаПлатежнымиКартами Цикл
		С.Вставить("ВидОплаты", Поле.ВидОплаты);
		С.Вставить("НомерЧека", Поле.НомерЧека);
		С.Вставить("ПроцентТорговойУступки", Поле.ПроцентТорговойУступки);
		С.Вставить("Сумма", Поле.Сумма);
		С.Вставить("СуммаТорговойУступки", Поле.СуммаТорговойУступки);
		С.Вставить("КлючПродажи", Поле.КлючПродажи);
	КонецЦикла;   
КонецЦикла;

ВыгрузитьПоПравилу(,,С,,"ОтчетОРозничныхПродажах");


Так же я сомневаюсь в правильности ПКС:
681057e839604136127936.png
Если не сделаю, меня уволят, помогите!!!!!!!!!!!
  • Вопрос задан
  • 30 просмотров
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
@Dementor
программист, архитектор, аналитик
Если не сделаю, меня уволят, помогите!!!!!!!!!!!

Всем в интернете фиолетово на счет этого факта. И вам тоже должно, если ваша компания считает, что человек без опыта за пару дней может разобраться в таком сложном механизме как Конвертация Данных 2.1

А вот сам код:

Я так полагаю (нет явного подтверждения), что это произвольный ПВД. Тогда причина проблемы очевидна! Вы пытаетесь выгрузить по ПКО ОтчетОРозничныхПродажах структуру с ключами ВидОплаты, НомерЧека, ПроцентТорговойУступки, Сумма, СуммаТорговойУступки и КлючПродажи - что и близко не ОРП!!!

Смотрите сами свое ПКО ОтчетОРозничныхПродажах - первое же ПКС является полем Дата по которому вдобавок идет поиск! А у вас нет даты и об этом все первые три скрина - на каждом прямо кричит "тут нет даты".

В параллельном вопросе вам отвечал, что очень плохой прием условия вида:

ОтчетОРозничныхПродажах.Товары.СерияНоменклатуры.УИН = &УИН


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

Запрос.Текст = 
"ВЫБРАТЬ
|	ТаблицаОРП.Ссылка КАК Ссылка,
|	ТаблицаОРП.Ссылка.Дата КАК Дата,
|	ТаблицаОРП.Ссылка.КассаККМ КАК КассаККМ,
|	ТаблицаОРП.НомерСтроки КАК НомерСтроки,
|	ТаблицаОРП.ВидОплаты КАК ВидОплаты,
|	ТаблицаОРП.НомерЧека КАК НомерЧека,
|	ТаблицаОРП.ПроцентТорговойУступки КАК ПроцентТорговойУступки,
|	ТаблицаОРП.Сумма КАК Сумма,
|	ТаблицаОРП.СуммаТорговойУступки КАК СуммаТорговойУступки,
|	ТаблицаОРП.КлючПродажи КАК КлючПродажи
|ИЗ
|	Документ.ОтчетОРозничныхПродажах.Товары КАК ТаблицаОРП
|ГДЕ
|	ТаблицаОРП.СерияНоменклатуры.УИН = &УИН";
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы