|
Нужна помощь с запросом. | ☑ | ||
---|---|---|---|---|
0
Pro-tone
05.08.11
✎
09:58
|
Есть код модуля "формирования записей книги продаж" Функция ЗаполнитьНДСНачисленныйПоДаннымРегистраНДСНачисленный
ВЫБРАТЬ НДСРеализация0Остатки.Организация, НДСРеализация0Остатки.СчетФактура КАК СчетФактура, ЕСТЬNULL(НДСРеализация0Остатки.СчетФактура.Дата, &КонецПериода) КАК СчетФактураДата, ВЫБОР КОГДА ЕСТЬNULL(НДСРеализация0Остатки.СчетФактура.Дата, &КонецПериода) >= &Начало2006Года ТОГДА &МоментОпределения_ПоОтгрузке ИНАЧЕ ЕСТЬNULL(УчетнаяПолитикаОрганизаций.МоментОпределенияНалоговойБазыНДС, &МоментОпределения_ПоОтгрузке) КОНЕЦ КАК МоментОпределенияНалоговойБазыНДС, НДСРеализация0Остатки.ВидЦенности, НДСРеализация0Остатки.СтавкаНДС, ЕСТЬNULL(НДСРеализация0Остатки.СуммаБезНДСОстаток, 0) КАК СуммаБезНДС, ЕСТЬNULL(НДСРеализация0Остатки.НДСОстаток, 0) КАК СуммаНДС, ЕСТЬNULL(НДСРеализация0Остатки.СуммаБезНДСОстаток, 0) + ЕСТЬNULL(НДСРеализация0Остатки.НДСОстаток, 0) КАК СуммаСНДС, НДСРеализация0Остатки.Состояние, НДСНачисленныйОстатки.Покупатель, НДСНачисленныйОстатки.СуммаБезНДСОстаток + НДСНачисленныйОстатки.НДСОстаток КАК СуммаСНДС_НачисленоВсего, ВЫБОР КОГДА НДСНачисленныйОстатки.СуммаБезНДСОстаток + НДСНачисленныйОстатки.НДСОстаток < НДСРеализация0Остатки.СуммаБезНДСОстаток + НДСРеализация0Остатки.НДСОстаток И (НЕ НДСРеализация0Остатки.СуммаБезНДСОстаток + НДСРеализация0Остатки.НДСОстаток < 0) ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ КАК ТребуетсяКорректировка, ВЫБОР КОГДА НДСНачисленныйОстатки.ВидЦенности = ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.НалоговыйАгентКомитент) ТОГДА НДСНачисленныйОстатки.ДоговорКонтрагента ИНАЧЕ НЕОПРЕДЕЛЕНО КОНЕЦ КАК ДоговорКонтрагента ИЗ РегистрНакопления.НДСРеализация0.Остатки( &КонецПериодаГраница, Организация = &Организация И Состояние В (&ОтрабатываемыеСостояния)) КАК НДСРеализация0Остатки ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УчетнаяПолитикаОрганизаций КАК УчетнаяПолитикаОрганизаций ПО (УчетнаяПолитикаОрганизаций.Организация = НДСРеализация0Остатки.Организация) И (УчетнаяПолитикаОрганизаций.Период В (ВЫБРАТЬ МАКСИМУМ(УчетнаяПолитикаОрганизаций.Период) КАК Период ИЗ РегистрСведений.УчетнаяПолитикаОрганизаций КАК УчетнаяПолитикаОрганизаций ГДЕ ЕСТЬNULL(НДСРеализация0Остатки.СчетФактура.Дата, &КонецПериода) >= УчетнаяПолитикаОрганизаций.Период И УчетнаяПолитикаОрганизаций.Организация = НДСРеализация0Остатки.Организация)) ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.НДСНачисленный.Остатки(&КонецПериодаГраница, Организация = &Организация) КАК НДСНачисленныйОстатки ПО НДСРеализация0Остатки.СчетФактура = НДСНачисленныйОстатки.СчетФактура И НДСРеализация0Остатки.ВидЦенности = НДСНачисленныйОстатки.ВидЦенности И НДСРеализация0Остатки.СтавкаНДС = НДСНачисленныйОстатки.СтавкаНДС ГДЕ (НДСРеализация0Остатки.СуммаБезНДСОстаток > 0 ИЛИ НДСРеализация0Остатки.НДСОстаток > 0) И (НЕ НДСРеализация0Остатки.СчетФактура В (ВЫБРАТЬ РАЗЛИЧНЫЕ Хозрасчетный.Регистратор ИЗ РегистрБухгалтерии.Хозрасчетный КАК Хозрасчетный ГДЕ Хозрасчетный.СчетКт В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСРазнымиДебиторамиИКредиторами)) И Хозрасчетный.Регистратор = НДСНачисленныйОстатки.СчетФактура)) И НДСРеализация0Остатки.СчетФактура.Дата >= &НачалоПериода УПОРЯДОЧИТЬ ПО СчетФактураДата ИТОГИ СУММА(СуммаБезНДС), СУММА(СуммаНДС), СУММА(СуммаСНДС), МАКСИМУМ(ТребуетсяКорректировка) ПО СчетФактура Буше нужно чтобы из СуммаБезНДС вычиталась сумма из проводок по 76му счету. Я сделал так: ВЫБРАТЬ НДСРеализация0Остатки.Организация, НДСРеализация0Остатки.СчетФактура КАК СчетФактура, ЕСТЬNULL(НДСРеализация0Остатки.СчетФактура.Дата, &КонецПериода) КАК СчетФактураДата, ВЫБОР КОГДА ЕСТЬNULL(НДСРеализация0Остатки.СчетФактура.Дата, &КонецПериода) >= &Начало2006Года ТОГДА &МоментОпределения_ПоОтгрузке ИНАЧЕ ЕСТЬNULL(УчетнаяПолитикаОрганизаций.МоментОпределенияНалоговойБазыНДС, &МоментОпределения_ПоОтгрузке) КОНЕЦ КАК МоментОпределенияНалоговойБазыНДС, НДСРеализация0Остатки.ВидЦенности, НДСРеализация0Остатки.СтавкаНДС, ЕСТЬNULL(НДСРеализация0Остатки.СуммаБезНДСОстаток, 0) КАК СуммаБезНДС, ЕСТЬNULL(НДСРеализация0Остатки.НДСОстаток, 0) КАК СуммаНДС, ЕСТЬNULL(НДСРеализация0Остатки.СуммаБезНДСОстаток, 0) + ЕСТЬNULL(НДСРеализация0Остатки.НДСОстаток, 0) КАК СуммаСНДС, НДСРеализация0Остатки.Состояние, НДСНачисленныйОстатки.Покупатель, НДСНачисленныйОстатки.СуммаБезНДСОстаток + НДСНачисленныйОстатки.НДСОстаток КАК СуммаСНДС_НачисленоВсего, ВЫБОР КОГДА НДСНачисленныйОстатки.СуммаБезНДСОстаток + НДСНачисленныйОстатки.НДСОстаток < НДСРеализация0Остатки.СуммаБезНДСОстаток + НДСРеализация0Остатки.НДСОстаток И (НЕ НДСРеализация0Остатки.СуммаБезНДСОстаток + НДСРеализация0Остатки.НДСОстаток < 0) ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ КАК ТребуетсяКорректировка, ВЫБОР КОГДА НДСНачисленныйОстатки.ВидЦенности = ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.НалоговыйАгентКомитент) ТОГДА НДСНачисленныйОстатки.ДоговорКонтрагента ИНАЧЕ НЕОПРЕДЕЛЕНО КОНЕЦ КАК ДоговорКонтрагента ПОМЕСТИТЬ ВТ1 ИЗ РегистрНакопления.НДСРеализация0.Остатки( &КонецПериодаГраница, Организация = &Организация И Состояние В (&ОтрабатываемыеСостояния)) КАК НДСРеализация0Остатки ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УчетнаяПолитикаОрганизаций КАК УчетнаяПолитикаОрганизаций ПО (УчетнаяПолитикаОрганизаций.Организация = НДСРеализация0Остатки.Организация) И (УчетнаяПолитикаОрганизаций.Период В (ВЫБРАТЬ МАКСИМУМ(УчетнаяПолитикаОрганизаций.Период) КАК Период ИЗ РегистрСведений.УчетнаяПолитикаОрганизаций КАК УчетнаяПолитикаОрганизаций ГДЕ ЕСТЬNULL(НДСРеализация0Остатки.СчетФактура.Дата, &КонецПериода) >= УчетнаяПолитикаОрганизаций.Период И УчетнаяПолитикаОрганизаций.Организация = НДСРеализация0Остатки.Организация)) ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.НДСНачисленный.Остатки(&КонецПериодаГраница, Организация = &Организация) КАК НДСНачисленныйОстатки ПО НДСРеализация0Остатки.СчетФактура = НДСНачисленныйОстатки.СчетФактура И НДСРеализация0Остатки.ВидЦенности = НДСНачисленныйОстатки.ВидЦенности И НДСРеализация0Остатки.СтавкаНДС = НДСНачисленныйОстатки.СтавкаНДС ГДЕ (НДСРеализация0Остатки.СуммаБезНДСОстаток > 0 ИЛИ НДСРеализация0Остатки.НДСОстаток > 0) И (НЕ НДСРеализация0Остатки.СчетФактура В (ВЫБРАТЬ РАЗЛИЧНЫЕ Хозрасчетный.Регистратор ИЗ РегистрБухгалтерии.Хозрасчетный КАК Хозрасчетный ГДЕ Хозрасчетный.СчетКт В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСРазнымиДебиторамиИКредиторами)) И Хозрасчетный.Регистратор = НДСНачисленныйОстатки.СчетФактура)) И НДСРеализация0Остатки.СчетФактура.Дата >= &НачалоПериода ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ1.Организация, ВТ1.СчетФактура КАК СчетФактура, ВТ1.СчетФактураДата КАК СчетФактураДата, ВТ1.МоментОпределенияНалоговойБазыНДС, ВТ1.ВидЦенности, ВТ1.СтавкаНДС, ВЫБОР КОГДА Хозрасчетный.Сумма > 0 ТОГДА ВТ1.СуммаБезНДС - Хозрасчетный.Сумма ИНАЧЕ ВТ1.СуммаБезНДС КОНЕЦ КАК СуммаБезНДС, ВТ1.СуммаНДС КАК СуммаНДС, ВТ1.СуммаСНДС КАК СуммаСНДС, ВТ1.Состояние, ВТ1.Покупатель, ВТ1.СуммаСНДС_НачисленоВсего, ВТ1.ТребуетсяКорректировка, ВТ1.ДоговорКонтрагента, СУММА(Хозрасчетный.Сумма) КАК Сумма ИЗ ВТ1 КАК ВТ1 ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный КАК Хозрасчетный ПО ВТ1.СчетФактура = Хозрасчетный.Регистратор ГДЕ Хозрасчетный.СчетКт В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСРазнымиДебиторамиИКредиторами)) СГРУППИРОВАТЬ ПО ВТ1.Организация, ВТ1.СчетФактура, ВТ1.СчетФактураДата, ВТ1.МоментОпределенияНалоговойБазыНДС, ВТ1.ВидЦенности, ВТ1.СтавкаНДС, ВТ1.СуммаНДС, ВТ1.СуммаСНДС, ВТ1.Состояние, ВТ1.Покупатель, ВТ1.СуммаСНДС_НачисленоВсего, ВТ1.ТребуетсяКорректировка, ВТ1.ДоговорКонтрагента, ВЫБОР КОГДА Хозрасчетный.Сумма > 0 ТОГДА ВТ1.СуммаБезНДС - Хозрасчетный.Сумма ИНАЧЕ ВТ1.СуммаБезНДС КОНЕЦ, Хозрасчетный.Регистратор УПОРЯДОЧИТЬ ПО СчетФактураДата, СчетФактура ИТОГИ СУММА(СуммаБезНДС), СУММА(СуммаНДС), СУММА(СуммаСНДС) ПО СчетФактура Но так почему-то не попадает ни одной записи, то есть таблица результата - пуста |
|||
1
Pro-tone
05.08.11
✎
10:01
|
Убираю соединение ВТ1 с запросом пакета2, то записи есть. И странно это, ведь в ЛЕВОЕ соединение ВТ1 уже должно по идее дать все записи ВТ1
|
|||
2
Maxus43
05.08.11
✎
10:04
|
ГДЕ
Хозрасчетный.СчетКт В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСРазнымиДебиторамиИКредиторами)) режет все записи имхо. в условия вирт таблицы переноси, Обороты бери |
|||
3
catena
05.08.11
✎
10:04
|
(1)Потому что условие на Хозрасчетный.
"ЛЕВОЕ соединение ВТ1 уже должно по идее дать все записи ВТ1 " Да, но с учетом наложенного условия, а оно у тебя NULL там, где слева не присобачилось. |
|||
4
unregistered
05.08.11
✎
10:04
|
(1) ГДЕ
Хозрасчетный.СчетКт В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСРазнымиДебиторамиИКредиторами)) Превращает твоё левое соединение во внутреннее. |
|||
5
Pro-tone
05.08.11
✎
10:10
|
(2)(3)(4) хорошо, я понял. Как мне теперь быть (я просто не совсем понял как предложил (2) ) ?
|
|||
6
catena
05.08.11
✎
10:11
|
(5)Брать таблицу регистра ОБОРОТЫ и пихать условие в параметры таблицы.
|
|||
7
Maxus43
05.08.11
✎
10:12
|
(5) По сути тебе надо убрать ГДЕ. и всё. Вирт таблицу оборотов хозрасчетнонго соединяй по регистратору, в условиях вирт таблицы ограничение на счет
|
|||
8
Pro-tone
05.08.11
✎
10:18
|
(7) ух как мудрено ! Никогда бы не подумал что условие, наложенное не во временной таблице (при использовании пакетного запроса) превращает внешнее соединение во внутреннее, ща попробую как ты сказал ! спасибо !
|
|||
9
Maxus43
05.08.11
✎
10:20
|
(8) логично всё, ГДЕ - накладывается на всю выборку запроса, а не только на Хозрасчетный твой. поидее у тебя нет Кт 76-го которые присутствуют в выборке Вт
|
|||
10
Pro-tone
05.08.11
✎
10:23
|
(9) хорошо, но так как ты написал в (7) я взял вирт таблицу ОзрасчетныйОбороты и в списке доступных полей связей нет поля "регистратор" по неме =(
|
|||
11
Pro-tone
05.08.11
✎
10:24
|
>ОзрасчетныйОбороты
ХозрасчетныйОбороты >по неме по немУ |
|||
12
Maxus43
05.08.11
✎
10:24
|
(10) Периодичность Регистратор или запись поставь. Обороты ДтКт бери, если надо только КТ 76. и всё будет, там же в самой вирт таблице условие на Кт 76 укажи. Не в ГДЕ
|
|||
13
Pro-tone
05.08.11
✎
10:31
|
(12) сделал так:
ВЫБРАТЬ НДСРеализация0Остатки.Организация, НДСРеализация0Остатки.СчетФактура КАК СчетФактура, ЕСТЬNULL(НДСРеализация0Остатки.СчетФактура.Дата, &КонецПериода) КАК СчетФактураДата, ВЫБОР КОГДА ЕСТЬNULL(НДСРеализация0Остатки.СчетФактура.Дата, &КонецПериода) >= &Начало2006Года ТОГДА &МоментОпределения_ПоОтгрузке ИНАЧЕ ЕСТЬNULL(УчетнаяПолитикаОрганизаций.МоментОпределенияНалоговойБазыНДС, &МоментОпределения_ПоОтгрузке) КОНЕЦ КАК МоментОпределенияНалоговойБазыНДС, НДСРеализация0Остатки.ВидЦенности, НДСРеализация0Остатки.СтавкаНДС, ЕСТЬNULL(НДСРеализация0Остатки.СуммаБезНДСОстаток, 0) КАК СуммаБезНДС, ЕСТЬNULL(НДСРеализация0Остатки.НДСОстаток, 0) КАК СуммаНДС, ЕСТЬNULL(НДСРеализация0Остатки.СуммаБезНДСОстаток, 0) + ЕСТЬNULL(НДСРеализация0Остатки.НДСОстаток, 0) КАК СуммаСНДС, НДСРеализация0Остатки.Состояние, НДСНачисленныйОстатки.Покупатель, НДСНачисленныйОстатки.СуммаБезНДСОстаток + НДСНачисленныйОстатки.НДСОстаток КАК СуммаСНДС_НачисленоВсего, ВЫБОР КОГДА НДСНачисленныйОстатки.СуммаБезНДСОстаток + НДСНачисленныйОстатки.НДСОстаток < НДСРеализация0Остатки.СуммаБезНДСОстаток + НДСРеализация0Остатки.НДСОстаток И (НЕ НДСРеализация0Остатки.СуммаБезНДСОстаток + НДСРеализация0Остатки.НДСОстаток < 0) ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ КАК ТребуетсяКорректировка, ВЫБОР КОГДА НДСНачисленныйОстатки.ВидЦенности = ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.НалоговыйАгентКомитент) ТОГДА НДСНачисленныйОстатки.ДоговорКонтрагента ИНАЧЕ НЕОПРЕДЕЛЕНО КОНЕЦ КАК ДоговорКонтрагента ПОМЕСТИТЬ ВТ1 ИЗ РегистрНакопления.НДСРеализация0.Остатки( &КонецПериодаГраница, Организация = &Организация И Состояние В (&ОтрабатываемыеСостояния)) КАК НДСРеализация0Остатки ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УчетнаяПолитикаОрганизаций КАК УчетнаяПолитикаОрганизаций ПО (УчетнаяПолитикаОрганизаций.Организация = НДСРеализация0Остатки.Организация) И (УчетнаяПолитикаОрганизаций.Период В (ВЫБРАТЬ МАКСИМУМ(УчетнаяПолитикаОрганизаций.Период) КАК Период ИЗ РегистрСведений.УчетнаяПолитикаОрганизаций КАК УчетнаяПолитикаОрганизаций ГДЕ ЕСТЬNULL(НДСРеализация0Остатки.СчетФактура.Дата, &КонецПериода) >= УчетнаяПолитикаОрганизаций.Период И УчетнаяПолитикаОрганизаций.Организация = НДСРеализация0Остатки.Организация)) ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.НДСНачисленный.Остатки(&КонецПериодаГраница, Организация = &Организация) КАК НДСНачисленныйОстатки ПО НДСРеализация0Остатки.СчетФактура = НДСНачисленныйОстатки.СчетФактура И НДСРеализация0Остатки.ВидЦенности = НДСНачисленныйОстатки.ВидЦенности И НДСРеализация0Остатки.СтавкаНДС = НДСНачисленныйОстатки.СтавкаНДС ГДЕ (НДСРеализация0Остатки.СуммаБезНДСОстаток > 0 ИЛИ НДСРеализация0Остатки.НДСОстаток > 0) И (НЕ НДСРеализация0Остатки.СчетФактура В (ВЫБРАТЬ РАЗЛИЧНЫЕ Хозрасчетный.Регистратор ИЗ РегистрБухгалтерии.Хозрасчетный КАК Хозрасчетный ГДЕ Хозрасчетный.СчетКт В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСРазнымиДебиторамиИКредиторами)) И Хозрасчетный.Регистратор = НДСНачисленныйОстатки.СчетФактура)) И НДСРеализация0Остатки.СчетФактура.Дата >= &НачалоПериода ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ1.Организация, ВТ1.СчетФактура КАК СчетФактура, ВТ1.СчетФактураДата КАК СчетФактураДата, ВТ1.МоментОпределенияНалоговойБазыНДС, ВТ1.ВидЦенности, ВТ1.СтавкаНДС, ВТ1.СуммаНДС КАК СуммаНДС, ВТ1.СуммаСНДС КАК СуммаСНДС, ВТ1.Состояние, ВТ1.Покупатель, ВТ1.СуммаСНДС_НачисленоВсего, ВТ1.ТребуетсяКорректировка, ВТ1.ДоговорКонтрагента, ВЫБОР КОГДА ХозрасчетныйОбороты.СуммаОборот > 0 ТОГДА ВТ1.СуммаБезНДС - ХозрасчетныйОбороты.СуммаОборот ИНАЧЕ ВТ1.СуммаБезНДС КОНЕЦ КАК СуммаБезНДС ИЗ РегистрБухгалтерии.Хозрасчетный.Обороты(, , Регистратор, Счет В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСРазнымиДебиторамиИКредиторами)), , , , ) КАК ХозрасчетныйОбороты ЛЕВОЕ СОЕДИНЕНИЕ ВТ1 КАК ВТ1 ПО ВТ1.СчетФактура = ХозрасчетныйОбороты.Регистратор СГРУППИРОВАТЬ ПО ВТ1.Организация, ВТ1.СчетФактура, ВТ1.СчетФактураДата, ВТ1.МоментОпределенияНалоговойБазыНДС, ВТ1.ВидЦенности, ВТ1.СтавкаНДС, ВТ1.СуммаНДС, ВТ1.СуммаСНДС, ВТ1.Состояние, ВТ1.Покупатель, ВТ1.СуммаСНДС_НачисленоВсего, ВТ1.ТребуетсяКорректировка, ВТ1.ДоговорКонтрагента, ВЫБОР КОГДА ХозрасчетныйОбороты.СуммаОборот > 0 ТОГДА ВТ1.СуммаБезНДС - ХозрасчетныйОбороты.СуммаОборот ИНАЧЕ ВТ1.СуммаБезНДС КОНЕЦ УПОРЯДОЧИТЬ ПО СчетФактураДата, СчетФактура ИТОГИ СУММА(СуммаНДС), СУММА(СуммаСНДС) ПО СчетФактура В выборке получилось 2 строки где все значения - NULL |
|||
14
catena
05.08.11
✎
10:33
|
(13)Так ты теперь ВТ1 слева присоединяешь, а все параметры у тебя из нее...
|
|||
15
Pro-tone
05.08.11
✎
10:37
|
(14)
ВЫБРАТЬ НДСРеализация0Остатки.Организация, НДСРеализация0Остатки.СчетФактура КАК СчетФактура, ЕСТЬNULL(НДСРеализация0Остатки.СчетФактура.Дата, &КонецПериода) КАК СчетФактураДата, ВЫБОР КОГДА ЕСТЬNULL(НДСРеализация0Остатки.СчетФактура.Дата, &КонецПериода) >= &Начало2006Года ТОГДА &МоментОпределения_ПоОтгрузке ИНАЧЕ ЕСТЬNULL(УчетнаяПолитикаОрганизаций.МоментОпределенияНалоговойБазыНДС, &МоментОпределения_ПоОтгрузке) КОНЕЦ КАК МоментОпределенияНалоговойБазыНДС, НДСРеализация0Остатки.ВидЦенности, НДСРеализация0Остатки.СтавкаНДС, ЕСТЬNULL(НДСРеализация0Остатки.СуммаБезНДСОстаток, 0) КАК СуммаБезНДС, ЕСТЬNULL(НДСРеализация0Остатки.НДСОстаток, 0) КАК СуммаНДС, ЕСТЬNULL(НДСРеализация0Остатки.СуммаБезНДСОстаток, 0) + ЕСТЬNULL(НДСРеализация0Остатки.НДСОстаток, 0) КАК СуммаСНДС, НДСРеализация0Остатки.Состояние, НДСНачисленныйОстатки.Покупатель, НДСНачисленныйОстатки.СуммаБезНДСОстаток + НДСНачисленныйОстатки.НДСОстаток КАК СуммаСНДС_НачисленоВсего, ВЫБОР КОГДА НДСНачисленныйОстатки.СуммаБезНДСОстаток + НДСНачисленныйОстатки.НДСОстаток < НДСРеализация0Остатки.СуммаБезНДСОстаток + НДСРеализация0Остатки.НДСОстаток И (НЕ НДСРеализация0Остатки.СуммаБезНДСОстаток + НДСРеализация0Остатки.НДСОстаток < 0) ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ КАК ТребуетсяКорректировка, ВЫБОР КОГДА НДСНачисленныйОстатки.ВидЦенности = ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.НалоговыйАгентКомитент) ТОГДА НДСНачисленныйОстатки.ДоговорКонтрагента ИНАЧЕ НЕОПРЕДЕЛЕНО КОНЕЦ КАК ДоговорКонтрагента ПОМЕСТИТЬ ВТ1 ИЗ РегистрНакопления.НДСРеализация0.Остатки( &КонецПериодаГраница, Организация = &Организация И Состояние В (&ОтрабатываемыеСостояния)) КАК НДСРеализация0Остатки ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УчетнаяПолитикаОрганизаций КАК УчетнаяПолитикаОрганизаций ПО (УчетнаяПолитикаОрганизаций.Организация = НДСРеализация0Остатки.Организация) И (УчетнаяПолитикаОрганизаций.Период В (ВЫБРАТЬ МАКСИМУМ(УчетнаяПолитикаОрганизаций.Период) КАК Период ИЗ РегистрСведений.УчетнаяПолитикаОрганизаций КАК УчетнаяПолитикаОрганизаций ГДЕ ЕСТЬNULL(НДСРеализация0Остатки.СчетФактура.Дата, &КонецПериода) >= УчетнаяПолитикаОрганизаций.Период И УчетнаяПолитикаОрганизаций.Организация = НДСРеализация0Остатки.Организация)) ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.НДСНачисленный.Остатки(&КонецПериодаГраница, Организация = &Организация) КАК НДСНачисленныйОстатки ПО НДСРеализация0Остатки.СчетФактура = НДСНачисленныйОстатки.СчетФактура И НДСРеализация0Остатки.ВидЦенности = НДСНачисленныйОстатки.ВидЦенности И НДСРеализация0Остатки.СтавкаНДС = НДСНачисленныйОстатки.СтавкаНДС ГДЕ (НДСРеализация0Остатки.СуммаБезНДСОстаток > 0 ИЛИ НДСРеализация0Остатки.НДСОстаток > 0) И (НЕ НДСРеализация0Остатки.СчетФактура В (ВЫБРАТЬ РАЗЛИЧНЫЕ Хозрасчетный.Регистратор ИЗ РегистрБухгалтерии.Хозрасчетный КАК Хозрасчетный ГДЕ Хозрасчетный.СчетКт В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСРазнымиДебиторамиИКредиторами)) И Хозрасчетный.Регистратор = НДСНачисленныйОстатки.СчетФактура)) И НДСРеализация0Остатки.СчетФактура.Дата >= &НачалоПериода ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ1.Организация, ВТ1.СчетФактура КАК СчетФактура, ВТ1.СчетФактураДата КАК СчетФактураДата, ВТ1.МоментОпределенияНалоговойБазыНДС, ВТ1.ВидЦенности, ВТ1.СтавкаНДС, ВТ1.СуммаНДС КАК СуммаНДС, ВТ1.СуммаСНДС КАК СуммаСНДС, ВТ1.Состояние, ВТ1.Покупатель, ВТ1.СуммаСНДС_НачисленоВсего, ВТ1.ТребуетсяКорректировка, ВТ1.ДоговорКонтрагента, ВЫБОР КОГДА ХозрасчетныйОбороты.СуммаОборот > 0 ТОГДА ВТ1.СуммаБезНДС - ХозрасчетныйОбороты.СуммаОборот ИНАЧЕ ВТ1.СуммаБезНДС КОНЕЦ КАК СуммаБезНДС ИЗ ВТ1 КАК ВТ1 ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Обороты(, &КонецПериодаГраница, Регистратор, Счет В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСРазнымиДебиторамиИКредиторами)), , , , ) КАК ХозрасчетныйОбороты ПО ВТ1.СчетФактура = ХозрасчетныйОбороты.Регистратор СГРУППИРОВАТЬ ПО ВТ1.Организация, ВТ1.СчетФактура, ВТ1.СчетФактураДата, ВТ1.МоментОпределенияНалоговойБазыНДС, ВТ1.ВидЦенности, ВТ1.СтавкаНДС, ВТ1.СуммаНДС, ВТ1.СуммаСНДС, ВТ1.Состояние, ВТ1.Покупатель, ВТ1.СуммаСНДС_НачисленоВсего, ВТ1.ТребуетсяКорректировка, ВТ1.ДоговорКонтрагента, ВЫБОР КОГДА ХозрасчетныйОбороты.СуммаОборот > 0 ТОГДА ВТ1.СуммаБезНДС - ХозрасчетныйОбороты.СуммаОборот ИНАЧЕ ВТ1.СуммаБезНДС КОНЕЦ УПОРЯДОЧИТЬ ПО СчетФактураДата, СчетФактура ИТОГИ СУММА(СуммаНДС), СУММА(СуммаСНДС) ПО СчетФактура |
|||
16
Pro-tone
05.08.11
✎
10:40
|
(14) Спасибо ! Я еще нашел косяк свой был в :
ГДЕ (НДСРеализация0Остатки.СуммаБезНДСОстаток > 0 ИЛИ НДСРеализация0Остатки.НДСОстаток > 0) И (НЕ НДСРеализация0Остатки.СчетФактура В (ВЫБРАТЬ РАЗЛИЧНЫЕ Хозрасчетный.Регистратор ИЗ РегистрБухгалтерии.Хозрасчетный КАК Хозрасчетный ГДЕ Хозрасчетный.СчетКт В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСРазнымиДебиторамиИКредиторами)) И Хозрасчетный.Регистратор = НДСНачисленныйОстатки.СчетФактура)) это я раньше писал, и это нужно было тоже убрать |
|||
17
catena
05.08.11
✎
10:41
|
(15)И? Какие остались вопросы?
Кстати, а что, счф проводки в БУ делает? |
|||
18
Maxus43
05.08.11
✎
10:42
|
(17) Счф в данном контексте - документы
|
|||
19
Pro-tone
05.08.11
✎
10:44
|
Окночательный текст после все правок выглядит так:
ВЫБРАТЬ НДСРеализация0Остатки.Организация, НДСРеализация0Остатки.СчетФактура КАК СчетФактура, ЕСТЬNULL(НДСРеализация0Остатки.СчетФактура.Дата, &КонецПериода) КАК СчетФактураДата, ВЫБОР КОГДА ЕСТЬNULL(НДСРеализация0Остатки.СчетФактура.Дата, &КонецПериода) >= &Начало2006Года ТОГДА &МоментОпределения_ПоОтгрузке ИНАЧЕ ЕСТЬNULL(УчетнаяПолитикаОрганизаций.МоментОпределенияНалоговойБазыНДС, &МоментОпределения_ПоОтгрузке) КОНЕЦ КАК МоментОпределенияНалоговойБазыНДС, НДСРеализация0Остатки.ВидЦенности, НДСРеализация0Остатки.СтавкаНДС, ЕСТЬNULL(НДСРеализация0Остатки.СуммаБезНДСОстаток, 0) КАК СуммаБезНДС, ЕСТЬNULL(НДСРеализация0Остатки.НДСОстаток, 0) КАК СуммаНДС, ЕСТЬNULL(НДСРеализация0Остатки.СуммаБезНДСОстаток, 0) + ЕСТЬNULL(НДСРеализация0Остатки.НДСОстаток, 0) КАК СуммаСНДС, НДСРеализация0Остатки.Состояние, НДСНачисленныйОстатки.Покупатель, НДСНачисленныйОстатки.СуммаБезНДСОстаток + НДСНачисленныйОстатки.НДСОстаток КАК СуммаСНДС_НачисленоВсего, ВЫБОР КОГДА НДСНачисленныйОстатки.СуммаБезНДСОстаток + НДСНачисленныйОстатки.НДСОстаток < НДСРеализация0Остатки.СуммаБезНДСОстаток + НДСРеализация0Остатки.НДСОстаток И (НЕ НДСРеализация0Остатки.СуммаБезНДСОстаток + НДСРеализация0Остатки.НДСОстаток < 0) ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ КАК ТребуетсяКорректировка, ВЫБОР КОГДА НДСНачисленныйОстатки.ВидЦенности = ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.НалоговыйАгентКомитент) ТОГДА НДСНачисленныйОстатки.ДоговорКонтрагента ИНАЧЕ НЕОПРЕДЕЛЕНО КОНЕЦ КАК ДоговорКонтрагента ПОМЕСТИТЬ ВТ1 ИЗ РегистрНакопления.НДСРеализация0.Остатки( &КонецПериодаГраница, Организация = &Организация И Состояние В (&ОтрабатываемыеСостояния)) КАК НДСРеализация0Остатки ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УчетнаяПолитикаОрганизаций КАК УчетнаяПолитикаОрганизаций ПО (УчетнаяПолитикаОрганизаций.Организация = НДСРеализация0Остатки.Организация) И (УчетнаяПолитикаОрганизаций.Период В (ВЫБРАТЬ МАКСИМУМ(УчетнаяПолитикаОрганизаций.Период) КАК Период ИЗ РегистрСведений.УчетнаяПолитикаОрганизаций КАК УчетнаяПолитикаОрганизаций ГДЕ ЕСТЬNULL(НДСРеализация0Остатки.СчетФактура.Дата, &КонецПериода) >= УчетнаяПолитикаОрганизаций.Период И УчетнаяПолитикаОрганизаций.Организация = НДСРеализация0Остатки.Организация)) ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.НДСНачисленный.Остатки(&КонецПериодаГраница, Организация = &Организация) КАК НДСНачисленныйОстатки ПО НДСРеализация0Остатки.СчетФактура = НДСНачисленныйОстатки.СчетФактура И НДСРеализация0Остатки.ВидЦенности = НДСНачисленныйОстатки.ВидЦенности И НДСРеализация0Остатки.СтавкаНДС = НДСНачисленныйОстатки.СтавкаНДС ГДЕ (НДСРеализация0Остатки.СуммаБезНДСОстаток > 0 ИЛИ НДСРеализация0Остатки.НДСОстаток > 0) И НДСРеализация0Остатки.СчетФактура.Дата >= &НачалоПериода ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ1.Организация, ВТ1.СчетФактура КАК СчетФактура, ВТ1.СчетФактураДата КАК СчетФактураДата, ВТ1.МоментОпределенияНалоговойБазыНДС, ВТ1.ВидЦенности, ВТ1.СтавкаНДС, ВТ1.СуммаНДС КАК СуммаНДС, ВТ1.СуммаСНДС КАК СуммаСНДС, ВТ1.Состояние, ВТ1.Покупатель, ВТ1.СуммаСНДС_НачисленоВсего, ВТ1.ТребуетсяКорректировка, ВТ1.ДоговорКонтрагента, ВЫБОР КОГДА ХозрасчетныйОбороты.СуммаОборот > 0 ТОГДА ВТ1.СуммаБезНДС - ХозрасчетныйОбороты.СуммаОборот ИНАЧЕ ВТ1.СуммаБезНДС КОНЕЦ КАК СуммаБезНДС ИЗ ВТ1 КАК ВТ1 ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Обороты(, &КонецПериодаГраница, Регистратор, Счет В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСРазнымиДебиторамиИКредиторами)), , , , ) КАК ХозрасчетныйОбороты ПО ВТ1.СчетФактура = ХозрасчетныйОбороты.Регистратор СГРУППИРОВАТЬ ПО ВТ1.Организация, ВТ1.СчетФактура, ВТ1.СчетФактураДата, ВТ1.МоментОпределенияНалоговойБазыНДС, ВТ1.ВидЦенности, ВТ1.СтавкаНДС, ВТ1.СуммаНДС, ВТ1.СуммаСНДС, ВТ1.Состояние, ВТ1.Покупатель, ВТ1.СуммаСНДС_НачисленоВсего, ВТ1.ТребуетсяКорректировка, ВТ1.ДоговорКонтрагента, ВЫБОР КОГДА ХозрасчетныйОбороты.СуммаОборот > 0 ТОГДА ВТ1.СуммаБезНДС - ХозрасчетныйОбороты.СуммаОборот ИНАЧЕ ВТ1.СуммаБезНДС КОНЕЦ УПОРЯДОЧИТЬ ПО СчетФактураДата, СчетФактура ИТОГИ СУММА(СуммаНДС), СУММА(СуммаСНДС) ПО СчетФактура ((17) сч-ф это как правило для нашего случая это реализации. ССч-ф это псевдоним в запросе которым обозначили документы ддвижения по БУ |
|||
20
Pro-tone
05.08.11
✎
10:46
|
В общем, друзья, большое вам спасибо !!!
Сам бы никогда не додумался про эти подводные камни !!! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |