Основная таблица динамического списка задана неверно

Основная таблица динамического списка задана неверно

Область применения: управляемое приложение, мобильное приложение.

Методическая рекомендация (полезный совет)

При проектировании динамических списков в формах следует учитывать, что динамические списки предъявляют более высокие требования к скорости выполнения запросов, чем в других случаях (например, в отчетах, в процедурах обработки данных и пр.). Данные в динамических списках непосредственно отображаются пользователю, поэтому скорость вывода и обновления данных является критичной. В данной статье перечислены рекомендации, дополняющие общие сведения по оптимизации запросов (см. группу статей «Оптимизация запросов»).

1. Нужно стараться делать простые запросы для динамических списков. Для этого в первую очередь нужно оптимизировать архитектуру хранения данных, чтобы их было просто отображать в динамических списках.

Пример

В динамическом списке документов-распоряжений на отгрузку нужно вывести состояние отгрузки. Состояние зависит от остатков регистра накопления, и статусов двух документов другого типа.

НЕПРАВИЛЬНО

Пытаться разработать запрос для динамического списка, который будет учитывать всю сложную логику расчета состояния отгрузки.

ПРАВИЛЬНО

Сделать регистр сведений «Состояния отгрузки», в котором хранить уже рассчитанное состояние отгрузки. При этом расчет можно делать или в процессе проведения документов, которые могут влиять на состояние отгрузки, или отдельным регламентным заданием.

2. Необходимо выбрать один из трех режимов работы динамического списка:

  • Динамическое считывание данных включено (рекомендуется). Используются запросы, выбирающие записи в количестве приблизительно соответствующем количеству видимых строк в таблице;
  • Динамическое считывание данных выключено, задана не виртуальная основная таблица или одна из следующих таблиц: СрезПервых, СрезПоследних, ЗадачиПоИсполнителю, КритерииОтбора, ДвижениеСубконто. Используются запросы, выбирающие по 1000 записей в буфер на сервере, по мере необходимости данные передаются на клиент. Менее эффективно, чем динамическое считывание;
  • Динамическое считывание данных выключено, основная таблица не задана. Запрос выполняется «как есть». В буфере накапливаются данные, начиная с 1000 записей. Чем ближе к концу списка, тем больше записей. Можно использовать только для заведомо маленьких выборок.

3. При разработке динамического списка следует учитывать что запрос, который фактически будет сформирован к СУБД, зависит от предопределенных настроек отборов, порядка и группировки СКД. В частности это означает, что необходимо рассмотреть индексирование полей:

  • По которым выполняется соединение в запросе;
  • На которые наложены условия в запросе;
  • Выведенных в качестве быстрых отборов;
  • По которым выполняется упорядочивание или предусмотрена группировка;
  • По которым ожидается, что пользователь будет часто упорядочивать (группировать).

При этом не следует индексировать все поля подряд «на всякий случай», так как избыточные индексы создают неоправданную нагрузку при записи данных.

4. Настоятельно не рекомендуется использовать конструкции, «утяжеляющие» запрос:

  • конструкции РАЗЛИЧНЫЕ и СГРУППИРОВАТЬ ПО;
  • конструкции ВЫБОР в предложении ГДЕ или в условиях соединения;
  • упорядочивание по полю, полученному при помощи конструкции ВЫБОР, в том числе и пользовательское.

5.1 Соединяться в запросе следует только с небольшим количеством реальных таблиц (в оптимальном варианте в динамическом списке – только одна таблица, и она назначена основной).

Не рекомендуется выполнять соединения:

  • с большим количеством реальных таблиц. Ориентироваться стоит на количество не более 4 таблиц;
  • с вложенными запросами;
  • с виртуальными таблицами.

5.2. Соединение с виртуальными таблицами допустимо в отдельных случаях, если запрос и архитектура данных удовлетворяют ряду условий:

  • допустимо соединение с виртуальными таблицами СрезПоследних (СрезПервых), если регистр сведений содержит
    заведомо небольшое количество записей. Например, получение текущего курса валют по данным регистра сведений КурсыВалют;
  • при обращении к виртуальной таблице будут использованы хранимые итоги регистра сведений (см. Разрешение итогов для периодических регистров сведений);
  • запрос к виртуальной таблице Остатки будет преобразован платформой в простое чтение хранимой таблицы итогов без группировок (см. Эффективное обращение к виртуальной таблице «Остатки»).

