Имя: Пароль:
1C
1С v8
Конвертация данных УТ==>БП 2.0
,
0 Emilio
 
26.03.14
09:56
Добрый день!
Что-то я запутался в КД.
Выгружаю из УТ 11.1 выгружаю рко и конвертирую его в ведомость по выплате зп в БП 2.0. В БП документ создается, но в табличная часть "Зарплата" пустая. Никак не могу понять, что делаю не так.
Создал ПКО РКО_ЗарплатаКВыплате затем в обработчике событий перед выгрузкой написал следующий код:
ВходящиеДанные = Новый Структура("Зарплата");
ВходящиеДанные.Зарплата = Новый ТаблицаЗначений;
ВходящиеДанные.Зарплата.Колонки.Добавить("Физлицо");
ВходящиеДанные.Зарплата.Колонки.Добавить("Сумма");
ВходящиеДанные.Зарплата.Колонки.Добавить("ВыплаченностьЗарплаты");
ВходящиеДанные.Зарплата.Колонки.Добавить("КомпенсацияЗаЗадержкуЗарплаты");

Далее в обработчике после загрузки составил следующий текст:
Выполнить(Алгоритмы.ОбработатьЗаписьДокументаПослеЗагрузки);

Если РежимЗагрузкиДанныхВИнформационнуюБазу() Тогда
    //Занесем данные об объекте в таблицу отложенной обработки
    НоваяСтрока = Параметры.ЗагруженныеОбъекты.Добавить();
    НоваяСтрока.ИмяПКО = "РКО_ЗарплатаКВыплате";
    НоваяСтрока.Объект = Объект;
    НоваяСтрока.Параметры = ПараметрыОбъекта;
КонецЕсли;

Далее в конвертации свойств сделал следующее: создал табличную часть "Зарплата", добавил все необходимые реквизиты, указал, что заполняется таблица из входящих данных и вот все.
Понимаю что где-то ошибка, но я ее не вижу. Подскажите куда копать.
1 Vladuha
 
26.03.14
10:20
Входящие данные заполняешь?
2 m-serg74
 
26.03.14
10:53
(1) а это еще зачем? :)
3 Emilio
 
26.03.14
11:01
(1) Пробовал заполнить. Делал так:
ВходящиеДанные = Новый Структура("Зарплата");
ВходящиеДанные.Зарплата = Новый ТаблицаЗначений;
ВходящиеДанные.Зарплата.Колонки.Добавить("Физлицо");
ВходящиеДанные.Зарплата.Колонки.Добавить("Сумма");
ВходящиеДанные.Зарплата.Колонки.Добавить("ВыплаченностьЗарплаты");
ВходящиеДанные.Зарплата.Колонки.Добавить("КомпенсацияЗаЗадержкуЗарплаты");

ВходящиеДанные.Зарплата.Физлицо = Источник.ПодотчетноеЛицо;
ВходящиеДанные.Зарплата.Сумма = Источник.СуммаДокумента;
ВходящиеДанные.Зарплата.ВыплаченностьЗарплаты = Источник.ВыплаченностьЗарплаты;
ВходящиеДанные.Зарплата.КомпенсацияЗаЗадержкуЗарплаты = Источник.КомпенсацияЗаЗадержкуЗарплаты;

Но при выгрузке появляется ошибка, что поле объекта подотчетное лицо не найдено.
4 Tateossian
 
26.03.14
11:13
(3) Посмотри через отладчик выгрузки, что у тебя там за Источник.
5 Vladuha
 
26.03.14
11:14
(3) каша какая-то :) заполнял где? Входящие данные определяются обычно перед выгрузкой объекта. ПодотчетноеЛицо - реквизит шапки РКО в УТ, реквизитов ВыплаченностьЗарплаты и КомпенсацияЗаЗадержкуЗарплаты в УТ нет. Это реквизиты табл части Ведомости в БП.
6 Vladuha
 
26.03.14
11:26
Сделай перед выгрузкой так, например:

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

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

ВходящиеДанные.Вставить("Зарплата", Результат.Выгрузить());
7 Naumov
 
26.03.14
11:36
(0) Посмотри как ТЧ с расшифровкой платежа для прочих поступлений безналичных формируется и сделай по аналогии.
8 Emilio
 
27.03.14
03:06
(6) Спасибо, огромное помогло! Премного вам благодарен.