Имя: Пароль:
1C
1С v8
Запрос. Как параметр в условии связать с выбранным полем ?
,
0 Pro-tone
 
27.07.11
12:12
Есть примерно такое:


ВЫБРАТЬ
  Поле1
ИЗ
  РегистрБухгалтерии.Хозрасчетный
ГДЕ
  ВЫБОР
     КОГДА НЕ Поле1 В
(ВЫБРАТЬ
   Хозрасчетный.Регистратор
ИЗ
   РегистрБухгалтерии.Хозрасчетный КАК Хозрасчетный
ГДЕ
   Хозрасчетный.СчетКт В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСРазнымиДебиторамиИКредиторами))
И Хозрасчетный.Регистратор = &ХОЧУ_ТУТ_Поле1) ТОГДА Поле1
ИНАЧЕ ЛОЖЬ
КОНЕЦ



и &ХОЧУ_ТУТ_Поле1 хочу Поле1, но не через параметр запроса а чтоб Хозрасчетный.Регистратор = Поле1. Но так дает ошибку. Как сделать ? Ну или через параметр, но чтоб его в этом же запросе и доставать, а не извне, ибо я его не знаю извне.

А на словах задача такая : проверять в условии делало ли Поле1 движение по 76му счету. Если да - то исключать выбор этого поля. Хотелось бы одним запросом.
1 Rebelx
 
27.07.11
12:15
бред ты написал непонятный
2 Pro-tone
 
27.07.11
12:22
.
3 Pro-tone
 
27.07.11
12:23
(1) а ты бы шел мимо раз нечего написать
4 Mort
 
27.07.11
12:24
(3) Вообще-то (1) прав, без 0.5 не разобраться.
А вообще телепат мне подсказывает здесь нужно соединение таблицы поле1 и хоз регистра с отбором по NULL.
5 vicof
 
27.07.11
12:24
бред ты написал непонятный.
6 vicof
 
27.07.11
12:26
НЕ Хозрасчетный.Регистратор ССЫЛКА &ХОЧУ_ТУТ_Поле1
7 Buster007
 
27.07.11
12:27
делаешь запрос к виртуальной таблице оборотыДтКт с периодичностью Регистратор, устанавливаешь условие на СчетКт=76 и суешь результат допустим в виртуальную таблицу, потом делаешь свой запрос
ВЫБРАТЬ
  Поле1
ИЗ
  РегистрБухгалтерии.Хозрасчетный
ГДЕ
(НЕ Поле1 В (Выбрать А.Регистратор из ИмяВиртуальнойТаблицы как А)
и всего делов
8 Pro-tone
 
27.07.11
12:30
(7)а как мне в Регистратор временной таблицы передать уже нужное мне значение, то есть поле1 ?
9 Ненавижу 1С
 
гуру
27.07.11
12:34
в подзапросах вроде бы В ИЕРАРХИИ не работает, не?
10 Defender aka LINN
 
27.07.11
12:34
(8) Ты не умеешь параметры у запросов устанавливать, или что?
11 Defender aka LINN
 
27.07.11
12:35
(9) С чего вдруг?
12 Pro-tone
 
27.07.11
12:35
(10) мне не нужно значение параметра передать в самом запросе !!!
13 Pro-tone
 
27.07.11
12:36
фикс (10) мне нужно значение параметра передать в самом запросе !!!  (без НЕ перед НУЖНО)
14 Ненавижу 1С
 
гуру
27.07.11
12:38
(11) да, показалось что-то ))
15 Mkonst
 
27.07.11
12:39
(13) так в (7) написали как нужно делать!
16 vicof
 
27.07.11
12:39
(13) Попробуй представить, как твой запрос физически выполняться будет.
17 Pro-tone
 
27.07.11
12:43
(16) в (7) будет лопатить все записи регистра по 76му счету и засовывать в врем таблицу, это не верно, нужно условие в параметр вирт таблицы, чтобы лопатило только по Полю1. Надо его передать значение Поля1 в запрос по 76 счету
18 Pro-tone
 
27.07.11
12:44
(17) для (15)
19 vicof
 
27.07.11
12:50
(17) поле из текущего запроса не получится установить как параметр таблицы в этом же запросе.
20 Pro-tone
 
27.07.11
12:52
(19) вот в этом и был вопрос! Вместо этого было (1) и (5)
21 Buster007
 
27.07.11
12:53
(17) что за "поле1"? и откуда оно у тебя берется?
22 Buster007
 
27.07.11
12:53
(20) ты нормально напиши что тебе надо. тебя без пол литра не понять.
23 Сергей Д
 
27.07.11
12:55
Ээээ... ни фига не понял... но может быть динамические запросы подойдут?
24 Pro-tone
 
27.07.11
12:58
(20)

Запрос = Новый Запрос;
   Запрос.Текст =
       "ВЫБРАТЬ
       |    НДСНачисленныйОстатки.СчетФактура КАК СчетФактура,
       |    ЕСТЬNULL(НДСНачисленныйОстатки.СчетФактура.Дата, &КонецПериода) КАК СчетФактураДата,
       |    ВЫБОР
       |        КОГДА ЕСТЬNULL(НДСНачисленныйОстатки.СчетФактура.Дата, &КонецПериода) >= &Начало2006Года
       |            ТОГДА &МоментОпределения_ПоОтгрузке
       |        ИНАЧЕ ЕСТЬNULL(УчетнаяПолитикаОрганизаций.МоментОпределенияНалоговойБазыНДС, &МоментОпределения_ПоОтгрузке)
       |    КОНЕЦ КАК МоментОпределенияНалоговойБазыНДС,
       |    НДСНачисленныйОстатки.ВидЦенности,
       |    НДСНачисленныйОстатки.СтавкаНДС,
       |    НДСНачисленныйОстатки.Покупатель,
       |    СУММА(ЕСТЬNULL(НДСНачисленныйОстатки.СуммаБезНДСОстаток, 0) - ЕСТЬNULL(НДСРеализация0Остатки.СуммаБезНДСОстаток, 0)) КАК СуммаБезНДС,
       |    СУММА(ЕСТЬNULL(НДСНачисленныйОстатки.НДСОстаток, 0) - ЕСТЬNULL(НДСРеализация0Остатки.НДСОстаток, 0)) КАК СуммаНДС,
       |    СУММА(ЕСТЬNULL(НДСНачисленныйОстатки.СуммаБезНДСОстаток, 0) - ЕСТЬNULL(НДСРеализация0Остатки.СуммаБезНДСОстаток, 0) + ЕСТЬNULL(НДСНачисленныйОстатки.НДСОстаток, 0) - ЕСТЬNULL(НДСРеализация0Остатки.НДСОстаток, 0)) КАК СуммаСНДС,
       |    ВЫБОР
       |        КОГДА НДСНачисленныйОстатки.ВидЦенности = ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.НалоговыйАгентКомитент)
       |            ТОГДА НДСНачисленныйОстатки.ДоговорКонтрагента
       |        ИНАЧЕ НЕОПРЕДЕЛЕНО
       |    КОНЕЦ КАК ДоговорКонтрагента
       |ИЗ
       |    РегистрНакопления.НДСНачисленный.Остатки(
       |            &КонецПериодаГраница,
       |            Организация = &Организация
       |                И (НЕ ВидНачисления В (&ИсключаемыеВидыНачисления))) КАК НДСНачисленныйОстатки
       |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.НДСРеализация0.Остатки(&КонецПериодаГраница, Организация = &Организация) КАК НДСРеализация0Остатки
       |        ПО НДСНачисленныйОстатки.СчетФактура = НДСРеализация0Остатки.СчетФактура
       |            И НДСНачисленныйОстатки.ВидЦенности = НДСРеализация0Остатки.ВидЦенности
       |            И НДСНачисленныйОстатки.СтавкаНДС = НДСРеализация0Остатки.СтавкаНДС
       |            И НДСНачисленныйОстатки.Покупатель = НДСРеализация0Остатки.Покупатель
       |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УчетнаяПолитикаОрганизаций КАК УчетнаяПолитикаОрганизаций
       |        ПО УчетнаяПолитикаОрганизаций.Организация = НДСНачисленныйОстатки.Организация
       |            И (УчетнаяПолитикаОрганизаций.Период В
       |                (ВЫБРАТЬ
       |                    МАКСИМУМ(УчетнаяПолитикаОрганизаций.Период) КАК Период
       |                ИЗ
       |                    РегистрСведений.УчетнаяПолитикаОрганизаций КАК УчетнаяПолитикаОрганизаций
       |                ГДЕ
       |                    ЕСТЬNULL(НДСНачисленныйОстатки.СчетФактура.Дата, &КонецПериода) >= УчетнаяПолитикаОрганизаций.Период
       |                    И УчетнаяПолитикаОрганизаций.Организация = НДСНачисленныйОстатки.Организация))
       |
       |СГРУППИРОВАТЬ ПО
       |    НДСНачисленныйОстатки.ВидЦенности,
       |    НДСНачисленныйОстатки.СчетФактура,
       |    НДСНачисленныйОстатки.СтавкаНДС,
       |    НДСНачисленныйОстатки.Покупатель,
       |    ЕСТЬNULL(НДСНачисленныйОстатки.СчетФактура.Дата, &КонецПериода),
       |    ВЫБОР
       |        КОГДА ЕСТЬNULL(НДСНачисленныйОстатки.СчетФактура.Дата, &КонецПериода) >= &Начало2006Года
       |            ТОГДА &МоментОпределения_ПоОтгрузке
       |        ИНАЧЕ ЕСТЬNULL(УчетнаяПолитикаОрганизаций.МоментОпределенияНалоговойБазыНДС, &МоментОпределения_ПоОтгрузке)
       |    КОНЕЦ,
       |    ВЫБОР
       |        КОГДА НДСНачисленныйОстатки.ВидЦенности = ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.НалоговыйАгентКомитент)
       |            ТОГДА НДСНачисленныйОстатки.ДоговорКонтрагента
       |        ИНАЧЕ НЕОПРЕДЕЛЕНО
       |    КОНЕЦ
       |
       |ИМЕЮЩИЕ
       |    (НЕ СУММА(ЕСТЬNULL(НДСНачисленныйОстатки.СуммаБезНДСОстаток, 0) - ЕСТЬNULL(НДСРеализация0Остатки.СуммаБезНДСОстаток, 0) + ЕСТЬNULL(НДСНачисленныйОстатки.НДСОстаток, 0) - ЕСТЬNULL(НДСРеализация0Остатки.НДСОстаток, 0)) = 0)
       |
       |УПОРЯДОЧИТЬ ПО
       |    СчетФактураДата,
       |    СчетФактура
       |ИТОГИ
       |    СУММА(СуммаБезНДС),
       |    СУММА(СуммаНДС),
       |    СУММА(СуммаСНДС)
       |ПО
       |    СчетФактура";


