Home » Уроки по 1С 8.3 » Урок 8: Динамические списки
google




Урок 8: Динамические списки

Задачи:

  • Научиться визуально создавать и работать с динамическим списком
  • Научиться программно управлять динамическим списком

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

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

Внешний отчет «ИнформацияПоЦенам»

Создание внешнего отчета

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

Создаем внешний отчет: Файл — Новый — Внешний отчет. Имя: ИнформацияПоЦенам, Создаем основную форму отчета.

l8_cfg11 l8_cfg12
На форме создаем реквизит, Имя — список, Тип: ДинамическийСписок. В списке будем отображать срез последних цен из РегистраСведений.ЦеныНоменклатуры. Укажем в поле «Основная таблица»: РегистрСведений.ЦеныНоменклатуры.СрезПоследних.

 

l8_cfg3

Перетащим на форму реквизит список, на вопрос о создании колонок отвечаем Да.

l8_cfg4

Запускаем 1С Предприятие, открываем наш отчет.

l8_ent1 l8_ent2

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

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

l8_cfg5 l8_cfg6

В список таблиц добавим Справочник.Номенклатура (перетащим из одного списка в другой), т.к. наименование справочника и измерение регистра сведений имеют одно имя будет конфликт, меняем алиас для справочника, назовем: «СпрНоменклатура».

 

l8_cfg7

В список полей добавим из справочника поля: ТипНоменклатуры, Код, Родитель.

l8_cfg8

Нажмем на кнопку «Запрос», увидим итоговый запрос к системе.

l8_cfg9

Больше ничего менять не будем, Нажимаем Ок, в форме настройки динамического списка укажем основной таблицей: «РегистрСведений.ЦеныНоменклатуры.СрезПоследних», и тоже нажмем ок. Проверим отчет в 1С Предприятии (ent2),

l8_ent2

новые колонки не видны, потому что мы их не отобразили. Исправим это: перетащим колонки из секций реквизитов в секцию элементов формы.

l8_cfg10

Сохранимся и проверим в 1С Предприятии, получим:

l8_ent3

Программное управление

Отображение цен на дату

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

  • Создадим реквизит отчета: ЦеныНаДату, тип Дата.
    l8_cfg11
  • Перетащим созданный реквизит на форму.
    l8_cfg12
  • Создадим команду «ОтобразитьЦены», создаем обработчик события
  • Создаем обработчик события «ПриСозданииНаСервере» у формы
    l8_cfg13
  • Модифицируем модуль формы

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

Программное управление колонками

Удалим на форме все колонки, должно получиться так:

l8_cfg14

Модифицируем процедуру ПолучитьДанные:

Проверяем результат:
l8_ent4 l8_ent5

Другие возможности программного управления

Создадим команды и их обработчики:
— СгруппироватьПоТипу
— ИзменитьОформление
— УстановитьОтборПоРегистратору

Код для команд:

Ручное управление

Добавим возможность установки произвольных отборов напрямую, минуя пункт меню «Еще»:

l8_cfg15

В режиме 1С Предприятие будет выглядеть так:
l8_ent6

Настроим свое правило оформления для строк с ценой меньше 100 (Кнопка «Еще» — Настроить список — Условное форматирование):
l8_ent7 l8_ent8 l8_ent9

При желании можно выделить конкретные ячейки, для этого надо их на вкладке «Оформляемые поля».

Вставка внешнего отчета в конфигурацию

Правой кнопкой мыши щелкаем на строке «Отчеты», выбираем наш отчет.
l8_cfg16

Указываем подсистему и сохраняем конфигурацию.

Обобщающее видео по уроку

Видео содержит весь материал урока описанного выше и добавлены некоторые моменты не описанные в статье.

ВАЖНО: Все списки в 1С Предприятие 8, в режиме управляемых форм, основаны на Системе компоновки данных (СКД). Таким образом, СКД используется не только для формирования отчетов.

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


Posted on by Ушаков Сергей
Categories: Уроки по 1С 8.3 Метки: ,,,



Один комментарий на «“Урок 8: Динамические списки”»

  1. […] детально работа с динамическими списками рассмотрена здесь. Скачать […]

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

Войти с помощью: 

Google




Социальные сети


Я в Twitter
Яндекс.Поиск
Поиск обычный
Счетчики
Рейтинг@Mail.ru Яндекс.Метрика