1. Главная страница » Компьютеры » 1С временные таблицы в динамическом списке

1С временные таблицы в динамическом списке

Автор: | 16.12.2019

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

Сегодня мы выкладываем обзор новых возможностей текущего релиза 8.3.7 и будущей версии – 8.3.8.

Будет интересно всем:

  • Для эстетов – овальные кнопки и куча настроек элементов формы
  • Для разработчиков – более простая разработка форм, тестирование форм под разные устройства + оптимизация
  • Для пользователей – новое отображение форм, отказ от сколлинга в списках, комбинирование форм без конфигуратора
  • Для любителей old school – проведение (отмена проведения) и ввод на основании возможен из контекстного меню, как в 8.0 🙂

Кстати, комбинирование форм без конфигуратора – это достаточно интересно и означает, что сейчас пользователь даже без программиста сможет “сделать мини-АРМ”.

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

Обзор новых возможностей 8.3.7

В видео рассмотрим:

  • Конфигурацию рабочего места в пользовательском режиме
  • Перенос части логики работы формы с сервера на клиент
  • Подготовьтесь к внешнему изменению форм при переходе на 8.3.7
  • Механизмы тестирования работы форм под разное разрешение и положение экрана
  • И многое другое

Новые возможности 8.3.8

В видео рассмотрим:

  • Снова меняется внешний вид форм – чтобы пользователи не скучали 🙂
  • Разработчики возвращают хорошо забытое старое – использование контекстного меню
  • Отказ от вертикального сколлинга в списках
  • Поддержку клавиатурных гиков
  • И многое другое

P.S. “Несколько вопросов с Мисты…”

Смотрим несколько “свежих” веток с пятницы:

Курс «Профессиональная разработка интерфейсов и форм в 1С:Предприятии 8.3»

  1. Если Вы не хотите тратить несколько дней на пустое ожидание на форумах…
  2. Если Вы хотите не ковыряться в “намеках” и ненормативной лексике, а хотите видеть сразу пошаговое решение
  3. Если Вы хотите твердо знать, как быстро и с минимальными правками дорабатывать интерфейс типовых решений

Поддержка – 45 дней. Объем курса – 30 учебных часов.

Не откладывайте свое обучение!

56 комментариев для “ Новые возможности 8.3.7 и 8.3.8. Всё важное – в двух новых видео ”

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

Аннотации — возможность добавления в текст программы метаданных, не влияющих на выполнение кода, но допускающих использование для получения различных сведений о коде и его исполнении. Одновременно выпущен инструментарий для использования аннотированного кода. Одно из применений аннотаций — упрощение создания тестовых модулей для Java-кода.

Добрый день! Про новый инструмент “Аннтотации” мне ничего не известно. Так же хочу обратить внимание, что видео содержит обзор изменений платформы только в части интерфейсов и форм. Таким образом видео содержит не все изменения, которые появились в платформе.

Сергей, большое спасибо за обзор!

Очень познавательно. Спасибо!

Большое спасибо! Очень наглядно.

Про 8.3.7 уже знал, а про 8.3.8 – узнал только здесь. На счёт “Проблема в использовании пакетного запроса в динамическом списке” можно процитировать еще одного классика: “Шура, Вы просто готовить их не умеете”. Хотя правда Ваша – у меня тоже не получается…Облом. Спасибо за видео.

Читайте также:  Android ошибка при получении данных с сервера

У меня и в более ранних версиях (8.3.6, 8.3.7) получалось выводить в динамических списках поля ссылочных типов кажется без ограничений каких-либо. Вы показываете что это новая возможность 8.3.8? Или я что-то не так понял?

Да, для ссылочных типов было можно, но для полей составного типа данные, таких как Регистратор, подчиненные поля вывести не получалось. Теперь можно, хотя это бывает нужно крайне редко.

