|
Конвертация данных | ☑ | ||
---|---|---|---|---|
0
Aleksei_Pro
29.10.13
✎
14:59
|
ВходящиеДанные = Новый Структура;
ВходящиеДанные.Вставить("Организация" ,Параметры.Организация); ВходящиеДанные.Вставить("Дата" ,КонецДня(ДатаКон)); ВходящиеДанные.Вставить("Продукция" , ТаблицаНоменклатурыПродукции); ВходящиеДанные.Вставить("Услуги" , ТаблицаНоменклатурыУслуги); ВходящиеДанные.Вставить("Материалы" , ТаблицаНоменклатурыМатериалы); ВыгрузитьПоПравилу(,, ВходящиеДанные,, "ОтчетПроизводстваЗаСмену"); Ребят подскажите. Я выгружаю все документы за период в 1 документ. ПередВыгрузкой написал алгорит , собрал все ТЧ в ТЗ и выгружаю по правилу. В документе указал , что загружать из входящих данных. При выгружке пишет ошибку: Начало выгрузки: 29.10.2013 14:57:08 Ошибка при выгрузке данных: {Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(10482)}: Значение не является значением объектного типа (ИмяТипа) Что не так может быть? |
|||
1
Aleksei_Pro
29.10.13
✎
15:00
|
(0) В обработчике "ПередОбработкой" написал...
|
|||
2
GenV
29.10.13
✎
15:02
|
Попробовать:
ВыгрузитьПоПравилу("Док",, ВходящиеДанные,, "ОтчетПроизводстваЗаСмену"); |
|||
3
Йохохо
29.10.13
✎
15:05
|
может убрать ВыгрузитьПоПравилу и заменить галкой ПолучитьИзВходящихДанных?
|
|||
4
Aleksei_Pro
29.10.13
✎
15:07
|
(3) не понял , у меня стоит в ПКС галка "Получить из входящих данных" напротив каждого элемента.
|
|||
5
Йохохо
29.10.13
✎
15:07
|
а, в (0) уже "В документе указал , что загружать из входящих данных." В общем добавь аккуратности, ВыгрузитьПоПравилу или ПолучитьИзВходящихДанных
|
|||
6
Йохохо
29.10.13
✎
15:08
|
При выгрузить по правилу получать из входящих не надо, на входе Источник
|
|||
7
GenV
29.10.13
✎
15:12
|
(4) Ты передаешь на выгрузку пустое значение (Неопределено), свойство которого должны получаться из входящих данных. Насколько помню, КД не будет пустое значение выгружать.
ЗЫ Вообще сначала нужно посмотреть код по строке ошибки |
|||
8
Aleksei_Pro
29.10.13
✎
15:13
|
(5) И (6) не согласен. Галка и выгрузить по правилу надо ставить.
|
|||
9
Aleksei_Pro
29.10.13
✎
15:14
|
Вот весь код:
Организация = Параметры.Организация; ДатаНач = Параметры.ДатаНач; ДатаКон = Параметры.ДатаКон; Запрос = Новый Запрос; Запрос.УстановитьПараметр("НачДата",НачалоДня(ДатаНач)); Запрос.УстановитьПараметр("КонДата",КонецДня(ДатаКон)); Запрос.УстановитьПараметр("Организация",Организация); Запрос.Текст = "ВЫБРАТЬ | СборкаЗапасовПродукция.Номенклатура, | СборкаЗапасовПродукция.Количество, | СУММА(СборкаЗапасовПродукция.Количество) КАК КоличествоМест, | СборкаЗапасовПродукция.ЕдиницаИзмерения, | СборкаЗапасовПродукция.Спецификация |ИЗ | Документ.СборкаЗапасов.Продукция КАК СборкаЗапасовПродукция |ГДЕ | СборкаЗапасовПродукция.Ссылка.Дата МЕЖДУ &НачДата И &КонДата | |СГРУППИРОВАТЬ ПО | СборкаЗапасовПродукция.Номенклатура, | СборкаЗапасовПродукция.Количество, | СборкаЗапасовПродукция.ЕдиницаИзмерения, | СборкаЗапасовПродукция.Спецификация"; ТаблицаНоменклатурыПродукции = Запрос.Выполнить().Выгрузить(); Запрос.УстановитьПараметр("НачДата",НачалоДня(ДатаНач)); Запрос.УстановитьПараметр("КонДата",КонецДня(ДатаКон)); Запрос.УстановитьПараметр("Организация",Организация); Запрос.Текст = "ВЫБРАТЬ | СборкаЗапасовПродукция.Номенклатура, | СборкаЗапасовПродукция.Количество, | СборкаЗапасовПродукция.Спецификация |ИЗ | Документ.СборкаЗапасов.Запасы КАК СборкаЗапасовПродукция |ГДЕ | СборкаЗапасовПродукция.Ссылка.Дата МЕЖДУ &НачДата И &КонДата | И (СборкаЗапасовПродукция.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга) | ИЛИ СборкаЗапасовПродукция.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)) | |СГРУППИРОВАТЬ ПО | СборкаЗапасовПродукция.Номенклатура, | СборкаЗапасовПродукция.Количество, | СборкаЗапасовПродукция.Спецификация"; ТаблицаНоменклатурыУслуги = Запрос.Выполнить().Выгрузить(); Запрос.УстановитьПараметр("НачДата",НачалоДня(ДатаНач)); Запрос.УстановитьПараметр("КонДата",КонецДня(ДатаКон)); Запрос.УстановитьПараметр("Организация",Организация); Запрос.Текст = "ВЫБРАТЬ | СборкаЗапасовПродукция.Номенклатура, | СборкаЗапасовПродукция.Количество, | СУММА(СборкаЗапасовПродукция.Количество) КАК КоличествоМест, | СборкаЗапасовПродукция.ЕдиницаИзмерения, | СборкаЗапасовПродукция.Спецификация |ИЗ | Документ.СборкаЗапасов.Продукция КАК СборкаЗапасовПродукция |ГДЕ | СборкаЗапасовПродукция.Ссылка.Дата МЕЖДУ &НачДата И &КонДата | И СборкаЗапасовПродукция.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Запас) | |СГРУППИРОВАТЬ ПО | СборкаЗапасовПродукция.Номенклатура, | СборкаЗапасовПродукция.Количество, | СборкаЗапасовПродукция.ЕдиницаИзмерения, | СборкаЗапасовПродукция.Спецификация"; ТаблицаНоменклатурыМатериалы = Запрос.Выполнить().Выгрузить(); ВходящиеДанные = Новый Структура; ВходящиеДанные.Вставить("Организация" ,Параметры.Организация); ВходящиеДанные.Вставить("Дата" ,КонецДня(ДатаКон)); ВходящиеДанные.Вставить("Продукция" , ТаблицаНоменклатурыПродукции); ВходящиеДанные.Вставить("Услуги" , ТаблицаНоменклатурыУслуги); ВходящиеДанные.Вставить("Материалы" , ТаблицаНоменклатурыМатериалы); ВыгрузитьПоПравилу(,, ВходящиеДанные,, "ОтчетПроизводстваЗаСмену"); |
|||
10
GenV
29.10.13
✎
15:18
|
7+ у тебя строка ошибки: Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(10482)
Нужно смотреть, что там за процедура ) |
|||
11
Йохохо
29.10.13
✎
15:23
|
а, ну можно и вот так ВыгрузитьПоПравилу(ВходящиеДанные...)
|
|||
12
J_B
29.10.13
✎
15:25
|
А в самом ПКО нету реквизитов, которые отсутствуют в структуре ВходящиеДанные?
Буквально пару дней назад столкнулся с аналогичной проблемой... но вот как решил не помню. |
|||
13
Aleksei_Pro
29.10.13
✎
15:28
|
Есть. Дкмаете из за этоого?
|
|||
14
Aleksei_Pro
29.10.13
✎
15:30
|
Нет это не помогает!
|
|||
15
GenV
29.10.13
✎
15:31
|
(13) Если у тебя есть еще свойства ПКС, которые не указаны в ВходящиеДанные как будут их значения заполняться, если ты сам источник не передал?
|
|||
16
Зойч
29.10.13
✎
15:31
|
у тебя строка в справочник переходит где-то
|
|||
17
Karamzin
29.10.13
✎
15:43
|
(0) Отладчик тебе в помощь.
Я сейчас тоже плотно работаю с конвертацией. Постоянно приходится пользоваться отладчиком. |
|||
18
gorakh
29.10.13
✎
17:06
|
Поставь "остановка по ошибке" и смотри стек вызовов.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |