Имя: Пароль:
1C
1С v8
После обновления платформы запрос работает, но не открывается конструктором
0 hawksib
 
10.02.16
07:12
обновили платформу с 8.3.5.1383 на 8.3.7.1860 и перестали открываться конструктором запросы, программа говорит "{(30, 29)}: Поле не найдено "ВложенныйЗапрос.Контрагент.Код" ВложенныйЗапрос.Контрагент.<<?>>Код"
Пока выяснилось, что количество вложенных выборов влияет на определение типа поля контрагент и если убрать третий вложенный выбор запрос начинает открываться конструктором. Кто столкнулся?
САМ запрос:

ВЫБРАТЬ РАЗЛИЧНЫЕ
    ВложенныйЗапрос.Документ КАК Документ,
    ВЫБОР
        КОГДА ТИПЗНАЧЕНИЯ(ВложенныйЗапрос.Документ) = ТИП(Документ.ПоступлениеТоваровУслуг)
            ТОГДА ВложенныйЗапрос.Документ.Контрагент
        ИНАЧЕ ВЫБОР
                КОГДА ТИПЗНАЧЕНИЯ(ВложенныйЗапрос.Документ) = ТИП(Документ.ПеремещениеТоваров)
                    ТОГДА ВЫБОР
                            КОГДА ВложенныйЗапрос.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
                                ТОГДА ВложенныйЗапрос.Документ.СкладОтправитель
                            ИНАЧЕ ВложенныйЗапрос.Документ.СкладПолучатель
                        КОНЕЦ
            КОНЕЦ
    КОНЕЦ КАК Контрагент
ПОМЕСТИТЬ ВТДвижения
ИЗ
    (ВЫБРАТЬ РАЗЛИЧНЫЕ
        ТоварыНаСкладах.Регистратор КАК Документ,
        ТоварыНаСкладах.ВидДвижения КАК ВидДвижения
    ИЗ
        РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах
    
    СГРУППИРОВАТЬ ПО
        ТоварыНаСкладах.Регистратор,
        ТоварыНаСкладах.ВидДвижения) КАК ВложенныйЗапрос
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
    ВложенныйЗапрос.Контрагент.Код
ИЗ
    (ВЫБРАТЬ РАЗЛИЧНЫЕ
        ВТДвижения.Документ КАК Документ,
        ВТДвижения.Контрагент КАК Контрагент
    ИЗ
        ВТДвижения КАК ВТДвижения
    
    СГРУППИРОВАТЬ ПО
        ВТДвижения.Документ,
        ВТДвижения.Контрагент) КАК ВложенныйЗапрос
1 Klesk666
 
10.02.16
07:18
обнови платформу, а лучше наоборот
2 hawksib
 
10.02.16
07:24
(1) что значит наоборот? без обновления платформы не открывается программа, которая работает на управляемых формах, поэтому обновление платформы для меня является необходимостью, а вот в Управлении торговлей при обновлении платформы запросы перестали открываться
3 shuhard
 
10.02.16
07:26
(2) душещипательная история
4 MUXACb
 
10.02.16
08:27
(0) Для третьего вложенного набора укажи "КАК ВложенныйЗапрос1". Заработает?
5 kotletka
 
10.02.16
08:28
Откуда он знает что у тебя в контрагенте код есть, выбирай на уровне выше этот код точно так же как и контрагента
6 kotletka
 
10.02.16
08:30
Т.е

втдвижения.контрагент,
Втдвижения.контрагент.код как код
7 kotletka
 
10.02.16
08:30
Во вложенной это выберешь а потом из нее просто код тяни, а не контрагент код
8 hawksib
 
10.02.16
08:55
(4) не понял, как должен выглядеть текст запроса по вашему?
(7) это не очень красивый выход - много запросов переписывать сложных да и переписывать ВРУЧНУЮ, т.к. конструктором не открывается,
в 8.3.5.1383 она всё знала, сам запрос-то выполняется
9 mehfk
 
10.02.16
09:00
(0) Что будет в случае в поле "Контрагент", если будет документ отличный от поступления и перемещения?
1. Используй ВЫРАЗИТЬ
2. Не используй ТИПЗНАЧЕНИЯ, используй ССЫЛКА
10 mehfk
 
10.02.16
09:02
(8) >> сам запрос-то выполняется
это частный случай
11 hawksib
 
10.02.16
09:05
(9) в своем случае я перебираю там все типы документов, которые используются в организации, в последнем выборе у меня в ИНАЧЕ просто стоит NULL
(10) запрос выполняется на платформе 8.3.7.1860, у вас была такая проблема, дело именно в выразить?
12 mehfk
 
10.02.16
09:07
>> запрос выполняется на платформе 8.3.7.1860, у вас была такая проблема, дело именно в выразить?
я не пишу у..бищные запросы
13 hawksib
 
10.02.16
09:08
(10) с выразить тоже не работает

ВЫБРАТЬ РАЗЛИЧНЫЕ
    ВложенныйЗапрос.Документ КАК Документ,
    ВЫБОР
        КОГДА ВЫРАЗИТЬ(ВложенныйЗапрос.Документ КАК Документ.ПоступлениеТоваровУслуг) ССЫЛКА Документ.ПоступлениеТоваровУслуг
            ТОГДА ВложенныйЗапрос.Документ.Контрагент
        ИНАЧЕ ВЫБОР
                КОГДА ВЫРАЗИТЬ(ВложенныйЗапрос.Документ КАК Документ.ПеремещениеТоваров) ССЫЛКА Документ.ПеремещениеТоваров
                    ТОГДА ВЫБОР
                            КОГДА ВложенныйЗапрос.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
                                ТОГДА ВложенныйЗапрос.Документ.СкладОтправитель
                            ИНАЧЕ ВложенныйЗапрос.Документ.СкладПолучатель
                        КОНЕЦ
            КОНЕЦ
    КОНЕЦ КАК Контрагент
ПОМЕСТИТЬ ВТДвижения
ИЗ
    (ВЫБРАТЬ РАЗЛИЧНЫЕ
        ТоварыНаСкладах.Регистратор КАК Документ,
        ТоварыНаСкладах.ВидДвижения КАК ВидДвижения
    ИЗ
        РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах
    
    СГРУППИРОВАТЬ ПО
        ТоварыНаСкладах.Регистратор,
        ТоварыНаСкладах.ВидДвижения) КАК ВложенныйЗапрос
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
    ВложенныйЗапрос.Контрагент.Код
ИЗ
    (ВЫБРАТЬ РАЗЛИЧНЫЕ
        ВТДвижения.Документ КАК Документ,
        ВТДвижения.Контрагент КАК Контрагент
    ИЗ
        ВТДвижения КАК ВТДвижения
    
    СГРУППИРОВАТЬ ПО
        ВТДвижения.Документ,
        ВТДвижения.Контрагент) КАК ВложенныйЗапрос
14 mehfk
 
10.02.16
09:14
ВЫБРАТЬ
    ВЫБОР
        КОГДА ВложенныйЗапрос.Документ ССЫЛКА Документ.ПоступлениеТоваровУслуг
            ТОГДА ВложенныйЗапрос.Документ.Контрагент
        КОГДА ВложенныйЗапрос.Документ ССЫЛКА Документ.ПеремещениеТоваров
            ТОГДА ВЫБОР
                    КОГДА ВложенныйЗапрос.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
                        ТОГДА ВложенныйЗапрос.Документ.СкладОтправитель
                    ИНАЧЕ ВложенныйЗапрос.Документ.СкладПолучатель
                КОНЕЦ
        ИНАЧЕ НЕОПРЕДЕЛЕНО
    КОНЕЦ КАК Контрагент,
    ВложенныйЗапрос.Документ КАК Документ
ПОМЕСТИТЬ ВТДвижения
ИЗ
    (ВЫБРАТЬ
        ТоварыНаСкладах.Регистратор КАК Документ,
        ТоварыНаСкладах.ВидДвижения КАК ВидДвижения
    ИЗ
        РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах
    
    СГРУППИРОВАТЬ ПО
        ТоварыНаСкладах.Регистратор,
        ТоварыНаСкладах.ВидДвижения) КАК ВложенныйЗапрос
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
    ВЫБОР
        КОГДА ВложенныйЗапрос.Контрагент ССЫЛКА Справочник.Контрагенты
            ТОГДА ВЫРАЗИТЬ(ВложенныйЗапрос.Контрагент КАК Справочник.Контрагенты).Код
        КОГДА ВложенныйЗапрос.Контрагент ССЫЛКА Справочник.Склады
            ТОГДА ВЫРАЗИТЬ(ВложенныйЗапрос.Контрагент КАК Справочник.Склады).Код
        ИНАЧЕ ""
    КОНЕЦ КАК Код
ИЗ
    (ВЫБРАТЬ
        ВТДвижения.Документ КАК Документ,
        ВТДвижения.Контрагент КАК Контрагент
    ИЗ
        ВТДвижения КАК ВТДвижения
    
    СГРУППИРОВАТЬ ПО
        ВТДвижения.Документ,
        ВТДвижения.Контрагент) КАК ВложенныйЗапрос
15 Klesk666
 
10.02.16
09:17
(2) откатись на стабильный релиз 8.3
16 Славен
 
10.02.16
09:31
(13) епа ма... слушай, ты завязывай с 1с что ли, тебе совет дан в (6) если ты дофига таких запросов наваял то это твои проблемы. 1с нормально отрабатывает, она не обязана учитывать рукожепость разраба
17 hawksib
 
10.02.16
09:33
(14) понимаю, что вы хотите сделать
выдает ошибку {(32, 42)}: Несовместимые типы "ССЫЛКА" КОГДА ВложенныйЗапрос.Контрагент<<?>>ССЫЛКА.Справочник.Контрагенты, прилагаю два скриншота:

1) http://cs629527.vk.me/v629527002/52aae/1N1xOh_zs_8.jpg

2) http://cs629527.vk.me/v629527002/52ab6/Xocb-07x14k.jpg

второй был сделан, когда во временной таблице уменьшил количество выборов в поле контрагент
18 mehfk
 
10.02.16
09:40
Тогда так
ВЫБРАТЬ РАЗЛИЧНЫЕ
    ВЫБОР
        КОГДА ТИПЗНАЧЕНИЯ(ВложенныйЗапрос.Контрагент) = ТИП(Справочник.Контрагенты)
            ТОГДА ВЫРАЗИТЬ(ВложенныйЗапрос.Контрагент КАК Справочник.Контрагенты).Код
        КОГДА ТИПЗНАЧЕНИЯ(ВложенныйЗапрос.Контрагент) = ТИП(Справочник.Склады)
            ТОГДА ВЫРАЗИТЬ(ВложенныйЗапрос.Контрагент КАК Справочник.Склады).Код
        ИНАЧЕ ""
    КОНЕЦ КАК Код
ИЗ
    (ВЫБРАТЬ
        ВТДвижения.Документ КАК Документ,
        ВТДвижения.Контрагент КАК Контрагент
    ИЗ
        ВТДвижения КАК ВТДвижения
    
    СГРУППИРОВАТЬ ПО
        ВТДвижения.Документ,
        ВТДвижения.Контрагент) КАК ВложенныйЗапрос
19 hawksib
 
10.02.16
09:50
{(30,26)}: Неверные параметры "ТИПЗНАЧЕНИЯ"
КОГДА ТИПЗНАЧЕНИЯ(<<?>>ВложенныйЗапрос.Контрагент) = ТИП(Справочник.Контрагенты)
20 Serg_1960
 
10.02.16
10:01
(14)

    "ВЫБРАТЬ РАЗЛИЧНЫЕ
    |    ВложенныйЗапрос.Документ КАК Документ,
    |    ВЫБОР
    |        КОГДА ВЫРАЗИТЬ(ВложенныйЗапрос.Документ КАК Документ.ПоступлениеТоваровУслуг) ССЫЛКА Документ.ПоступлениеТоваровУслуг
    |            ТОГДА ВложенныйЗапрос.Документ.Контрагент.Код
    |        ИНАЧЕ ВЫБОР
    |                КОГДА ВЫРАЗИТЬ(ВложенныйЗапрос.Документ КАК Документ.ПеремещениеТоваров) ССЫЛКА Документ.ПеремещениеТоваров
    |                    ТОГДА ВЫБОР
    |                            КОГДА ВложенныйЗапрос.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
    |                                ТОГДА ВложенныйЗапрос.Документ.СкладОтправитель.Код
    |                            ИНАЧЕ ВложенныйЗапрос.Документ.СкладПолучатель.Код
    |                        КОНЕЦ
    |            КОНЕЦ
    |    КОНЕЦ КАК Код
    |ПОМЕСТИТЬ ВТДвижения
    |ИЗ
    |    (ВЫБРАТЬ РАЗЛИЧНЫЕ
    |        ТоварыНаСкладах.Регистратор КАК Документ,
    |        ТоварыНаСкладах.ВидДвижения КАК ВидДвижения
    |    ИЗ
    |        РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах
    |    
    |    СГРУППИРОВАТЬ ПО
    |        ТоварыНаСкладах.Регистратор,
    |        ТоварыНаСкладах.ВидДвижения) КАК ВложенныйЗапрос
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ РАЗЛИЧНЫЕ
    |    ВложенныйЗапрос.Код
    |ИЗ
    |    (ВЫБРАТЬ РАЗЛИЧНЫЕ
    |        ВТДвижения.Документ КАК Документ,
    |        ВТДвижения.Код КАК Код
    |    ИЗ
    |        ВТДвижения КАК ВТДвижения
    |    
    |    СГРУППИРОВАТЬ ПО
    |        ВТДвижения.Документ,
    |        ВТДвижения.Код) КАК ВложенныйЗапрос";
21 hawksib
 
10.02.16
10:10
(20) суть в том, что мне не обязательно нужен Код справочника контрагенты. Артибут код был использован как пример. я понял мысль (7)
(18)
{(30,26)}: Неверные параметры "ТИПЗНАЧЕНИЯ"
КОГДА ТИПЗНАЧЕНИЯ(<<?>>ВложенныйЗапрос.Контрагент) = ТИП(Справочник.Контрагенты)
22 mehfk
 
10.02.16
10:13
(21) Пиши в 1С, регистрируй ошибку.
23 hawksib
 
10.02.16
10:17
(22) ну раз мыслей больше нет, придется, похоже, переписывать запросы и регистрировать ошибку(. ни разу не писал в 1С, дайте ссылку куда писать, пожалуйста
24 hawksib
 
10.02.16
10:23
ещё одна мысль возникла, попробуйте пожалуйста открыть конструктором данный запрос в конфигурации Управление торговлей, и отпишитесь на каких версиях он открывается или нет, для меня это важно. интересуют версии больше 8.3.6
25 KSN
 
10.02.16
10:29
На 8.3.5 открывается код из 0.
Сам сталкивался с таким на 8.3.7.1845 когда пытался открыть конструктором запросы по печати ТОРГ-12, написанные в ERP 2.1 фирмой 1С.
26 mehfk
 
10.02.16
10:47
(24) Забей. Это ошибка платформы - неверно анализируются типы полей, выбираемых из временных таблиц.
27 hawksib
 
10.02.16
11:10
(26) не самые уй-ные запросы, однако ;)
28 mehfk
 
10.02.16
11:12
8.3.6 http://rghost.ru/7h2T5VQrB/image.png
8.3.7 http://rghost.ru/6gKhz9FtX/image.png

(27) самый что ни на есть
29 hawksib
 
10.02.16
11:17
(28) а в 8.3.6 последние цифры какие у тебя?
я воопще го..окодер...
30 mehfk
 
10.02.16
11:19
8.3.6 которая последняя нетестовая и 8.3.7 тоже которая последняя нетестовая
31 hawksib
 
10.02.16
11:37
(30) спасибо