Первое видео посмотрел. Второе не вводится (((

Михаил, попробуйте просмотреть видео из другого браузера.

Спасибо за обзор.
Все круто!

Спасибо за видео, отличный обзор, документацию бывает читать невозможно)

Спасибо! Коротко и ясно.

Обзор отличный. Огромное спасибо .

Ну а 1С как всегда “все новое это хорошо забыто старое”
контекстное меню, скоро привязки простые и сложные от обычного интерфейса вернут -:))))

Ждем курс по СКД, данный у нас с коллегами уже в коллекции есть.

Обзор возможностей 8.3.7 на Яндекс.браузере не загружается.

Попробуйте открыть страницу в другом браузере.

Буду краток: [censored]

Света, давно ли Вы сменили пол?

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

Нелицеприятные высказывания в адрес ряда сайтов удалил.

К автору у меня просьба – выражаться корректнее.

Спасибо за обзор!

Спасибо за отличный обзор! Подобные видеоматериалы гораздо удобнее чем ворох текста с “Записок из зазеркалья”.

Изменения все очень нужные и давно ожидаемые. Управляемые формы становятся всё более управляемыми и гибкими, это очень радует. Наконец до разработчиков дошло что обновлять полнотекстовый поиск – это неудобно, а бегунок в динамическом списке – недостоверно. Еще бы добавили возможность выбора цветовой схемы в качестве замены желтой и вернули возможность менять ширину панели навигации, как было в обычном управляемом интерфейсе…. но не так принципиально, должна же быть у 1С своя “визитная карточка” для пользователей ))

Хм… форум мисты в конце хорошо охарактеризован. Была бы там качественная модерация можно было бы им пользоваться, а так лучше даже не заходить.

Ожидаю когда Курсы-По-1С объединит вокруг себя больше народа и появится площадка для общения и обмена опытом. Инфостарта мало, да и направленность другая, хотя тоже сейчас в обучение расширяться стали.

>Наконец до разработчиков дошло что обновлять полнотекстовый поиск — это неудобно

Это значит что обновление поиска в фоновом режиме система не будет делать?

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

Спасибо за обзор!

Видос не смотрел, но авансом одобряю 🙂

Увы, посмотреть обзор не удалось. Долго-долго мигает loading… и всё 🙁

Просмотр в другом браузере должен помочь.

Пробовал в 3-х разных. Результат похожий (зависает, только немного по разному). Может, просто было слишком много одновременных обращений?

Впрочем, кажется понял в чем дело. На работе закрыт просмотр видео. Извините, не сообразил вчера. Надо попробовать дома.

Ссылки на видео в flv.
Да простят меня авторы.

Видео не просто так выложено на сайте.

Мы проводим анализ – количество просмотров, на каком моменте видео слушатели “срываются”, сравниваем эту статистику с другими видео.

Поэтому просмотр должен идти именно через сайт.

Добрый день. Это апдейт к видео материалам курса по формам и интерфейсам правильно?
Если да нужно ли загрузить заново видео материалы курса, если они были скачаны ранее или это отдельные блоки видео?
Скачивал примерно 10-15 дней назад.

Читайте также:  Msi afterburner что это за программа

Эти видео есть в курсе, Вам ничего дополнительно скачивать не требуется.

Ожидал больше изменений от разработчиков 1С. Спасибо за обзор.

Спасибо за обзор. Познавательно) По элементам форм интересно)

Странная не любовь к пакетным запросам 🙂

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

А скачать его можно?

Скачать можно, но авторы “немного” против.

Наконец-то, дождался – круглые кнопки! Теперь заживем! Подумаешь, 113 ошибок в платформе – форма важнее содержания!

Вспомнил Чебуратора, который похоже до сих пор убежден, что “снеговик изучать рано” 🙂

Фарит, если мне память не изменяет, там по классике звучало так: “восьмёрка пока сыровата…” (с)

Вполне может быть, давно было 🙂

Спасибо за обзор, весьма познавательно!

