Имя: Пароль:
1C
1С v8
Виртуальные таблицы в динамическом списке
0 Cancell
 
15.10.14
17:05
Всем доброго дня, есть следующая проблема: Реализовал в динамическом списке формы списка документов запрос через виртуальные таблицы, долго он с разными ошибками валился, но сейчас вообще с непонятной ошибкой падает - Ошибка при выполнении запроса. Ошибка при выполнении запроса.
по причине:
Поле не найдено "_ПараметрСпискаИмяРазвернутойСсылки0"

В запросе естественно такого параметра нет, видимо он где-то формируется, но в коде ничего похожего не нашел... в запросе у меня несколько виртуальных таблиц, все в итоге выступают источниками данных в итоговом пакете. В некоторых есть параметры, но на них он никак не ругается.
Платформа 8.2.19.76. Конфа самописная.
1 Cancell
 
15.10.14
17:30
Причем ошибка эта два раза выскакивает...
2 DexterMorgan
 
15.10.14
17:36
"все в итоге выступают источниками данных в итоговом пакете"

Ээ.. а когда стало возможным использовать пакетные запросы в динамических списках?
3 ssh2QQ6
 
15.10.14
17:36
(1) > все в итоге выступают источниками данных в итоговом пакете

Документация: "Динамический список не поддерживает работу с пакетными запросами."
4 Кир Пластелинин
 
15.10.14
18:27
(2)(3) тут скорее всего объединение подразумевается...
5 Cancell
 
15.10.14
22:01
(4) не, не объединение, создал несколько ВТ и в запросе пакета их все добавил и связал...
ну по крайней мере платформа не выдавала ошибок когда я все это вставлял в запрос динамического списка...
6 Cancell
 
15.10.14
22:02
вот запрос -

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ДействияПоБюджетуИтоги.Объект,
    ДействияПоБюджетуИтоги.Задача,
    ДействияПоБюджетуИтоги.ТребуетДействия,
    ДействияПоБюджетуИтоги.ОжиданиеДействия
ПОМЕСТИТЬ ВТДействияПоБюджетуИтоги
ИЗ
    РегистрСведений.ДействияПоБюджетуИтоги КАК ДействияПоБюджетуИтоги
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ДопПараметрыТочекМаршрутаБП.ТочкаМаршрута,
    ДопПараметрыТочекМаршрутаБП.НомерКартинки
ПОМЕСТИТЬ ВТДопПараметрыТочекМаршрутаБП
ИЗ
    РегистрСведений.ДопПараметрыТочекМаршрутаБП КАК ДопПараметрыТочекМаршрутаБП
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
    ДопСогласование.ОсновнаяЗадача КАК ОсновнаяЗадача
ПОМЕСТИТЬ ВТДопСогласование
ИЗ
    БизнесПроцесс.ДопСогласование КАК ДопСогласование
ГДЕ
    НЕ ДопСогласование.Завершен
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
    ЗадачаАналитикаОтбора.Ссылка КАК Ссылка
ПОМЕСТИТЬ ВТЗапросОтборов
ИЗ
    Задача.Задача.АналитикаОтбора КАК ЗадачаАналитикаОтбора
