Имя: Пароль:
1C
1С v8
Конвертация данных 2.0 (2.1) Перенос элементов справочника из 77 в таб часть документа в 8
0 maxipunchik
 
28.02.18
06:28
Всем привет, в самописной 77 есть справочник ОС, нужно перенести его в 8 и при этом еще создать документ ввода остатков ОС с элементами этого справочника. Вроде всё делаю по книжке, но документ создается. Глаз уже замылился, не могу понять где ошибка, опыта в работе с конвертацией немного. На скринах настройки Правил конвертации. По отладчику в ПВД создается таблица значений с одной строкой, в которой указана дата и таблица значений, содержащая данные по элементам справочника, не могу понять почему дальше не идет. В 8-ке создается с таким кодом документ с забитой датой, но пустой табличной частью. Вот Код из Правил Выгрузки Данных:


ДатаДляОтбора = Параметры.ДатаВводаОстатков;
ВыборкаДанных = СоздатьОбъект("ТаблицаЗначений");
ВыборкаДанных.НоваяКолонка("Дата");
ВыборкаДанных.НоваяКолонка("ОС");
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|Период с ДатаОкончания по ДатаОкончания;
|ТекущийЭлемент = Справочник.ОсновныеСредства.ТекущийЭлемент;
|Цена = Справочник.ОсновныеСредства.Цена;
|КоэфАмортизации = Справочник.ОсновныеСредства.КоэфАмортизации;
|Группировка ТекущийЭлемент;
|"//}}ЗАПРОС
;
// Если ошибка в запросе, то выход из процедуры
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
сообщить("Ошибка");    
КонецЕсли;

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

Пока Запрос.Группировка() = 1 Цикл
                    
ПервоначальнаяСтоимостьБУ                 = Запрос.Цена;
ТекущаяСтоимостьБУ                      = Запрос.Цена;
СтоимостьДляВычисленияАмортизацииБУ      = Запрос.Цена;
ВыборкаДанных.ОС.НоваяСтрока();
ВыборкаДанных.ОС.ОсновноеСредство      = Запрос.ТекущийЭлемент;
ВыборкаДанных.ОС.ПервоначальнаяСтоимостьБУ=ПервоначальнаяСтоимостьБУ;
ВыборкаДанных.ОС.ТекущаяСтоимостьБУ      = ТекущаяСтоимостьБУ;
ВыборкаДанных.ОС.СтоимостьДляВычисленияАмортизацииБУ            = СтоимостьДляВычисленияАмортизацииБУ;
ВыборкаДанных.ОС.КоэффициентАмортизацииБУ = Запрос.КоэфАмортизации;
ВыборкаДанных.ОС.НачислятьАмортизациюБУ      = "True";
ВыборкаДанных.ОС.СпособНачисленияАмортизацииБУ    
= "Линейный способ (от процента)";
ВыборкаДанных.ОС.ДатаПринятияКУчетуРегл      = Параметры.ДатаВводаОстатков;
    
КонецЦикла;

https://hostingkartinok.com/show-image.php?id=ad355d87b1796024435dcd4dd2a9ea50

https://hostingkartinok.com/show-image.php?id=62a8fe27546e490b5226402d2f53477f
1 maxipunchik
 
28.02.18
10:40
ап
2 maxipunchik
 
28.02.18
11:59
Короче говоря как только написал, сразу нашел в чем проблема. Дело было в том, что перечисление передавал не по имени, а по синониму, программа спотыкалась об это и не выгружала, сейчас поправил, и всё заработало. В который раз убеждаюсь, что в 1с главное внимательность)
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.