1с свойства в каком регистре

В процессе изучения любого предмета иногда возникает потребность в дополнительной систематизации знаний. Эта статья – попытка систематизировать общие сведения о видах регистров в 1с, их общих чертах и различиях. Возможно, начинающим программистам она поможет “удобнее” уложить знания в голове.
В любой конфигурации 1с 8.2 можно увидеть такой вид объектов, как регистры. Основное их предназначение — оптимизация получения данных для отчетов. Существует четыре вида реистров: регистры сведений, регистры накоплений, регистры бухгалтерии и регистры расчета. И хотя предназначены эти виды для решения разных задач, уже по тому, что они все называются «регистрами» можно догадаться, что они имеют и нечто общее.
Во-первых, как уже упоминалось, как объекты конфигурации они нужны для более быстрого считывания информации из базы данных, например в запросах. Регистры можно сравнить с каталогом книжной библиотеки (раньше их составляли на бумажных карточках). То есть это не только хранение информации (данных), но и ее систематизация (создание определенной структуры), когда в конкретный регистр попадают данные (например, из документов разного вида) и при необходимости ее можно достаточно быстро оттуда извлечь и вывести, например, в отчет или обработать иным образом. В общем случае основное использование регистров в 1с можно изобазить следующей схемой: «Документ — Регистр — Отчет», хотя существуют и исключения.
Во-вторых – все регистры, независимо от их вида, имеют ресурсы, измерения и реквизиты. То есть определяется что (ресурс) в каких разрезах (измерения) нужно учесть. Применимо к библиотеке — мы учитываем книги в разрезе авторов, жанров и издательств. А с помощью реквизитов можно дополнить информацию, например, годом издания. И здесь есть один важный момент — структура регистра должна быть определена очень тщательно в зависимости от того, какую информацию мы собираемся из него извлекать. Например, если в нашей библиотеке поиск чаще всего производится по фамилии автора — в карточке сначала должен стоять автор (первое измерение), а ужа после него — жанр (второе измерение).
В-третьих, регистры имеют табличную структуру, но она отличается от структуры объектных таблиц. Так что вы не найдете таких классов, как РегистрСсылка или РегистрОбъект. Состав таблицы регистра зависит от его свойств.
В-четвертых, данные в регистры записываеются в виде наборов записей. Каждый набор состоит из одной или нескольких записей. При этом на запись в наборе нельзя сослаться или обратиться к ней. А также ни набор записей, ни запись в наборе не могут иметь состояния «пометка на удаление».
В-пятых, при обращении в запросах к регистрам для получения данных существует возможность обратиться не только к физическим таблицам регистра, но и к виртуальным таблицам, которые представляют из себя вложенный запрос, получающий данные по определенным параметрам. Параметры виртуальной таблицы задаются в зависимости от конкретных потребностей по получению данных из таблиц регистров.
Терперь поговорим об особенностях каждого вида регистров:
1. Регистры сведений
Пожалуй, самый простой вид регистра. В отличие от регистров другого вида, его ресурс может имень не только числовое значение, но и другой тип данных.
Имеет особое свойство, не используемое в других видах регистров — периодичность.
Может не иметь регистратора, то есть быть независимым, в этом случае записи производятся непосредственно в регистр, минуя регистрирующий документ (то самое исключение из общей схемы использования регистров в 1с). Тогда как остальные виды регистров должны иметь хотя бы один документ-регистратор.
Кроме того, данный вид регистра имеет автоматический контроль уникальности записей по периоду (периодичность, указанная в свойствах регистра) и измерениям. То есть среди записей регистра не может быть более одной записи с одинаковыми показателями период+измерение+регистратор(если он есть). Уникальность записей в других видах регистров осуществляется по регистратору.
2. Регистры накоплений
Предназначен для накопления числовых покателей (ресурсов) и делится на два подвида — Остатки и Обороты. Отличие между ними заключается в том, что Регистр накопления Остатки предназначен для получения информации о состоянии «на момент времени», а Обороты — информации о данных «за период».
Данные регистра накопления хранятся в БД в виде двух таблиц — таблица движений и таблица итогов. Обращение напрямую возможно только к таблице движений.
3. Регистры бухгалтерии
Похож на регистр накопления, но предназназначен для систематизации данных о бухгалтерских проводках. Впрочем он может использоваться не только для бухгалтерского, но и для любого другого вида учета.
Его основная особенность заключается в возможности учета данных методом двойной записи по принципу Дебет-Кредит. Для реализации возможности формирования проводок Регистр бухгалтерии должен быть связан со специальным объектом – План счетов.
4. Регистры расчета
Этот вид регистра предназначен не только для хранения, накопления и систематизации данных, но и для реализации сложных механизмов периодческих расчетов. Для этого в свойствах регистра расчета необходимо определить еще один объект 1с — план видов расчета. То есть работа регистра этого вида невозможна без определения для него конкретного плана видов расчета.
Можно сказать, что регистр расчета используется и для хранения информации о видах расчета, и для хранения результатов расчетов, и для промежуточных значений расчетов. Основное его предназначение в конфигурациях 1с — это расчеты начислений, например, заработной платы и других выплат сотрудникам. И для реализации этих задач при определении параметров регистра расчета, в нем возможно указать связь с графиком времени, что позволяет производить расчеты в зависимости от того времени, которое задано в этом графике. Сам график времени должен быть определен с помощью соответствующего регистра сведений.
Таким образом, можно сказать, что регистр расчета имеет в итоге самую сложную структуру по сравнению с другими видами регистров в 1с.
Источник
Регистры сведений — это прикладные объекты конфигурации. Они позволяют хранить в прикладном решении произвольные данные в разрезе нескольких измерений. Например, в регистре сведений можно хранить курсы валют в разрезе валют, или цены предприятия в разрезе номенклатуры и типа цен.
Структура
Информация в регистре сведений хранится в виде записей, каждая из которых содержит значения измерений и соответствующие им значения ресурсов.
Измерения регистра описывают разрезы, в которых хранится информация, а ресурсы регистра непосредственно содержат хранимую информацию. Например, для регистра сведений Цены товаров, который имеет следующую структуру:
записи, хранимые в базе данных, будут выглядеть следующим образом:
Вместе с каждой записью, находящейся в регистре сведений, можно хранить дополнительную произвольную информацию. Для этого служат реквизиты регистра сведений.
Периодичность
Одной из возможностей регистра сведений является хранение данных не только в разрезе указанных измерений, но и в разрезе времени. Разработчик может указать минимальную периодичность, с которой записи будут заноситься в регистр:
В этом случае к каждой записи регистра будет добавляться поле Период, хранящее дату, которой были внесены записи в регистр. Использование периодичности регистра сведений позволяет не просто хранить статические данные, но и отслеживать их изменение во времени.
Например, периодический регистр сведений Цены товаров может не только хранить информацию о том, какова цена на определенную номенклатуру сейчас, но и о том, как она изменялась в прошлом (или будет изменяться в будущем):
Подчинение регистратору
Внесение изменений в регистр сведений может выполняться как вручную, так и при помощи документов. В случае, когда изменения в регистр сведений вносятся с помощью документов, к каждой записи регистра добавляется специальное поле, в котором хранится информация о регистраторе — документе, с которым связана эта запись. В процессе создания прикладного решения разработчик указывает, какой именно режим записи будет использоваться данным регистром сведений:
Использование режима записи Подчинение регистратору может потребоваться в случае, когда логика работы прикладного решения требует того, чтобы изменения, выполняемые в регистре сведений, были жестко связаны с документами, фиксирующими факты хозяйственной деятельности.
Например, изменение цен компании может производиться только определенным кругом лиц, и каждое такое изменение должно сопровождаться «бумажным» документом. В этом случае можно использовать режим подчинения регистратору, при котором изменение цен может быть выполнено только специальным документом — Изменение цен товаров.
Уникальность записей
Система обеспечивает контроль уникальности записей, хранящихся в регистре сведений. Таким образом, в регистре сведений не может находиться двух одинаковых записей. Одинаковыми считаются записи, у которых совпадает ключ записи. Ключ записи формируется системой автоматически, на основании значений, содержащихся в полях записи, и зависит от вида регистра сведений.
В общем случае в формировании ключа записи будут участвовать значения регистратора, периода и значения измерений. Таким образом, например, в непериодическом регистре сведений Цены товаров с независимым режимом записи не может существовать двух записей о розничной цене конфет ассорти. Точно так же, как в периодическом регистре сведений Цены товаров, подчиненном регистратору, не может существовать двух записей о розничной цене конфет ассорти, внесенных одной и той же датой, одним и тем же документом Изменение цен товаров.
Формы
Для того чтобы пользователь мог просматривать и изменять данные, содержащиеся в регистре сведений, система поддерживает несколько форм представления регистра. Система может автоматически генерировать все нужные формы регистра. Наряду с этим разработчик имеет возможность создать собственные формы, которые система будет использовать вместо форм по умолчанию:
Форма списка
Для просмотра данных, содержащихся в регистре сведений, используется форма списка. Она позволяет выполнять навигацию по регистру, добавлять, помечать на удаление и удалять записи регистра. Форма списка позволяет выполнять сортировку и отбор отображаемой информации по нескольким критериям:
Форма записи
Для просмотра и изменения отдельных записей регистра сведений используется форма записи. Как правило, она представляет данные в удобном для восприятия и редактирования виде:
Функциональные возможности регистра сведений
Основными функциональными возможностями, которые предоставляет регистр сведений разработчику, являются:
- создание, изменение и удаление записей;
- выбор записей в заданном интервале по заданным критериям;
- выбор записей по регистратору;
- получение значений ресурсов записей, соответствующих указанному периоду и значениям измерений;
- получение значений ресурсов наиболее ранних и наиболее поздних записей регистра, соответствующих указанному периоду и значениям измерений.
Источник
Регистр сведений 1С 8 — объект метаданных, предназначенный для хранения справочной информации в разрезе определенных разработчиком измерений.
Типичный пример использования регистра сведений — хранение информации о курсе валют в разрезе валюты и периода.
Рассмотрим подробнее свойства и настройки регистра сведений.
Настройка и свойства регистра сведений 1С 8
Два главных свойства регистра сведения — Периодичность и Режим записи.
Это уникальные свойства регистра сведений, которых больше нет ни у одного объекта метаданных. Рассмотрим их подробнее.
Периодичность регистра сведений 1C
Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания – попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>
Данное свойство позволяет добавить к списку измерений дополнительное измерение — Период. С его помощью можно решить большое количество задач: хранение информации в базе данных, учитывая актуальность на определенную дату. Прикладных примеров использования периодов множество: хранение значение валюты на каждый день, хранение цены номенклатуры и т.д.
Периодичность может принимать следующие значения:
- Непериодический
- В пределах секунды
- В пределах дня
- В пределах месяца
- В пределах квартала
- В пределах года
При выборе периодичности, отличной от варианта Непериодический, система будет контролировать уникальность записей в пределах заданного промежутка времени. Если запись не уникальна, система 1C выдаст сообщение Запись с такими ключевыми полями существует! и не даст произвести запись в базу данных.
А одна из главных особенностей периодического регистра сведений — возможность получать готовые значения «Среза первых» и «Среза последних». Эта информация позволяет очень быстро получить из базы данных информацию о последнем (первом) установленном значении на определенную дату.
Режим записи регистра сведений
В 1С 8.2 и 8.3 это свойство может быть либо в значении «Независимый», либо — «Подчинение регистратору». В первом случае записи можно будет произвести как программно, так и из формы списка регистра сведений. Во втором случае обязательно указание документа-регистратора записи. Это накладывает определенные ограничения, но в то же время открывает новые возможности.
Свойства измерения регистра сведений
Также следует обратить внимание на палитру свойств измерений регистра сведений 1С 8.3. Особенно на флаги Ведущее и Основной отбор:
- Ведущее — свойство измерения, подразумевающее под собой информацию о том, что без значения этого измерения запись регистра не имеет смысл. На деле это означает что система при удалении значения из измерения удаляет еще и запись регистра с «Ведущим» измерением. Может быть установлено только одно измерение.
- Основной отбор — если регистр независимый, по этим измерениям будет устанавливаться регистрация изменений для плана обмена. Аналогично использование Основной отбор по периоду включает основной отбор для период для периодических регистров.
О других объектах системы 1С можно прочитать в разделе конфигурирование 1С.
Программная запись в регистр сведений 1С
Добавить новые записи в регистр сведений можно двумя способами — с помощью менеджера записи и с помощью набора записей. Первый случай подойдет для одиночной записи, второй — для двух и и более записей.
Использование менеджера записи:
НоваяЗапись = РегистрыСведений.КурсыВалют.СоздатьМенеджерЗаписи();
НоваяЗапись.Валюта = Справочники.Валюты.НайтиПоНаименованию(«USD»);
НоваяЗапись.Период = Дата(31,12,2016);
НоваяЗапись.Курс = 100;
НоваяЗапись.Кратность = 1;
НоваяЗапись.Записать();
Использование набора записей регистра сведений 1С:
НовыйНаборЗаписей = РегистрыСведений.КурсыВалют.СоздатьНаборЗаписей();
//если вы не установите отбор — удалятся все записи регистра сведений
НовыйНаборЗаписей.Отбор.Валюта.Установить(Доллар, Истина);
НовыйНаборЗаписей.Отбор.Период.Установить(Дата(31,12,2016), Истина);
//формируем непосредственно запись набора
НоваяЗаписьНабора = НовыйНаборЗаписей.Добавить();
НоваяЗаписьНабора.Валюта = Справочники.Валюты.НайтиПоНаименованию(«USD»);
НоваяЗаписьНабора.Период = Дата(31,12,2016);
НоваяЗаписьНабора.Курс = 100;
НоваяЗаписьНабора.Кратность = 1;
НовыйНаборЗаписей.Записать();
Для полной программной очистки всех записей регистра сведений можно использовать нашу обработку.
Видеолекция по регистрам сведений в 1С для начинающих:
Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):
К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.
Источник
Назначение
регистров
Регистры – это таблицы для накопления оперативных данных и получения
сводной информации.
Данные
в регистры добавляются только при проведении документов. Сведения
из регистров используются для формирования отчетов. Классическая
схема использования регистров в 1С:Предприятие выглядит следующим
образом:
Документы
=> Регистры => Отчеты
Измерения и ресурсы
Основная
проблема при проектировании регистров – это определение его структуры.
Структура регистра должна быть такова, чтобы извлекать из него
нужную информацию без утомительной обработки.
Измерения
регистра – это то, в каких разрезах требуется хранение информации.
Ресурсы регистра – это количественные или суммовые данные, которые
хранятся в регистре.
Предположим,
что регистр «Остатки товаров» должен содержать сведения о количестве
и стоимости каждого товара на каждом складе. В идеологии системы
1С:Предприятие регистр такого вида представляет собой прямоугольную
систему координат на одной оси которой находятся склады, на другой
— товары, а на пересечении конкретного склада и конкретного товара
находятся цифры количества товара и стоимости товара.
Регистр:
Остатки товаров
Измерения: Товар, Склад
Ресурсы: Кол-во, Стоимость
С
помощью методов встроенного языка мы можем легко получить ответы
на вопросы:
остаток
конкретного товара на конкретном складеостаток
конкретного товара на всех складахстоимость
всех товаров на конкретном складе
Движения
в регистрах
В
табличном виде регистр ОстаткиТоваров представляется следующим
образом:
Товар | Склад | Кол-во | Стоимость | |
приход | Товар4 | Склад1 | 15 | 200 |
расход | Товар4 | Склад1 | 10 | 100 |
приход | Товар4 | Склад1 | 5 | 50 |
… | … | … | … | … |
Одна строка из этой таблицы называется “движение”. Движения
в регистрах создаются только при проведении документов. В регистре,
кроме измерений и ресурсов, можно задать реквизиты. Реквизиты
– это дополнительные сведения, сопровождающие движение. Методами
встроенного языка можно отбирать движения с заданным значением
реквизита.
Виды
регистров
В
системе 1С:Предприятие возможно использование регистров двух типов:
регистры остатков и регистры оборотов. Разница между
ними понятна из их названия и заключается в характере хранимой
информации: в регистрах остатков всегда хранится информация о
конечном состоянии средств, а в регистрах оборотов, образно выражаясь,
— как это состояние было достигнуто.
Если
из регистра нужно быстро получать остаток чего-либо на текущий
момент, тогда нужно сделать регистр остатков. Если из регистра
нужно быстро получать приход или расход чего-либо за период, тогда
нужно сделать оборотный регистр.
Регистры
остатков
Рассмотрим в качестве примера отслеживание взаиморасчетов с покупателями
товаров, которые производит или продает предприятие.
Для
того чтобы оперативно получать информацию о взаимной задолженности
предприятия и покупателя, потребуется регистр «Взаиморасчеты», в
котором для каждого покупателя будет храниться сумма задолженности.
При совершении хозяйственной операции состояние регистра будет соответствующим
образом изменяться, каждый раз отражая текущее состояние взаиморасчетов.
Регистр «Взаиморасчеты» — это регистр остатков.
Регистры
оборотов
Однако,
легко получить информацию об объеме закупок, совершенных данным
покупателем за какой-либо период времени, из регистра «Взаиморасчеты»
нельзя. Можно проанализировать все движения, имеющие отношение к
данному покупателю, и вычислить общую сумму закупок. Но, когда необходимо
получать эти сведения оперативно (например, по условиям договора
при достижении определенного объема закупок покупателю должна предоставляться
скидка), такой способ, конечно же, не подходит.
В
этом случае решением проблемы может быть использование регистра
оборотов. В таком регистре — назовем его «Объем закупок» — в
разрезе покупателей будет храниться информация об объеме закупок
(об обороте покупателя). При создании регистра оборотов можно указывать,
с какой периодичностью будет накапливаться информация: день, неделя,
месяц и так далее.
Теперь,
при совершении хозяйственных операций, необходимо будет изменять
не только состояние регистра «Взаиморасчеты», но и регистр «Объем
закупок». В этот регистр при совершении клиентом каждой покупки
будет заноситься информация о сумме покупки. В результате в регистре
«Объем закупок» будет постоянно накапливаться информация об общем
объеме закупок клиента.
Основы
программирования
Регистры, | |
Оборотный регистр Доходы Измерения: Клиент, Товар Ресурсы: Доход Реквизиты: нет Периодичность: День | Регистр остатков Товары Измерения: Товар, Склад Ресурсы: Количество, Стоимость Реквизиты: нет |
Хранит доходы от продаж за день в разрезе клиентов и товаров. | Хранит остатки товаров на каждом складе в количественном и суммовом выражении. |
Запись
движений в регистр остатков
(только при проведении документа)р.Доходы.ДвижениеПриход(Покупатель,КупленныйТовар,СуммаПокупки)
Методы ДвижениеПриходВыполнить
и ДвижениеРасходВыполнить
Пример:
Регистр.Доходы.Клиент
= Покупатель;
Регистр.Доходы.Товар = КупленныйТовар;
Регистр.Доходы.Доход = СуммаПокупки;
Регистр.Доходы.ДвижениеПриходВыполнить();
Запись
движений в оборотный регистр
(только при проведении документа)
1. Метод Движение
Пример: Регистр.Товары.Движение (ПоступившийТовар, ТекСклад, КолвоПоНакладной,
СуммаПоНакладной)
2. Метод ДвижениеВыполнить
Пример:
Регистр.Товары.Товар = ПоступившийТовар;
Регистр.Товары.Склад = ТекСклад;
Регистр.Товары.Количество = КолвоПоНакладной;
Регистр.Товары.Стоимость = СуммаПоНакладной;
Регистр.Товары.ДвижениеВыполнить();
Примечание: Если сумма или количество в движении будет отрицательным,
то это движение будет расходом, иначе приходом.
Обращение
к итогам регистра
1-й способ.
РегТовары = СоздатьОбъект(“Регистр.Товары”);
РегТовары.ВыбратьИтоги();
Пока РегТовары.ПолучитьИтог()=1 Цикл
……Сообщить(“Товар ” + Строка(РегТовары.Товар) +
…………………. ” на складе ” + Строка(РегТовары.Склад)
+
…………………. ” кол-во: ” + Строка(РегТовары.Количество)
+
…………………. ” стоимость: ” + Строка(РегТовары.Стоимость)
+
КонецЦикла;
2-й способ.
Выгрузка
итогов в таблицу значений
РегДоходы = СоздатьОбъект(“Регистр.Доходы”);
ТабЗнач = СоздатьОбъект(“ТаблицаЗначений”);
РегДоходы.ВыгрузитьИтоги(ТабЗнач);
ТабЗнач.ВыбратьСтроки();
Пока ТабЗнач.ПолучитьСтроку()=1 Цикл
……Сообщить(“Товар ” + Строка(ТабЗнач.Товар) +
…………………. ” на складе ” + Строка(ТабЗнач.Склад)
+
…………………. ” кол-во: ” + Строка(ТабЗнач.Количество)
+
…………………. ” стоимость: ” + Строка(ТабЗнач.Стоимость)
+
КонецЦикла;
Обращение
к итогам оборотного регистра
РегДоходы =
СоздатьОбъект(“Регистр.Доходы”);
//установить период выборки “30 ноября 2001 года”
РегДоходы.ИспользоватьПериод(2001,11,30);
1. Метод Итог
Пример:
//получить доход за день по данному клиенту и данному товару
Доход = РегДоходы.Итог(ТекКлиент, ТекТовар, “Доход”);
2. Метод Итоги
Пример:
//получить доход за день по данному клиенту и данному товару
РегДоходы.Итоги(ТекКлиент, ТекТовар);
Доход = РегДоходы.Доход;
3. Метод СводныйИтог
Могут быть указаны не все измерения. Фиксируются только указанные
измерения.
Пример:
//получить сводные итоги за день
ДоходПоКлиенту = РегДоходы.СводныйИтог(ТекКлиент,,”Доход”);
ДоходПоТовару = РегДоходы.СводныйИтог(,ТекТовар,”Доход”);
4. Метод СводныеИтоги
Могут быть указаны не все измерения. Фиксируются только указанные
измерения.
Пример:
//получить сводные итоги за день по клиенту
РегДоходы.СводныеИтоги(ТекКлиент,); //указано только одно измерение
ДоходПоКлиенту = РегДоходы.Доход;
//получить сводные итоги за день по товару
РегДоходы.СводныеИтоги(,ТекТовар); //указано только одно измерение
ДоходПоТовару = РегДоходы.Доход;
Обращение
к итогам регистра остатков
РегТовары =
СоздатьОбъект(“Регистр.Товары”);
1. Метод Остаток
Пример:
//получить остаток данного товара на данном складе
Колво = РегТовары.Остаток (ТекТовар, ТекСклад, “Количество”);
//получить стоимость
данного товара на данном складе
Стоимость = РегТовары.Остаток (ТекТовар, ТекСклад, “Стоимость”);
2. Метод Остатки
Пример:
//получить остаток данного товара на данном складе по кол-ву и по
сумме
РегТовары.Остатки (ТекТовар, ТекСклад);
Колво = РегТовары.Количество;
Стоимость = РегТовары.Стоимость;
3. Метод СводныйОстаток
Могут быть указаны не все измерения. Фиксируются только указанные
измерения.
Пример:
//получить остаток данного товара на всех складах
КолвоТовара = РегТовары.СводныйОстаток (ТекТовар,,”Количество”);
СтоимостьТовара = РегТовары.СводныйОстаток (ТекТовар,,”Стоимость”);
//получить стоимость
всех товаров на данном складе
СтоимостьПоСкладу = РегТовары.СводныйОстаток (,ТекСклад,”Стоимость”);
4. Метод СводныеОстатки
Пример:
//получить сводные остатки по товару
РегТовары.СводныеОстатки(ТекТовар,); //указано только одно измерение
КолвоТовара = РегТовары.Количество;
СтоимостьТовара = РегТовары.Стоимость;
//получить стоимость всех товаров на данном складе
РегТовары.СводныеИтоги(,ТекСклад); //указано только одно измерение
СтоимостьПоСкладу = РегТовары.Стоимость;
Обращение
к движениям регистра
РегТовары =
СоздатьОбъект(“Регистр.Товары”);
РегТовары.ВыбратьДвижения(ДатаНач,
ДатаКон);
Пока РегТовары.ПолучитьДвижение()=1 Цикл
……..Сообщить(“Дата движения ” + Строка(РегТовары.ТекущийДокумент.ДатаДок));
……..Сообщить(“Клиент: ” + РегТовары.Клиент);
……..Сообщить(“Товар: ” + РегТовары.Товар);
……..Сообщить(“Сумма: ” + РегТовары.Доход);
КонецЦикла;
Фильтрация
движений и итогов
РегТовары =
СоздатьОбъект(“Регистр.Товары”);
1. Метод УстановитьФильтр
Пример:
//выбрать все движения по данному складу за период
РегТовары.УстановитьФильтр(,ТекСклад);
РегТовары.ВыбратьДвижения(ДатаНач, ДатаКон);
Пока РегТовары.ПолучитьДвижение()=1 Цикл
…
КонецЦикла;
//выбрать все товары на данном складе
РегТовары.УстановитьФильтр(,ТекСклад);
РегТовары.ВыбратьИтоги();
Пока РегТовары.ПолучитьИтог()=1 Цикл
…
КонецЦикла;
2. Метод УстановитьЗначениеФильтра
Пример:
//выбрать все движения
по данному складу за период
РегТовары.УстановитьЗначениеФильтра(“Склад”, ТекСклад);
//далее идет выборка движений или итогов
3. Метод ВыбратьДвиженияДокумента
4. Метод ВыбратьДвиженияСОстатками
Применяется только
для регистра остатков.
Временный
расчет регистров
Временный расчет
регистров требуется, если нужно выбрать итоги или движения на определенную
дату. По умолчанию итоги регистров выдаются на Точку актуальности.
РегТовары = СоздатьОбъект(“Регистр.Товары”);
РегДоходы = СоздатьОбъект(“Регистр.Доходы”);
//установка
флага временного расчета для регистров
РегТовары.ВременныйРасчет(1);
РегДоходы.ВременныйРасчет(1);
1. Метод РассчитатьРегистрыНа
Рассчитать все регистры с установленным флагом временного расчета
на начало события.
(на начало даты или на момент до проведения документа)
2. Метод РассчитатьРегистрыПо
Рассчитать все регистры с установленным флагом временного расчета
на конец события.
(на конец даты или на момент после проведения документа)
Запрос
к регистру
В запросах
к регистрам применяются функции НачОст, КонОст, Приход, Расход.
В запросах к оборотным регистрам обязательно указывается Период.
ТекстЗапроса
= “
|Период С ДатаНач По ДатаКон;
|Товар = Регистр.Доходы.Товар;
|Клиент = Регистр.Доходы.Клиент;
|Доход = Регистр.Доходы.Доход;
|Условие (Товар = ТекТовар);
|Группировка Клиент;
|Функция ПриходПоКлиенту = Приход(Доход);
|”;
Источник