Правила переноса остатков на счетах из "БП КОРП" в "БГУ"

Публикация № 1041560

Обмен - Перенос данных из 1C8 в 1C8

перенос обмен правила конвертация остатков

1
Готовые правила переноса остатков на счетах из "Бухгалтерия предприятия КОРП" в "Бухгалтерия Государственного Учреждения" Сформированы и протестированы на релизах систем: "Бухгалтерия предприятия КОРП" релиз 2.0.66.71; "Бухгалтерия Государственного Учреждения" релиз 2.0.61.21; "Конвертация данных" релиз 2.1.8.2.

Всем доброго времени суток!

Недавно в связи с реструктуризацией и сменой деятельности компании пришлось организовать перенос остатков с Хозрасчетных счетов системы "Бухгалтерия предприятия КОРП" на Бюджетные счета системы "Бухгалтерия Государственного Учреждения" последнего релиза.

Список счетов по которым выполнялся перенос данных:

ВЗАИМОРАСЧЕТЫ:
Счет 60.01 в БП на счет 302.26 в БГУ;
Счет 60.02 в БП на счет 206.26 в БГУ;

Счет 62.01 в БП на счет 205.31 в БГУ;
Счет 62.02 в БП на счет 205.31 в БГУ.


МАТЕРИАЛЫ:
Счет 10.01 в БП на счет 105.36 в БГУ;
Счет 10.03 в БП на счет 105.33 в БГУ;
Счет 10.05 в БП на счет 105.36 в БГУ;
Счет 10.06 в БП на счет 105.36 в БГУ;
Счет 10.08 в БП на счет 105.34 в БГУ;
Счет 10.09 в БП на счет 105.35 в БГУ;

 

ОСНОВНЫЕ СРЕДСТВА
Счет ОС в БП: 01.01;
Счет амортизации ОС в БП: 02.1

Перенос производится в разрезе групп ОС:

Здания: на счет учета в 101.12; счет амортизации в БГУ 104.12;
Машины и оборудование (кроме офисного): на счет учета в 101.34; счет амортизации в БГУ 104.34;
Транспортные средства: на счет учета в 101.35; счет амортизации в БГУ 104.35;
Производственный и хозяйственный инвентарь: на счет учета в 101.36; счет амортизации в БГУ 104.36;
Другие виды основных средств: на счет учета в 101.38; счет амортизации в БГУ 104.38;

ПРОЧИЕ РАСЧЕТЫ С РАЗНЫМИ ДЕБИТОРАМИ И КРЕДИТОРАМИ
Счет 76.09 в БП на счет 302.21 в БГУ.

ПРОЧИЕ РАСХОДЫ БУДУЩИХ ПЕРИОДОВ
Счет 97.21 в БП на счет 401.50 в БГУ.

СПЕЦОДЕЖДА В ЭКСПЛУАТАЦИИ
Счет МЦ.02 в БП на счет 27 в БГУ.

ИНВЕНТАРЬ И ХОЗ. ПРИНАДЛЕЖНОСТИ В ЭКСПЛУАТАЦИИ
Счет МЦ.04 в БП на счет 27 в БГУ.

НДС ПО АВАНСАМ И ПРЕДОПЛАТАМ
Счет 76.АВ в БП на счет 210.11 в БГУ.


Краткое описание и общий алгоритм правил.
Основным ПВД является "ПроизвольныйАлгоритмВыгрузки". В нем организовано выполнение алгоритмов формирования исходящей информации.

Код ПВД:

////////////////////////////////////////////////////////////////////////////
//ВЗАИМОРАСЧЕТЫ
//+Остатки по счету 60.01 в БП во Ввод начальных остатков по счету 302.26 в БГУ
СчетБП = "60.01"; СчетБГУ = "302.26"; С1 = Истина; С2 = Истина; С3 = Ложь;
Выполнить(Алгоритмы.ПолучитьИсходящиеДанныеИВыполнитьВыгрузку);
//-

//+Остатки по счету 60.02 в БП во Ввод начальных остатков по счету 206.26 в БГУ
СчетБП = "60.02"; СчетБГУ = "206.26"; С1 = Истина; С2 = Истина; С3 = Ложь;
Выполнить(Алгоритмы.ПолучитьИсходящиеДанныеИВыполнитьВыгрузку);
//-

//+Остатки по счету 62.01 в БП во Ввод начальных остатков по счету 205.31 в БГУ
СчетБП = "62.01"; СчетБГУ = "205.31"; С1 = Истина; С2 = Истина; С3 = Ложь;
Выполнить(Алгоритмы.ПолучитьИсходящиеДанныеИВыполнитьВыгрузку);
//-

//+Остатки по счету 62.02 в БП во Ввод начальных остатков по счету 205.31 в БГУ
СчетБП = "62.02"; СчетБГУ = "205.31"; С1 = Истина; С2 = Истина; С3 = Ложь;
Выполнить(Алгоритмы.ПолучитьИсходящиеДанныеИВыполнитьВыгрузку);
//-
////////////////////////////////////////////////////////////////////////////////



////////////////////////////////////////////////////////////////////////////////
//МАТЕРИАЛЫ
//+Остатки по счету 10.01 в БП во Ввод начальных остатков по счету 105.36 в БГУ
СчетБП = "10.01"; СчетБГУ = "105.36"; С1 = Истина; С2 = Истина; С3 = Ложь;
Выполнить(Алгоритмы.ПолучитьИсходящиеДанныеИВыполнитьВыгрузку);
//-

//+Остатки по счету 10.03 в БП во Ввод начальных остатков по счету 105.33 в БГУ
СчетБП = "10.03"; СчетБГУ = "105.33"; С1 = Истина; С2 = Истина; С3 = Ложь;
Выполнить(Алгоритмы.ПолучитьИсходящиеДанныеИВыполнитьВыгрузку);
//-

//+Остатки по счету 10.05 в БП во Ввод начальных остатков по счету 105.36 в БГУ
СчетБП = "10.05"; СчетБГУ = "105.36"; С1 = Истина; С2 = Истина; С3 = Ложь;
Выполнить(Алгоритмы.ПолучитьИсходящиеДанныеИВыполнитьВыгрузку);
//-

//+Остатки по счету 10.06 в БП во Ввод начальных остатков по счету 105.36 в БГУ
СчетБП = "10.06"; СчетБГУ = "105.36"; С1 = Истина; С2 = Истина; С3 = Ложь;
Выполнить(Алгоритмы.ПолучитьИсходящиеДанныеИВыполнитьВыгрузку);

//+Остатки по счету 10.08 в БП во Ввод начальных остатков по счету 105.34 в БГУ
СчетБП = "10.08"; СчетБГУ = "105.34"; С1 = Истина; С2 = Истина; С3 = Ложь;
Выполнить(Алгоритмы.ПолучитьИсходящиеДанныеИВыполнитьВыгрузку);
//-

//+Остатки по счету 10.09 в БП во Ввод начальных остатков по счету 105.35 в БГУ
СчетБП = "10.09"; СчетБГУ = "105.35"; С1 = Истина; С2 = Истина; С3 = Ложь;
Выполнить(Алгоритмы.ПолучитьИсходящиеДанныеИВыполнитьВыгрузку);
//-
//////////////////////////////////////////////////////////////////////////////////


////////////////////////////////////////////////////////////////////////////////
//ОСНОВНЫЕ СРЕДСТВА
//+Остатки по счету 01.01 с типом ОС: 
//Здания;
//Сооружения;
//Капитальные вложения в арендованное имущество;
//Прочие объекты, требующие государственной регистрации, относимые статьей 130 ГК РФ к недвижимости
//в БП во Ввод начальных остатков по счету 101.12 в БГУ
ГруппаУчетаОС = Перечисления.ГруппыОС.Здания; СчетУчетаБГУ = "101.12"; СчетАмортизацииБГУ = "104.12";
КодСчетаАмортизацииОС = "02.1"; КодСчетаОС = "01.01";
Выполнить(Алгоритмы.ПолучитьИсходящиеДанныеИВыполнитьВыгрузкуОС);
//-

//+Остатки по счету 01.01 с типом ОС "Машины и оборудование (кроме офисного)"
//в БП во Ввод начальных остатков по счету 101.12 в БГУ
ГруппаУчетаОС = Перечисления.ГруппыОС.МашиныИОборудование; СчетУчетаБГУ = "101.34"; СчетАмортизацииБГУ = "104.34";
КодСчетаАмортизацииОС = "02.1"; КодСчетаОС = "01.01";
Выполнить(Алгоритмы.ПолучитьИсходящиеДанныеИВыполнитьВыгрузкуОС);
//-

//+Остатки по счету 01.01 с типом ОС "Транспортные средства"
//в БП во Ввод начальных остатков по счету 101.35 в БГУ
ГруппаУчетаОС = Перечисления.ГруппыОС.ТранспортныеСредства; СчетУчетаБГУ = "101.35"; СчетАмортизацииБГУ = "104.35";
КодСчетаАмортизацииОС = "02.1"; КодСчетаОС = "01.01";
Выполнить(Алгоритмы.ПолучитьИсходящиеДанныеИВыполнитьВыгрузкуОС);
//-

//+Остатки по счету 01.01 с типом ОС "Производственный и хозяйственный инвентарь"
//в БП во Ввод начальных остатков по счету 101.36 в БГУ
ГруппаУчетаОС = Перечисления.ГруппыОС.ПроизводственныйИХозяйственныйИнвентарь; СчетУчетаБГУ = "101.36"; СчетАмортизацииБГУ = "104.36";
КодСчетаАмортизацииОС = "02.1"; КодСчетаОС = "01.01";
Выполнить(Алгоритмы.ПолучитьИсходящиеДанныеИВыполнитьВыгрузкуОС);
//-

//+Остатки по счету 01.01 с типом ОС "Другие виды основных средств"
//в БП во Ввод начальных остатков по счету 101.38 в БГУ
ГруппаУчетаОС = Перечисления.ГруппыОС.ДругиеВидыОсновныхСредств; СчетУчетаБГУ = "101.38"; СчетАмортизацииБГУ = "104.38";
КодСчетаАмортизацииОС = "02.1"; КодСчетаОС = "01.01";
Выполнить(Алгоритмы.ПолучитьИсходящиеДанныеИВыполнитьВыгрузкуОС);
//-
////////////////////////////////////////////////////////////////////////////////


////////////////////////////////////////////////////////////////////////////////
//Прочие расчеты с разными дебиторами и кредиторами
//+Остатки по счету 76.09 в БП во Ввод начальных остатков по счету 302.21 в БГУ
СчетБП = "76.09"; СчетБГУ = "302.21"; С1 = Истина; С2 = Истина; С3 = Ложь;
Выполнить(Алгоритмы.ПолучитьИсходящиеДанныеИВыполнитьВыгрузку);
//-
//////////////////////////////////////////////////////////////////////////////



//////////////////////////////////////////////////////////////////////////////
//Прочие расходы будущих периодов
//+Остатки по счету 97.21 в БП во Ввод начальных остатков по счету 401.50 в БГУ
СчетБП = "97.21"; СчетБГУ = "401.50"; С1 = Истина; С2 = Ложь; С3 = Ложь;
Выполнить(Алгоритмы.ПолучитьИсходящиеДанныеИВыполнитьВыгрузку);
//-
//////////////////////////////////////////////////////////////////////////////


//////////////////////////////////////////////////////////////////////////////
//Спецодежда в эксплуатации
//+Остатки по счету МЦ.02 в БП во Ввод начальных остатков по счету 27 в БГУ
СчетБП = "МЦ.02"; СчетБГУ = "27"; С1 = Истина; С2 = Ложь; С3 = Истина;
Выполнить(Алгоритмы.ПолучитьИсходящиеДанныеИВыполнитьВыгрузку);
//-
//////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////
//Инвентарь и хозяйственные принадлежности в эксплуатации
//+Остатки по счету МЦ.04 в БП во Ввод начальных остатков по счету 27 в БГУ
СчетБП = "МЦ.04"; СчетБГУ = "27"; С1 = Истина; С2 = Ложь; С3 = Истина;
Выполнить(Алгоритмы.ПолучитьИсходящиеДанныеИВыполнитьВыгрузку);
//-
//////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////
//НДС по авансам и предоплатам
//+Остатки по счету 76 .АВ в БП во Ввод начальных остатков НДС по счету 210.11 в БГУ
Счет = "76.АВ"; СчетБГУ = "210.11";
Выполнить(Алгоритмы.ПолучитьИсходящиеДанныеНДС);
//-                 
////////////////////////////////////////////////////////////////////////////


Отказ = Истина;

 

Так - же для демонстрации приведу код алгоритма "ПолучитьИсходящиеДанныеИВыполнитьВыгрузку":

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


Запрос.УстановитьПараметр("Счет",ПланыСчетов.Хозрасчетный.НайтиПоКоду(СчетБП));
Запрос.УстановитьПараметр("ДатаОстатков", Параметры.ДатаВводаОстатков);
Запрос.УстановитьПараметр("Организация", Параметры.ВыгружаемаяОрганизация);