(21) поле1  это СчетФактура
25 Pro-tone
 
27.07.11
12:59
(24) для (21)
26 Pro-tone
 
27.07.11
13:06
Вот такое сделал - и хз будет ли оно правильно работать


   Запрос = Новый Запрос;
   Запрос.Текст =
       "ВЫБРАТЬ
       |    НДСНачисленныйОстатки.СчетФактура КАК СчетФактура,
       |    ЕСТЬNULL(НДСНачисленныйОстатки.СчетФактура.Дата, &КонецПериода) КАК СчетФактураДата,
       |    ВЫБОР
       |        КОГДА ЕСТЬNULL(НДСНачисленныйОстатки.СчетФактура.Дата, &КонецПериода) >= &Начало2006Года
       |            ТОГДА &МоментОпределения_ПоОтгрузке
       |        ИНАЧЕ ЕСТЬNULL(УчетнаяПолитикаОрганизаций.МоментОпределенияНалоговойБазыНДС, &МоментОпределения_ПоОтгрузке)
       |    КОНЕЦ КАК МоментОпределенияНалоговойБазыНДС,
       |    НДСНачисленныйОстатки.ВидЦенности,
       |    НДСНачисленныйОстатки.СтавкаНДС,
       |    НДСНачисленныйОстатки.Покупатель,
       |    СУММА(ЕСТЬNULL(НДСНачисленныйОстатки.СуммаБезНДСОстаток, 0) - ЕСТЬNULL(НДСРеализация0Остатки.СуммаБезНДСОстаток, 0)) КАК СуммаБезНДС,
       |    СУММА(ЕСТЬNULL(НДСНачисленныйОстатки.НДСОстаток, 0) - ЕСТЬNULL(НДСРеализация0Остатки.НДСОстаток, 0)) КАК СуммаНДС,
       |    СУММА(ЕСТЬNULL(НДСНачисленныйОстатки.СуммаБезНДСОстаток, 0) - ЕСТЬNULL(НДСРеализация0Остатки.СуммаБезНДСОстаток, 0) + ЕСТЬNULL(НДСНачисленныйОстатки.НДСОстаток, 0) - ЕСТЬNULL(НДСРеализация0Остатки.НДСОстаток, 0)) КАК СуммаСНДС,
       |    ВЫБОР
       |        КОГДА НДСНачисленныйОстатки.ВидЦенности = ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.НалоговыйАгентКомитент)
       |            ТОГДА НДСНачисленныйОстатки.ДоговорКонтрагента
       |        ИНАЧЕ НЕОПРЕДЕЛЕНО
       |    КОНЕЦ КАК ДоговорКонтрагента
       |ПОМЕСТИТЬ ТаблицаЗаписейПо_НДС_Начисленный
       |ИЗ
       |    РегистрНакопления.НДСНачисленный.Остатки(
       |            &КонецПериодаГраница,
       |            Организация = &Организация
       |                И (НЕ ВидНачисления В (&ИсключаемыеВидыНачисления))) КАК НДСНачисленныйОстатки
       |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.НДСРеализация0.Остатки(&КонецПериодаГраница, Организация = &Организация) КАК НДСРеализация0Остатки
       |        ПО НДСНачисленныйОстатки.СчетФактура = НДСРеализация0Остатки.СчетФактура
       |            И НДСНачисленныйОстатки.ВидЦенности = НДСРеализация0Остатки.ВидЦенности
       |            И НДСНачисленныйОстатки.СтавкаНДС = НДСРеализация0Остатки.СтавкаНДС
       |            И НДСНачисленныйОстатки.Покупатель = НДСРеализация0Остатки.Покупатель
       |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УчетнаяПолитикаОрганизаций КАК УчетнаяПолитикаОрганизаций
       |        ПО (УчетнаяПолитикаОрганизаций.Организация = НДСНачисленныйОстатки.Организация)
       |            И (УчетнаяПолитикаОрганизаций.Период В
       |                (ВЫБРАТЬ
       |                    МАКСИМУМ(УчетнаяПолитикаОрганизаций.Период) КАК Период
       |                ИЗ
       |                    РегистрСведений.УчетнаяПолитикаОрганизаций КАК УчетнаяПолитикаОрганизаций
       |                ГДЕ
       |                    ЕСТЬNULL(НДСНачисленныйОстатки.СчетФактура.Дата, &КонецПериода) >= УчетнаяПолитикаОрганизаций.Период
       |                    И УчетнаяПолитикаОрганизаций.Организация = НДСНачисленныйОстатки.Организация))
       |
       |СГРУППИРОВАТЬ ПО
       |    НДСНачисленныйОстатки.ВидЦенности,
       |    НДСНачисленныйОстатки.СчетФактура,
       |    НДСНачисленныйОстатки.СтавкаНДС,
       |    НДСНачисленныйОстатки.Покупатель,
       |    ЕСТЬNULL(НДСНачисленныйОстатки.СчетФактура.Дата, &КонецПериода),
       |    ВЫБОР
       |        КОГДА ЕСТЬNULL(НДСНачисленныйОстатки.СчетФактура.Дата, &КонецПериода) >= &Начало2006Года
       |            ТОГДА &МоментОпределения_ПоОтгрузке
       |        ИНАЧЕ ЕСТЬNULL(УчетнаяПолитикаОрганизаций.МоментОпределенияНалоговойБазыНДС, &МоментОпределения_ПоОтгрузке)
       |    КОНЕЦ,
       |    ВЫБОР
       |        КОГДА НДСНачисленныйОстатки.ВидЦенности = ЗНАЧЕНИЕ(Перечисление.ВидыЦенностей.НалоговыйАгентКомитент)
       |            ТОГДА НДСНачисленныйОстатки.ДоговорКонтрагента
       |        ИНАЧЕ НЕОПРЕДЕЛЕНО
       |    КОНЕЦ
       |
       |ИМЕЮЩИЕ
       |    (НЕ СУММА(ЕСТЬNULL(НДСНачисленныйОстатки.СуммаБезНДСОстаток, 0) - ЕСТЬNULL(НДСРеализация0Остатки.СуммаБезНДСОстаток, 0) + ЕСТЬNULL(НДСНачисленныйОстатки.НДСОстаток, 0) - ЕСТЬNULL(НДСРеализация0Остатки.НДСОстаток, 0)) = 0)
       |;
       |
       |////////////////////////////////////////////////////////////////////////////////
       |ВЫБРАТЬ
       |    Табл1.СчетФактура КАК СчетФактура,
       |    Табл1.СчетФактураДата КАК СчетФактураДата,
       |    Табл1.МоментОпределенияНалоговойБазыНДС,
       |    Табл1.ВидЦенности,
       |    Табл1.СтавкаНДС,
       |    Табл1.Покупатель,
       |    Табл1.СуммаБезНДС КАК СуммаБезНДС,
       |    Табл1.СуммаНДС КАК СуммаНДС,
       |    Табл1.СуммаСНДС КАК СуммаСНДС,
       |    Табл1.ДоговорКонтрагента
       |ИЗ
       |    РегистрБухгалтерии.Хозрасчетный КАК Хозрасчетный
       |        ЛЕВОЕ СОЕДИНЕНИЕ ТаблицаЗаписейПо_НДС_Начисленный КАК Табл1
       |        ПО (Табл1.СчетФактура = Хозрасчетный.Регистратор)
       |ГДЕ
       |    (НЕ Хозрасчетный.СчетКт В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСРазнымиДебиторамиИКредиторами)))
       |
       |УПОРЯДОЧИТЬ ПО
       |    СчетФактураДата,
       |    СчетФактура
       |ИТОГИ
       |    СУММА(СуммаБезНДС),
       |    СУММА(СуммаНДС),
       |    СУММА(СуммаСНДС)
       |ПО
       |    СчетФактура";
