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