Каталог решений - Автоматическое отражение в регламентированном учете при проведении документа в КА 2.0

Автоматическое отражение в регламентированном учете при проведении документа в КА 2.0

Автоматическое отражение в регламентированном учете при проведении документа в КА 2.0

В наличии

У многих, кто начал работать в КА редакции 2, возник вопрос — почему документы не формируют проводки. Оказалось, что провести документ теперь недостаточно. Нужно еще выполнить отдельную операцию по отражению документа в регламентированном учете. Это можно сделать из формы просмотра проводок, либо из меню Регламентированный учет -> Отражение документов в регл. учете

Категория:

Описание

Обновлено 21.07.

 Да. В КА предусмотрена возможность настроить отражение документов в РУ по расписанию (через регламентное задание). Но это не всегда удобно.

Есть другое решение.

Вариант 1.

Необходимо в общий модуль МодификацияКонфигурацииПереопределяемый в процедуру ПослеЗаписиНаСервере добавить код

	//автоматическое отражение в Регл. учете
	Если ПараметрыЗаписи.Свойство("РежимЗаписи") Тогда
		
		Если ПараметрыЗаписи.РежимЗаписи = РежимЗаписиДокумента.Проведение 
			И Метаданные.Обработки.ОтражениеДокументовВРеглУчете.Команды.ПроводкиРеглУчета.ТипПараметраКоманды.СодержитТип(ТипЗнч(ТекущийОбъект.Ссылка))
		Тогда
		
			//если документ может быть отражен в РУ нужно еще проверить, что по нему есть запись в регистре в статусе "К отражению"
			мЗаписи = РегистрыСведений.ОтражениеДокументовВРеглУчете.СоздатьНаборЗаписей();
			мЗаписи.Отбор.Регистратор.Установить(ТекущийОбъект.Ссылка);
			мЗаписи.Прочитать();
			Для каждого мЗапись Из мЗаписи Цикл
			
				//есть запись, проверим статус
				Если мЗапись.Статус = Перечисления.СтатусыОтраженияДокументовВРеглУчете.КОтражениюВРеглУчете Тогда
					
					СтруктураРеквизиты = Новый Структура("Ссылка, Дата, Организация", ТекущийОбъект.Ссылка, ТекущийОбъект.Дата, Неопределено);
					РеглУчетПроведениеСервер.ОтразитьДокумент(СтруктураРеквизиты, Истина);
					
				КонецЕсли;
				
				Прервать;
			
			КонецЦикла;
			
		КонецЕсли;
		
	КонецЕсли;

В результате, после проведения документа будет «как бы нажата» кнопка «Отразить в регл. учете».

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

К минусам — предложенное решение будет работать только при проведении из формы документа.

Вариант 2.

Создать подписку на событие «ОбработкаПроведения» для документов и в процедуру обработчик добавить код

Процедура ОбработкаПроведения(Источник, Отказ, РежимПроведения) Экспорт
	
	//автоматическое отражение в Регл. учете
	Если Метаданные.Обработки.ОтражениеДокументовВРеглУчете.Команды.ПроводкиРеглУчета.ТипПараметраКоманды.СодержитТип(ТипЗнч(Источник.Ссылка)) Тогда
		
		//если документ может быть отражен в РУ нужно еще проверить, что по нему есть запись в регистре в статусе "К отражению"
		мЗаписи = РегистрыСведений.ОтражениеДокументовВРеглУчете.СоздатьНаборЗаписей();
		мЗаписи.Отбор.Регистратор.Установить(Источник.Ссылка);
		мЗаписи.Прочитать();
		Для каждого мЗапись Из мЗаписи Цикл
			
			//есть запись, проверим статус
			Если мЗапись.Статус = Перечисления.СтатусыОтраженияДокументовВРеглУчете.КОтражениюВРеглУчете Тогда
				
				СтруктураРеквизиты = Новый Структура("Ссылка, Дата, Организация", Источник.Ссылка, Источник.Дата, Неопределено);
				РеглУчетПроведениеСервер.ОтразитьДокумент(СтруктураРеквизиты, Истина);
				
			КонецЕсли;
			
			Прервать;
			
		КонецЦикла;
		
		
	КонецЕсли;
	
КонецПроцедуры

Нужна подписка именно на «ОбработкаПроведения» из-за того, что регистрация документа к отражению в регл. учете выполняется при проведении документа.

Плюсы — работает независимо от места вызова

Минусы — нужно больше изменений в коде. Создать общий модуль, прописать в нем процедуру обработчик, создать подписку и привязать обработчик к событию.

Замечание. Для документа «Счет фактура полученный» вариант с подпиской на событие не работает. Кто знает почему — напшите в комментариях.

Критика приветствуется ))

has been added to your cart:
Оформление заказа