ЖурналПроводокЕПСБУ = Неопределено;
Выполнить(Алгоритмы.СоздатьЖурналПроводокЕПСБУ);
КорСчет = "000";
Период = Параметры.ДатаВводаОстатков;

Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
	
	ИсходящиеДанные = Новый Структура("Дата, Организация, Комментарий");
	ИсходящиеДанные.Дата		= Параметры.ДатаВводаОстатков;
	ИсходящиеДанные.Комментарий = "Ввод остатков: " + Выборка.Организация +"/"+Выборка.Счет;
	ИсходящиеДанные.Организация = Выборка.Организация;
		
	
	Сторона   = "";
	Если Выборка.Счет.Вид = ВидСчета.Активный Тогда
		Сторона   = "Дт";
	ИначеЕсли Выборка.Счет.Вид = ВидСчета.Пассивный Тогда
		Сторона   = "Кт";
	Иначе
		Если Выборка.СуммаДт <> 0 
			ИЛИ Выборка.КоличествоДт <> 0
			ИЛИ Выборка.ВалютнаяСуммаДт <> 0
		Тогда
		    Сторона   = "Дт";
		Иначе
		    Сторона   = "Кт";
		КонецЕсли;
	КонецЕсли;
	Если Сторона = "Дт" Тогда
		ВспСторона = "Кт";
	Иначе
		ВспСторона = "Дт";
	КонецЕсли;
	
	НовПроводка = ЖурналПроводокЕПСБУ.Добавить();
	НовПроводка.Период = Период;
	Если НЕ Выборка.Счет.Забалансовый Тогда 
		//Вспомогательный счет "000"
		НовПроводка["Счет"+ВспСторона] = КорСчет;
	КонецЕсли;
	//Счет остатков
	НовПроводка["Счет"+Сторона] = СчетБГУ;
	
	НовПроводка["Сумма"] = ?(Сторона = "Дт",Выборка.СуммаДт,Выборка.СуммаКт);
	НовПроводка["Организация"] = Выборка.Организация;
	
	Если Выборка.Счет.Валютный Тогда
		НовПроводка["Валюта"+Сторона] = Выборка.Валюта;
		НовПроводка["ВалютнаяСумма"+Сторона] = ?(Сторона = "Дт",Выборка.ВалютнаяСуммаДт, Выборка.ВалютнаяСуммаКт);
	КонецЕсли;
	Если Выборка.Счет.Количественный Тогда
		НовПроводка["Количество"+Сторона] =?(Сторона = "Дт",Выборка.КоличествоДт, Выборка.КоличествоКт);
	КонецЕсли;
	
	КоличествоСубконто = Выборка.Счет.ВидыСубконто.Количество();
	Для Инд = 0 По КоличествоСубконто-1 Цикл
		Попытка
			НовПроводка["Субконто"+Сторона].Вставить(Выборка.Счет.ВидыСубконто[Инд].ВидСубконто,Выборка["Субконто"+(Инд+1)]);
		Исключение
			НовПроводка["Субконто"+Сторона].Вставить(Выборка.Счет.ВидыСубконто[Инд].ВидСубконто);
		КонецПопытки;
	КонецЦикла;
	
КонецЦикла;

Если ЖурналПроводокЕПСБУ.Количество() > 0 Тогда	
	ИсходящиеДанные.Вставить("ЖурналПроводокЕПСБУ",ЖурналПроводокЕПСБУ);
	ИсходящиеДанные.Вставить("Счет", СчетБГУ);	
	ВыгрузитьПоПравилу(,,ИсходящиеДанные,,"ВводНачальныхОстатков");
	ЖурналПроводокЕПСБУ.Очистить();
КонецЕсли;

 

Т.о. принцип работы выгрузки заключается в поэтапном выполнении 3-х основных алгоритмов формирования исходящих данных, которые формируют информацию в зависимости от типа переносимых остатков:

  • ПолучитьИсходящиеДанныеИВыполнитьВыгрузку;
  • ПолучитьИсходящиеДанныеИВыполнитьВыгрузкуОС;
  • ПолучитьИсходящиеДанныеНДС.

В конце каждого алгоритма после формирования исходящих данных выполняется переход на соответствующее ПКО:

  • ВводНачальныхОстатков;
  • ВводНачальныхОстатковВходящийНДС;
  • ВводНачальныхОстатковОС.

 

Замечание.

Т.к. при формировании данной конвертации полагался на определенные требования своей кампании, для применения ее в Вашем конкретном случае необходим анализ данных и корректировка Вашим специалистом. Т.е. данную конвертацию рекомендуется использовать как базу для создания переноса по Вашим конкретным критериям, иначе при выполнении процедур на данных правилах "по умолчанию" могут возникнуть ошибки.

Ну и естественно перед загрузкой данных ОБЯЗАТЕЛЬНО делайте копию базы.

1

Скачать файлы

Наименование Файл Версия Размер
Правила переноса остатков на счетах из "БП КОРП" в "БГУ":
.zip 154,70Kb
17.05.19
2
.zip 154,70Kb 2 Скачать
Обработки для организации конвертации и переноса данных
.zip 368,08Kb
10.04.19
2
.zip 368,08Kb 2 Скачать

См. также

Специальные предложения

Избранное Подписка Сортировка: Древо
В этой теме еще нет сообщений.
Оставьте свое сообщение