Home » Уроки по 1С 8.3 » Урок 6: Работа с регистрами сведений
google




Урок 6: Работа с регистрами сведений

Задачи урока:

  • Понимание назначения регистров сведений
  • Работа с периодическими данными
  • Хранение вспомогательных данных

Регистры сведений

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

Периодические данные

Хранение курса валют

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

  • Справочник.Валюты
    • Аббревиатура (Строка 10)
  • РегистрСведений.КурсыВалют
    • Основные
      • Периодичность: В пределах дня
    • Данные
      • Измерения
        • Валюта (Справочник.Валюты, Ведущее — Да)
      • Ресурсы
        Курс (Число 10, 2, Неотрицательное)

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

Перейдем в режим 1С предприятия и заполним справочник валют и курсы (закладка с курсами появится на форме справочника Валюты).

l5_ent1

l5_ent2

l5_ent3

Хранение цен на товары

Для установки цен создадим документ «Прайслист», при проведении документ будет формировать записи в регистре сведений с ценами на товар на момент проведения документа.

  • Документ.ПрайсЛист
    • ТабличнаяЧасть
      • Товары
        • Номенклатура (Справочник.Номенклатура)
        • Цена (Число 10,2)
  • РегистрСведений.ЦеныНоменклатуры
  • Основные
    • Периодичность: В пределах дня
    • Режим записи: Подчинение регистратору
  • Данные
    • Измерения
      • Номенклатура
    • Ресурсы
      • Цена

Прежде чем начать создавать объекты рекомендую посмотреть видео, использован механизм Drag-and-drop для создания необходимых реквизитов

Обработка.ГенераторДанных

Сейчас у нас мало позиций номенклатуры, создадим обработку генерации записей в справочнике Номенклатура. Так же создадим новую подсистему «Администрирование», куда и включим новую обработку.
Создаваемая нами конфигурация использует Управляемые формы, поэтому следует учитывать особенности работы в режиме Управляемых форм, о них писалось ранее: работа с данными происходит на сервере. Для генерации номенклатуры создадим команду формы «ГенерироватьДанные», создадим обработчик события нажатие на кнопку, выберем вариант на Клиенте и на СервереБезКонтекста. Итоговый программы код будет таким:

Применяем конфигурацию, запускаем 1С Предприятие. Администрирование — Генератор данных — Генерировать данные. Открываем справочник «Номенклатура» и видим

l5_ent4

Заполнение табличной части Прайс-листа
Каждый раз выбирать все позиции номенклатуры долго, упростим заполнение загрузкой данных из справочника номенклатура. Прежде чем приступать необходимо посмотреть видео.

Разберем видео по шагам.

  • Создали форму документа
  • Создали Команду формы, поправили обработку результата запроса (сделали загрузку в табличную часть), обновили данные на форме, иначе бы не увидели что загрузилось.
  • Запустили 1С Предприятие, открыли форму и не обнаружили команду, потому что мы ее не вынесли на форму.
  • Добавили команду на форму, в панель навигации
  • В режиме 1С Предприятие появилась кнопка, по нажатии отобразило весь состав справочника «Номенклатура», причем список не был упорядочен.
  • В конфигураторе вручную поправили текст запроса: добавили 2 условия и сортировку по наименованию товара.
    Условие «Номенклатура.ЭтоГруппа = Ложь» отвечает за выборку только элементов, без групп.
    Условие «Номенклатура.ТипНоменклатуры = &ТипНоменклатуры» указывает что необходимо получить только товары, игнорируя другие типы номенклатуры, при этом ТипНоменклатуры задан как параметр запроса, который позднее заполняется так «Запрос.УстановитьПараметр(«ТипНоменклатуры»,Перечисления.ТипыНоменклатуры.Товар);»

В итоге текст модуля стал таким:

Отчет: Цены товаров

Перед созданием отчета необходимо ознакомиться с видео

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

На этом урок окончен.

Скачать урок.


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



Один комментарий на «“Урок 6: Работа с регистрами сведений”»

  1. […] Более подробно по работе с Регистрами сведений можно прочесть в уроке № 6. […]

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

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

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


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