5.3. Временные таблицы в динамических списках следует использовать с учетом требований описанных ниже и в стандарте про использование временных таблиц.

5.3.1. Временные таблицы в динамических списках рекомендуется использовать только тогда, когда они содержат заведомо небольшое количество записей. Иначе их использование неэффективно, т.к. значения временных таблиц в динамическом списке НЕ кешируются, а формируется при каждом считывании данных для заполнения списка.

5.3.2. В частности, если не удается переделать запрос динамического списка, используя виртуальные таблицы с ограничениями (см. п. 5.2), или вообще отказавшись от их использования, то вместо соединения с ними следует использовать соединения с временными таблицами.

5.3.3. Если последний запрос динамического списка выбирает данные только из ранее созданной временной таблицы, то это уже не динамический список и следует перепроектировать его запрос и, скорее всего, метаданные, используемые запросом.

5.4. При учете количества таблиц, участвующих в запросе, необходимо помнить, что обращение к полям «через точку» приводит к неявному соединению с дополнительными таблицами. Подробнее см.: Разыменование ссылочных полей составного типа в языке запросов

5.5. При работе со списком под неполными правами, в которых настроены ограничения доступа к данным (RLS) к таблицам, участвующим в запросе*, также автоматически присоединяются условия ограничения доступа к данным, которые замедляют работу списка. Именно в этом режиме работы следует проверять скорость работы динамических списков.

* примечание: к тем таблицам, к которым предусмотрен RLS в конфигурации.

6. Предусмотреть оптимизацию при работе с полями составного типа

  • При использовании в соединениях, отборах, упорядочивании и других конструкциях составного поля, необходимо чтобы состав типов данного поля определялся только ссылочными типами. Подробнее см.: Ограничения на использование реквизитов составного типа;
  • Если известно заранее, какого типа должно быть получено поле составного типа, то его необходимо выражать.

ВЫРАЗИТЬ(ДанныеДокумента.ДокументОснование КАК Документ.АктВыполненныхРабот)

7. Запрос динамического списка рекомендуется менять «на лету» на более оптимальный, если это возможно.

Читайте также:  Топ маленькие кнопочных телефонов 2018 года

Например, если изменение настройки позволяет переписать запрос динамического списка так, что он будет обращаться к другим метаданным, что позволит выполняться ему быстрее.

8. Если применение вышеизложенных рекомендаций не возможно, либо оно не дает должного эффекта, то можно рассмотреть следующие пути оптимизации:

8.1. Отказаться от части возможностей динамического списка.

  • От вывода не столь значимой информации, получение которой приводит к усложнению запроса;
  • От реализованных сервисных возможностей по группировке списка.

8.2. Осуществлять вывод данных не в динамический список, а в таблицу или дерево значений.

При этом появятся возможности оптимизации недоступные для динамических списков, такие как использование привилегированного режима и т.п..

Данный способ применим, если выполняется одно из условий:

  • Исходных данных заведомо мало (десятки-сотни записей).
  • Обязательные отборы, накладываемые на список, гарантируют, что данных в один момент времени записей выводится мало.
  • Порционность вывода данных организована другими средствами (вручную), например, как в результатах полнотекстового поиска.

9. В случаях, когда в динамическом списке требуется отображение вспомогательных колонок, по которым не требуется отбирать (в том числе через механизмы поиска), сортировать и группировать, и затруднительно, неэффективно или невозможно выполнить получение данных с помощью основного запроса, рекомендуется воспользоваться обработчиком ПриПолученииДанныхНаСервере таблицы управляемой формы. Например, колонки Курс на сегодня , Кратность в списке валют и т.п.

Для эффективной работы обработчика ПриПолученииДанныхНаСервере следует выбирать всю вспомогательную информацию одним запросом сразу для всех отображаемых строк, которые передаются в этот обработчик после выполнения основного запроса динамического списка.

Кроме того, для корректной работы динамического списка требуется явно ограничить выполнение отбора, сортировки и группировки по вспомогательным колонкам с помощью методов динамического списка УстановитьОграниченияИспользованияВГруппировке , УстановитьОграниченияИспользованияВПорядке и УстановитьОграниченияИспользованияВОтборе .

Внешняя обработка для 1С Бухгалтерия 3.0. Банковская выписка с проводками, позволяет просматривать банковскую выписку с проводками по каждой операции.

Тестировалась на версиях БП 3.0.18.9, 3.0.43.152,

Скачать файлы

Специальные предложения

Обновление 15.06.16 16:22

Код открыт Не указано

См. также

Изменение последовательности документов для Бухгалтерии 3.0 без проведения документов

В бухгалтерии 3.0 иногда приходится бороться с датой последовательности, особенно если месяц закрыт, а надо провести один документ задним числом. Бухгалтерия 3.0 позволяет пропустить проведение документов, но как говорится следы редактирования задним числом остаются. Данная обработка показывает, какие документы портят последовательность и позволяет убрать нарушения последовательности.

21.01.2020 1238 p.ugrumov 0

INFOSTART MEETUP Kazan. 13 марта 2020 г. Промо

Инфостарт продолжает путешествие по России. Следующая остановка — Казань. Тема мероприятия — управление и технологии автоматизации учета на платформе "1С: Предприятие". Ждем всех: докладчиков и участников! Стоимость участия — 5 500 рублей. Цена действительна до 30.01.2020

Отображение дополнительных сведений на форме документа как реквизитов

Расширение позволяет редактировать дополнительные сведения не в отдельно открываемом окне, а непосредственно на форме документа.

05.11.2019 4678 14 9269477065 13

Заполнение табличной части документа СЗВ-КОРР на основании документа СЗВ-СТАЖ для Бухгалтерии и ЗУП

Выполняет заполнение документа "Данные о корректировке сведений застрахованных лиц, СЗВ-КОРР" на основании документа "Сведения о страховом стаже застрахованных лиц, СЗВ-СТАЖ". Автоматически подключается как внешняя обработка табличной части документа. Предназначена для: Бухгалтерия 2.0, Бухгалтерия 3.0, ЗУП 2.5, ЗУП 3.1.

18.09.2019 2156 8 machnef 0

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.

Создание счетов, актов и массовая рассылка документов по email

В своей практике пришлось столкнуться с необходимостью отправки электронных копий документов на оплату услуг для клиентов по email. Все письма должны были содержать одинаковые документы: счет на оплату, акт выполненных работ и отчет. Счета выставлялись на услуги с почасовой оплатой. Раньше каждое письмо приходилось собирать отдельно. Сохранять акт в файл, затем крепить его к письму. На рассылку уходил день или два. Теперь все делается двумя кнопками: Создать документы, Отправить сообщения.

03.07.2019 2425 8 user707895_587363 1

Групповая печать чеков из банковской выписки (БП 3.0)

Обработка для групповой печати чеков ККМ, загруженных из банковской выписки. На основании документа Поступление на расчетный счет от физических лиц.

18.06.2019 5105 39 Doloris0 20

1C:Предприятие для программистов: Расчетные задачи (зарплата). Онлайн-интенсив с 01 по 17 июня 2020 г. Промо

Данный онлайн-курс предусматривает изучение механизмов платформы “1С:Предприятие”, которые предназначены для автоматизации периодических расчетов, а именно — для расчета зарплаты. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”, а также для опытных пользователей прикладного решения “1С:Зарплата и управление персоналом” и прочих прикладных решений, в которых реализован функционал расчета зарплаты.

Печать на чеке РКО, кому выданы денежные средства (мини-расширение для БП 3.0)

Доработка типовой конфигурации Бухгалтерии предприятия для вывода информации на чек, кому выданы денежные средства и основание выдачи.

30.05.2019 2565 3 ifal 4

Автоматическое формирование актов сверки (Бухгалтерия предприятия 3.0)

Внешняя обработка для автоматического формирования актов сверки по контрагентам. Причиной создания стало не удовлетворительное качество имеющихся на инфостарте обработок и желание закрыть этот вопрос навсегда. Возможности: формирование по оборотам в периоде и по справочнику договоров; управление дополнительными настройками заполнения актов сверки; представителей организации и контрагента; формирование актов по договорам и сводно по контрагентам; возможность убрать не нужные договоры; перезаполнение существующих актов сверки.

16.05.2019 3396 34 Black-fog 1

Онлайн-курс «Автоматизация процессов управления МТО: методика сбора и формализации требований» с 1 апреля по 13 мая 2020 года. Промо

Цель курса — повысить полноту и качество сбора и формализации требований к автоматизации процессов управления материально-техническим обеспечением. Курс основан на процессном подходе, позволяет в полном объеме выявить и учесть все факторы, влияющие на специфику процессов управления МТО. Участники курса получают теоретические знания в области организации процессов управления МТО и готовый инструментарий для сбора и формализации требований по автоматизации этих процессов (шаблоны, опросники, модели).

Исправляем пересортицу на 41 счете, легко и быстро. Для Бухгалтерии 3.0 и Бухгалтерии 2.0

В жизни так иногда случается, что в справочнике Номенклатуры неизвестным образом появляются дубликаты некоторых позиций номенклатуры. И однажды бухгалтер видит печальную картину в Анализе 41 счета — Оприходован один товар из справочника, а списывается другой. Да, он точно так же называется и они оба имеют одинаковые Артикулы, но в системе это два разных элемента Справочника и . надо исправлять, говорит Бухгалтер.

14.05.2019 3657 11 VPanin56 4

Отображение остатка дней отпуска в документе начисления отпуска. БП 3.0

Расширение конфигурации для БП 3.0, которое показывает остаток дней отпуска в документе начисления отпуска.

30.04.2019 3878 7 itmind 7

Онлайн-интенсив "1C:Предприятие для программистов: Бухгалтерские задачи" с 22 июня по 8 июля 2020 г. Промо

Данный онлайн-курс предусматривает изучение механизмов платформы “1С:Предприятие”, которые предназначены для решения задач бухгалтерского учета. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”, а также для опытных пользователей прикладного решения “1С:Бухгалтерия” и прочих прикладных решений, в которых реализованы соответствующие механизмы для автоматизации бухгалтерских задач.

Групповое формирование актов сверки взаиморасчетов и рассылка по электронной почте (БП 3.0)

Внешняя обработка, которая позволяет формировать акты сверки расчетов с контрагентами, делать рассылку файлов актов с печатью и подписью, контролировать возврат оригиналов документов.

12.04.2019 3845 29 andy23 8

Заполнение документов поступления (акты, накладные) на основании документов, полученных через ЭДО (УПД и товарная накладная)

Обработка позволяет заполнять номенклатуру (товары) документа Поступления (акты, накладные) на основание входящих документов ЭДО.

10.04.2019 2442 2 piskunov.maksim.a 3

Базовый курс по обмену данными в системе 1С:Предприятие. Онлайн-интенсив с 12 по 28 мая 2020 г. Промо

Данный онлайн-курс предусматривает изучение механизмов платформы “1С:Предприятие”, обеспечивающих обмен данными между различными прикладными 1С-решениями и взаимодействие с другими информационными системами. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”.

Загрузка основных средств (ОС) из таблицы, файла Excel. 1С:БГУ 2

Обработка позволяет загрузить основные средства ОС в конфигурацию 1С:Бухгалтерия государственного учреждения редакция 2.0.61.21 (1С:БГУ2) из таблицы, файла excel. При загрузке в пустую базу формируются: — справочник инвентарные номера (колонка 3 в таблице); — справочник ОС; — документ Ввод начальных остатков ОС, НМА, НПА.

04.04.2019 5159 44 2ncom 6

Замена КОСГУ/КЭК по приказу 209н для БГУ ред.1 и ред.2

Обработка замены КОСГУ/КЭК в проводках групп 340/560/660/730/830 по приказу 209н для БГУ ред.1 и ред.2

16.03.2019 12090 113 user716289 32

Программы для исполнения 54-ФЗ Промо

С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных — правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.

Заполнение плановой себестоимости продукции в документе "Отчет производства за смену" для Бухгалтерии 3.0

Заполнение значения Плановая стоимость продукции для документа "Отчет производства за смену" для Бухгалтерии предприятия 3.0 по данным списания материалов.

13.03.2019 3177 6 aleksandr_leiman 4

Обработки замены КОСГУ групп 340/560/660/730/830 по приказу 209н для БГУ ред.1

Обработки замены КОСГУ групп 340/560/660/730/830 по приказу 209н для БГУ 1.0.56: 1. Замена по группам 340/440. В зависимости от счета учета МЗ присваивается соответствующий КОСГУ (341, 342. 441, 442. ). 2. Замена по группа 560/660/730/830. В зависимости от типа контрагента присваивается соответствующий КОСГУ (731,732,561,562. )

12.03.2019 5297 77 pavel_vrn 9

Подборка программ для взаимодействия с ЕГАИС Промо

ЕГАИС (Единая государственная автоматизированная информационная система) — автоматизированная система, предназначенная для государственного контроля за объёмом производства и оборота этилового спирта, алкогольной и спиртосодержащей продукции. Инфостарт рекомендует подборку проверенных решений для взаимодействия с системой.

Аналоги материалов в "Отчёте производства за смену"

С помощью данного расширения в документе "Отчёт производства за смену" можно автоматически заменить отсутствующие материалы на их аналоги.

05.03.2019 2853 4 Andrey_Fokin 0

Контроль корреспонденций счетов при проведении документов в "1С:Бухгалтерия предприятия 3.0" (расширение)

Конфигурация "Бухгалтерия предприятия, редакция 3.0" предоставляет большую свободу при выборе счетов и аналитики в документах. Вашему вниманию предлагается механизм контроля корректных корреспонденций и аналитики при проведении документов, что может быть полезно для обеспечения "порядка" в учете, особенно при большом и разнообразном документообороте.

14.02.2019 4220 2 alex15650 6

Подборка решений для взаимодействия со ФГИС «Меркурий» Промо

С 1 июля 2019 года все компании, участвующие в обороте товаров животного происхождения, должны перейти на электронную ветеринарную сертификацию (ЭВС) через ФГИС «Меркурий». Инфостарт предлагает подборку программ, связанных с этим изменением.

Нумерация документов с префиксом по дате

Расширение конфигурации позволяет настроить нумерацию документов Заказ клиента, Счет, Реализация, Счет-фактура и Оказание производственных услуг и кадровых документов префиксом по дате документа. Т.е. в течении дня документы одного вида будут иметь сквозную нумерацию. На пример документы за 10 февраля нумеровать как 1002-0001, 1002-0002 и т.д. Возможны различные варианты настройки формата даты, в том числе с сохранением префиксации по организации и узлу информационной базы. Для конфигураций 1С:Бухгалтерия 3.0, Управление торговлей 11.4, Комплексная автоматизация 2, Зарплата и управление персоналом 3.1, Управление нашей фирмой 1.6 (УНФ 1.6)

11.02.2019 9666 72 de0nis 28

Отчет о движении денежных средств с остатками для БП 3.0

Отчет о движении денежных средств предназначен для использования в конфигурации Бухгалтерия предприятия 3.0. Отображает обороты в разрезе статьей движения денежных средств за выбранный период. Отличительной особенностью отчета является отображение остатков на счетах учета денежных средств.

04.02.2019 4232 18 Омский Домовой 6

Онлайн-курс "Подготовка к экзамену 1С:Эксперт и 1С:Профессионал по технологическим вопросам" с 7 по 24 апреля 2020 г. Промо

На курсе вы получите практические навыки решения задач производительности 1С, в том числе характерных для высоконагруженных информационных систем (более 1000 пользователей). Подготовка к экзамену – только одна из составляющих курса. 70% слушателей приходят за знаниями, которые позволят расти и зарабатывать, делать сложные задачи на крупных проектах.

