Имя: Пароль:
1C
1С v8
Ввод на основании
0 Mamont_SXI
 
07.02.12
12:55
Всем привет. в УТ 8.1 Сделал ввод Реализацию ТиУ на основании Чека ККМ

вот код
Если ТипЗнч(Основание) = Тип("ДокументСсылка.ЧекККМ") Тогда
   
       Товары.Загрузить(Основание.Товары.Выгрузить());    
       
       
       // Заполним реквизиты из стандартного набора по документу основанию.
       ЗаполнитьШапкуДокументаПоОснованию(ЭтотОбъект, Основание);

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

       УчитыватьНДС = Истина;
       Если Не ЗначениеНеЗаполнено(ТипЦен) Тогда

           // Если цены выбранного типа расчетные, то флаги включения налогов надо брать из базовой цены.
           ВремТипЦен       = ?(ТипЦен.Рассчитывается, ТипЦен.БазовыйТипЦен, ТипЦен);
           СуммаВключаетНДС = ВремТипЦен.ЦенаВключаетНДС;

       Иначе
           // Заполним значениями по умолчанию (не заполнен ТипЦен).
           СуммаВключаетНДС= Истина;
       КонецЕсли;
         
       
       Если ЗначениеНеЗаполнено(ДоговорКонтрагента) Тогда
           ВалютаДокумента = мВалютаРегламентированногоУчета;
       Иначе
           ВалютаДокумента = ДоговорКонтрагента.ВалютаВзаиморасчетов;
       КонецЕсли;

       Для каждого Строка Из Товары Цикл
           Строка.СтавкаНДС   = Перечисления.СтавкиНДС.НДС18;
           //Строка.СуммаНДС = Строка.Сумма * 18/118;
       КонецЦикла;

           
       Если ЕстьРеквизитДокумента("ОтражатьВУправленческомУчете", Основание.Метаданные()) Тогда
       ОтражатьВУправленческомУчете = Основание.ОтражатьВУправленческомУчете;
   Иначе
       ОтражатьВУправленческомУчете = НЕ ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "НеОтражатьДокументыВУправленческомУчете");
   КонецЕсли;

   Если ЕстьРеквизитДокумента("ОтражатьВБухгалтерскомУчете", Основание.Метаданные()) Тогда
       ОтражатьВБухгалтерскомУчете = Основание.ОтражатьВБухгалтерскомУчете;
       ОтражатьВНалоговомУчете     = Основание.ОтражатьВНалоговомУчете;
   Иначе
       ОтражатьВБухгалтерскомУчете = НЕ ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "НеОтражатьДокументыВБухгалтерскомУчете");

       Если ОтражатьВБухгалтерскомУчете Тогда
           ОтражатьВНалоговомУчете = НЕ ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "НеОтражатьДокументыВНалоговомУчете");
       Иначе
           ОтражатьВНалоговомУчете = ОтражатьВБухгалтерскомУчете;
       КонецЕсли;
   КонецЕсли;                    

       
   КонецЕсли;


У меня не заполняется само значение суммы НДС, только если напишу выражение для его расчёта или в документе выберу ставку НДС.

Можно как нибудь программно рассчитать это значение?
1 icipher
 
07.02.12
12:57
ОбработкаТабличныхЧастей.РассчитатьСуммуНДСТабЧасти(СтрокаТЧ, ЭтотОбъект);
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший