Исправление в модуле для закрытия общехозяйственных расходов (26 счет) при отсутствии выпуска

03.04.19

Задачи пользователя - Закрытие периода

При отсутствии записей о выпуске в УПП не закрываются общехозяйственные расходы. Не РАУЗ.

Многие пользователи УПП сталкивались с отказом базы закрывать общехозяйственные расходы при отсутствии выпуска в текущем периоде. 

Решение в таком случае каждый принимает свое. Предлагаю вам НЕ РЕШЕНИЕ, а вариант обхода этой трудности с помощью внесения изменений в модуль конфигурации. 

Одному хватает списать затраты вручную Операцией: Дт 90.08 Кт 26.01

Другие списывают записи регистров ЗатратыБухгалтерскийУчет и ЗатратыНалоговыйУчет + отражают в регламентированном учете проводки с помощью документа "Корректировка записей регистров".

В моем случае конфигурация на поддержке, с возможностью вносить изменения. Не используем РАУЗ, в учетной политике установлено закрытие общехозяйственных затрат по методу "Директ-костинг".

Дописал немного в общем модуле "ПроцедурыРасчетаСебестоимостиВыпуска" типовую процедуру "РаспределитьЗатратыПоБазеРаспределенияПоПродажам". 

Открытие "//НВ"

Закрытие "//КВ"

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

Теперь независимо от того, есть выпуск или нет, формируются проводки закрытия 26 счета (на 90.08.1)
 

Тестировалось на конфигурации: Управление производственным предприятием, редакция 1.3 (1.3.120.1) 

УПП Директ-костинг 26 счет

См. также

Анализ учета Закрытие периода Бухгалтер Платформа 1С v8.3 Бухгалтерский учет 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Комплексная автоматизация 2.х Россия Бухгалтерский учет Налоговый учет Налог на прибыль НДС Платные (руб)

Каждый бухгалтер не раз сталкивался с требованием от налоговой инспекции пояснить расхождения в показателях декларации по Налогу на прибыль («Доходы от реализации» + «Внереализационные доходы») и налоговой базой по НДС за год. Являются ли ошибкой подобные расхождения? Как пояснить налоговой их причину? Отчет «Анализ расхождений выручки НДС и Налога на прибыль в декларациях» для 1С (БП 3.0 ПРОФ и КОРП, КА 2, ЕRP) поможет найти все расхождения.

7200 руб.

21.10.2017    87369    299    172    

285

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтер Пользователь Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    31938    103    151    

72

Закрытие периода Бухгалтер Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

В современных конфигурациях УТ 11, КА 2, ERP 2 и их аналогах присутствует механизм закрытия периода. Но при ошибках учета закрыть период корректно становится практически невозможно! Давайте попробуем разобраться, как можно устранить ошибки и закрыть корректно месяц!

18000 руб.

20.03.2018    73467    276    73    

302

Учет доходов и расходов Закрытие периода Бухгалтер Пользователь Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Решение регламентирует учет доходов будущих периодов (ДБП) в организации: сохраняет подробную информацию о объекте ДБП. По окончании месяца на основе введенной информации формируются проводки списания ДБП, отчеты для бухгалтерского и налогового учета. Подходит как для различных версий Бухгалтерии 8.3, так и для ERP и КА.

5500 руб.

09.10.2020    19595    47    23    

42

Закрытие периода Оптовая торговля Розничная торговля Кассовые операции Учет доходов и расходов Бухгалтер Платформа 1С v8.3 Бухгалтерский учет 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:CRM ПРОФ, КОРП Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Гостиничный бизнес Пищевая промышленность Россия Бухгалтерский учет Налоговый учет ЕНВД ЕСХН ИП, ПБОЮЛ, КФХ Налог на прибыль НДС УСН Платные (руб)

Внешняя обработка для ведения в электронной форме КУДиР в 1С - книги учёта доходов и расходов для предприятий на УСН, ПСН, ЕСХН. Заполнение раздела 1 - "доходы и расходы" из журнала документов вашей ИБ (любой конфигурации 1С:Предприятие 8). Формирование отчета Кассовая книга КО-4 по данным раздела 1.

7788 руб.

15.03.2016    116731    288    157    

277

Закрытие периода Бухгалтер Пользователь Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Россия Управленческий учет Платные (руб)

Закрытие месяца в Управлении нашей фирмой — это очень важная задача, которую надо выполнять регулярно. Как обычно, все важное и регулярное делать мы почему-то забываем =). Предлагаем вам автоматическое закрытие месяца в 1С УНФ для решения этой задачи.

3600 руб.

30.09.2022    7969    17    0    

17
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. teller 04.04.19 12:25 Сейчас в теме
С УПП куда переходить собираетесь?
2. 9093042 129 04.04.19 13:00 Сейчас в теме
Пока никуда )
ЕРП нам не нужно, из производства - оказание услуг.

Так что остается КА2. Нужен блок БУ, блок НУ, ЗП и Планирование движения ДС, - свои подсистемы буду дописывать.
Оставьте свое сообщение