В ходе анализа было определено, что проблемы возникают с документами, в которых в качестве статей расхода указаны статьи без указания правил распределения расходов по направлениям деятельности (далее НП), но при этом, в качестве типа аналитики указано именно "Направление деятельности".


Рассмотрим список документов "Распределение расходов по направлениям деятельности", которые формируются при закрытии месяца.
Обнаружим, что остались несформированные документы:

Повторная попытка формирования этих документов приводит к такой же ошибке. Переходим к анализу этих документов.
УТ утверждает, что нам дополнительно документ распределять не требуется, т.к. в аналитике указано направление деятельности.

Так почему же документ не формируется. Как всегда спасает консоль запросов.

Видим, что не заполнены реквизиты "база распределения" и "направление деятельности", и реквизит "Направление распределения" имеет значение "Текущее подразделение". Это происходит только в том случае, если в качестве аналитики указано Тип("СправочникСсылка.НаправленияДеятельности"). Это точно видно из следующего:
Документ.РаспределениеПрочихЗатрат.МодульОбъекта.Процедура ОбработкаЗаполнения()
Если НазначениеНастройкиРаспределения = Перечисления.НазначениеПравилРаспределенияРасходов.РаспределениеРасходовНаФинансовыйРезультат
	И (ЗначениеЗаполнено(НаправлениеДеятельности)
	Или (ТипЗнч(АналитикаРасходов) = Тип("СправочникСсылка.НаправленияДеятельности")
		И ЗначениеЗаполнено(АналитикаРасходов))
	Или Не ПолучитьФункциональнуюОпцию("ФормироватьФинансовыйРезультат")) Тогда
	НаправлениеРаспределения = Перечисления.НаправлениеРаспределенияПоПодразделениям.Текущее;
КонецЕсли;
Т.е. "Направление распределения" программисты установили, а про остальные реквизиты, необходимые для распределения, забыли и заблокировали их для заполнения.
В результате всех этих факторов и происходит ошибка при распределении расходов по НП.
Исправляем.
Вариант 1:
Разблокируем элементы формы, чтобы можно было вручную указать правила распределения расходов.
В Документ.РаспределениеПрочихЗатрат.Формы.ФормаНастроекНаФР исправляем указанные процедуры следующим образом:
&НаКлиентеНаСервереБезКонтекста
Процедура УстановитьВидимостьСтраниц(Форма, ИмяРеквизита = Неопределено)
	
	Элементы = Форма.Элементы;
	Объект = Форма.Объект;
	
	Если ИмяРеквизита = Неопределено Или ИмяРеквизита = "НаправлениеРаспределения" Тогда
		
		Элементы.ОписаниеПравилаНаФинансовыйРезультат.Видимость = 
			Не Объект.НаправлениеРаспределения = ПредопределенноеЗначение("Перечисление.НаправлениеРаспределенияПоПодразделениям.ПоКоэффициентам");
			
		Элементы.СтраницаНаправленияДеятельности.Видимость = 
			Объект.НаправлениеРаспределения = ПредопределенноеЗначение("Перечисление.НаправлениеРаспределенияПоПодразделениям.ПоКоэффициентам");
			
	КонецЕсли;
	
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура УстановитьВидимостьЭлементов(Форма, ИмяРеквизита = Неопределено)
	
	Элементы = Форма.Элементы;
	Объект = Форма.Объект;
	
	Если ИмяРеквизита = "НаправлениеРаспределения" Или ИмяРеквизита = Неопределено Тогда
		Элементы.ПредставлениеУказанныхНД.Видимость = 
			Объект.НаправлениеРаспределения = ПредопределенноеЗначение("Перечисление.НаправлениеРаспределенияПоПодразделениям.Указанные");
	КонецЕсли;
	
	Если ИмяРеквизита = "ПоказательРаспределения" Или ИмяРеквизита = Неопределено Тогда
		Элементы.ГруппаБазаРаспределенияНаФР.Видимость = Форма.ПоказательРаспределения = "ПрямыеЗатраты";
	КонецЕсли;
	
	Если ИмяРеквизита = Неопределено Тогда
		
		Элементы.ГруппаВидыУчета.Видимость = Не Форма.УТБазовая;
		Элементы.НастройкаРаспределенияНеТребуется.Видимость = Ложь;
		Элементы.ГруппаКудаРаспределять.Видимость = Не Элементы.НастройкаРаспределенияНеТребуется.Видимость;
			
	КонецЕсли;
	
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура УстановитьДоступностьЭлементов(Форма, ИмяРеквизита = Неопределено)
	
	Элементы = Форма.Элементы;
	Объект = Форма.Объект;
	
	Если ИмяРеквизита = Неопределено Тогда
		
		ВариантыРаспределения = ОбщегоНазначенияУТВызовСервера.ЗначенияРеквизитовОбъекта(Объект.СтатьяРасходов, 
			"ВариантРаспределенияРасходовРегл, ВариантРаспределенияРасходовУпр");
		Элементы.ГруппаВидыУчета.Доступность = 
			ВариантыРаспределения.ВариантРаспределенияРасходовРегл = ВариантыРаспределения.ВариантРаспределенияРасходовУпр;
		Элементы.НаправлениеРаспределенияМеждуНД.Доступность = Истина;
		
	КонецЕсли;
	
КонецПроцедуры
Второй вариант:
Документ.РаспределениеПрочихЗатрат.МодульОбъекта.Процедура ОбработкаЗаполнения() допишем для нашего случая после текста:
Если НазначениеНастройкиРаспределения = Перечисления.НазначениеПравилРаспределенияРасходов.РаспределениеРасходовНаФинансовыйРезультат
	И (ЗначениеЗаполнено(НаправлениеДеятельности)
	Или (ТипЗнч(АналитикаРасходов) = Тип("СправочникСсылка.НаправленияДеятельности")
		И ЗначениеЗаполнено(АналитикаРасходов))
	Или Не ПолучитьФункциональнуюОпцию("ФормироватьФинансовыйРезультат")) Тогда
	НаправлениеРаспределения = Перечисления.НаправлениеРаспределенияПоПодразделениям.Текущее;
КонецЕсли;
	
//переопределим наш случай
Если НазначениеНастройкиРаспределения = Перечисления.НазначениеПравилРаспределенияРасходов.РаспределениеРасходовНаФинансовыйРезультат
	И (ЗначениеЗаполнено(НаправлениеДеятельности)
	Или (ТипЗнч(АналитикаРасходов) = Тип("СправочникСсылка.НаправленияДеятельности")
		И ЗначениеЗаполнено(АналитикаРасходов))
	И ПолучитьФункциональнуюОпцию("ФормироватьФинансовыйРезультат")) Тогда
	НаправлениеРаспределения = Перечисления.НаправлениеРаспределенияПоПодразделениям.Указанные;
КонецЕсли;
//
При варианте 2 удалите старые документы через "обслуживание - удаление объектов" и запустите процедуру закрытия месяца.
Теперь можем исправить правила распределения вручную.

После исправления и проведения всех документов "Распределение расходов" со статусом "Готов к распределению" выполним регламентные операции закрытия месяца.
В результате получим правильное распределение расходов по направлениям деятельности и закрытие месяца без ошибок.
P.S. Вторым вариантом решения проблемы является отказ от использования статей расходов с видом аналитики "Направление деятельности" и не указанным правилом распределения (скриншот 2). Т.е. либо сразу указывать в статьях расходов правила распределения, либо указывать аналитики <> "Направление деятельности", по которым вы сможете вручную указать распределение расходов при формировании документов распределения.
Как обстоят дела в новых версиях, я не знаю.
Вступайте в нашу телеграмм-группу Инфостарт
 
                                 
                                 
                                 
                                 
                                     
                                     
                                     
                                     
                                     
                                     
                                     
                                     
                                    