27 Buster007
 
27.07.11
13:07
(25) ну и?
в параметры виртуальной таблицы, ты сможешь наложить условие только в том случае, если будешь использовать временные таблицы.
Таким образом у тебя есть 2 выхода, либо вытащить все регистраторы, которые делали движения по Кт 76, либо можешь делать левое соединение к виртуальной таблице ОборотыДтКт также наложив условие на СчетКт = 76 и соединив по регистратору (например, ХозрасчетныйОборотыДтКт.Регистратор = НДСНачисленныйОстатки.СчетФактура), и потом наложив условие на одно из полей виртуальной таблицы ОборотыДтКт на проверку "Есть NULL"
28 Axel2009
 
27.07.11
13:08
(0) фигню написал вот и не работает. как тебе скуль будет проверять на истину значение поля1?? убери выбор и будет работать.

ВЫБРАТЬ РАЗЛИЧНЫЕ Ссылка
ИЗ Справочник.Номенклатура КАК СправочникНоменклатура
ГДЕ Ссылка В(ВЫБРАТЬ Номенклатура ИЗ Документ.ВозвратТоваровОтПокупателя.Товары КАК ВозвратОтПокупателяТовары
ГДЕ ВозвратОтПокупателяТовары.Номенклатура.ВидНоменклатуры = СправочникНоменклатура.ВидНоменклатуры)
работает.
29 Pro-tone
 
27.07.11
13:16
(27) а так, как я написал в (26) можно ?
30 Pro-tone
 
27.07.11
13:22
(28) здесь вопрос совсем не в этом
31 Pro-tone
 
27.07.11
13:35
(29) можно - и так работает )) только потом кодом из выборки нужно исключить поля с NULL и все !
32 Axel2009
 
27.07.11
13:35
(30) исходное условие такое
  ВЫБОР
     КОГДА НЕ Поле1 В
(ВЫБРАТЬ
   Хозрасчетный.Регистратор
ИЗ
   РегистрБухгалтерии.Хозрасчетный КАК Хозрасчетный
ГДЕ
   Хозрасчетный.СчетКт В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСРазнымиДебиторамиИКредиторами))

И Хозрасчетный.Регистратор = &ХОЧУ_ТУТ_Поле1) ТОГДА Поле1

ИНАЧЕ ЛОЖЬ
КОНЕЦ
ЛОЖЬ и Поле1 МЕЖДУ СОБОЙ НЕ СХОДЯТСЯ. если ругается, значит ошибка в синтаксисе!
33 Pro-tone
 
27.07.11
13:41
Спасибо, Buster007. От тебя от одного ответ прямой был на поставленный вопрос - что нельзя в запросе самом параметр передавать между подзапорсами, мол юзай пакетный запрос. Только так оно возможно.
34 Pro-tone
 
27.07.11
13:43
(32) я до выполнения кода еще тогда не дошел поэтому знать что оно ругнется или нет на то, я не мог, но все равно спасибо за желание помочь =)

и как всегда неСПАСИБО стебунам - вы только мешаете, честно, лучше не пишите ничего если хочется только свои острые слова показать
35 Axel2009
 
27.07.11
13:46
(33) какие параметры передавать МЕЖДУ подзапросами?
из основного запроса в подзапрос можно передавать поля и сравнивать.
36 Pro-tone
 
27.07.11
13:49
(35) типа такого

  ВЫБОР
     КОГДА НЕ СчетФактура В
(ВЫБРАТЬ
   Хозрасчетный.Регистратор
ИЗ
   РегистрБухгалтерии.Хозрасчетный КАК Хозрасчетный
ГДЕ
   Хозрасчетный.СчетКт В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСРазнымиДебиторамиИКредиторами))
И Хозрасчетный.Регистратор = СчетФактура) ТОГДА  СчетФактура
ИНАЧЕ ЛОЖЬ
КОНЕЦ


речь об этом пожелании была "Хозрасчетный.Регистратор = СчетФактура"
37 Pro-tone
 
27.07.11
13:50
которое реализовать нельзя, только можно так "Хозрасчетный.Регистратор = &СчетФактура" но извне передать значение параметра СчетФактура мы не можем, ибо он сам у нас является значением поля
38 Axel2009
 
27.07.11
13:51
(36) что за самолепный ВЫБОР?

НЕ СчетФактура В

(ВЫБРАТЬ
   Хозрасчетный.Регистратор
ИЗ
   РегистрБухгалтерии.Хозрасчетный КАК Хозрасчетный
ГДЕ
   Хозрасчетный.СчетКт В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСРазнымиДебиторамиИКредиторами))
И Хозрасчетный.Регистратор = НДСНачисленныйОстатки.СчетФактура)
39 Axel2009
 
27.07.11
13:52
(37) я в (28) вроде четко дал пример, где в подзапросе используется поле из основного запроса.
40 Pro-tone
 
27.07.11
13:53
(38) хорошо, попробую и так как ты написал ! )
41 Axel2009
 
27.07.11
14:02
(40) вообще непонятно зачем нужно это условие.
НЕ СчетФактура В

(ВЫБРАТЬ РАЗЛИЧНЫЕ
   Хозрасчетный.Регистратор
ИЗ
   РегистрБухгалтерии.Хозрасчетный КАК Хозрасчетный
ГДЕ
   Хозрасчетный.СчетКт В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСРазнымиДебиторамиИКредиторами))
42 Pro-tone
 
27.07.11
14:13
(38) ты неверно написал "И Хозрасчетный.Регистратор = НДСНачисленныйОстатки.СчетФактура" - это косяк. Можно только "И Хозрасчетный.Регистратор = &НДСНачисленныйОстатки.СчетФактура" и мы уперлись опять в то о чем я написал выше.

(40) вопрос производительности при таком варианте - низкий, ибо все записи достаются по 76му счету, а если это несколько лет ? Ждать час целый ? Вариант не годится.

Самый приемлимый - использовать пакетный запрос, с соединением по регистратору
43 Axel2009
 
27.07.11
14:19
1. что так хочется вставить вместо &НДСНачисленныйОстатки.СчетФактура я не понимаю категорически
2. пробовал, али предположил?
44 Pro-tone
 
27.07.11
15:13
(43)

1. ты сам пробовал Хозрасчетный.Регистратор = НДСНачисленныйОстатки.СчетФактура ? Попробуй ! ) Если ошибку не выдаст - ты инопланетянин и 1С у тебя инопланетная

2. пробовал
45 Axel2009
 
27.07.11
15:23
(44) да что добавлять если ты не можешь описать что тебе надо.
если то что в (26) тогда у тебя там дублей куча будет, когда по 1му регистратору несколько строк будет. но и это сделать можно без временной таблицы, а напрямую соединение рисовать к общему запросу. и нафиг не нужно в подзапрос писать условие из внешнего.
46 Pro-tone
 
27.07.11
15:24
(43) хотя... поршу прощения наверно, не совсем то делал, но твой вариант тоже работает ! только ошибка была в нем, надо было так


(НЕ НДСНачисленныйОстатки.СчетФактура В
               (ВЫБРАТЬ РАЗЛИЧНЫЕ
                   Хозрасчетный.Регистратор
               ИЗ
                   РегистрБухгалтерии.Хозрасчетный КАК Хозрасчетный
               ГДЕ
                   Хозрасчетный.СчетКт В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСРазнымиДебиторамиИКредиторами))))
47 Pro-tone
 
27.07.11
15:24
вместо "НЕ СчетФактура В" надо было писать "НЕ НДСНачисленныйОстатки.СчетФактура В"
48 Axel2009
 
27.07.11
15:27
(47) потому что текст ошибки рулит.. =)
49 Pro-tone
 
27.07.11
15:35
(48) а так твой вариант он даж лучше - меньше кода потом писать, вернее совсем не надо ибо не будет уже записей со значением NULL =) спасибо