Главной плюс пакетных запросов – возможность запихать в запрос таблицу значений и дальше плясать от нее. Вопрос работает ли это в динамическом списке.

Добрый день! Думаю, что нет. Кроме того, на текущий момент не получилось заставить заработать даже простейший пакетный запрос.

ВЫБРАТЬ
Номенклатура.Код как Код,
Номенклатура.Наименование как Наименование,
Номенклатура.Ссылка как Ссылка
Поместить ВТ
ИЗ
Справочник.Номенклатура КАК Номенклатура
;
ВЫБРАТЬ
ВТ.Код,
ВТ.Наименование,
ВТ.Ссылка
ИЗ
ВТ как ВТ

(При запуске система сообщает, что не найдено поле Код)
Так что пакетные запросы в динамических списках пока остаются только теорией. В документации присутствуют, а заставить их работать не получается.

В справочнике “Номенклатура” длинна кода = 0

С длиной кода все в порядке. Проблема в использовании пакетного запроса в динамическом списке.

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

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

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

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

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

Добрый день, Владимир! Как я понял, это Ваше виденье вопроса «Почему не следует использовать пакетные запросы в динамических списках?» и я согласен с вашими доводами. Но факт остается фактом – такая возможность присутствует в платформе. Без сомнения, для хранения временных таблиц будет использоваться TempDB, что повысит нагрузку на систему. Остается только догадываться о механике работы пакетных запросов в динамических списках и о том, как вообще заставить этот механизм хоть как-то работать :).

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

Читайте также:  Mikrotik 951 сброс к заводским настройкам

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

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

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

В качестве основной таблицы динамического списка указана таблица Справочник.Товары . Таким образом, считывание данных будет выполняться порциями динамически. Чтобы обеспечить правильность курсора, считывающего данные, динамический список добавит в запрос сортировку по полям Наименование и Ссылка из основной таблицы Справочник.Товары.

Оба упомянутых поля уже есть в запросе, поэтому динамический список добавляет только раздел УПОРЯДОЧИТЬ ПО . В результате запрос получается таким:

Теперь посмотрим на запрос. В запросе указано левое соединение основной таблицы справочника Товары с табличной частью документа Накладная . Это значит, что для каждой строки из основной таблицы будет выведено ее объединение с каждой строкой из табличной части, удовлетворяющее условию ПО .

В системе существует два товара и проведено две накладных, которыми оформлено поступление этих товаров.

Таким образом, в процессе выполнения этого запроса, для товара Молоко будет найдена одна подходящая запись:

А для товара Хлеб будет найдена тоже одна подходящая запись:

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

Проконсультироваться
со специалистом 1С

Не помню уже с какого релиза в запросах стало можно использовать временные таблицы. Для этого используется объект «Менеджер временных таблиц». Фактически менеджер временных таблиц описывает пространство имен временных таблиц и отвечает за их создание и уничтожение в базе данных.

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

Перепишем запрос для использования временных таблиц. Во временные таблицы поместим сгруппированную табличную часть документа и список товаров для фильтра виртуальных таблиц:
Код 1C v 8.х

При использовании временных таблиц в тексте запроса применяют инструкцию Поместить для создания новой временной таблицы, в этом случае в результат запроса система передает не содержимое этой таблицы (см прим 1 и прим 2 в коде выше), а количество записей помещенных во временную таблицу, по желанию можно не принимать это значение.

Также допускается использование инструкции Уничтожить в этом случае временная таблица уничтожается, в противном случае временные таблицы уничтожаются вместе с объектом менеджер временных таблиц.

В основном нашем запросе я использовал названия временных таблиц как указание на источник получения данных (им обязательно надо назначать синоним, что мы и видим в тексте). Использовать временные таблицы как источник можно не единожды, что при умелом их применении позволит и сократить текст запроса (улучшиться читабельность сложных запросов) и увеличить скорость (при использовании данных временной таблицы в нескольких местах запроса).
Автор: Павел Чистов

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *