Имя: Пароль:
1C
1С v8
БП: ошибка при вызове РассчитатьСуммуНДС
,
0 листопад
 
20.12.11
16:56
БП, релиз 2.0.28.3
Загружаю из таблицы значений данные в табличную часть документа "Поступление". Выдает ошибку, при попытке расчета суммы НДС:

{ОбщийМодуль.ОбработкаТабличныхЧастей.Модуль(15)}: Поле объекта не обнаружено (СуммаНДС)
       СтрокаТабличнойЧасти.СуммаНДС = УчетНДС.РассчитатьСуммуНДС(СтрокаТабличнойЧасти.Сумма,



Вот код:

Процедура ЗагрузитьПриходНажатие(Элемент)
   ДокПриход = Документы.ПоступлениеТоваровУслуг.СоздатьДокумент();
   
   ДокПриход.ВидОперации = Перечисления.ВидыОперацийПоступлениеТоваровУслуг.ПокупкаКомиссия;
   ДокПриход.СпособЗачетаАвансов = Перечисления.СпособыЗачетаАвансов.НеЗачитывать;
   ДокПриход.СчетУчетаРасчетовСКонтрагентом = ПланыСчетов.Хозрасчетный.РасчетыСПоставщиками;
   ДокПриход.СуммаВключаетНДС = Ложь;
   ДокПриход.УчитыватьНДС = Истина;
   
   Для Каждого Строка из ТаблицаДокумента Цикл
       Если ЗначениеЗаполнено(Строка.ПриходЛ) Тогда    //строки с пустым кол-вом не загружаю
           СтрокаТовары = ДокПриход.Товары.Добавить();
           СтрокаТовары.Номенклатура = Справочники.Номенклатура.НайтиПоКоду(Строка.Код).Ссылка;
           Если СтрокаТовары.Номенклатура.Пустая() Тогда
               Сообщить (Строка.Наименование +  " - не загружена!!! Не найден код: " + Строка.Код);
           КонецЕсли;
           СтрокаТовары.Количество   = Строка.ПриходЛ;
           СтрокаТовары.Сумма        = Строка.ПриходСумма;
           СтрокаТовары.СтавкаНДС    = Перечисления.СтавкиНДС.НДС18;
           СтрокаТовары.СчетУчета    = ПланыСчетов.Хозрасчетный.Топливо;
           СтрокаТовары.СчетУчетаНДС = ПланыСчетов.Хозрасчетный.НДСпоПриобретеннымМПЗ;
           
           ОбработкаТабличныхЧастей.РассчитатьСуммуНДСТабЧасти(ДокПриход.Товары, ДокПриход);
           
       КонецЕсли;
   КонецЦикла;
   ДокПриход.Записать();
КонецПроцедуры
1 Живой Ископаемый
 
20.12.11
16:58
о боже! и у меня?
2 листопад
 
20.12.11
17:01
+(0) В общем модуле процедура РассчитатьСуммуНДСТабЧасти():


Процедура РассчитатьСуммуНДСТабЧасти(СтрокаТабличнойЧасти, ДокументОбъект) Экспорт

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

КонецПроцедуры // РассчитатьСуммуНДСТабЧасти()
3 НуВотКак
 
20.12.11
17:04
Ну и глянь отладчиком есть ли у тебя СтрокаТабличнойЧасти.СуммаНДС
4 листопад
 
20.12.11
17:08
(3) Так мне ее (СуммаНДС) рассчитать-то и надо!!!
5 Живой Ископаемый
 
20.12.11
17:08
а она у вас есть? сумма-то ндс?
6 НуВотКак
 
20.12.11
17:10
(4) Тебе вроде говорят что не во что счетать
7 листопад
 
20.12.11
17:13
(5) Есть Количество, Сумма, СтавкаНДС (см. (0), загружаю их из таблицы значений). Надо рассчитать СуммуНДС, делаю вызов процедуры из общего модуля ОбработкаТабличныхЧастей.РассчитатьСуммуНДСТабЧасти(ДокПриход.Товары, ДокПриход);
и выходит ошибка (см. (0)).
8 Шапокляк
 
20.12.11
17:15
(7) Реквизит для хранения суммы НДС как называется в вашем документе?
9 Живой Ископаемый
 
20.12.11
17:16
стоп...

вместо


           ОбработкаТабличныхЧастей.РассчитатьСуммуНДСТабЧасти(ДокПриход.Товары, ДокПриход);

напишите

   ОбработкаТабличныхЧастей.РассчитатьСуммуНДСТабЧасти(СтрокаТовары, ДокПриход);
10 Живой Ископаемый
 
20.12.11
17:17
а то в процедуре  РассчитатьСуммуНДСТабЧасти нужно расчитывать оджну строку, а передаете вы всю ТЧ.
11 листопад
 
20.12.11
17:23
(9) Спасибо!!! Все получилось!!!
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn