Имя: Пароль:
1C
1С v8
Как избавиться от второй точки в запросе?
0 Anttonnio
 
18.03.16
09:00
Добрый день!

Есть запрос к 62 счету, по результату необходимо выводить Даду документа из Субконто3(где может быть любой доукмент из 35 Возможных) с чем тогда надо соединять?
1 Ёпрст
 
18.03.16
09:04
либо перечислить нужные документы, либо забить и через точку, подумаешь, присоединит все
2 Лефмихалыч
 
18.03.16
09:05
ВЫБОР КОГДА ТОГДА
3 Лефмихалыч
 
18.03.16
09:05
быстро это работать не будет в любом случае
4 Рэйв
 
18.03.16
09:07
(0)Если субконто заполнено, то точка соединит с чем надо. Все остальные велосипеды будут работать не факт что быстрее
5 Ёпрст
 
18.03.16
09:13
(4) ну почему, если ограничить поиск конкретными видами, будет быстрее
6 Рэйв
 
18.03.16
09:14
(5)Оно конечно, но ТС судя по всему сам не знает какими видами ограничить
7 Ёпрст
 
18.03.16
09:15
(6) тогда забить болт, пусть ждут :)
8 Anttonnio
 
18.03.16
09:15
Проблема в том, что потом я ещё по этому документу соединяю с 76.АВ и тут уже получается больше 256 таблиц через двойную точку
9 Рэйв
 
18.03.16
09:18
(8)попробуй разгрузить временными таблицами или вложенными запросами.
10 Anttonnio
 
18.03.16
09:23
Сейчас проверил, даже без соединения запрос на 60.01 падает с ошибкой скуля 256 табл под пользователем с ограниченнымим правами(из-за достройки таблиц по РЛС)
Все таки от точки хотелось бы избавиться...

Может можно динамически как-то получить все типы документов, потом сделать по ним запрос и соединить с хозрасчетным? Или только в двух запросах?
11 ДенисЧ
 
18.03.16
09:24
Если у тебя скуль падает с такой ошибкой, то его нужно обновить
12 Anttonnio
 
18.03.16
09:26
И что даст обновление? Я имею ввиду что скуль не возрващает результат а возвращает ошибку 256 таблиц.

Сам то он нормально продолжает рабоать
13 ДенисЧ
 
18.03.16
09:27
(12) Ошибка 256 таблиц наблюдалась в 2000м и 2005м (вроде).
В более старших такой ошибки уже нет.
14 asady
 
18.03.16
09:29
(0) если дата документа нужна только при выводе отчета - предлагаю в запросе её не получать
15 Anttonnio
 
18.03.16
09:30
(14) Нет она так же нужна в отборе в запросе
16 asady
 
18.03.16
09:31
(15) может запрос оптимизировать - выкладывай сюда
17 Anttonnio
 
18.03.16
09:32
(16)
ВЫБРАТЬ
    Остатки.Субконто1 КАК Контрагент,
    Остатки.Субконто2 КАК Договор,
    Остатки.Субконто3 КАК ДокументЗадолженности,
    ВЫБОР
        КОГДА ТИПЗНАЧЕНИЯ(Остатки.Субконто3) = ТИП(Документ.ДокументРасчетовСКонтрагентом)
            ТОГДА ВЫБОР
                    КОГДА Остатки.Субконто3.ДатаВходящегоДокумента <> ДАТАВРЕМЯ(1,1,1)
                        ТОГДА  Остатки.Субконто3.ДатаВходящегоДокумента
                      ИНАЧЕ  Остатки.Субконто3.Дата
                    КОНЕЦ
        ИНАЧЕ Остатки.Субконто3.Дата
    КОНЕЦ КАК ДатаЗадолженности,
    Остатки.СуммаОстатокКт КАК ОстатокАванса
ИЗ
    РегистрБухгалтерии.Хозрасчетный.Остатки(&Дата, Счет = &Счет62, , Организация = &Организация) КАК Остатки
ГДЕ
    ВЫБОР
        КОГДА ТИПЗНАЧЕНИЯ(Остатки.Субконто3) = ТИП(Документ.ДокументРасчетовСКонтрагентом)
            ТОГДА ВЫБОР
                    КОГДА Остатки.Субконто3.ДатаВходящегоДокумента <> ДАТАВРЕМЯ(1,1,1)
                        ТОГДА  Остатки.Субконто3.ДатаВходящегоДокумента
                      ИНАЧЕ  Остатки.Субконто3.Дата
                    КОНЕЦ
            ИНАЧЕ Остатки.Субконто3.Дата
        КОНЕЦ < &ДатаЗадолженности
18 darius357
 
18.03.16
09:33
ну как всегда побакланили, и нифига толку
19 Armando
 
18.03.16
09:37
(0) В типовых есть такой замечательный регистр сведений ДанныеПервичныхДокументов. Он именно для этого и предназначен.
20 asady
 
18.03.16
10:15
(19) +1

ВЫБРАТЬ

    Остатки.Субконто1 КАК Контрагент,
    Остатки.Субконто2 КАК Договор,
    Остатки.Субконто3 КАК ДокументЗадолженности,
    Остатки.СуммаОстатокКт КАК ОстатокАванса ПОМЕСТИТЬ ВТ_Остатки
ИЗ
    РегистрБухгалтерии.Хозрасчетный.Остатки(&Дата, Счет = &Счет62, , Организация = &Организация) КАК Остатки
;
ВЫБРАТЬ
    Остатки.Контрагент,
    Остатки.Договор,
    Остатки.ДокументЗадолженности,
    Остатки.ОстатокАванса,
    ДПД.ДатаРегистратора КАК ДатаЗадолженности
ИЗ
    ВТ_Остатки КАК Остатки
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ДанныеПервичныхДокументов КАК ДПД
ПО Остатки.ДокументЗадолженности = ДПД.Документ
И ДПД.ДатаРегистратора<&ДатаЗадолженности
21 Карупян
 
18.03.16
10:19
Если есть журнал или регистр с датой, в котором все эти документы, то присоединить его
22 Anttonnio
 
18.03.16
13:49
(19) Спасибо больлшое!)))) Да этот регистр стал моим спасением!

Соединил с ним без временых таблиц, все заработало
Основная теорема систематики: Новые системы плодят новые проблемы.