bdd2

Добавление Субконто Подразделение в счет 68.01 (Бухгалтерия 2.0)

Опубликовал Александр Биттиров (alex_bitti) в раздел Программирование - Практика программирования

Статья о том, как без особых переделок мне удалось добавить Подразделение в подоходный налог в Бухгалтерии 2.0 и в обмен с ЗУП 2.5.

Под закат поддержки данных конфигураций получил  такое задание. Если честно, удивился количеству публикаций на эту, казалось бы, несложную тему, добавить Субконто2 в счет 68.01 в Бухгалтерию и Зарплату. Но люди, которые сталкивались, наверно, знают, что начичие Подразделения в ЗУП не означает, что оно будет перенесено в Бухгалтерию. Со стороны бухгалтерии все хорошо, ну как хорошо - предсказуемо, добавляешь аналитику к счету и видишь деление в оборотке.  Проблема заключалась у меня (как и у всех) в переносе Подразделения из ЗУП.  

Итак, добавил в ЗУП счет 68.01 к счетам, ведущимся в разрезе Подразделений, и Субконто Подразделение. После заполнения "Отражения зарплаты в бухучете"  с указанием Субконто Подразделения (на данном этапе не буду останавливаться на заполнении этого документа в ЗУП,) после стандартного "Выгрузка в бухгалтерскую программу" ожидаемо, Подразделения там не увидел.

Самым простым решением я посчитал разобраться со стандартными правилами обмена.  Правила обмена я нашел достаточно быстро, в Форме Обработки ВыгрузкаДанныхВБухгалтерскуюПрограмму нащел процедуру ВыгрузитьПоПравиламБух8() и немного изменил ее, чтобы увидеть, что из себя представляют правила (я нашел так, не претендую на правильность)

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

	// Загрузка в универсальную обработку XML правил обмена
	мУниверсальнаяВыгрузкаДанных.ИмяФайлаПравилОбмена = ИмяВременногоФайлаПравилОбмена;
	мУниверсальнаяВыгрузкаДанных.ЗагрузитьПравилаОбмена();
	
	// Удаляем временный файл правил и внешней обработки
	//Попытка
	//	УдалитьФайлы(ИмяВременногоФайлаПравилОбмена);
	//Исключение
	//	
	//КонецПопытки;

Правила_ОтражениеЗПвБух в моем случае уже были получены загузкой стандартного файла с правилами в конвертацию и немного измененными, об изменениях ниже.

После загрузки правил в конвертацию был изменен код СубконтоКт2 в разделе обработчика ПередЗагрузкой 

Если ОбъектКоллекции.СчетКт = ПланыСчетов.Хозрасчетный.НДФЛ Тогда
	
	//Если ОбъектКоллекции.РегистрацияПоОКТМО Тогда
	//	
	//	Значение = Новый Структура("Владелец,КодПоОКТМО,КПП");
	//	Значение.Владелец = Данные.Организация;
	//	Значение.КодПоОКТМО = ОбъектКоллекции.КодПоОКТМО;
	//	Значение.КПП = ОбъектКоллекции.КПП;
	//
	//	ИмяПКО = "РегистрацияВИФНС_ОКТМО";
	//	
	//Иначе	
	//
	//	Значение = Новый Структура("Владелец,КодПоОКАТО,КПП");
	//	Значение.Владелец = Данные.Организация;
	//	Значение.КодПоОКАТО = ОбъектКоллекции.КодПоОКАТО;
	//	Значение.КПП = ОбъектКоллекции.КПП;
	//
	//	ИмяПКО = "РегистрацияВИФНС";
	//
	//КонецЕсли;
	
	Источник = ОбъектКоллекции.СубконтоКт2;
	ИмяПКО = "ПодразделенияОрганизаций";

Причем Источник я указывал потому, что сначала ничего не вышло. Потратив немного времени, обратил внимание, что источником объекта является "неведомый" Запрос, в котором мною были обнаружены удивительные строки, смысл которых до меня не доходит. Может, кто-нибудь пояснит мне их смысл? Привожу кусок запроса для документа Отражения:

			КОГДА ОтражениеЗарплатыВРеглУчете.ОтражениеВУчете.СчетКт = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПерсоналомПоОплатеТруда)
				ТОГДА ОтражениеЗарплатыВРеглУчете.ОтражениеВУчете.ВидНачисленийОплатыТрудаПоСтатье255НК
			
			КОГДА ОтражениеЗарплатыВРеглУчете.ОтражениеВУчете.СубконтоКт1 ССЫЛКА Справочник.ПодразделенияОрганизаций
                    //что это???  
					//ИЛИ ОтражениеЗарплатыВРеглУчете.ОтражениеВУчете.СубконтоКт2 ССЫЛКА Справочник.ПодразделенияОрганизаций

				ТОГДА ОтражениеЗарплатыВРеглУчете.ОтражениеВУчете.СубконтоКт3
			
			ИНАЧЕ ОтражениеЗарплатыВРеглУчете.ОтражениеВУчете.СубконтоКт2

Я просто закомментил. Можно сделать изящнее: добавить туда условие и Счет не НДФЛ, но, если честно, в этом я вижу некий заговор, зачем подменять одно Субконто в Источнике другим в Приемнике, когда план счетов по идее в обеих базах идентичен. Ну, в принципе, все после этого у меня все начало обмениваться, просто начитавшись рекомендаций людей, которых повергает в ужас редактирование Правил обмена, хотел успокоить хотя бы некоторых))

Спасибо, за внимание и что дочитали, думаю, кому-то еще может пригодиться.

См. также

Добавить вознаграждение
Комментарии
1. Елена Царёва (citicat) 111 12.12.16 13:57 Сейчас в теме
Для филиальной сети доработка полезная.
2. oleg babikov (OlegAr) 26.12.16 13:11 Сейчас в теме
т.е. должна работать и базе с обособленными подразделениями организации?