Имя: Пароль:
1C
 
Как указать субконто 2 по счету 425 в документе "Принятие к учету ОС"
0 sergqwert
 
29.06.20
22:11
Как указать субконто 2 по счету 425 в документе "Принятие к учету ОС" с видом операции Безвозмездно полученные(при формировании проводок)? Конфигурация УПП.

Процедура ФормированиеДвиженийРегл(РежимПроведения, СтруктураШапкиДокумента, ТаблицаПоОС, Отказ, Заголовок)

Если (НЕ СтруктураШапкиДокумента.ОтражатьВБухгалтерскомУчете) Тогда
Возврат;
КонецЕсли;

ДатаДока = Дата;
ТекОрганизация = СтруктураШапкиДокумента.Организация;

ДатаНКУ2015 = глЗначениеПеременной("ДатаНКУ2015");
ЭтоДокументДо2015 = (Дата < ДатаНКУ2015);

ОбщаяСуммаКоррНалоговогоКредита = 0;

// Сформируем движения по НДС до отражения в бухгалтерском учете,
// поскольку бухгалтерская стоимость зависит от права на налоговый кредит
ФормированиеДвиженийПоПодсистемеНДС(СтруктураШапкиДокумента, ОбщаяСуммаКоррНалоговогоКредита, Отказ, Заголовок);


ТЗДанныеОС = Новый ТаблицаЗначений;
ТЗДанныеОС.Колонки.Добавить("ОбъектУчета");
ТЗДанныеОС.Колонки.Добавить("Сумма");
ТЗДанныеОС.Колонки.Добавить("СуммаНУ");

Если СтруктураШапкиДокумента.ОтражатьВБухгалтерскомУчете Тогда
Если СтруктураШапкиДокумента.ВидОперации = Перечисления.ВидыОперацийПринятияКУчетуОсновныхСредств.Оборудование Тогда

НаборДвижений = Движения.ТоварыОрганизаций;

// Получим таблицу значений, совпадающую со струкутрой набора записей регистра.
ТаблицаДвижений = НаборДвижений.Выгрузить();

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

Если СтруктураШапкиДокумента.ВестиУчетТоваровОрганизацийВРазрезеСкладов Тогда
СтрокаДвижений.Склад = СтруктураШапкиДокумента.Склад;
Иначе    
СтрокаДвижений.Склад = Неопределено;
КонецЕсли;


НаборДвижений.мПериод = Дата;
НаборДвижений.мТаблицаДвижений = ТаблицаДвижений;

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

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

НаборДвижений = Движения.ТоварыОрганизацийРегл;

// Получим таблицу значений, совпадающую со структурой набора записей регистра.
ТаблицаДвижений = НаборДвижений.ВыгрузитьКолонки();

// Заполним таблицу движений.
СтрокаДвижений = ТаблицаДвижений.Добавить();

СтрокаДвижений.Организация = ТекОрганизация;
СтрокаДвижений.Номенклатура = СтруктураШапкиДокумента.Номенклатура;
СтрокаДвижений.ХарактеристикаНоменклатуры = СтруктураШапкиДокумента.ХарактеристикаНоменклатуры;
СтрокаДвижений.СерияНоменклатуры = СтруктураШапкиДокумента.СерияНоменклатуры;
СтрокаДвижений.Качество = Справочники.Качество.Новый;
СтрокаДвижений.СчетУчетаБУ = СтруктураШапкиДокумента.СчетУчетаБУВнеоборотногоАктива;

СтрокаДвижений.НалоговоеНазначение = СтруктураШапкиДокумента.НалоговоеНазначениеОборудования;

СтрокаДвижений.Количество = ТаблицаПоОС.Количество();

ВестиПартионныйУчетПоСкладамРегл = глЗначениеПеременной("ПараметрыПартионногоУчета").ВестиПартионныйУчетПоСкладамРегл;

Если ВестиПартионныйУчетПоСкладамРегл Тогда
СтрокаДвижений.Склад = СтруктураШапкиДокумента.Склад;
Иначе    
СтрокаДвижений.Склад = Неопределено;
КонецЕсли;

НаборДвижений.мПериод = Дата;
НаборДвижений.мТаблицаДвижений = ТаблицаДвижений;

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

КонецЕсли;    

Запрос = Новый Запрос(
"ВЫБРАТЬ
|    СтоимостьОС.ОсновноеСредство КАК ОбъектУчета,
|    СУММА(СтоимостьОС.Стоимость) КАК Сумма,
|    СУММА(СтоимостьОС.СтоимостьНУ) КАК СуммаНУ
|ИЗ
|    РегистрНакопления.СтоимостьОСБухгалтерскийУчет КАК СтоимостьОС
|
|ГДЕ
|    (СтоимостьОС.Активность) И
|    СтоимостьОС.Регистратор = &Регистратор
|
|СГРУППИРОВАТЬ ПО
|    СтоимостьОС.ОсновноеСредство");

Запрос.УстановитьПараметр("Регистратор", Ссылка);
ТЗДанныеОС = Запрос.Выполнить().Выгрузить();


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


ЗначениеСубконто = ?(ЗначениеЗаполнено(НКС_КоррСубконто1), НКС_КоррСубконто1, ТекОС);
БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетКт, Проводка.СубконтоКт, 1, ЗначениеСубконто);
// Начало +++
БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетКт, Проводка.СубконтоКт, 2, ЗначениеСубконто);
// Конец ---

Если Проводка.СчетКт.НалоговыйУчет Тогда
Проводка.НалоговоеНазначениеКт = НалоговоеНазначение;
Проводка.СуммаНУКт = НалоговыйУчет.ОпределитьСтоимостьНУ(Проводка.НалоговоеНазначениеКт, ТекСтоимостьНУ);
КонецЕсли;

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

Проводка.СчетДт = ПланыСчетов.Хозрасчетный.ДругойДополнительныйКапитал;
Проводка.СчетКт = ПланыСчетов.Хозрасчетный.ДоходыБудущихПериодов;

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

БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетКт,Проводка.СубконтоКт,"ОсновныеСредства", ТекОС);    

КонецЕсли;

// Конец ----

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