ГДЕ
    НЕ(&нетотборцз
                И &нетотборпродукт
                И &нетотборпроект
                И &нетотборбк)
    И ВЫБОР
            КОГДА &нетотборцз = ИСТИНА
                ТОГДА ИСТИНА
            ИНАЧЕ ЗадачаАналитикаОтбора.ЦЗ В ИЕРАРХИИ (&отборЦЗ)
        КОНЕЦ
    И ВЫБОР
            КОГДА &нетотборпродукт = ИСТИНА
                ТОГДА ИСТИНА
            ИНАЧЕ ЗадачаАналитикаОтбора.продукт В ИЕРАРХИИ (&отборпродукт)
        КОНЕЦ
    И ВЫБОР
            КОГДА &нетотборБК = ИСТИНА
                ТОГДА ИСТИНА
            ИНАЧЕ ЗадачаАналитикаОтбора.БК В ИЕРАРХИИ (&отборБК)
        КОНЕЦ
    И ВЫБОР
            КОГДА &нетотборпроект = ИСТИНА
                ТОГДА ИСТИНА
            ИНАЧЕ ЗадачаАналитикаОтбора.Проект В ИЕРАРХИИ (&отборпроект)
        КОНЕЦ
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    НаличиеФайловУОбъектов.Объект
ПОМЕСТИТЬ ВТНаличиеФайловУОбъектов
ИЗ
    РегистрСведений.НаличиеФайловУОбъектов КАК НаличиеФайловУОбъектов
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    1 КАК Колво,
    ВТЗадачиПОисполнителю.Ссылка,
    ВТЗадачиПОисполнителю.ПометкаУдаления,
    ВТЗадачиПОисполнителю.Номер,
    ДОБАВИТЬКДАТЕ(ВТЗадачиПОисполнителю.Дата, ЧАС, &СмещениеПользователя) КАК Дата,
    ВТЗадачиПОисполнителю.ЦЗ,
    ВТЗадачиПОисполнителю.Проект,
    ВТЗадачиПОисполнителю.БизнесПроцесс,
    ВТЗадачиПОисполнителю.ТочкаМаршрута,
    ВТЗадачиПОисполнителю.Наименование,
    ВТЗадачиПОисполнителю.Выполнена,
    ВТЗадачиПОисполнителю.СрокИсполнения КАК СрокИсполнения,
    ВТЗадачиПОисполнителю.СрокНачалаИсполнения,
    ВТЗадачиПОисполнителю.ДатаИсполнения,
    ВТЗадачиПОисполнителю.Важность КАК Важность,
    ВТЗадачиПОисполнителю.Описание,
    ВТЗадачиПОисполнителю.РольИсполнителя,
    ВЫБОР
        КОГДА ВТЗадачиПОисполнителю.БизнесПроцесс ССЫЛКА БизнесПроцесс.СогласованиеБюджета
                ИЛИ ВТЗадачиПОисполнителю.БизнесПроцесс ССЫЛКА БизнесПроцесс.СогласованиеРР
            ТОГДА ВЫБОР
                    КОГДА ВЫРАЗИТЬ(ВТЗадачиПОисполнителю.ОбъектСогласования КАК Документ.Смета).Ответственный = &текущийпользователь
                        ТОГДА ИСТИНА
                    ИНАЧЕ ЕСТЬNULL(ВТДействияПоБюджетуИтоги.ТребуетДействия, ИСТИНА)
                КОНЕЦ
        ИНАЧЕ ИСТИНА
    КОНЕЦ КАК ТребуетДействий,
    ВЫБОР
        КОГДА ВТЗадачиПОисполнителю.БизнесПроцесс ССЫЛКА БизнесПроцесс.СогласованиеБюджета
                ИЛИ ВТЗадачиПОисполнителю.БизнесПроцесс ССЫЛКА БизнесПроцесс.СогласованиеРР
            ТОГДА ВЫБОР
                    КОГДА ВЫРАЗИТЬ(ВТЗадачиПОисполнителю.ОбъектСогласования КАК Документ.Смета).Ответственный = &текущийпользователь
                        ТОГДА ЛОЖЬ
                    ИНАЧЕ ЕСТЬNULL(ВТДействияПоБюджетуИтоги.ОжиданиеДействия, ЛОЖЬ)
                КОНЕЦ
        ИНАЧЕ ВЫБОР
                КОГДА ВТДопСогласование.ОсновнаяЗадача ЕСТЬ NULL
                    ТОГДА ЛОЖЬ
                ИНАЧЕ ИСТИНА
            КОНЕЦ
    КОНЕЦ КАК ОжиданиеДействий,
    ВТЗадачиПОисполнителю.Исполнитель,
    ВТЗадачиПОисполнителю.Представление,
    ВТЗадачиПОисполнителю.ТипЗадачи,
    ВТЗадачиПОисполнителю.Служебная,
    ВЫБОР
        КОГДА ВТДопСогласование.ОсновнаяЗадача ЕСТЬ NULL
            ТОГДА ЛОЖЬ
        ИНАЧЕ ИСТИНА
    КОНЕЦ КАК ИдетДопСогласование,
    ВТЗадачиПОисполнителю.ОбъектСогласованияОтветственный КАК исполнительобъекта,
    ВТЗадачиПОисполнителю.ДатаДок КАК ДатаДок,
    ВТЗадачиПОисполнителю.НомерДок КАК НомерДок,
    ВТЗадачиПОисполнителю.Сумма,
    ВТЗадачиПОисполнителю.Валюта,
    ВЫБОР
        КОГДА ВТЗадачиПОисполнителю.БизнесПроцесс ССЫЛКА БизнесПроцесс.СогласованиеБюджета
                ИЛИ ВТЗадачиПОисполнителю.БизнесПроцесс ССЫЛКА БизнесПроцесс.СогласованиеРР
            ТОГДА ВЫБОР
                    КОГДА ВЫРАЗИТЬ(ВТЗадачиПОисполнителю.ОбъектСогласования КАК Документ.Смета).Ответственный = &текущийпользователь
                        ТОГДА ВЫРАЗИТЬ(ВТЗадачиПОисполнителю.ПредставлениеИсполнителя КАК СТРОКА(50))
                    ИНАЧЕ ВТЗадачиПОисполнителю.ПредыдущийИсполнитель
                КОНЕЦ
        ИНАЧЕ ВТЗадачиПОисполнителю.ПредыдущийИсполнитель
    КОНЕЦ КАК ПредыдущийИсполнитель,
    ЕСТЬNULL(ВТДопПараметрыТочекМаршрутаБП.НомерКартинки, 0) КАК НомерКартинки,
    ВЫБОР
        КОГДА ВТНаличиеФайловУОбъектов.Объект ЕСТЬ NULL
            ТОГДА ЛОЖЬ
        ИНАЧЕ ИСТИНА
    КОНЕЦ КАК ЕстьФайл,
    ВТЗадачиПОисполнителю.Дата КАК ДатаПоСортировки
ИЗ
    ВТЗадачиПОисполнителю КАК ВТЗадачиПОисполнителю
        ЛЕВОЕ СОЕДИНЕНИЕ ВТДопСогласование КАК ВТДопСогласование
        ПО ВТЗадачиПОисполнителю.Ссылка = ВТДопСогласование.ОсновнаяЗадача
        ЛЕВОЕ СОЕДИНЕНИЕ ВТЗапросОтборов КАК ВТЗапросОтборов
        ПО ВТЗадачиПОисполнителю.Ссылка = ВТЗапросОтборов.Ссылка
        ЛЕВОЕ СОЕДИНЕНИЕ ВТДействияПоБюджетуИтоги КАК ВТДействияПоБюджетуИтоги
        ПО (ВЫБОР
                КОГДА ВТЗадачиПОисполнителю.ОсновнаяЗадача = ЗНАЧЕНИЕ(задача.задача.пустаяссылка)
                    ТОГДА ВТЗадачиПОисполнителю.Ссылка = ВТДействияПоБюджетуИтоги.Задача
                ИНАЧЕ ВТЗадачиПОисполнителю.ОсновнаяЗадача = ВТДействияПоБюджетуИтоги.Задача
            КОНЕЦ)
        ЛЕВОЕ СОЕДИНЕНИЕ ВТДопПараметрыТочекМаршрутаБП КАК ВТДопПараметрыТочекМаршрутаБП
        ПО ВТЗадачиПОисполнителю.ТочкаМаршрута = ВТДопПараметрыТочекМаршрутаБП.ТочкаМаршрута
        ЛЕВОЕ СОЕДИНЕНИЕ ВТНаличиеФайловУОбъектов КАК ВТНаличиеФайловУОбъектов
        ПО ВТЗадачиПОисполнителю.ОбъектСогласования = ВТНаличиеФайловУОбъектов.Объект
ГДЕ
    (&нетотборцз
                И &нетотборпродукт
                И &нетотборБК
                И &нетотборпроект
            ИЛИ НЕ ВТЗапросОтборов.Ссылка ЕСТЬ NULL )
    И ВЫБОР
            КОГДА ВТЗадачиПОисполнителю.БизнесПроцесс ССЫЛКА БизнесПроцесс.СогласованиеБюджета
                    И НЕ ВТЗадачиПОисполнителю.ОсновнаяЗадача = ЗНАЧЕНИЕ(задача.задача.пустаяссылка)
                ТОГДА ВТДействияПоБюджетуИтоги.ОжиданиеДействия = ИСТИНА
            КОГДА ВТЗадачиПОисполнителю.БизнесПроцесс ССЫЛКА БизнесПроцесс.СогласованиеРР
                    И ВТЗадачиПОисполнителю.ОсновнаяЗадача = ЗНАЧЕНИЕ(задача.задача.пустаяссылка)
                ТОГДА ВТДействияПоБюджетуИтоги.ОжиданиеДействия = ИСТИНА
            ИНАЧЕ ИСТИНА
        КОНЕЦ
7 Classic
 
15.10.14
22:39
ВТ в ДС не поддерживаются
8 Cancell
 
16.10.14
00:06
(7) а тут народ пользовался - v8: Динамический список. Как ускорить работу

есть какой-то пруф что нельзя?
9 patria0muerte
 
16.10.14
05:33
(8) Ну по ссылке как раз пример того, что не работают ВТ в ДС...
Ну не может ДС в пакеты...
10 Cancell
 
16.10.14
10:45
(9) там нельзя в режиме конструктора создавать ВТ, а если подсунуть текст то все ОК, об этом и писалось в (8) , и ошибки которые там были описаны у меня тоже были, но я сделал основной ВТ запрос по основной таблице списка, чтобы можно было ее выбрать в динамическом списке как основная таблица, и эти ошибки все ушли (про date и т.п.)
11 patria0muerte
 
16.10.14
10:53
(10) а из остальных ВТ она данные берет?
12 Cancell
 
16.10.14
10:54
(3)(9) из справки -
ДинамическийСписок (DynamicList)

Описание:

Динамический список предоставляет разработчику возможность описать в форме запрос практически произвольного вида, указать условное оформление данных, порядок сортировки, отборы и группировки данных.
Ограничения: в запросах нельзя использовать объединения.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент.
Может использоваться в реквизитах управляемой формы.
13 Cancell
 
16.10.14
10:56
(11) ну в консоле запрос отрабатывает
14 patria0muerte
 
16.10.14
10:59
(11)а че бы он в консоли то не отрабатывал? Вопрос в том, что данные, которые ты хочешь получить, лежат у тебя не в первом пакете запроса (ВТЗадачиПОисполнителю) , а в одном из последующих... в результирующем твоем запросе.
Так вопрос то в том - в ДС у тебя есть поля из результирующего запроса? или только то получаешь, что у тебя в первом пакете лежит?
15 Cancell
 
16.10.14
11:06
(14) Все данные берутся из основной таблицы, другие нужны для сравнения некоторых параметров и возвращают через ВЫБОР КОГДА истину/ложь или опять реквизит основной таблицы
16 Cancell
 
16.10.14
11:08
(14) хотя есть пару булевских реквизитов с другой таблицы.
17 Cancell
 
16.10.14
14:24
Есть какие-нибудь еще предложения? никто не извращался с ВТ в динамическом списке? =) ну или дайте пруф что так не работает, чтобы я узбагоился =\

пытаюсь оптимизировать этот динамический список.. на больших объемах тормозит...