Имя: Пароль:
1C
1С v8
Нужна помощь с запросом.
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
В общем, друзья, большое вам спасибо !!!

Сам бы никогда не додумался про эти подводные камни !!!