Имя: Пароль:
1C
1С v8
Конвертация проводок
,
0 razbiralshik
 
20.11.17
10:27
Добрый день!

Хочу конвертировать проводки с помощью КД с одной базы 8.1 в другую 8.3.
Перенести планирую в документ Операция.

В ПВД - после выгрузки задал:

//получаем ТЗ проводок
Проводки = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
Проводки.Отбор.Регистратор.Значение = Объект.Ссылка;
Проводки.Прочитать();
ТаблицаНабораЗаписей = Проводки.Выгрузить();

//Реквизиты шапки
ИсходящиеДанные = Новый Структура;
ИсходящиеДанные.Вставить("Дата",Объект.Дата);
ИсходящиеДанные.Вставить("Организация",Объект.Организация);
ИсходящиеДанные.Вставить("КонтрагентЕРИП",Объект.КонтрагентЕРИП);
ИсходящиеДанные.Вставить("ДоговорЕРИП",Объект.ДоговорЕРИП);
ИсходящиеДанные.Вставить("Комментарий",Объект.Комментарий);
ИсходящиеДанные.Вставить("Ответственный",Объект.Ответственный);
ИсходящиеДанные.Вставить("ПометкаУдаления",Объект.ПометкаУдаления);
ИсходящиеДанные.Вставить("Проведен",Объект.Проведен);
ИсходящиеДанные.Вставить("Номер",Объект.Номер);

//Табличная часть
ИсходящиеДанные.Вставить("Хозрасчетный",Новый ТаблицаЗначений);
ИсходящиеДанные.Хозрасчетный.Колонки.Добавить("СчетДт");
ИсходящиеДанные.Хозрасчетный.Колонки.Добавить("СубконтоДт", Новый ОписаниеТипов("РегистрБухгалтерииСубконто.Хозрасчетный"));
ИсходящиеДанные.Хозрасчетный.Колонки.Добавить("КоличествоДт");
ИсходящиеДанные.Хозрасчетный.Колонки.Добавить("ВалютаДт");
ИсходящиеДанные.Хозрасчетный.Колонки.Добавить("ВалютнаяСуммаДт");
ИсходящиеДанные.Хозрасчетный.Колонки.Добавить("СчетКт");
ИсходящиеДанные.Хозрасчетный.Колонки.Добавить("СубконтоКт", Новый ОписаниеТипов("РегистрБухгалтерииСубконто.Хозрасчетный"));
ИсходящиеДанные.Хозрасчетный.Колонки.Добавить("КоличествоКт");
ИсходящиеДанные.Хозрасчетный.Колонки.Добавить("ВалютаКт");
ИсходящиеДанные.Хозрасчетный.Колонки.Добавить("ВалютнаяСуммаКт");
ИсходящиеДанные.Хозрасчетный.Колонки.Добавить("Сумма");
ИсходящиеДанные.Хозрасчетный.Колонки.Добавить("Организация");
ИсходящиеДанные.Хозрасчетный.Колонки.Добавить("ДатаЗаписи");
ИсходящиеДанные.Хозрасчетный.Колонки.Добавить("НомерЖурнала");
ИсходящиеДанные.Хозрасчетный.Колонки.Добавить("Содержание");
ИсходящиеДанные.Хозрасчетный.Колонки.Добавить("Регистратор");

Для Каждого Стр Из ТаблицаНабораЗаписей Цикл
        СтрокаОперации = ИсходящиеДанные.Хозрасчетный.Добавить();
        СтрокаОперации.СчетДт = Стр.СчетДт;
        СтрокаОперации.СубконтоДт.Вставить(Стр.ВидСубконтоДТ1, Стр.СубконтоДТ1);  
        СтрокаОперации.КоличествоДт = Стр.КоличествоДт;
        СтрокаОперации.ВалютаДт = Стр.ВалютаДт;
        СтрокаОперации.ВалютнаяСуммаДт = Стр.ВалютнаяСуммаДт;
        СтрокаОперации.СчетКт = Стр.СчетКт;
        СтрокаОперации.СубконтоКт.Вставить(Стр.ВидСубконтоКТ1, Стр.СубконтоКТ1);
        СтрокаОперации.СубконтоКт.Вставить(Стр.ВидСубконтоКТ2, Стр.СубконтоКТ2);
        СтрокаОперации.КоличествоКт = Стр.КоличествоКт;
        СтрокаОперации.ВалютаКт = Стр.ВалютаКт;
        СтрокаОперации.ВалютнаяСуммаКт = Стр.ВалютнаяСуммаКт;
        СтрокаОперации.Сумма = Стр.Сумма;
        СтрокаОперации.Организация = Стр.Организация;
        СтрокаОперации.НомерЖурнала = Стр.НомерЖурнала;
        СтрокаОперации.Содержание = Стр.Содержание;
        СтрокаОперации.Регистратор = Стр.Регистратор;
КонецЦикла;
ВыгрузитьПоПравилу(,,ИсходящиеДанные,,"ОперацияУпр");


