|
КД не заполняется табличная часть | ☑ | ||
---|---|---|---|---|
0
Aswed
30.03.15
✎
09:57
|
Создал ПВД в котором самостоятельно формирую состав будущих документов.
В нём прописал следующий код Для Каждого СтрокаТЧ Из Объект.Состав Цикл ИсходящиеДанные = Новый Структура; ИсходящиеДанные.Вставить("НовыйДокумент", Истина); ИсходящиеДанные.Вставить("Дата", Объект.Дата); ИсходящиеДанные.Вставить("Организация", Объект.Организация); ИсходящиеДанные.Вставить("Контрагент", СтрокаТЧ.Контрагент); ИсходящиеДанные.Вставить("СчетОрганизации", Объект.БанковскийСчет); ИсходящиеДанные.Вставить("НазначениеПлатежа", СтрокаТЧ.НазначениеПлатежа); ИсходящиеДанные.Вставить("НомерВходящегоДокумента", СтрокаТЧ.ПлатежкаНомер); ИсходящиеДанные.Вставить("ДатаВходящегоДокумента", СтрокаТЧ.ПлатежкаДата); ИсходящиеДанные.Вставить("СчетБанк", СтрокаТЧ.КоррСчет); НомерДокумента = Прав(Объект.Номер, 6) + Прав("0" + СтрокаТЧ.НомерСтроки, 2); ИсходящиеДанные.Вставить("Номер", "ААВ" + НомерДокумента); ИсходящиеДанные.Вставить("Комментарий", "По документу " + Объект + " строка табличной части №" + СтрокаТЧ.НомерСтроки); //заполнение расшифровки платежа РасшифровкаПлатежа = Новый ТаблицаЗначений; РасшифровкаПлатежа.Колонки.Добавить("ДоговорКонтрагента"); РасшифровкаПлатежа.Колонки.Добавить("СуммаПлатежа"); НоваяСтрокаРасшифровки = РасшифровкаПлатежа.Добавить(); НоваяСтрокаРасшифровки.ДоговорКонтрагента = СтрокаТЧ.ДоговорВзаиморасчетов; Если СтрокаТЧ.СуммаПриход > 0 Тогда НоваяСтрокаРасшифровки.СуммаПлатежа = СтрокаТЧ.СуммаПриход; Иначе НоваяСтрокаРасшифровки.СуммаПлатежа = СтрокаТЧ.СуммаРасход; КонецЕсли; ИсходящиеДанные.Вставить("РасшифровкаПлатежа", РасшифровкаПлатежа); Если СтрокаТЧ.СуммаПриход > 0 Тогда ИсходящиеДанные.Вставить("СуммаДокумента", СтрокаТЧ.СуммаПриход); //ИсходящиеДанные.Вставить("ВидОперации", ВыгрузитьПоПравилу(СтрокаТЧ.СтатьяДДС.Код,,,,"ВидыОперацийПКОПоКоду")); ВыгрузитьПоПравилу(ИсходящиеДанные,,,,"ПоступлениеНаРасчетныйСчет"); Иначе ИсходящиеДанные.Вставить("СуммаДокумента", СтрокаТЧ.СуммаРасход); //ИсходящиеДанные.Вставить("ВидОперации", ВыгрузитьПоПравилу(СтрокаТЧ.СтатьяДДС.Код,,,,"ВидыОперацийРКОПоКоду")); ВыгрузитьПоПравилу(ИсходящиеДанные,,,,"СписаниеСРасчетногоСчета"); КонецЕсли; КонецЦикла; ТЧ приемника http://s020.radikal.ru/i701/1503/8e/4ba6dcce0adb.jpg Всё отлично проходит, документы создаются реквизиты заполняются. Но как стал пытаться заполнять ТЧ выскакивает ошибка при выгрузке Ошибка при выгрузке данных: {ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(8000)}: Поле объекта не обнаружено (РасшифровкаПлатежа) Подскажите что не так сделал и где не дописал? |
|||
1
Aswed
30.03.15
✎
10:02
|
||||
2
Naumov
30.03.15
✎
10:05
|
у ПКГС "РасшифровкаПлатежа" поставь галку получать из Входящих данных
|
|||
3
Aswed
30.03.15
✎
10:08
|
(2) Пробовал.
Тогда ругается Ошибка при выгрузке данных: {ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(1717)}: Ошибка в обработчике события ПередВыгрузкойОбъекта ПВД = Выписка Объект = Банковская выписка АВ00000001 от 12.01.2015 15:50:15 (Банковская выписка) Обработчик = ПередВыгрузкойОбъектаВыборки ОписаниеОшибки = Ошибка получения коллекции подчиненных объектов из входящих данных ПКО = СписаниеСРасчетногоСчета (:) ПКГС = 13 (--> РасшифровкаПлатежа) Объект = Структура (Структура) ОписаниеОшибки = Получение элемента по индексу для значения не определено ПозицияМодуля = ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(7967) КодСообщения = 66 ПозицияМодуля = ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(1694) КодСообщения = 33 |
|||
4
Naumov
30.03.15
✎
10:14
|
(3) А что там за обработчик у ПКГС в событии ПередВыгрузкойОбъектаВыборки?
|
|||
5
Stim
30.03.15
✎
10:15
|
я делал так:
ПКГС: пуст - мояТЧ передобработкой(): Выполнить(Алгоритмы.МойАлгоритм); в алгоритме: КоллекцияОбъектов = Новый ТаблицаЗначений; КоллекцияОбъектов.Колонки.Добавить("РеквизитЧТприемника1"); КоллекцияОбъектов.Колонки.Добавить("РеквизитЧТприемника2"); .. НоваяСтрока = КоллекцияОбъектов.Добавить(); НоваяСтрока.РеквизитЧТприемника1 = ""; .. в пкгс у источника пустое значение, без всяких галочек. |
|||
6
Stim
30.03.15
✎
10:15
|
+ в пкгс все реквизиты тч
|
|||
7
Aswed
30.03.15
✎
10:16
|
(4) ПГКС пуст, в том то и дело.
А обработчик "ПередВыгрузкойОбъектаВыборки" это код в (0) |
|||
8
Aswed
30.03.15
✎
10:16
|
(6) Так, щас это попробую добавить.
|
|||
9
Aswed
30.03.15
✎
10:20
|
(5) У меня нет источника.
Только приемник, данные для него формирую в ПВД. |
|||
10
Aswed
30.03.15
✎
10:21
|
Без "ПолучатьИзВходящихДанных" ругается сволочь что не обнаружено поле "РасшифровкаПлатежа"
|
|||
11
Naumov
30.03.15
✎
10:43
|
(3) Такого ругательства при отсутствии обработкиков быть не должно.
я б отладчик воткнул и посмотрел что и из чего он пытается получать по индексу. |
|||
12
Naumov
30.03.15
✎
10:46
|
(1) для списания покажи
|
|||
13
Aswed
30.03.15
✎
10:49
|
||||
14
Aswed
30.03.15
✎
10:50
|
Я думаю может вся беда из-за того что я использую стандартную выборку в ПВД и формирую структуру в обработчике "ПередВыгрузкой"
|
|||
15
Naumov
30.03.15
✎
10:52
|
а для ПВД указано, что это произвольный алгоритм ?
|
|||
16
Naumov
30.03.15
✎
10:53
|
(14) В твоем случае надо произвольный ставить и ВыгрузитьПоПравилу использовать
|
|||
17
Aswed
30.03.15
✎
10:55
|
(16) Нет, стоит стандартная выборка. Щас буду переделывать на произвольный. Видимо отсюда все рога растут.
Я в эту выгрузку планирую брать данные из планов обмена. В произвольном получается надо будет переписывать запрос на план обмена, чего я и хотел избежать( |
|||
18
Naumov
30.03.15
✎
10:59
|
(17) Обмены на БСП не задействуют ПВД при выгрузках.
|
|||
19
Aswed
30.03.15
✎
11:02
|
(18) а как тогда быть?
|
|||
20
Aswed
30.03.15
✎
11:05
|
+ 19 писать робота который будет стартовать обмен через обработку универсальный обмен данными?
|
|||
21
smitru
30.03.15
✎
11:07
|
(18) Не обманывай. обмены БСП используют иной механизм регистрации, а ПВД у них именно ПВДшные
|
|||
22
smitru
30.03.15
✎
11:08
|
(14) Это нужно делать не "Перед выгрузкой", а "После Загрузки" - на стороне Приемника
|
|||
23
Aswed
30.03.15
✎
11:13
|
(22) Не понял. Что делать?:)
|
|||
24
Naumov
30.03.15
✎
11:18
|
(21) не знаю, не знаю. При обмене из БП в БП (на базе БП-УТ) ПВД не отрабатывались. Пришлось отрабатывать по-другому.
|
|||
25
smitru
30.03.15
✎
11:20
|
(24) "ПВД не отрабатывались"
Если не взведена "регистрация обмена", то ПВД не отрабатывает. А механизм регистрации в БСП обмене - свой (хотя ПРО этот обмен - понимает) |
|||
26
smitru
30.03.15
✎
11:21
|
(23)
Что не понял? Что такое ПКО или где у ПКО есть события? |
|||
27
Naumov
30.03.15
✎
11:26
|
(26) А что нужно понять? что сделать на стороне приемника, если вся информация осталась на стороне источника?
Написал не в попад, так признай. |
|||
28
Aswed
30.03.15
✎
11:50
|
(27) +1:)
|
|||
29
Aswed
30.03.15
✎
12:00
|
Последний вопрос и эта выгрузка готова.
Как ВыгрузитьПоПравилу для отдельного элемента когда я формирую такую структуру как описано в (0)? Т.е. у меня есть правило конвертации для отдельного реквизита документа. Когда обычная настройка там все просто. При таком же формировании пишу ИсходящиеДанные.Вставить("ВидОперации", ВыгрузитьПоПравилу(СтрокаТЧ.СтатьяДДС.Код,,,,"ВидыОперацийПКОПоКоду")); Ругается что не правильно. А как сделать правильно? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |