Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Запретить считывание динамического списка.
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование управляемых форм 1С 8.2
logist
В форме документа есть динамический список, нужно при открытии формы нового документа, что бы этот список не "считывался". Какие будут предложения?
Vofka
"Не считывался" в зависимости от чего?
logist
Список содержит запрос. который для нового документа не имеет смысла. но исходя из его сложности он таки пытается отработать, конечно результат пустой, но тормоза при открытии ощутимы.
Vofka
А если динамический список не видимый, запрос всеравно выполняется? Если нет, может для нового документа не показывать его просто?
logist
Завтра попробую. но думаю все равно список заполняется.
Zaval
Немного извратно)

Свойство ДС
ДинамическоеСчитываниеДанных (DynamicDataRead)
Использование:
Чтение и запись.
Описание:
Тип: Булево.
Управление размером порций выбора данных. Истина - динамический список должен выбирать данные только при необходимости их отображения на экране.
Доступность:
Сервер.

Будет ли реагировать на видимость ДС - надо проверять. Возможно, придется менять не видимость, а высоту списка(для Нового)
Vofka
Zaval, а причем тут Динамическое считывание данных? В результате может получаться вегда 1 строка, но сам запрос может быть с 10 соединениями и тому подобное. smile.gif
logist
Да, динамическое считывание тут не причем. И видимость тоже никакого эффекта не дала.
pablo
а если поставить большое значение ПериодАвтоОбновления? Или вообще снять Автообновление? Это свойства элемента формы
logist
Какая разница какое автообновление, проблема в начальном заполнении, момент ПриСозданииНаСервере
pablo
А если ПриСоздании опустошать текст запроса? А заполнять его в нужный момент?

Или сделать текст запроса пустышкой с нужной структурой полей
Vofka
А можно текст запроса показать?
logist
Цитата(pablo @ 26.04.13, 10:32) необходимо зарегистрироваться для просмотра ссылки
Или сделать текст запроса пустышкой с нужной структурой полей

Хорошая идея, попробую на досуге.

Цитата(Vofka @ 26.04.13, 10:56) необходимо зарегистрироваться для просмотра ссылки
А можно текст запроса показать?

необходимо зарегистрироваться для просмотра ссылки
ВЫБРАТЬ
    ЕСТЬNULL(Загруженный.Связь, 3) КАК Связь,
    Загруженный.КоличествоЗаказано КАК КоличествоЗаказано,
    Загруженный.ЦенаЗаказано,
    Выполненный.ЦенаВыполнено,
    Выполненный.СуммаВыполнено КАК СуммаВыполнено,
    ЗагруженныйВсего.КоличествоЗаказВсего КАК КоличествоЗаказВсего,
    ЕСТЬNULL(ВыполненоВсего.КоличествоВыполненоВсего, 0) КАК КоличествоВыполненоВсего,
    ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток,
    РезервПоЗаказамПокупателейОстатки.КоличествоОстаток КАК КоличествоРезервКлиент,
    РезервПоЗаказамПокупателейОстатки1.КоличествоОстаток КАК КоличествоЧужойРезерв,
    РезервПоЗаказамПокупателейОстатки2.КоличествоОстаток КАК КоличествоРезервПодразделение,
    Выполненный.КоличествоВыполнено КАК КоличествоВыполнено,
    ВсяНоменклатура.Номенклатура,
    Накладные.НедозаказПоЗаказу,
    Накладные.НедозаказПоНакладным,
    Накладные.ЦенаНакладные,
    Накладные.КоличествоНакладные,
    Накладные.СуммаНакладные,
    НакладныеВсего.КоличествоНакладныеВсего
ИЗ
    (ВЫБРАТЬ
        ЗаказыПокупателейОбороты.Номенклатура КАК Номенклатура
    ИЗ
        РегистрНакопления.ЗаказыПокупателей.Обороты(, , Авто, ЗаказПокупателя = &Ссылка) КАК ЗаказыПокупателейОбороты
    
    СГРУППИРОВАТЬ ПО
        ЗаказыПокупателейОбороты.Номенклатура) КАК ВсяНоменклатура
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ЗаказПокупателяЗагруженныйЗаказ.ЕстьСвязь КАК Связь,
            ЗаказПокупателяЗагруженныйЗаказ.Номенклатура КАК Номенклатура,
            СУММА(ЗаказПокупателяЗагруженныйЗаказ.Количество) КАК КоличествоЗаказано,
            ЗаказПокупателяЗагруженныйЗаказ.Цена КАК ЦенаЗаказано
        ИЗ
            Документ.ЗаказПокупателя.ЗагруженныйЗаказ КАК ЗаказПокупателяЗагруженныйЗаказ
        ГДЕ
            ЗаказПокупателяЗагруженныйЗаказ.Ссылка = &Ссылка
            И ЗаказПокупателяЗагруженныйЗаказ.ПодразделениеКонтрагента В(&Подразделение)
            И ЗаказПокупателяЗагруженныйЗаказ.Ссылка <> ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка)
        
        СГРУППИРОВАТЬ ПО
            ЗаказПокупателяЗагруженныйЗаказ.ЕстьСвязь,
            ЗаказПокупателяЗагруженныйЗаказ.Номенклатура,
            ЗаказПокупателяЗагруженныйЗаказ.Цена) КАК Загруженный
        ПО ВсяНоменклатура.Номенклатура = Загруженный.Номенклатура
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ЗаказПокупателяЗагруженныйЗаказ.Номенклатура КАК Номенклатура,
            СУММА(ЗаказПокупателяЗагруженныйЗаказ.Количество) КАК КоличествоЗаказВсего
        ИЗ
            Документ.ЗаказПокупателя.ЗагруженныйЗаказ КАК ЗаказПокупателяЗагруженныйЗаказ
        ГДЕ
            ЗаказПокупателяЗагруженныйЗаказ.Ссылка = &Ссылка
            И ЗаказПокупателяЗагруженныйЗаказ.Ссылка <> ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка)
        
        СГРУППИРОВАТЬ ПО
            ЗаказПокупателяЗагруженныйЗаказ.Номенклатура) КАК ЗагруженныйВсего
        ПО ВсяНоменклатура.Номенклатура = ЗагруженныйВсего.Номенклатура
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ЗаказПокупателяТовары.Номенклатура КАК Номенклатура,
            СУММА(ЕСТЬNULL(ЗаказПокупателяТовары.Количество, 0)) КАК КоличествоВыполнено,
            ЗаказПокупателяТовары.Цена КАК ЦенаВыполнено,
            СУММА(ЗаказПокупателяТовары.Сумма) КАК СуммаВыполнено
        ИЗ
            Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары
        ГДЕ
            ЗаказПокупателяТовары.Ссылка = &Ссылка
            И ЗаказПокупателяТовары.ПодразделениеКонтрагента В(&Подразделение)
            И ЗаказПокупателяТовары.Ссылка <> ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка)
        
        СГРУППИРОВАТЬ ПО
            ЗаказПокупателяТовары.Номенклатура,
            ЗаказПокупателяТовары.Цена) КАК Выполненный
        ПО ВсяНоменклатура.Номенклатура = Выполненный.Номенклатура
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ЗаказПокупателяТовары.Номенклатура КАК Номенклатура,
            СУММА(ЕСТЬNULL(ЗаказПокупателяТовары.Количество, 0)) КАК КоличествоВыполненоВсего
        ИЗ
            Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары
        ГДЕ
            ЗаказПокупателяТовары.Ссылка = &Ссылка
            И ЗаказПокупателяТовары.Ссылка <> ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка)
        
        СГРУППИРОВАТЬ ПО
            ЗаказПокупателяТовары.Номенклатура) КАК ВыполненоВсего
        ПО ВсяНоменклатура.Номенклатура = ВыполненоВсего.Номенклатура
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ЗаказыПокупателейОстаткиИОбороты.Номенклатура КАК Номенклатура,
            ЕСТЬNULL(ЗаказыПокупателейОстаткиИОбороты.КоличествоКонечныйОстаток, 0) - ЕСТЬNULL(ЗаказыПокупателейОстаткиИОбороты.КоличествоВыполнениеКонечныйОстаток, 0) КАК НедозаказПоЗаказу,
            ЕСТЬNULL(ЗаказыПокупателейОстаткиИОбороты.КоличествоКонечныйОстаток, 0) КАК НедозаказПоНакладным,
            ЗаказыПокупателейОстаткиИОбороты.Цена КАК ЦенаНакладные,
            ЗаказыПокупателейОстаткиИОбороты.КоличествоВыполнениеРасход КАК КоличествоНакладные,
            ЗаказыПокупателейОстаткиИОбороты.СуммаВыполнениеРасход КАК СуммаНакладные
        ИЗ
            РегистрНакопления.ЗаказыПокупателей.ОстаткиИОбороты(
                    ,
                    ,
                    ,
                    ,
                    ЗаказПокупателя = &Ссылка
                        И ЗаказПокупателя <> ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка)
                        И Подразделение В (&Подразделение)) КАК ЗаказыПокупателейОстаткиИОбороты
        
        СГРУППИРОВАТЬ ПО
            ЗаказыПокупателейОстаткиИОбороты.Номенклатура,
            ЗаказыПокупателейОстаткиИОбороты.Цена,
            ЗаказыПокупателейОстаткиИОбороты.КоличествоВыполнениеРасход,
            ЕСТЬNULL(ЗаказыПокупателейОстаткиИОбороты.КоличествоКонечныйОстаток, 0) - ЕСТЬNULL(ЗаказыПокупателейОстаткиИОбороты.КоличествоВыполнениеКонечныйОстаток, 0),
            ЕСТЬNULL(ЗаказыПокупателейОстаткиИОбороты.КоличествоКонечныйОстаток, 0),
            ЗаказыПокупателейОстаткиИОбороты.СуммаВыполнениеРасход) КАК Накладные
        ПО ВсяНоменклатура.Номенклатура = Накладные.Номенклатура
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
        ПО ВсяНоменклатура.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РезервПоЗаказамПокупателей.Остатки(, Контрагент = &Контрагент) КАК РезервПоЗаказамПокупателейОстатки
        ПО ВсяНоменклатура.Номенклатура = РезервПоЗаказамПокупателейОстатки.Номенклатура
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РезервПоЗаказамПокупателей.Остатки(, Контрагент <> &Контрагент) КАК РезервПоЗаказамПокупателейОстатки1
        ПО ВсяНоменклатура.Номенклатура = РезервПоЗаказамПокупателейОстатки1.Номенклатура
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РезервПоЗаказамПокупателей.Остатки(
                ,
                ПодразделениеКонтрагента В (&Подразделение)
                    И Контрагент = &Контрагент) КАК РезервПоЗаказамПокупателейОстатки2
        ПО ВсяНоменклатура.Номенклатура = РезервПоЗаказамПокупателейОстатки2.Номенклатура
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ЗаказыПокупателейОстаткиИОбороты.Номенклатура КАК Номенклатура,
            СУММА(ЗаказыПокупателейОстаткиИОбороты.КоличествоВыполнениеРасход) КАК КоличествоНакладныеВсего
        ИЗ
            РегистрНакопления.ЗаказыПокупателей.ОстаткиИОбороты(
                    ,
                    ,
                    ,
                    ,
                    ЗаказПокупателя = &Ссылка
                        И ЗаказПокупателя <> ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка)) КАК ЗаказыПокупателейОстаткиИОбороты
        
        СГРУППИРОВАТЬ ПО
            ЗаказыПокупателейОстаткиИОбороты.Номенклатура) КАК НакладныеВсего
        ПО ВсяНоменклатура.Номенклатура = НакладныеВсего.Номенклатура
Vofka
А почему это не вынести во внешний отчет, зачем именно в динамическом списке?
logist
Нужно динамическое считывание, пояснять не буду, вариант с отчетом не подходит, это была изначальная идея до списка.
Vofka
Ну ладно, не поясняйте.
logist
У меня есть большое подозрение, что вариант с Видимостью таки работает, только в серверном варианте.
Сейчас проверял серверный вариант и заметил, что форма нового открывается без подтормаживания, хотя та же база, но в файловом варианте, при открытии заметно тормозит.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.