в ПКО - после загрузки добавил код для теста хотябы:
Проводки = Объект.Движения.Хозрасчетный;
Проводка = Проводки.Добавить();
Проводка.Период     = Объект.Дата;
Проводка.Организация= Объект.Организация;        
Проводка.СчетДт     = ПланыСчетов.Хозрасчетный.НайтиПоКоду("44");
Проводка.СчетКт     = ПланыСчетов.Хозрасчетный.НайтиПоКоду("76.01");
Проводка.Сумма          = Объект.Сумма;
Объект.Движения.Записать();


но при выгрузке почемуто вылазит ошибка:


Начало выгрузки:   20.11.2017 10:21:05

Ошибка получения значения свойства объекта (по имени свойства источника)
    ПКО                    =  ОперацияУпр  (Документ: Оплаты из ЕРИП)
    ПКС                    =  1  (Дата --> Дата)
    Объект                 =    (Не определено)
    СвойствоПриемника      =  Дата  (Дата)
    ОписаниеОшибки         =  Получение элемента по индексу для значения не определено
    ПозицияМодуля          =  ВнешняяОбработка.УниверсальныйОбменДаннымиXML(8211)
    КодСообщения           =  13

Ошибка в обработчике события ПослеВыгрузкиОбъекта
    ПВД                    =  СведенияОДвиженииРаботниковДПУ
    Объект                 =  Оплаты из ЕРИП 250 от 01.11.2017 12:00:00  (Оплаты из ЕРИП)
    Обработчик             =  ПослеВыгрузкиОбъектаВыборки
    ОписаниеОшибки         =  Ошибка получения значения свойства объекта (по имени свойства источника)
    ПКО                    =  ОперацияУпр  (Документ: Оплаты из ЕРИП)
    ПКС                    =  1  (Дата --> Дата)
    Объект                 =    (Не определено)
    СвойствоПриемника      =  Дата  (Дата)
    ОписаниеОшибки         =  Получение элемента по индексу для значения не определено
    ПозицияМодуля          =  ВнешняяОбработка.УниверсальныйОбменДаннымиXML(8211)
    КодСообщения           =  13
    ПозицияМодуля          =  ВнешняяОбработка.УниверсальныйОбменДаннымиXML(1618)
    КодСообщения           =  34

Ошибка при выгрузке данных: {ВнешняяОбработка.УниверсальныйОбменДаннымиXML(1637)}: Ошибка в обработчике события ПослеВыгрузкиОбъекта
    ПВД                    =  СведенияОДвиженииРаботниковДПУ
    Объект                 =  Оплаты из ЕРИП 250 от 01.11.2017 12:00:00  (Оплаты из ЕРИП)
    Обработчик             =  ПослеВыгрузкиОбъектаВыборки
    ОписаниеОшибки         =  Ошибка получения значения свойства объекта (по имени свойства источника)
    ПКО                    =  ОперацияУпр  (Документ: Оплаты из ЕРИП)
    ПКС                    =  1  (Дата --> Дата)
    Объект                 =    (Не определено)
    СвойствоПриемника      =  Дата  (Дата)
    ОписаниеОшибки         =  Получение элемента по индексу для значения не определено
    ПозицияМодуля          =  ВнешняяОбработка.УниверсальныйОбменДаннымиXML(8211)
    КодСообщения           =  13
    ПозицияМодуля          =  ВнешняяОбработка.УниверсальныйОбменДаннымиXML(1618)
    КодСообщения           =  34



Подскажите что я делаю не так?
1 DrShad
 
20.11.17
10:35
все в описаниях ошибки
2 Ёпрст
 
20.11.17
10:45
(0) Зачем такие сложности с исходящими данными ?
В пвд можно ничего не писать вообще, всё сделать в ПКО.
ну и выгрузитьПоПравилу там не нужно
3 razbiralshik
 
20.11.17
11:22
(2) Сделал в ПВД так, но чето долго очень, толи виснет, непонятно:

Запрос = Новый Запрос;

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

Для Каждого Строка ИЗ Результат Цикл
    ВходящиеДанные = Новый Структура("Период, Регистратор, СчетДт, СубконтоДт1, ВидСубконтоДт1, СубконтоДт2, ВидСубконтоДт2, СубконтоДт3, ВидСубконтоДт3, СчетКт, СубконтоКт1, ВидСубконтоКт1, СубконтоКт2, ВидСубконтоКт2, СубконтоКт3, ВидСубконтоКт3, Организация, ВалютаДт, ВалютаКт, Сумма, ВалютнаяСуммаДт, ВалютнаяСуммаКт, КоличествоДт, КоличествоКт, Содержание");
    ЗаполнитьЗначенияСвойств(ВходящиеДанные,Строка);
    ВыгрузитьПоПравилу(,, ВходящиеДанные,, "СведенияОДвиженииРаботниковДПУ");        
КонецЦикла;



А в ПКО что именно нужно сделать, при условии что в ПВД ничего не надо делать?
4 razbiralshik
 
20.11.17
11:49
ап!
5 Ёпрст
 
20.11.17
12:05
(3) просто правила конвертации одного документа в другой с пкгс Хозрасчетный