Обновление от 22.04.2019

  • Исправлены выявленные ошибки.
  • Обработка протестирована на релизах БУ 3.0.70.25 и выше, а также на всех актуальных версиях релизов ЗУП 3.1.5, 3.1.6, 3.1.7, 3.1.8 и выше
  • Проверена работоспособность как в файловом, так и в клиент-серверном вариантах
  • В работе выход следующего обновления, в котором планируется в том числе добавить вариант подключения обработки, используя расширение.
  • Пользователи, кто ранее уже скачал обработку, можете прислать мне запрос с указание почты, я вышлю вам обновление.

Краткое описание

Стандартные средства синхронизации (в нашем организации) не устроили по многим причинам, поэтому было принято решение придумать и реализовать загрузку проводок своими силами. К тому же в бухгалтерии учет по сотрудникам ведется сводно, что значительно упростило задачу. Обработка по загрузке проводок реализована и протестирована в "боевых" условиях.

Важно! Для корректной работоспособности механизама в конфигурацию БУ нужно добавить два простых непериодических регистра сведений, которые необходимы для сопоставления данных по проводкам и подразделения в БУ и ЗУП:
• asuСоответствиеСпособовОтраженияВБухУчетеИЗУП
Измерения:
o СпособОтраженияЗарплатыВЗУП (тип Строка)
o Организация (тип СправочникСсылка.Организации)
o СпособОтраженияЗарплатыВБухУчете (тип СправочникСсылка.СпособыОтраженияЗарплатыВБухУчете)
o Подразделение (тип СправочникСсылка.ПодразделенияОрганизаций)

• asuСоответствиеПодразделенийВБухУчетеИЗУП
Измерения:
o ПодразделениеЗУП (тип Строка)
o Организация (тип СправочникСсылка.Организации)
o ПодразделениеБУ (тип СправочникСсылка.ПодразделенияОрганизаций)

Во вложении есть файл чистой конфигурации с этими регистрами (для примера).

После добавления регистров в БУ подключаем обработку (Администрирование -> Печатные формы, отчеты и обработки -> Дополнительные отчеты и обработки).

Предварительные настройки:

1. Настраиваем путь к базе, проверив сразу соединение с ЗУП

2. Настраиваем аналитику и соответствия. Можно пропустить данный пункт, но тогда в загруженных проводках не заполнятся некоторые колонки. Флаг «Не загружать вид начисления оплаты труда для НУ» — при его установке обработка свернет строки без учета данной аналитики.

3. Далее загружаем отражение из ЗУП, предварительно выбрав месяц и организацию и нажав кнопку "Загрузить данные". На вкладке «Удержанная зарплата» колонка «Получатель удержаний» заполняется по значениям, которые обработка найдет по ИНН или по наименованию. Если таких контрагентов не найдено в БУ, система не заполнит значение

4. После загрузки данных и проверке/корректировки нажимаем "Создать новый документ" или "Перезаполнить существующий документ".

Заключение

Обработка не претендует на 100% работоспособность под ваши условия, но в качестве исходника или примера отлично подойдет для решения подобной задачи на вашем предприятии.

Пробуйте тестировать, пишите комментарии и удачи всем в работе! 🙂

Наименование Файл Версия Размер
Ссылка на основную публикацию
Обзор товаров из интернет магазинов
Одноканальный, диапазон частот 1-150000Гц. Регулируются частота и скважность. Работа по таймеру. Рабочие напряжения 3.3-30В (ток 5-30мА). Применение: управление мощностью, например...
Нет моего разрешения экрана windows 10
Если вам нужно поменять разрешение экрана в Windows 10, почти всегда сделать это очень просто, а необходимые шаги описывались в...
Нет интернета регистрация в сети
Ошибка «Не зарегистрирован в сети» может появиться совершенно внезапно и многие пользователи не знают, что в таких случаях делать. Проблема...
Обзор часов casio edifice
Солнечная батарея, корпус и браслет из нержавеющей стали, Bluetooth для настройки со смартфона – для некоторых это звучит странно, но...
Adblock detector