Имя: Пароль:
1C
1С v8
Как программно задать субконто в движении документа "Поступление на рас.счёт"
0 sodeistvie26
 
17.08.16
10:15
Добрый день, создаю документ "Поступление на расчётный счёт" следующим образом:

БанковскаяВыписка = Документы.ПоступлениеНаРасчетныйСчет.СоздатьДокумент();
    БанковскаяВыписка.Дата  =  ДатаОперации;
    БанковскаяВыписка.ВалютаДокумента = Константы.ВалютаРегламентированногоУчета.Получить();
    БанковскаяВыписка.Организация = Справочники.Организации.НайтиПоРеквизиту("ИНН","2632806215");
    Сообщить("Реквизит Организация");
    БанковскаяВыписка.ВидОперации = Перечисления.ВидыОперацийПоступлениеДенежныхСредств.РасчетыПоКредитамИЗаймам;
    Сообщить("Реквизит ВидОперации");
    БанковскаяВыписка.СчетБанк = ПланыСчетов.Хозрасчетный.НайтиПоНаименованию("Расчетные счета");
    Сообщить("Реквизит СчетБанк");
    БанковскаяВыписка.СчетОрганизации = Справочники.БанковскиеСчета.НайтиПоРеквизиту("ДатаОткрытия",'20140101');
    Сообщить("Реквизит СчетОрганизации");
    БанковскаяВыписка.Контрагент = Справочники.Контрагенты.НайтиПоНаименованию(Контрагент);
    Сообщить("Реквизит Контрагент");
    БанковскаяВыписка.СуммаДокумента = СуммаКОплате;
    // Добавляем расшифровку для основного долга
    Если ОсновнойДолг > 0 Тогда
     РасшифровкаОсновнойДолг = БанковскаяВыписка.РасшифровкаПлатежа.Добавить();
     РасшифровкаОсновнойДолг.ДоговорКонтрагента = Справочники.ДоговорыКонтрагентов.НайтиПоРеквизиту("Номер", НомерДоговора);
     РасшифровкаОсновнойДолг.СуммаПлатежа = ОсновнойДолг;
     РасшифровкаОсновнойДолг.СчетУчетаРасчетовСКонтрагентом = ПланыСчетов.Хозрасчетный.НайтиПоКоду("58.03.1");
     РасшифровкаОсновнойДолг.СуммаВзаиморасчетов = ОсновнойДолг;
     РасшифровкаОсновнойДолг.КурсВзаиморасчетов = 1;    
    КонецЕсли;
    Если Проценты > 0 Тогда
     РасшифровкаПроценты = БанковскаяВыписка.РасшифровкаПлатежа.Добавить();
     РасшифровкаПроценты.ДоговорКонтрагента = Справочники.ДоговорыКонтрагентов.НайтиПоРеквизиту("Номер", НомерДоговора);
     РасшифровкаПроценты.СуммаПлатежа = Проценты;
     РасшифровкаПроценты.СчетУчетаРасчетовСКонтрагентом = ПланыСчетов.Хозрасчетный.НайтиПоКоду("62.01");
     РасшифровкаПроценты.СуммаВзаиморасчетов = Проценты;
     РасшифровкаПроценты.КурсВзаиморасчетов = 1;
    КонецЕсли;
    Если ЧленскийВзнос > 0 Тогда
     РасшифровкаЧленскийВзнос = БанковскаяВыписка.РасшифровкаПлатежа.Добавить();
     РасшифровкаЧленскийВзнос.ДоговорКонтрагента = Справочники.ДоговорыКонтрагентов.НайтиПоРеквизиту("Номер", НомерДоговора);
     РасшифровкаЧленскийВзнос.СуммаПлатежа = ЧленскийВзнос;
     РасшифровкаЧленскийВзнос.СчетУчетаРасчетовСКонтрагентом = ПланыСчетов.Хозрасчетный.НайтиПоКоду("86.03");
     РасшифровкаЧленскийВзнос.СуммаВзаиморасчетов = ЧленскийВзнос;
     РасшифровкаЧленскийВзнос.КурсВзаиморасчетов = 1;
    КонецЕсли;
    Если Штраф > 0 Тогда
     РасшифровкаШтраф = БанковскаяВыписка.РасшифровкаПлатежа.Добавить();
     РасшифровкаШтраф.ДоговорКонтрагента = Справочники.ДоговорыКонтрагентов.НайтиПоРеквизиту("Номер", НомерДоговора);
     РасшифровкаШтраф.СуммаПлатежа = Штраф;
     РасшифровкаШтраф.СчетУчетаРасчетовСКонтрагентом = ПланыСчетов.Хозрасчетный.НайтиПоКоду("91.01");
     РасшифровкаШтраф.СтатьяДвиженияДенежныхСредств = Справочники.СтатьиДвиженияДенежныхСредств.НайтиПоНаименованию("штраф за нарушение договора займа");
     РасшифровкаШтраф.СуммаВзаиморасчетов = Штраф;
     РасшифровкаШтраф.КурсВзаиморасчетов = 1;
    КонецЕсли;
    БанковскаяВыписка.НазначениеПлатежа = "Очередной платеж по договору займа №" + НомерДоговора + " от " + ДатаОперации;
    БанковскаяВыписка.Записать();

В итоге в движении документа проводка для расшифровки штрафа по счёту 91.01 создаётся без субконто. Как поставить субконто в расшифровке?
1 Доминошник
 
17.08.16
10:50
А то, что в табличной части "Рашифровка платежа" есть реквизиты "СубконтоКТ1", "СубконтоКТ2" и "СубконтоКТ3" - что, ни как не помогает?
2 impulse9
 
17.08.16
11:35
Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.Номенклатура] = ТекСтрокаСписокНоменклатуры.Номенклатура;
        Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.СрокГодности] = ТекСтрокаСписокНоменклатуры.СрокГоднисти;
3 sodeistvie26
 
17.08.16
13:35
(1) РасшифровкаШтраф.СубконтоКт1 = Справочники.ПрочиеДоходыИРасходы.НайтиПоНаименованию("Штрафы, пени и неустойки к получению (уплате)");

Пробовал вот так, не получается.
4 SSSSS_AAAAA
 
17.08.16
14:08
(3) Лучше покажи как проводки генеришь и устанавливаешь у них субконто.
5 sodeistvie26
 
17.08.16
14:34
(4) Генерирую только расшифровку у поступления, движение генерируется автоматически.
6 SSSSS_AAAAA
 
17.08.16
14:40
(5) Ну и? В рашифровке нужное субконто появляется? А в проводке нет? И теперь будем сидеть сложа ручки в ожидании чуда автоматического появления проводок по расшифровке? Или таки посмотрим как из расшифровки генерятся проводи и на основании этого знания сделаем выводы о правильности заполнения расшифровки?
7 sodeistvie26
 
17.08.16
15:29
(6) Расшифровка по штрафу имеет следующий вид:
1.Номер договора/Статья ДДС - "номер договора"/"штраф за нарушение договора займа"
2.Сумма - 50 руб
3.Счёт расчётов - 91.01
генерирует проводку вида:
Дебет - 51 счёт
СубконтоДТ1(Банковские счета) - расчётный счёт
СубконтоДТ2(Статья ДДС) - штраф нарушение договора займа
Кредет - 91.01 счёт
СубконтоКТ1 - пусто
СубконтоКТ2 - пусто
8 SSSSS_AAAAA
 
17.08.16
15:38
(7) Кредет - 91.01 счёт
СубконтоКТ1 - пусто
СубконтоКТ2 - пусто

А что должно быть? А что вы для этого сделали? Какие виды субконто на этом счете уже посмотрели? Среди них есть Статья ДДС? Если нет, то чего вы хотите и на каком основании?
9 sodeistvie26
 
17.08.16
15:52
(8) Хочу немного, чтобы с СубконтоКТ1(Прочие доходы и расходы ) - было выбрано "Штрафы, пени и неустойки к получению (уплате)"
10 SSSSS_AAAAA
 
17.08.16
16:01
(9) Прелестно. Третий раз спрашиваю - где и что вы для этого сделали? Если не делали - так сделайте. По образцу статьи ДДС.
11 sodeistvie26
 
17.08.16
16:04
(10) РасшифровкаШтраф.СубконтоКт1 = Справочники.ПрочиеДоходыИРасходы.НайтиПоНаименованию("Штрафы, пени и неустойки к получению (уплате)");
12 Доминошник
 
18.08.16
10:17
Для счета 91.01 - точно нужен другой вид операции ("Прочее поступление").
Основная теорема систематики: Новые системы плодят новые проблемы.