Вопросы по оборотным и остаточным регистрам накопления. Оборотный регистр накопления «Продажи 1с регистр накопления
Теперь создадим оборотный регистр накопления и добавим в один из наших документов движения еще и по этому регистру. Продолжим дорабатывать документ «ОказаниеУслуги». До сих пор мы создавали в регистрах накопления движения только для строк документа, которые содержат материалы. Услуги, содержащиеся в документе, мы никак не учитывали.
Дело в том, что при учете услуг важны совершенно другие критерии, нежели при учете материалов. Прежде всего, бессмысленно говорить о том, сколько услуг было и сколько их осталось, важна только сумма и количество услуг, которые были оказаны за определенный промежуток времени. Кроме этого интересны следующие моменты:
· какие именно услуги были оказаны (чтобы составить рейтинг
услуг);
· какому именно клиенту оказывались услуги (чтобы
предоставить ему скидку от объема оплаченных ранее услуг,
например);
· какой мастер предоставлял услуги (чтобы начислить ему
заработную плату).
Очевидно, что существующие регистры накопления совершенно не подходят для решения таких задач. Поэтому мы создадим еще одно «хранилище» данных, которое будет использоваться в нашей программе - оборотный регистр накопления «Продажи».
Когда мы создавали регистр «ОстаткиНоменклатуры», мы специально не останавливались на двух видах регистров накопления, которые существуют в системе 1С:Предприятие. Сейчас пришло время поговорить об этом.
Регистры накопления могут быть регистрами остатков и регистрами оборотов .
Существующий в нашей учебной конфигурации регистр «ОстаткиНоменклатуры» является регистром остатков. Для таких регистров система создает три виртуальные таблицы: таблица остатков, оборотов и совокупная таблица остатков и оборотов.
Оборотный регистр накопления очень похож на, знакомый уже нам, регистр остатков, но для него понятие «остаток» не имеет смысла. Оборотный регистр накапливает только обороты, остатки ему безразличны. Поэтому единственной виртуальной таблицей, которую будет создавать система для такого регистра, будет таблица оборотов. В остальном оборотный регистр ни чем не отличается от регистра остатков.
Следует сказать об одной особенности конструирования регистров накопления, напрямую связанной с возможностью получения остатков.
При создании оборотного регистра накопления нет особой сложности в определении того, какие именно параметры должны являться измерениями регистра - мы можем назначить в качестве его измерений любые нужные нам параметры.
Совсем иная ситуация в случае регистра накопления поддерживающего накопление остатков. Для него выбор измерений должен выполняться исходя из того, что движения регистра могут быть осуществлены «в две стороны»: приход и расход. Таким образом, в качестве измерений нужно выбирать те параметры, по которым движения точно будут осуществляться как в одну, так и в другую сторону.
Например, если ведется учет материалов в разрезах номенклатуры и склада - очевидно, что и номенклатура и склад могут быть измерениями, поскольку как приход, так и расход материалов всегда будет осуществляться с указанием конкретной номенклатуры и конкретного склада. Если же в этой ситуации появляется желание отразить учет материалов еще и в разрезе поставщика, то здесь уже нужно исходить из конкретной схемы учета, принятой на предприятии.
Скорее всего, при поступлении материалов поставщик будет указан, а вот при расходе материалов, с большой долей вероятности поставщик указываться не будет, так как в большинстве случаев это совершенно лишняя информация. Значит, поставщика следует добавить как реквизит регистра накопления.
Если же при расходе материалов поставщик будет указываться наверняка, тогда имеет смысл добавить поставщика в измерения регистра.
Иными словами, по каждому из измерений регистра накопления остатков изменение ресурсов обязательно должно осуществляться в обе стороны: приход и расход.
Для реквизитов регистра этот принцип неважен, по реквизитам регистра ресурсы могут только приходоваться или только расходоваться.
Нарушение этого принципа построения регистров накопления будет вести к непроизводительному использованию ресурсов системы и, как следствие, замедлению работы и падению производительности.
Теперь, когда мы знаем «практически все» о регистрах накопления, откроем конфигуратор и создадим новый объект конфигурации регистр накопления. Назовем его «Продажи» и определим вид регистра - «Обороты».
Рис. 147. Создание оборотного регистра.
На закладке «Данные» создадим измерения регистра:
У регистра будет три ресурса:
· «Количество», тип Число(15,3), неотрицательное;
· «Выручка», тип Число(15,2), неотрицательное;
· «Стоимость», тип Число(15,2), неотрицательное.
Этот регистр будет обрабатываться документами «РасходнаяНакладная», «ОказаниеУслуги».
Откроем окно редактирования объекта конфигурации Документ «ОказаниеУслуги» и на закладке «Движения» укажем, что этот документ будет создавать движения по регистру «Продажи».
Запустим 1С:Предприятие в режиме отладки и откроем формы списка регистров накопления «Продажи» и «ОстаткиНоменклатуры». Обратите внимание, что формы практически одинаковы, за исключением состава измерений и ресурсов.
Рис. 148 Вызов конструктора движений
Создадим движения документа «ОказаниеУслуги» по регистрам «ОстаткиНоменклатуры» и «Продажи» для табличной части «ПереченьНоменклатуры» конструктором движений, а для табличной части «Услуги» добавим вручную.
Рис. 149 Работа с конструктором движений
Для учета выручки по услугам мы не будем использовать конструктор движений документа, а внесем необходимые дополнения прямо в обработчик события «ОбработкаПроведения» документа «ОказаниеУслуги».
Откроем в конфигураторе модуль объекта конфигурации документ «ОказаниеУслуги» и найдем в нем процедуру обработчика события «ОбработкаПроведения» (закладка «Прочее», кнопка «МодульДокумента»).
Создадим еще один цикл обхода табличной части:
Для Каждого ТекСтрокаУслуги Из Услуги Цикл
// регистр Продажи
Движение = Движения.Продажи.Добавить();
Движение.Период = Дата;
Движение.Номенклатура = ТекСтрокаУслуги.Услуга;
Движение.Клиент = Клиент;
Движение.Мастер = Мастер;
Движение.Количество = 1;
Движение.Выручка = ТекСтрокаПереченьНоменклатуры.Стоимость;
Движение.Себестоимость = 0;
КонецЦикла;
После этого необходимо внести необходимые изменения для запрета проведения документа при нехватке материалов на складе (аналогично документу «РасходнаяНакладная»).
Затем необходимо внести изменения в документ «РасходнаяНакладная». Требуется разрешить документу «двигать» данный регистр, определив с помощью конструктора процедуру проведения документа (!!! Не забыть про внесенные ручные изменения).
Пришло время поговорить о регистрах накопления. Регистры нужны для накопления информации о движениях средств. Проще говоря с их помощью можно будет узнать количество остатков денежных средств, материалов и их движениях.
Разберем на пример, если вы читали прошлые стать (а если нет то советую с ними ознакомиться в разделе 1С Предприятие) в которых я рассказывал как создать новую информационную базу, как создать документ и справочник а так же разбирал много других нюансов. Так вот у нас есть документ Приход товара. В котором есть следующие реквизиты, поставщик, наименование поставляемого товара, количество, цена и сумма.
Нам бы не плохо было видеть а сколько товара осталось у нас на складе и в каком количестве. Для решения этой задачи мы будем использовать регистр накопления. В примере буду использовать создание регистра накопления в 1С 8.2 но и для 1 8.3 эта инструкция так же подойдет.
Как создать регистр накопления в 1С пример
И так приступим открываем нашу базу в режиме конфигуратаора ищем пункт Регистры накопления и добавляем новый. Как добавить вы уже знаете, если нет то кликаем правой кнопкой и жмем добавить.Пишем имя регистра скажем Остатки на складе.
Добавим его в подсистему отчеты так это своего рода тоже отчет.
На вкладке данные добавляем Измерение пишем имя Наименование и Ресурсы пишем Количество.
Переходим во вкладку Регистраторы и отмечаем наш документ.
Теперь необходимо открыть документ Приход Товара перейти в нем на вкладку Движения. И отметить на созданный регистр накопления. Дальше кликаем на Конструктор движений.
В конструкторе движений необходимо указать что от куда и из каких полей будет заполняться. Тип движения регистра ставим Приход. Чуть ниже необходимо выбрать табличную часть нашего документа т.е. Материалы. Теперь заполняем выражения напротив Наименование пишем или выбираем из правого окна ТекСтрокаМатериалы.Наименование а напротив Количество пишем ТекСтрокаМатериалы.Количество и клиаем ок.
Для того чтобы в документе было видно наш регистр необходимо открыть форму документа. Перейти на вкладку Командный интерфейс и отметить его в столбце Видимость.
Запускаем нашу базу и проверяем результат. Открываем документ Приход товара проводим его переходим в регистр и смотрим что у нас там.
Если вы все сделали правильно, то должны увидеть следующие. Все поля должны быть заполнены.
Ну вот мы с вами и создали первый регистр накопления. На данный момент в регистр только накапливает сведения. В следующем уроке будем делать расход а пока на этом все.
Здравствуйте дорогие читатели, сегодня пришла мысль рассказать о 1С регистрах . Да я еще не писал о справочниках, документах, но это мы рассмотрим позже.
А сейчас рассмотрим предназначение регистров, виды регистров, изобразим как выгладят регистры, поговорим об их проектирований и хранении данных.
Предназначение регистров
Регистры предназначены для увеличения скорости считывания определенных (аналитических) показателей по деятельности предприятия. Показатели хранятся в регистрах в определенных разрезах, с учетом периодичности. Т.е. регистры хранят время, к примеру, можно узнать остаток на складе определенного товара месяц назад.
Регистр — структура определенного вида, которая позволяет получать данные с одинаковой скоростью, не зависимо от объёма БД, без них выдача результата будет медленная.
Схема использования регистров в 1С:Предприятие
Документы => Регистры => Отчеты
Из схемы видно, регистры – являются основание для отчетов, а данные добавляются в регистры только при проведении документов.
Виды аналитических показателей
Регистры предназначены для хранения различных показателей:
ПОКАЗАТЕЛИ НАКОПЛЕНИЯ
: Остатков и Оборотов. Для их учета предназначены регистры накопления.
- Регистр накопления (остаточный). Увеличивается при поступлении и уменьшается при продаже. На каждый момент времени регистр должен помнить остаток данного товара.
Некоторые показатели могут расти только в одну сторону (оборотный показатель).
- Регистр накопления (оборотный). Например, данные о продажах (отрицательных продаж быть не может). В случае возврата товара он будет регистрироваться с отрицательным знаком.
ПОКАЗАТЕЛИ СОСТОЯНИЯ , характеристика какого-либо объекта, предназначен регистр сведений.
- Регистр сведений , имеет абсолютно любой тип данных. Это значение действует до последующей смены состояния.
Есть и другие виды регистров: Регистры бухгалтерии, Расчета.
Изображение регистров
Показатели, которые хранятся в регистре, называются ресурсами. Аналитические разрезы — измерения.
Ключевая задача регистра
– хранение показателей в разрезе измерений и разрезе времени
Если представить регистр в виде системы координат то получится:
Оси – измерения регистра
Отдельная ось для изменения во времени
Показатели на пересечении – ресурсы
Как пример на рисунке показано хранение товаров на складах
Количество измерений в регистре может быть достаточно большим. В таком случае регистр можно представить в виде таблицы, где каждая колонка соответствует измерению и так же есть колонки с ресурсами.
Регистр: Остатки товаров
Измерения: Товар, Склад
Ресурсы: Кол-во, Стоимость
Проектирование регистров
Избыточная структура регистра приводит к увеличению объёма БД, увеличивается время записи в регистр (дольше выполняется проведение документов), увеличивается сложность разработки. Структуру регистра необходимо определять сразу, т.к. её изменение в дальнейшем является весьма сложным процессом.
При определении измерени й рекомендуется указывать ссылочный тип данных (на справочники, документы, перечисления). Порядок измерений влияет на скорость получения данных из регистра. Поэтому при проектировании регистра важно понимать, как часто пользователь будет получать остатки по каждому измерению. Все измерения в порядке следования.
Ресурсы — числовые данные, которые характеризуют собой некоторые показатели (ресурс регистра сведений может иметь любой тип данных). Ресурсы представляют собой значения, которое хранятся на пересечении измерении.
Реквизит — некая дополнительная характеристика регистра, не отображается при получении итогов. Реквизиты регистров могут иметь любой тип данных.
Хранение данных в регистрах
Регистры могут быть представлены одной или несколькими таблицами. Состав таблиц зависит от свойств регистра. Нет таких классов как РегистрСсылка или РегистрОбъект для работы с регистрами, потому что структура хранения регистра отличается от объектных таблиц. Информация хранится в виде записей. Запись регистра нельзя пометить на удаление.
Просмотреть содержимое регистра в пользовательском режиме можно использовав кнопку главного меню «Все функции».
Вот и закончился небольшой обзор 1С регистров если у вас есть какие-то предложения, дополнения то пишите в коментариях.
С вами был 1С Программист, помогу с .
P.S. Девченка танцует
Все изменения, вносимые в базу данных, хранятся в соответствующих таблицах. Для 1С это таблицы документов, журналов документов, справочников и регистров. О типах регистров 1С, особенностях и тонкостях их использования и пойдет разговор в нашей статье.
Формирование записей в регистрах
Одним из первых вопросов, связанных с регистрами, является вопрос: для чего?
Для чего вообще нужно создавать отдельные таблицы, зачастую дублирующие уже существующие записи?
Ответ здесь достаточно простой. Безусловно, можно городить сложные и затратные по времени запросы к таблицам исходных документов, перечисляя условия отборов, проверяя их на пометки удаления и проведенность, но гораздо проще и менее трудозатратно создать определенный срез набора записей непосредственно при сохранении документа и хранить его в отдельной таблице, обращаясь к нему по мере необходимости.
Таким образом, мы выяснили, что одним из способов создания записи регистра является запись при помощи регистратора (документа). Этот вариант присутствует во всех типах регистров.
Процесс формирования записей регистров на основе документа принято называть проведением документа. Непроведенный документ-регистратор не имеет движений по регистрам, это фактически, черновик или заготовка.
Второй вариант формирования записи – непосредственно, без создания регистрирующего документа. Создать записи таким способом можно только в регистрах сведений при этом в свойствах регистра реквизит «Режим записи» должен иметь соответствующее значение (Рис.1).
Общее для всех регистров
Внутренняя структура любого регистра может быть продемонстрирована Рис.2
Рис.2
Рассмотрим её подробнее:
- Измерения – свойства записи, определяющие, в каких разрезах хранится важная информация;
- Ресурсы – они содержат информацию, которую необходимо систематизировать;
- Реквизиты – поля записи, которые содержат дополнительную информацию;
- Формы – свойство, которое содержит графическую информацию о внешнем виде списка, элемента и т.д. и их внутренних модулях;
- Макеты – печатные формы регистров.
Регистры сведений
Раз уж выше речь зашла о регистрах сведений, давайте о них и поговорим.
Это, наверное, самый простой и понятный тип регистров. Обычная таблица, содержащая колонки и столбцы, в которой хранится информация.
Список важных свойств регистра сведений небольшой (Рис.3), поговорим об основных:
Рис.3
- Периодичность, она указывает на то, в каких пределах контролируется уникальность записи (в пределах минуты, часа, дня, года в соответствии с выбранным значением не могут существовать две записи с одинаковыми измерениями), также может принимать значение «По регистратору», но для этого необходимо выбрать соответствующий режим записи;
- Режим записи – фактически это выбор из двух значений: «Независимый» и «Подчинение регистратору».
- Важно понимать, что выбор независимого режима не означает, что запись не может быть сформирована документом, будет невозможен только отбор по регистратору и контроль уникальности записи по нему ;
- Разрешить итоги срез первых и Разрешить итоги срез последних: (объединим два пункта в один) – при выставлении соответствующих галочек, запрос к регистру сведений можно производить по дополнительным таблицам (Срез первых и Срез последних), которые содержат соответствующие наборы данных, в качестве одного из параметров этих таблиц выступает дата, на которую необходимо делать выбор данных.
Регистры накопления
Структуру одного из них мы видели на Рис.2. Основным свойством, сильно влияющим на внешний вид регистра, а так же на его внутреннюю структуру является «Вид регистра» (Рис.4)
В зависимости от требований к хранимой информации может принимать значения:
- Остатки;
- Обороты.
В первом случае в базе данных будет содержаться информация не только о движениях ресурсов в разрезе измерений, но и о типе операции (приход или расход). К тому же при создании запроса будет доступна дополнительная таблица, содержащая итоги.
Одна из главных проблем, с которой сталкиваются начинающие разработчики при использовании таблиц Остатки и ОстаткиИОбороты в запросах, заключается в том, что при получении запросом остатков на определенную дату, данные этих таблиц могут различаться. И здесь есть один нюанс: при указании в качестве конечной даты периода определенного значения, платформа из таблицы Остатки берет данные не включая это значение в период отбора.
Если требуются данные, включающие конец периода можно:
- Использовать таблицу ОстаткиИОбороты;
- Сделать выборку на дату на 1 секунду большую заданной (т.е. не на 31.12.16 23:59:59, а на 01.01.17 00:00:00);
- Воспользоваться методом Граница, который помогает настроить вариант включения момента времени в рассматриваемый период (вариант использования: Граница(ДатаКонца,Включая).
Регистры бухгалтерии
Достаточно специализированные регистры, по своей конструкции напоминают регистры накопления. Основным отличием от других типов регистров платформы 1С является присутствие в структуре свойств параметра «План счетов» (Рис.5).
Рис.5
План счетов – отдельный объект метаданных, требующий отдельного разговора. В зависимости от плана счетов, современные типовые конфигурации 1С содержат 4 основных регистра бухгалтерии:
- Бюджетирование;
- Международный;
- Налоговый;
- Хозрасчетный.
Второй параметр, характерный для бухгалтерских регистров – «Корреспонденция».
Установка галочки в этом параметре позволяет формировать двойные записи, содержащие кредитовый счет СчетКт и дебетовый счет СчетДт и соответствующую этим счетам аналитику (субконто). Если галочка не установлена, в записях регистра будет проставляться только один счет.
Регистры расчета
Это, наверное, самые сложные для понимания регистры. Между тем, по своей сути они очень сильно напоминают регистры накопления вида «Обороты».
Определяющим отличием регистра расчета от других регистров является наличие в его свойствах параметра «План вида расчета». К тому же, регистр расчета, также как и регистр сведений – периодический.
В каждом регистре расчета может быть включена возможность связи записи с графиком времени, заданном в соответствующем регистре сведений. Это позволяет при помощи кода получать данные о рабочем времени.
В дополнение к измерениям, ресурсам и формам, имеющимся в других типах регистра, регистрам расчета может быть задан объект «Перерасчет», где будет храниться информация о неактуальных и требующих пересмотра записях.
Основное использование их в типовых конфигурациях 1С – регистрация и облегчение работы с начислениями работникам организации.
Принципы разделения регистров накопления на оборотные и остаточные см. в статье .
Вопрос 12.21 экзамена 1С:Профессионал по Платформе. Какое максимальное количество измерений можно определять для регистра накопления с видом Остатки?
- Количество измерений платформой не ограничивается
- Количество измерений при использовании агрегатов до 30
- Верны все варианты
В соответствии с ответами, число измерений для остаточных регистров не ограничено, а для оборотных ограничено 30-ю. На деле пруфов не нашлось, и для оборотных регистров можно добавить и более:
Вопрос 12.22 экзамена 1С:Профессионал по Платформе. Какое максимальное количество измерений можно определять для регистра накопления с видов Обороты?
- Количество измерений платформой не ограничивается
- Количество измерений при использовании таблицы итогов до 30
- Количество измерений при использовании агрегатов до 30
- Верны все варианты
См. предыдущий вопрос. Агрегаты на деле не влияют на ограничение по измерениям:
Вопрос 12.27 экзамена 1С:Профессионал по Платформе. При определении вида регистра накопления следует учитывать:
- Зависимость показателей, хранящихся в ресурсах, от предыдущих состояний
- Зависимость показателей, хранящихся в ресурсах, от периода определения
- Наличие возможных записей с видом движения "Приход" и "Расход"
- Тип значения показателей, хранящихся в ресурсах
- Верны все перечисленные ответы
- Верны ответы 1,2,3
Правильный ответ шестой. Тип значения не при чем - он по умолчанию числовой.
Вопрос 12.28 экзамена 1С:Профессионал по Платформе. Для получения информации об остатках накопленных средств можно использовать:
- Регистры накопления с видом "Остатки"
- Верны ответы 1 и 2
Однозначно первый ответ.
Вопрос 12.29 экзамена 1С:Профессионал по Платформе. Для получения информации об оборотах накопленных средств можно использовать:
- Регистры накопления с видом "Остатки"
- Регистры накопления с видом "Обороты"
- Верны ответы 1 и 2
Правильный ответ третий - остаточный регистр содержит данные и по оборотам, и по остаткам накопленным итогом.
Вопрос 12.31 экзамена 1С:Профессионал по Платформе. Выберите правильное утверждение:
- Регистр накопления с видом "Обороты" позволяет получить информацию об оборотах за период эффективнее, чем регистр с видом "Остатки"
- Регистр накопления с видом "Обороты" позволяет получить информацию об оборотах за период с такой же эффективностью, что и регистр с видом "Остатки", но при проведении документа запись в регистр будет происходить быстрее, т.к. не будет происходить расчет остатков
- Регистр накопления с видом "Обороты" повышает общую эффективность работы базы, т.к. информация об остатках не хранится, не пересчитывается, и, следовательно, уменьшается размер базы
Правильный ответ первый. Размер обрабатываемой таблицы меньше.
Вопрос 12.50 экзамена 1С:Профессионал по Платформе. Как система определяет обороты для регистра накопления с видом остатки?
- Оборотные данные для регистра накопления остатков система берет из таблицы итогов, в которой хранятся уже рассчитанные обороты
- Для получения оборотных данных необходимо включить использование агрегатов
- Оборотные данные для таких регистров не хранятся в системе, а вычисляются в момент обращения к системе за такими данными
Правильный ответ третий, обороты вычисляются как разница между итогами.
Вопрос 12.51 экзамена 1С:Профессионал по Платформе. Зачем существует регистр накопления оборотный, если в регистре накопления остатков есть возможность получения оборотов?
- Для использования в тех случаях, когда информация по остаткам не требуется
- Для расширения возможностей анализа оборотных данных
- Верны варианты 1 и 2
- Верны все варианты
Правильный ответ пятый. Во-первых, есть показатели, по которым остатки в принципе бессмысленны, например движения денег в разрезе статей; это обуславливает первый вариант. Во-вторых, предполагается, что остаточные регистры строятся с минимальной аналитичностью, соответственно требуются усилия, чтобы добыть из них данных. Это обуславливает второй и третий варианты.
Вопрос 12.52 экзамена 1С:Профессионал по Платформе. Для каких задач может использоваться механизм получения оборотных данных в регистре накопления с видом остатки?
- Для упрощения структуры прикладного решения
- Для ускорения процесса разработки
- Для оптимизации конфигурации
- Для получения простых оборотов совместно с остатками
- Верны все варианты
Правильный ответ очевидно четвертый.