Процедура формирует движения по регистру бухгалтерии по забалансовым счетам *****

Процедура ДвиженияПоЗабалансовымСчетам()

ПроводкиБУ = Движения.Типовой;

ЗапросПоДоку = Новый Запрос;
ЗапросПоДоку.Текст =
"ВЫБРАТЬ
|ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СубконтоДт1 КАК СубконтоДт,
|ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.ФизЛицо КАК ФизЛицо,
|ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.Сумма,
|ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СчетКт КАК СчетКт,
|ЕСТЬNULL(ГражданствоФизЛицСрезПоследних.ИностранныйСпециалист, ЛОЖЬ) КАК Нерезидент
|ИЗ
|Документ.ОтражениеЗарплатыВРеглУчете.ОтражениеВУчете КАК ОтражениеЗарплатыВРеглУчетеОтражениеВУчете
|ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ГражданствоФизЛиц.СрезПоследних КАК ГражданствоФизЛицСрезПоследних
|ПО ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.ФизЛицо = ГражданствоФизЛицСрезПоследних.ФизЛицо
|ГДЕ
|ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.Ссылка = &Ссылка
|И ОтражениеЗарплатыВРеглУчетеОтражениеВУчете.СчетКт <> &СчетКт
|ИТОГИ ПО
|ФизЛицо";

ЗапросПоДоку.УстановитьПараметр("Ссылка", Ссылка);
ЗапросПоДоку.УстановитьПараметр("СчетКт", ПланыСчетов.Типовой.НайтиПоКоду("33510 "));

Результат = ЗапросПоДоку.Выполнить();

ВыборкаФизЛицо = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

ВалютаUSD = Справочники.Валюты.НайтиПоКоду("280");
Отбор = Новый Структура("Валюта", ВалютаUSD);
Курс = РегистрыСведений.КурсыВалют.ПолучитьПоследнее(Дата, Отбор).Курс;

Пока ВыборкаФизЛицо.Следующий() Цикл

Выборка = ВыборкаФизЛицо.Выбрать();

Пока Выборка.Следующий() Цикл

НеРезидент = Выборка.Нерезидент;
Если Выборка.СубконтоДт = Справочники.СтатьиЗатрат.ПеняПоОПВ Тогда
СубконтоДт = Справочники.СтатьиЗатрат.НайтиПоНаименованию("ОПВ");
ИначеЕсли Выборка.СубконтоДт = Справочники.СтатьиЗатрат.ПеняПоОППВ Тогда
СубконтоДт = Справочники.СтатьиЗатрат.ОбязательныеПрофессиональныеПенсионныеВзносы;
ИначеЕсли Выборка.СубконтоДт = Справочники.СтатьиЗатрат.ПеняПоСО Тогда
СубконтоДт = Справочники.СтатьиЗатрат.СоциальныеОтчисления;
ИначеЕсли Выборка.СчетКт = ПланыСчетов.Типовой.ОбязательстваПоПенсионнымОтчислениям Тогда
СубконтоДт = Справочники.СтатьиЗатрат.НайтиПоКоду("000000098");
ИначеЕсли Выборка.СчетКт = ПланыСчетов.Типовой.ИндивидуальныйПодоходныйНалог И Не НеРезидент Тогда
СубконтоДт = Справочники.СтатьиЗатрат.НайтиПоКоду("000000069");
ИначеЕсли Выборка.СчетКт = ПланыСчетов.Типовой.ИндивидуальныйПодоходныйНалог И НеРезидент Тогда
СубконтоДт = Справочники.СтатьиЗатрат.НайтиПоКоду("000000097");
ИначеЕсли Выборка.СчетКт = ПланыСчетов.Типовой.СоциальныйНалог И Не НеРезидент Тогда
СубконтоДт = Справочники.СтатьиЗатрат.НайтиПоКоду("000000006");
ИначеЕсли Выборка.СчетКт = ПланыСчетов.Типовой.СоциальныйНалог И НеРезидент Тогда
СубконтоДт = Справочники.СтатьиЗатрат.НайтиПоКоду("000000239");
ИначеЕсли Выборка.СчетКт = ПланыСчетов.Типовой.ОбязательстваПоСоциальномуСтрахованию Тогда
СубконтоДт = Выборка.СубконтоДт;
Иначе
Продолжить;
КонецЕсли;

Сумма = Выборка.Сумма;

//Проводка по счету ГРПСО
Проводка = ПроводкиБУ.Добавить();
Проводка.Период = Дата;
Проводка.Организация = Организация;

Проводка.Содержание = "Затраты по " + СубконтоДт;

Проводка.Сумма= Сумма;

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

Проводка.ВалютаДт = мВалютаРеглУчета;
Проводка.ВалютнаяСуммаДт = Сумма;

Проводка.СчетКт = СОБи_ОбщиеМодули.ПолучитьСчетПУ();
ПроцедурыБухгалтерскогоУчета.УстановитьСубконто(Проводка.СчетКт,Проводка.СубконтоКт,"Контрагенты", Справочники.Контрагенты.НайтиПоКоду("000000075"));
ПроцедурыБухгалтерскогоУчета.УстановитьСубконто(Проводка.СчетКт,Проводка.СубконтоКт,"Договоры", Справочники.ДоговорыКонтрагентов.НайтиПоКоду("000000077"));

Проводка.ВалютаКт = мВалютаРеглУчета;
Проводка.ВалютнаяСуммаКт = Сумма;

//проводки По счету УССД
ТекСтр = 1;
СуммаНераспр = Сумма;
Для Каждого СтрокаУССД из УчастникиСовДеятельностиОрганизации цикл
Контрагент1 = СтрокаУССД.УчастникСовДеятельности;
Договор1 = СтрокаУССД.ДоговорСовДеятельности;
Доля1 = СтрокаУССД.Доля;
Проводка = ПроводкиБУ.Добавить();
Проводка.Период = Дата;
Проводка.Организация = Организация;
Если ТекСтр = УчастникиСовДеятельностиОрганизации.Количество() тогда
СуммаПр1 = СуммаНераспр;
иначе
СуммаПр1 = Окр(Сумма*Доля1/100,2);
КонецЕсли;
Проводка.Сумма = СуммаПр1;
Проводка.СчетДт = ПланыСчетов.Типовой.НайтиПоКоду("УССД ");
ПроцедурыБухгалтерскогоУчета.УстановитьСубконто(Проводка.СчетДт,Проводка.СубконтоДт,"Контрагенты", Контрагент1);
ПроцедурыБухгалтерскогоУчета.УстановитьСубконто(Проводка.СчетДт,Проводка.СубконтоДт,"Договоры", Договор1 );

Проводка.ВалютаДт = ВалютаUSD;
Проводка.ВалютнаяСуммаДт = Окр(СуммаПр1 / Курс,2);

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

Проводка.ВалютаКт = мВалютаРеглУчета;
Проводка.ВалютнаяСуммаКт = СуммаПр1;

ТекСтр = ТекСтр+1;
СуммаНераспр = СуммаНераспр-СуммаПр1;
КонецЦикла;

////проводки По счету УССД
//Контрагент1 = Справочники.Контрагенты.НайтиПоКоду("000000021");
//Договор1 = Справочники.ДоговорыКонтрагентов.НайтиПоКоду("000000015");
//Доля1 = Контрагент1.Доля;
//Проводка = ПроводкиБУ.Добавить();
//Проводка.Период = Дата;
//Проводка.Организация = Организация;
//СуммаПр1 = Окр(Сумма*Доля1/100,2);
//Проводка.Сумма = СуммаПр1;
//Проводка.СчетДт = ПланыСчетов.Типовой.НайтиПоКоду("УССД ");
//ПроцедурыБухгалтерскогоУчета.УстановитьСубконто(Проводка.СчетДт,Проводка.СубконтоДт,"Контрагенты", Контрагент1);
//ПроцедурыБухгалтерскогоУчета.УстановитьСубконто(Проводка.СчетДт,Проводка.СубконтоДт,"Договоры", Договор1 );
//
//Проводка.ВалютаДт = ВалютаUSD;
//Проводка.ВалютнаяСуммаДт = Окр(СуммаПр1 / Курс,2);
//
//Проводка.СчетКт = ПланыСчетов.Типовой.НайтиПоКоду("ГРПСО ");
//ПроцедурыБухгалтерскогоУчета.УстановитьСубконто(Проводка.СчетКт,Проводка.СубконтоКт,"СтатьиЗатрат", СубконтоДт);
//
//Проводка.ВалютаКт = мВалютаРеглУчета;
//Проводка.ВалютнаяСуммаКт = СуммаПр1;
//
//Контрагент2 = Справочники.Контрагенты.НайтиПоКоду("000000062");
//Договор2 = Справочники.ДоговорыКонтрагентов.НайтиПоКоду("000000061");
//Доля2 = Контрагент2.Доля;
//Проводка = ПроводкиБУ.Добавить();
//Проводка.Период = Дата;
//Проводка.Организация = Организация;
//СуммаПр2 = Сумма - СуммаПр1;
//Проводка.Сумма = СуммаПр2;
//Проводка.СчетДт = ПланыСчетов.Типовой.НайтиПоКоду("УССД ");
//ПроцедурыБухгалтерскогоУчета.УстановитьСубконто(Проводка.СчетДт,Проводка.СубконтоДт,"Контрагенты", Контрагент2);
//ПроцедурыБухгалтерскогоУчета.УстановитьСубконто(Проводка.СчетДт,Проводка.СубконтоДт,"Договоры", Договор2);
//
//Проводка.ВалютаДт = ВалютаUSD;
//Проводка.ВалютнаяСуммаДт = Окр(СуммаПр2 / Курс,2);
//
//Проводка.СчетКт = ПланыСчетов.Типовой.НайтиПоКоду("ГРПСО ");
//ПроцедурыБухгалтерскогоУчета.УстановитьСубконто(Проводка.СчетКт,Проводка.СубконтоКт,"СтатьиЗатрат", СубконтоДт);
//
//Проводка.ВалютаКт = мВалютаРеглУчета;
//Проводка.ВалютнаяСуммаКт = СуммаПр2;

КонецЦикла;
КонецЦикла;




КонецПроцедурыскачать dle 11.3

Добавить комментарий

    • bowtiesmilelaughingblushsmileyrelaxedsmirk
      heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
      winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
      worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
      expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
      disappointedconfoundedfearfulcold_sweatperseverecrysob
      joyastonishedscreamtired_faceangryragetriumph
      sleepyyummasksunglassesdizzy_faceimpsmiling_imp
      neutral_faceno_mouthinnocent
Кликните на изображение чтобы обновить код, если он неразборчив