Всем привет. Ребят, прошу помощи. Пишу правила конвертации с 7.7 в 8.2. Конфигурации самописные, но очень похожи на Бухгалтерский учет 4.5 и бухгалтерия предприятия 2.0. Но это не они. В типовых правилах не смог найти ответ на свой вопрос. А вопрос следующий. Например в 7.7 есть счет 41.1 и у него есть субконто1 - Номенклатура, Субконто2 - МестаХранения. И есть счет из 8.2 с кодом 41.1, но с другими субконто. Субконто1 - МестаХранения, Субконто2 - МОЛ, Субконто3 - Номенклатура. Каким образом сделать такое преобразование?
не ясно какая задача стоит?
с таким подходом результат ваших усилий стремится к нулю. Вы переносите данные в восьмерочную конфигурацию, о которой вы ничего не знаете, и почитать о ней не хотите. Кроме того вы и конвертацию не читали.
Вопрос мой сводился - это перенос остатков с целью перейти на восьмерку, или цель обмен данными? Если обмен, то вы в правильном направлении. Почти. А если перенос остатков, то в восьмерке правильно остатки заводить документами по вводу остатков.
Да. Это нужно прописывать ПКО.
Есть еще одна проблема - регистры накоплений.
http://pro1c.org.ua/index.php?showtopic=6028
http://pro1c.org.ua/index.php?showtopic=4097&mode=linearplus
Для 3-его субконто укажите жестко Параметр/переменную. Его надо прописать в конвертации (то ли Константы, то ли Параметры. точно не помню)
Я изначально не правильно начал искать ответ на свой вопрос. Оказывается, не нужно ничего преобразовывать, все происходит автоматически. В книге не смог найти ответ, т.к. искал другое. А ответ находится в разделе ПослеЗагрузки.
Единственное, что нужно сделать, так это проверить соответствует ли загруженные виды субконто счету приемника. Дальше сразу дописал код для проверки количественного и валютного счета. И установку соответствующих значений.
Для каждого Корреспонденция из Объект.Движения.Хозрасчетный Цикл
Для каждого Субконто из Корреспонденция.СубконтоДт Цикл
Ок = Ложь;
Для каждого ВидыСубконто из Корреспонденция.СчетДт.ВидыСубконто Цикл
Если ВидыСубконто.ВидСубконто = Субконто.Ключ Тогда
Ок = Истина;
Прервать;
КонецЕсли;
КонецЦикла;
Если не Ок Тогда
Корреспонденция.СубконтоДт.Удалить(Субконто.Ключ);
КонецЕсли;
КонецЦикла;
Для каждого Субконто из Корреспонденция.СубконтоКт Цикл
Ок = Ложь;
Для каждого ВидыСубконто из Корреспонденция.СчетКт.ВидыСубконто Цикл
Если ВидыСубконто.ВидСубконто = Субконто.Ключ Тогда
Ок = Истина;
Прервать;
КонецЕсли;
КонецЦикла;
Если не Ок Тогда
Корреспонденция.СубконтоКт.Удалить(Субконто.Ключ);
КонецЕсли;
КонецЦикла;
Если (Корреспонденция.СчетДт = ПланыСчетов.Хозрасчетный.ПустаяСсылка())
или (НЕ Корреспонденция.СчетДт.Валютный) Тогда
Корреспонденция.ВалютаДт = Справочники.Валюты.ПустаяСсылка();
Корреспонденция.ВалютнаяСуммаДт = 0;
КонецЕсли;
Если (Корреспонденция.СчетКт = ПланыСчетов.Хозрасчетный.ПустаяСсылка())
или (НЕ Корреспонденция.СчетКт.Валютный) Тогда
Корреспонденция.ВалютаКт = Справочники.Валюты.ПустаяСсылка();
Корреспонденция.ВалютнаяСуммаКт = 0;
КонецЕсли;
Если (Корреспонденция.СчетДт = ПланыСчетов.Хозрасчетный.ПустаяСсылка())
или (НЕ Корреспонденция.СчетДт.Количественный) Тогда
Корреспонденция.КоличествоДт = 0;
КонецЕсли;
Если (Корреспонденция.СчетКт = ПланыСчетов.Хозрасчетный.ПустаяСсылка())
или (НЕ Корреспонденция.СчетКт.Количественный) Тогда
Корреспонденция.КоличествоКт = 0;
КонецЕсли;
КонецЦикла;
Объект.Движения.Хозрасчетный.Записывать = Истина;
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua