|
|
|
Как получить сумму НДС? | ☑ | ||
|---|---|---|---|---|
|
0
Kate123
06.05.08
✎
16:45
|
Как из документа поступление товаров и услуг получить сумму ндс? Я через запрос получаю данные из этого документа, никак не могу получить сумму ндс.
|
|||
|
1
zbv
06.05.08
✎
16:53
|
давай код... чтоб долго не мучать ;-)
|
|||
|
2
baklan22
06.05.08
✎
16:55
|
Может что то типа
Запрос.Текст = "ВЫБРАТЬ | Исходный.Контрагент КАК Контрагент, | ВЫБОР | КОГДА Исходный.Номер ЕСТЬ NULL | ТОГДА """" | ИНАЧЕ Исходный.Номер | КОНЕЦ КАК Номер, | Исходный.Дата КАК Дата, | СУММА(Исходный.НДС10) КАК НДС10, | СУММА(Исходный.НДС18) КАК НДС18, | СУММА(Исходный.Сумма10 + Исходный.Сумма18) КАК Всего, | СУММА(Исходный.Сумма10 - Исходный.НДС10) КАК Сумма10, | СУММА(Исходный.Сумма18 - Исходный.НДС18) КАК Сумма18, | СУММА(Исходный.Сумма10) КАК Включая10, | СУММА(Исходный.Сумма18) КАК Включая18 |ИЗ | (ВЫБРАТЬ | ПоступлениеТоваровУслугТовары.Ссылка.Контрагент КАК Контрагент, | ПоступлениеТоваровУслугТовары.Ссылка.Дата КАК Дата, | ПоступлениеТоваровУслугТовары.Ссылка.Номер КАК Номер, | СУММА(0) КАК Сумма18, | СУММА(ПоступлениеТоваровУслугТовары.Сумма) КАК Сумма10, | СУММА(ПоступлениеТоваровУслугТовары.СуммаНДС) КАК НДС10, | СУММА(0) КАК НДС18 | ИЗ | Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары | ГДЕ | ПоступлениеТоваровУслугТовары.Ссылка.Дата МЕЖДУ &НачПериода И &КонПериода | И ПоступлениеТоваровУслугТовары.Ссылка.ВидОперации = &ВидОперации | И ПоступлениеТоваровУслугТовары.СтавкаНДС = &СтавкаНДС10 | И ПоступлениеТоваровУслугТовары.Ссылка.Проведен = ИСТИНА | И ПоступлениеТоваровУслугТовары.Ссылка.ВидОперации = &ВидОперации | | СГРУППИРОВАТЬ ПО | ПоступлениеТоваровУслугТовары.Ссылка.Контрагент, | ПоступлениеТоваровУслугТовары.Ссылка.Дата, | ПоступлениеТоваровУслугТовары.Ссылка.Номер | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | ПоступлениеТоваровУслугТовары.Ссылка.Контрагент, | ПоступлениеТоваровУслугТовары.Ссылка.Дата, | ПоступлениеТоваровУслугТовары.Ссылка.Номер, | ПоступлениеТоваровУслугТовары.Сумма, | 0, | 0, | ПоступлениеТоваровУслугТовары.СуммаНДС | ИЗ | Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары | ГДЕ | ПоступлениеТоваровУслугТовары.Ссылка.Дата МЕЖДУ &НачПериода И &КонПериода | И ПоступлениеТоваровУслугТовары.Ссылка.ВидОперации = &ВидОперации | И ПоступлениеТоваровУслугТовары.СтавкаНДС = &СтавкаНДС18 | И ПоступлениеТоваровУслугТовары.Ссылка.Проведен = ИСТИНА) КАК Исходный | |СГРУППИРОВАТЬ ПО | Исходный.Контрагент, | Исходный.Дата, | ВЫБОР | КОГДА Исходный.Номер ЕСТЬ NULL | ТОГДА """" | ИНАЧЕ Исходный.Номер | КОНЕЦ | |УПОРЯДОЧИТЬ ПО | Номер, | Исходный.Контрагент.Наименование |ИТОГИ | СУММА(НДС10), | СУММА(НДС18), | СУММА(Всего), | СУММА(Сумма10), | СУММА(Сумма18), | СУММА(Включая10), | СУММА(Включая18) |ПО | ОБЩИЕ, | Контрагент"; Запрос.УстановитьПараметр("ВидОперации", Перечисления.ВидыОперацийПоступлениеТоваровУслуг.ПокупкаКомиссия); |
|||
|
3
Kate123
06.05.08
✎
17:10
|
Запрос = Новый Запрос;
ТекстЗапроса = "ВЫБРАТЬ | ПоступлениеТоваровУслуг.Комментарий КАК Коммент, | ПоступлениеТоваровУслуг.Дата КАК ДатаНакл, | ПоступлениеТоваровУслуг.Номер КАК НомерНакл, | ПоступлениеТоваровУслуг.Контрагент КАК Контр, | ПоступлениеТоваровУслуг.Контрагент.ИНН КАК КИНН, | ПоступлениеТоваровУслуг.Контрагент.КПП КАК ККПП, | ПоступлениеТоваровУслуг.СуммаДокумента КАК СумДок |ИЗ | Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг |ГДЕ | ПоступлениеТоваровУслуг.Проведен = ИСТИНА | И ПоступлениеТоваровУслуг.Дата МЕЖДУ &ДатаНач И &ДатаКон | |УПОРЯДОЧИТЬ ПО | ДатаНакл"; Запрос.Текст = ТекстЗапроса; Запрос.УстановитьПараметр("ДатаНач", НачалоДня(ДатаНач)); Запрос.УстановитьПараметр("ДатаКон", КонецДня(ДатаКон)); ТабДок = Новый ТабличныйДокумент; Макет = ПолучитьМакет("Макет"); Загл = Макет.ПолучитьОбласть("Заголовок"); Загл.Параметры.НачДата = Формат(ДатаНач, "ДФ=дд.ММ.гг"); Загл.Параметры.КонДата = Формат(ДатаКон, "ДФ=дд.ММ.гг"); ТабДок.Вывести(Загл); Шапка = Макет.ПолучитьОбласть("Шапка"); ТабДок.Вывести(Шапка); Строка = Макет.ПолучитьОбласть("Строка"); К=0; ТЗ = Запрос.Выполнить().Выгрузить(); Для Каждого ТекДок Из ТЗ Цикл К=К+1; Строка.Параметры.НомерСтроки = К; Строка.Параметры.Дата = ТекДок.Коммент; Строка.Параметры.ДатаНакл = Формат(ТекДок.ДатаНакл,"ДЛФ=Д"); Строка.Параметры.НомерНакл = ТекДок.НомерНакл; Строка.Параметры.Контрагент = ТекДок.Контр; Строка.Параметры.КИНН = ТекДок.КИНН; Строка.Параметры.ККПП = ТекДок.ККПП; Строка.Параметры.СумДок = ТекДок.СумДок; Строка.Параметры.СумНДС = ?????; ТабДок.Вывести(Строка); ТабДок.ОтображатьСетку = 0; ТабДок.ТолькоПросмотр = Истина; ТабДок.Показать(); КонецЦикла; |
|||
|
4
zbv
06.05.08
✎
17:16
|
(3) обращайся к табличным частям... в (2) есть пример.
можно сразу из регистра тянуть - если НДС выделяется... |
|||
|
5
Wehrmacht
06.05.08
✎
17:23
|
Конкретно для уже текущей конструкции проще будет выдернуть еще ссылку в запросе, тогда можно будет написать Строка.Параметры.СумНДС = ТекДок.Ссылка.Товары.Итог("СуммаНДС");
|
|||
|
6
Wehrmacht
06.05.08
✎
17:25
|
(5) +ТекДок.Ссылка.Услуги.Итог("СуммаНДС")
|
|||
|
7
НЕА123
06.05.08
✎
17:25
|
(5) а без объекта разве можно?
|
|||
|
8
НЕА123
06.05.08
✎
17:28
|
+(7) хе. кажись, да.
|
|||
|
9
Wehrmacht
06.05.08
✎
17:31
|
(8)Я, честно говоря, сам был не уверен, но расписывать и тем более проверять было лениво :)
|
|||
|
10
Kate123
07.05.08
✎
09:04
|
Решила сделать следующим образом:
Запрос = Новый Запрос; ТекстЗапроса = "ВЫБРАТЬ | ПоступлениеТоваровУслуг.Дата КАК ДатаНакл, | ПоступлениеТоваровУслуг.Номер КАК НомерНакл, | ПоступлениеТоваровУслуг.Контрагент КАК Контр, | ПоступлениеТоваровУслуг.Контрагент.ИНН КАК КИНН, | ПоступлениеТоваровУслуг.Контрагент.КПП КАК ККПП, | ПоступлениеТоваровУслуг.СуммаДокумента КАК СумДок, | СУММА(ПоступлениеТоваровУслугТовары.СуммаНДС) КАК СуммаНДСт, | СУММА(ПоступлениеТоваровУслугУслуги.СуммаНДС) КАК СуммаНДСу |ИЗ | Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг | ПО ПоступлениеТоваровУслугТовары.Ссылка = ПоступлениеТоваровУслуг.Ссылка, | Документ.ПоступлениеТоваровУслуг.Услуги КАК ПоступлениеТоваровУслугУслуги |ГДЕ | ПоступлениеТоваровУслуг.Дата МЕЖДУ &ДатаНач И &ДатаКон | |СГРУППИРОВАТЬ ПО | ПоступлениеТоваровУслуг.Дата, | ПоступлениеТоваровУслуг.Номер, | ПоступлениеТоваровУслуг.Контрагент, | ПоступлениеТоваровУслуг.Контрагент.ИНН, | ПоступлениеТоваровУслуг.Контрагент.КПП, | ПоступлениеТоваровУслуг.СуммаДокумента | |УПОРЯДОЧИТЬ ПО | ДатаНакл"; Вот теперь как правильно записать, чтобы если товары так СуммаНДС по товарам выводилась, если услуги, так по услугам Строка = Макет.ПолучитьОбласть("Строка"); ТЗ = Запрос.Выполнить().Выгрузить(); Для Каждого ТекДок Из ТЗ Цикл Строка.Параметры.НомерСтроки = К; Строка.Параметры.ДатаНакл = Формат(ТекДок.ДатаНакл,"ДЛФ=Д"); Строка.Параметры.НомерНакл = ТекДок.НомерНакл; Строка.Параметры.Контрагент = ТекДок.Контр; Строка.Параметры.КИНН = ТекДок.КИНН; Строка.Параметры.ККПП = ТекДок.ККПП; Строка.Параметры.СумДок = ТекДок.СумДок; Строка.Параметры.СумНДС = ТекДок.СуммаНДСт; ?????? ТабДок.Вывести(Строка); ТабДок.ОтображатьСетку = 0; ТабДок.ТолькоПросмотр = Истина; ТабДок.Показать(); КонецЦикла; Ставила условие Если Товары[0].Наименование.Услуги = Истина - не работает |
|||
|
11
denk
07.05.08
✎
09:17
|
(10) А где в твоем коде делается проверка номенклатуры на принадлежность товарам/услугам?
|
|||
|
12
Kate123
07.05.08
✎
09:36
|
(11)Вот я и хотела узнать как сделать эту проверку
|
|||
|
13
Vbif
07.05.08
✎
09:39
|
А одновременно не может быть НДС и по товарам и по услугам?
|
|||
|
14
Kate123
07.05.08
✎
09:41
|
Нет, в документе поступления указывается только либо товар, либо услуга
|
|||
|
15
denk
07.05.08
✎
09:42
|
(12) В запрос нужно добавить поле Номенклатура или ВидНоменклатуры. А потом по нему проверять.
|
|||
|
16
Vbif
07.05.08
✎
09:42
|
А просто ?(ТекДок.СуммаНДСт = 0, ТекДок.СуммаНДСу, ТекДок.СуммаНДСт) не катит?
|
|||
|
17
случайный1Сник
07.05.08
✎
10:01
|
(10) Для чего тут ЛЕВОЕ СОЕДИНЕНИЕ? Пользуйтесь объединением, раз уж взялись за табличные части.
Теперь про "Если Товары[0].Наименование.Услуги = Истина". Товары[0] -- это табличная часть какого документа в контексте выполнения данного кода? Не говоря о том, что Товары[0].Наименование -- это вообще строка, ссылка на элемент справочника -- в Товары[0].Номенклатура. Используйте в запросе конструкцию ВЫБОР. |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |