1. sergqwert15 2 29.06.20 22:05 Сейчас в теме

Как указать субконто 2 по счету 425 в документе "Принятие к учету ОС"

Как указать субконто 2 по счету 425 в документе "Принятие к учету ОС" с видом операции Безвозмездно полученные(при формировании проводок). Конфигурация УПП.

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

			
			НаборДвижений.мПериод            = Дата;
			НаборДвижений.мТаблицаДвижений   = ТаблицаДвижений;
			
			Если Не Отказ Тогда
				Движения.ТоварыОрганизаций.ВыполнитьРасход();
			Иначе
				Возврат;
			КонецЕсли;
			
			Если ОбщегоНазначения.ИспользоватьРегистрТоварыОрганизацийРегл(СтруктураШапкиДокумента.Дата) Тогда

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

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

				Если Проводка.СчетКт.НалоговыйУчет Тогда 
					Проводка.НалоговоеНазначениеКт   = НалоговоеНазначение;
					Проводка.СуммаНУКт   = НалоговыйУчет.ОпределитьСтоимостьНУ(Проводка.НалоговоеНазначениеКт, ТекСтоимостьНУ);
				КонецЕсли;
				
			КонецЦикла;
			Операция.Записать();
			// Начало +++
			Если НКС_ПризнакДополнительнойПроводки Тогда
				Проводка = Операция.Добавить();
				Проводка.Период       = Дата;
				Проводка.Организация  = СтруктураШапкиДокумента.Организация;
				Проводка.НомерЖурнала = "ОС";
				Проводка.Содержание   = "Принятие к учету ОС дополнительная проводка";
				Проводка.Сумма        = СтруктураШапкиДокумента.НКС_СтоимостьОтнесенная;
				
				Проводка.СчетДт = ПланыСчетов.Хозрасчетный.ДругойДополнительныйКапитал;
				Проводка.СчетКт = ПланыСчетов.Хозрасчетный.ДоходыБудущихПериодов;
				
				НКС_УчетнаяПолитикаОрганизаций= РегистрыСведений.НКС_УчетнаяПолитикаОрганизаций.ПолучитьПоследнее(ДатаДока, Новый Структура("Организация", СтруктураШапкиДокумента.Организация));
				Если ЗначениеЗаполнено(НКС_УчетнаяПолитикаОрганизаций.ПринятиеКУчетуОС_ДопПроводка_СчетДт) Тогда 
					Проводка.СчетДт = НКС_УчетнаяПолитикаОрганизаций.ПринятиеКУчетуОС_ДопПроводка_СчетДт;
				КонецЕсли;
				Если ЗначениеЗаполнено(НКС_УчетнаяПолитикаОрганизаций.ПринятиеКУчетуОС_ДопПроводка_СчетКт) Тогда 
					Проводка.СчетДт = НКС_УчетнаяПолитикаОрганизаций.ПринятиеКУчетуОС_ДопПроводка_СчетКт;
				КонецЕсли;
				
				БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетКт,Проводка.СубконтоКт,"ОсновныеСредства", ТекОС);			
				
			КонецЕсли;

			// Конец ----
			
			СтоимостьОС                 = Движения.СтоимостьОСБухгалтерскийУчет;
			ТаблицаДвиженийСтоимость    = СтоимостьОС.Выгрузить();
			Для Каждого Строка Из ОсновныеСредства Цикл
				ТекОС = Строка.ОсновноеСредство;
				// Движения по регистру СтоимостьОС
				Движение = ТаблицаДвиженийСтоимость.Добавить();
				Движение.Организация      = ТекОрганизация;
				Движение.ОсновноеСредство = ТекОС;
				Движение.Амортизация      = 0;
				Движение.Стоимость        = Строка.СтоимостьБУ;
				Движение.СтоимостьНУ      = Строка.СтоимостьБУ;
				Движение.ВидОперации      = Перечисления.ВидыСобытийОС.ПринятиеКУчету;
			КонецЦикла;
			СтоимостьОС.мПериод = ДатаДока;
			СтоимостьОС.мТаблицаДвижений = ТаблицаДвиженийСтоимость;
			Движения.СтоимостьОСБухгалтерскийУчет.ВыполнитьПриход();
		КонецЕсли;
КонецПроцедуры.
Показать
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
В этой теме еще нет сообщений.
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Екатеринбург
зарплата от 80 000 руб. до 130 000 руб.
Полный день

Автор новостных обзоров на тему 1С и бухучета
Санкт-Петербург
По совместительству

Программист 1С
Санкт-Петербург
зарплата до 150 000 руб.
Полный день

Ведущий программист 1С
Москва
зарплата от 150 000 руб.
Полный день

Ведущий программист 1С (УТ 11)
Москва
зарплата до 200 000 руб.
Полный день