Вопросы по оборотным и остаточным регистрам накопления. Вопросы по оборотным и остаточным регистрам накопления 1с регистры накопления обороты

Теперь создадим оборотный регистр накопления и добавим в один из наших документов движения еще и по этому регистру. Продолжим дорабатывать документ «ОказаниеУслуги». До сих пор мы создавали в регистрах накопления движения только для строк документа, которые содержат материалы. Услуги, содержащиеся в документе, мы никак не учитывали.

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

· какие именно услуги были оказаны (чтобы составить рейтинг
услуг);

· какому именно клиенту оказывались услуги (чтобы
предоставить ему скидку от объема оплаченных ранее услуг,
например);

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

Очевидно, что существующие регистры накопления совершенно не подходят для решения таких задач. Поэтому мы создадим еще одно «хранилище» данных, которое будет использоваться в нашей программе - оборотный регистр накопления «Продажи».

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

Регистры накопления могут быть регистрами остатков и регистрами оборотов .

Существующий в нашей учебной конфигурации регистр «ОстаткиНоменклатуры» является регистром остатков. Для таких регистров система создает три виртуальные таблицы: таблица остатков, оборотов и совокупная таблица остатков и оборотов.

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

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

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

Совсем иная ситуация в случае регистра накопления поддерживающего накопление остатков. Для него выбор измерений должен выполняться исходя из того, что движения регистра могут быть осуществлены «в две стороны»: приход и расход. Таким образом, в качестве измерений нужно выбирать те параметры, по которым движения точно будут осуществляться как в одну, так и в другую сторону.


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

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

Если же при расходе материалов поставщик будет указываться наверняка, тогда имеет смысл добавить поставщика в измерения регистра.

Иными словами, по каждому из измерений регистра накопления остатков изменение ресурсов обязательно должно осуществляться в обе стороны: приход и расход.

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

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

Теперь, когда мы знаем «практически все» о регистрах накопления, откроем конфигуратор и создадим новый объект конфигурации регистр накопления. Назовем его «Продажи» и определим вид регистра - «Обороты».

Рис. 147. Создание оборотного регистра.

На закладке «Данные» создадим измерения регистра:

У регистра будет три ресурса:

· «Количество», тип Число(15,3), неотрицательное;

· «Выручка», тип Число(15,2), неотрицательное;

· «Стоимость», тип Число(15,2), неотрицательное.

Этот регистр будет обрабатываться документами «РасходнаяНакладная», «ОказаниеУслуги».

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

Запустим 1С:Предприятие в режиме отладки и откроем формы списка регистров накопления «Продажи» и «ОстаткиНоменклатуры». Обратите внимание, что формы практически одинаковы, за исключением состава измерений и ресурсов.

Рис. 148 Вызов конструктора движений

Создадим движения документа «ОказаниеУслуги» по регистрам «ОстаткиНоменклатуры» и «Продажи» для табличной части «ПереченьНоменклатуры» конструктором движений, а для табличной части «Услуги» добавим вручную.

Рис. 149 Работа с конструктором движений

Для учета выручки по услугам мы не будем использовать конструктор движений документа, а внесем необходимые дополнения прямо в обработчик события «ОбработкаПроведения» документа «ОказаниеУслуги».

Откроем в конфигураторе модуль объекта конфигурации документ «ОказаниеУслуги» и найдем в нем процедуру обработчика события «ОбработкаПроведения» (закладка «Прочее», кнопка «МодульДокумента»).

Создадим еще один цикл обхода табличной части:

Для Каждого ТекСтрокаУслуги Из Услуги Цикл

// регистр Продажи

Движение = Движения.Продажи.Добавить();

Движение.Период = Дата;

Движение.Номенклатура = ТекСтрокаУслуги.Услуга;

Движение.Клиент = Клиент;

Движение.Мастер = Мастер;

Движение.Количество = 1;

Движение.Выручка = ТекСтрокаПереченьНоменклатуры.Стоимость;

Движение.Себестоимость = 0;

КонецЦикла;

После этого необходимо внести необходимые изменения для запрета проведения документа при нехватке материалов на складе (аналогично документу «РасходнаяНакладная»).

Затем необходимо внести изменения в документ «РасходнаяНакладная». Требуется разрешить документу «двигать» данный регистр, определив с помощью конструктора процедуру проведения документа (!!! Не забыть про внесенные ручные изменения).

Документы – суть ведения учета в 1С. Каждый документ имеет результат, например пришло товаров +10 шт.

Отчеты – позволяют смотреть результаты. Суммируют эти результаты и показывают пользователю.

Однако документов много и если бы приходилось суммировать их результаты, то это было бы слишком сложно. Поэтому придуман лучший способ!

Документы записывают свои результаты (называют «движения») в специальные таблицы – регистры 1с, которые сами суммируют результаты, чтобы отчет просто отобразил заранее посчитанные итоги.

Сегодня мы поговорим про регистры 1С и их использование.

Регистр 1с – это таблица, такая же как и в Excel, каждый документ пишет в регистр 1с одну или несколько строк своих движений (результатов) с каким-либо знаком – плюс или минус. Это значит, что итого регистра 1С изменилось на соответствующую цифру.

Документ, который записал движения в регистр 1С, называют Регистратор. Дата и время движения равны (в 99% случаев) дате документа. Дату движения называют Период.

Каждый регистр 1С учитывает обычно движения какого нибудь одного справочника. Например, регистр 1С Товары на складах – движения товаров (в терминах 1С «номенклатуры») – сколько поступило товаров на склад, сколько убыло. Регистр 1С Взаиморасчеты с контрагентами (покупателями и поставщиками) – движения договоров с контрагентами – сколько нам стал должен контрагент после покупки или сколько мы ему должны после оплаты. Справочник, в разрезе которого ведется регистр называют основным измерением (аналитикой) регистра 1С.

Конечно же никто не делает одно основное измерение к у регистра 1С. Ведь если мы учитываем движения товаров, то нам интересно не только какой товар уменьшился или прибавился, но и например, по какому складу. Поэтому всегда есть три-пять дополнительных измерений «на всякий случай», которые можно назвать дополнительной аналитикой регистра 1С.

Как документ проводится по регистрам?

Движения документа по регистрам 1С

Посмотрим как работают регистры 1С. Вот у нас есть документ поступления товаров, в котором мы видим, что поступил товар Масло на склад Главный.

С точки зрения логики и математики этот документ имеет результат:

Масло кремлевское, Главный склад +10 (шт)

Проверим – так ли это?

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

Как же это выглядит в регистре 1С? Откроем регистр 1С через меню Операции.

Открылся регистр 1С. Данных в нем много. Сделаем отбор только по нашему документу.

В результате мы видим движение нашего документа по регистру 1С. Оно ровно совпадает с тем, что мы рассчитали вручную:

  • Плюс – вид движения (приход/расход)
  • Регистратор – наш документ
  • Активность – эта строка движения действительна (то есть не отключена)
  • Номенклатура, основное измерение
  • Склад, дополнительное измерение
  • Количество, ресурс (то есть цифра, которую мы считаем).

Если мы поставим отбор не по документу, а по номенклатуре (точно таким же образом), то мы увидим движения всех документов, которые трогали эту номенклатуру. Один документ – мы купили товар. Другой – продали. Итого естественно сам регистр 1С не показывает – для этого нужно использовать отчет или запрос.

Регистры 1С бывают разные (ниже мы обсудим это). Проводки по разным регистрам 1С выглядят тоже по разному. Мы сейчас смотрели проводки по регистру накопления 1С. Вот так выглядят проводки нашего этого же документа по бухгалтерскому регистру 1С, который работает на основании бухгалтерского (налогового) плана счетов 1С.

Зачем нужны регистры 1С

Регистры 1С бывают разных видов. Цель использования регистра 1С зависит от его вида.

  • Регистры сведений 1С
    Это обычная таблица, как в Excel. Она не имеет никаких движений (приходов/расходов). Регистр сведений 1С обычно используется для хранения дополнительных данных справочников. С помощью регистра сведений 1С можно организовать
  • Регистры бухгалтерии 1С
    С точки зрения пользователя учет ведется на бухгалтерском плане счетов. На самом деле учет ведется в таблице регистров бухгалтерии 1С, которые сделаны в разрезе плана счетов 1С.
  • Регистры накопления 1С (регистр остатков 1С)
    Таблица движения документов + и –, которая автоматически вычисляет итого на начало периода и итого на конец периода. Например движения товара Лопата было +10, а потом -8. Значит остаток на начало был 0, а остаток на конец стал 2.

    Регистр накопления 1С с видом «Остатки» обозначает, что будут хранится движения (приходы и расходы, которые также называют «Обороты») и дополнительно будут автоматически рассчитываться итоги (которые называют «Остатки»).

    Регистр остатков 1С используют в том случае, когда у справочника логически может быть остаток. Например, когда мы учитываем движения товаров, то мы будем использовать регистр остатков 1С – ведь мы можем сказать, что товара Лопата осталось 3 штуки.

  • Регистры накопления 1С (регистр оборотов 1С)
    Таблица движения документов + и -, которая не считает итого.

    Регистр оборотов 1С ничем не отличается от регистра остатков, за исключением того, что у него не рассчитываются автоматически остатки.

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

    Например, продажи товаров были +10 (мы продали) а потом -2 (нам вернули). Мы не можем сказать что остаток продаж стал 8, потому что логически понятия остатка продаж не существует, мы скажем что итого оборота (сумма каждой строки оборота) стала 8.

  • Регистры расчетов 1С

    Таблица движений в разрезе видов расчета и периодов. Используется в начислении заработной платы (называют Сложные периодические расчеты).

Где находятся регистры 1С

Проведение документа в коде (в программе) прописывается программистом. Для этого откройте . Найдите строку вида «Процедура ОбработкаПроведения(». Раскройте крестик и Вы видите программу проведения этого документа.

Настройка и разработка Регистров 1С

Основные особенности Регистров 1С, по закладкам:

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

А сейчас рассмотрим предназначение регистров, виды регистров, изобразим как выгладят регистры, поговорим об их проектирований и хранении данных.

Предназначение регистров

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

Регистр — структура определенного вида, которая позволяет получать данные с одинаковой скоростью, не зависимо от объёма БД, без них выдача результата будет медленная.

Схема использования регистров в 1С:Предприятие
Документы => Регистры => Отчеты

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

Виды аналитических показателей

Регистры предназначены для хранения различных показателей:
ПОКАЗАТЕЛИ НАКОПЛЕНИЯ : Остатков и Оборотов. Для их учета предназначены регистры накопления.

  • Регистр накопления (остаточный). Увеличивается при поступлении и уменьшается при продаже. На каждый момент времени регистр должен помнить остаток данного товара.

Некоторые показатели могут расти только в одну сторону (оборотный показатель).

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

ПОКАЗАТЕЛИ СОСТОЯНИЯ , характеристика какого-либо объекта, предназначен регистр сведений.

  • Регистр сведений , имеет абсолютно любой тип данных. Это значение действует до последующей смены состояния.

Есть и другие виды регистров: Регистры бухгалтерии, Расчета.

Изображение регистров

Показатели, которые хранятся в регистре, называются ресурсами. Аналитические разрезы — измерения.
Ключевая задача регистра – хранение показателей в разрезе измерений и разрезе времени

Если представить регистр в виде системы координат то получится:
Оси – измерения регистра
Отдельная ось для изменения во времени
Показатели на пересечении – ресурсы

Как пример на рисунке показано хранение товаров на складах

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

Регистр: Остатки товаров
Измерения: Товар, Склад
Ресурсы: Кол-во, Стоимость

Проектирование регистров

Избыточная структура регистра приводит к увеличению объёма БД, увеличивается время записи в регистр (дольше выполняется проведение документов), увеличивается сложность разработки. Структуру регистра необходимо определять сразу, т.к. её изменение в дальнейшем является весьма сложным процессом.

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

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

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

Хранение данных в регистрах

Регистры могут быть представлены одной или несколькими таблицами. Состав таблиц зависит от свойств регистра. Нет таких классов как РегистрСсылка или РегистрОбъект для работы с регистрами, потому что структура хранения регистра отличается от объектных таблиц. Информация хранится в виде записей. Запись регистра нельзя пометить на удаление.

Просмотреть содержимое регистра в пользовательском режиме можно использовав кнопку главного меню «Все функции».

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

С вами был 1С Программист, помогу с .

P.S. Девченка танцует

Регистры накопления в системе 1С:Предприятие делятся на два вида: регистры накопления остатков и регистры накопления оборотов .

Вид регистра выбирается при его создании в конфигураторе

Как следует из названия одни предназначены для получения остатков на какую-либо дату, а вторые для получения оборотов за выбранный период. В зависимости от вида регистра накопления платформа 1С:Предприятия формирует разный набор виртуальных таблиц. В этой статье и рассмотрим работу с виртуальными таблицами регистров накопления. Для этого создадим регистр накопления остатков — ТоварыОстатки и регистр накопления оборотов — ТоварыОбороты .

Теперь рассмотрим какие виртуальные таблицы предоставляет платформа для каждого из этих регистров.

Регистр накопления оборотов

Для наглядности откроем и посмотрим какие таблицы доступны для регистра ТоварыОбороты . Это таблица самого регистра — ТоварыОбороты , которая существует физически в базе данных, и одна виртуальная таблица — ТоварыОбороты.Обороты

Со стандартной таблицей все понятно. Рассмотрим подробнее виртуальную.

Виртуальная таблица Обороты

Эта таблица позволяет получать оброты ресурсов в разрезе измерений. В нашем случае у нас два измерения: Склад и Товар . И один ресурс — Количество

Пусть в нашем регистре есть следующие записи

Вернемся в конструктор запросов и для начала просто выберем из таблицы ТоварыОбороты.Обороты все поля

Соответственно запрос будет выглядеть следующим образом:

ВЫБРАТЬ ТоварыОборотыОбороты.Склад, ТоварыОборотыОбороты.Товар, ТоварыОборотыОбороты.КоличествоОборот ИЗ РегистрНакопления.ТоварыОбороты.Обороты(,) КАК ТоварыОборотыОбороты

Результат выполнения запроса выглядить вот так:

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

Для этого исключим из запроса измерение Склад

ВЫБРАТЬ ТоварыОборотыОбороты.Товар, ТоварыОборотыОбороты.КоличествоОборот ИЗ РегистрНакопления.ТоварыОбороты.Обороты(,) КАК ТоварыОборотыОбороты

и в результате у нас останется только две строки

Но как правило за все время существования регистра обороты получать не требуется. В основном они нужны за какой-то конкретный период: месяц, квартал, год и т.д. Плюс еще обычно нужны отборы по измерениям (Товар, Склад). Это достигается использованием параметров виртуальной таблицы . Заполнять параметры удобно из конструктора. По кнопке Параметры виртуальной таблицы открывается диалоговое окно в котором можно прописать все что нам нужно:

После этого наш исходный запрос примет следующий вид

ВЫБРАТЬ ТоварыОборотыОбороты.Склад, ТоварыОборотыОбороты.Товар, ТоварыОборотыОбороты.КоличествоОборот ИЗ РегистрНакопления.ТоварыОбороты.Обороты(&НачалоПериода, &КонецПериода, Склад = &Склад) КАК ТоварыОборотыОбороты

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

У тех кто только начинает работать с виртуальными таблицам зачастую возникает соблазн вместо использования параметров установить отбор привычным способом:

ИЗ РегистрНакопления.ТоварыОбороты.Обороты(,) КАК ТоварыОборотыОбороты ГДЕ ТоварыОборотыОбороты.Склад = &Склад

При заполнении параметров мы пропустили Периодичность . Давайте раскроем список и из массы возможных вариантов выберем Месяц . Все остальные параметры уберем, чтобы не путаться.

После этого наблюдаем, что в полях таблицы появилось поле Период .

Добавив и его в выбранные поля, получим вот такой текст запроса:

ВЫБРАТЬ ТоварыОборотыОбороты.Период, ТоварыОборотыОбороты.Склад, ТоварыОборотыОбороты.Товар, ТоварыОборотыОбороты.КоличествоОборот ИЗ РегистрНакопления.ТоварыОбороты.Обороты(, Месяц,) КАК ТоварыОборотыОбороты

Выполняем запрос:

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

Регистр накопления остатков

Так же как и с оборотным регистром посмотрим в конструкторе запросов какие же виртуальные таблицы доступны для регистра накопления остатков

Как видим для регистра накопления остатков доступны три виртуальные таблицы: Обороты , Остатки , ОстаткиИОбороты . Рассмотрим каждую из них в отдельности.

Виртуальная таблица Обороты

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

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

Виртуальная таблица Остатки

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

Рассмотрим небольшой пример. Имеем следующие записи регистра:

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

ВЫБРАТЬ ТоварыОстаткиОстатки.Склад, ТоварыОстаткиОстатки.Товар, ТоварыОстаткиОстатки.КоличествоОстаток ИЗ РегистрНакопления.ТоварыОстатки.Остатки(&ДатаОстатков,) КАК ТоварыОстаткиОстатки

А после его выполнения получим вот такой результат

Виртуальная таблица ОстаткиИОбороты

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

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

Продолжим рассматривать работу нашего документа «Оказание Услуги». До сих пор мы создавали в регистрах накопления движения только для строк документа, которые содержат материалы. Услуги, содержащиеся в документе, мы никак не учитывали.

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

какие именно услуги были оказаны (чтобы составить рейтинг услуг)

какому именно клиенту оказывались услуги (чтобы предоставить ему скидку от объема оплаченных ранее услуг,

какой мастер предоставлял услуги (чтобы начислить ему заработную плату)

Очевидно, что существующие регистры накопления совершенно не подходят для решения таких задач. Поэтому мы создадим еще одно «хранилище» данных, которое будет использоваться в нашей программе - оборотный регистр накопления «Продажи».

10.2. Что такое оборотный регистр накопления

Регистры накопления могут быть регистрами остатков и регистрами оборотов.

Существующие в нашей учебной конфигурации регистры «ОстаткиМатериалов» и «СтоимостьМатериалов» являются регистрами остатков. Если вы вспомните момент, когда мы создавали отчет «Материалы», то в конструкторе отчета мы видели, что для таких регистров система создает три виртуальные таблицы: таблица остатков, оборотов и совокупная таблица остатков и оборотов.

Оборотный регистр накопления очень похож на, знакомый уже нам, регистр остатков, для которого понятие «остаток» не имеет смысла. Оборотный регистр накапливает только обороты, остатки ему без-

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

В остальном оборотный регистр ни чем не отличается от регистра остатков.

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

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

Совсем иная ситуация в случае регистра накопления поддерживающего накопление остатков. Для него выбор измерений должен выполняться исходя из того, что движения регистра могут быть осуществлены «в две стороны»: приход и расход. Таким образом, в качестве измерений нужно выбирать те параметры, по которым движения точно будут осуществляться как в одну, так и в другую сторону.

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

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

Если же при расходе материалов поставщик будет указываться наверняка, тогда имеет смысл добавить поставщика в измерения регистра.

Иными словами, по каждому из измерений регистра накопления остатков изменение ресурсов обязательно должно осуществляться в обе стороны: приход и расход.

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

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

10.3. Создание оборотного регистра накопления

Теперь, когда мы знаем «практически все» о регистрах накопления, откроем конфигуратор и создадим новый объект конфигурации регистр накопления. Назовем его «Продажи» и определим вид регистра - «Обороты».

262 . Создадим новый объект конфигурации Регистр накопления: выберите на дереве объект Регистр накопления, МП , выберите Добавить , в поле Имя введите Продажи , в поле Расширенное представление списка введите Движения по регистру Продажи, нажмите Далее .

263. На вкладке Подсистемы выберите Бухгалтерия, Учет материалов, Оказание услуг.

264. На закладке Данные создадим измерения регистра:

265. Создайте у регистра три ресурса:

Количество, тип Число, длина 22, точность 2, Выручка, тип Число, длина 22, точность 2, Стоимость, тип Число, длина 22, точность 2.

266 . Сделайте доступной в панели действий разделов команду для для просмотра записей регистра накопления: выберите в дереве объектов конфигурации выделите ветвь Подсистемы, МП, Все подсистемы , в окне Все подсистемы слева в списке Подсистемы выберите подсистему Бухгалтерия , в группе Панель навигации.Обычное для команды Продажи включите видимость и перетащите ее в группу Панель навигации. См. Также .

267. Аналогично выполните для подсистем Оказание услуг и

УчетМатериалов

268. Откроем окно редактирования объекта конфигурации Документ ОказаниеУслуги и на закладке Движения укажем, что этот документ будет создавать движения по регистру Продажи.

269. Выберите вкладку Прочее, Модуль объекта.

270. Введите код создающий движения регистра Продажи, производимые документом ОказаниеУслуги, выделенный жирным:

Процедура ОбработкаПроведения(Отказ, Режим) //{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

Движения.ОстаткиМатериалов.Записывать = Истина; Движения.СтоимостьМатериалов.Записывать = Истина;

Движения.Продажи.Записывать = Истина;

Для Каждого ТекСтрокаПереченьНоменклатуры Из ПереченьНоменклатуры Цикл

ТекСтрокаПереченьНоменклатуры.Номенклатура.ВидНоменклатуры

= Перечисления.ВидыНоменклатуры.Материал Тогда

// регистр ОстаткиМатериалов Расход

Движение = Движения.ОстаткиМатериалов.Добавить();

Движение.Период = Дата;

Движение.Склад = Склад;

Движение = Движения.СтоимостьМатериалов.Добавить();

Движение.ВидДвижения = ВидДвиженияНакопления.Расход;

Движение.Период = Дата;

Движение.Материал = ТекСтрокаПереченьНоменклатуры.Номенклатура;

Движение.Стоимость = ТекСтрокаПереченьНоменклатуры.Количество*ТекСтрокаПереченьН оменклатуры.Стоимость;

КонецЕсли;

Движение = Движения.Продажи.Добавить(); Движение.Период = Дата;

Движение.Номенклатура = ТекСтрокаПереченьНоменклатуры.Номенклатура;

Движение.Клиент = Клиент; Движение.Мастер = Мастер;

Движение.Количество = ТекСтрокаПереченьНоменклатуры.Количество;

Движение.Выручка = ТекСтрокаПереченьНоменклатуры.Сумма;

Движение.Стоимость = ТекСтрокаПереченьНоменклатуры.Стоимость*ТекСтрокаПереч еньНоменклатуры.Количество;

КонецЦикла; //}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

КонецПроцедуры

271. Запустим 1С:Предприятие в режиме отладки, откройте документ ОказаниеУслуги от 27 июля, нажмите Провести, перейдите к списку движений по регистру Продажи.

272. Откройте документ ОказаниеУслуги от 29 июля, нажмите Провести, перейдите к списку движений по регистру Продажи.

273. Откройте документ ОказаниеУслуги от 29 июля, нажмите Провести, перейдите к списку движений по регистру Продажи.

11-й день. Отчеты 11.1. Способы доступа к данным

Система 1С:предприятие поддерживает два способа доступа к данным, хранящихся в БД:

объектный (для чтения и записи)

табличный (для чтения).

Объектный способ доступа к данным реализован посредством использования объектов встроенного языка. При этом обращаясь к како- му-либо объекту встроенного языка, мы обращаемся к некоторой совокупности данных, находящихся в БД, как к единому объекту.

Например, объект ДокументОбъект.ОказаниеУслуги будет содержать значения всех реквизитов документа Оказание услуги и всех его табличных частей.

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

11.2. Работа с запросами

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

11.3. Источники данных запросов

Исходную информацию запрос получает из набора таблиц.

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

реальные таблицы

виртуальные таблицы.

Реальные таблицы содержат данные какой-либо одной реальной таблицы, хранящейся в БД.

Например, реальной является таблица Справочник.Клиенты соответствующая справочнику Клиенты.

Виртуальные таблицы формируются в основном из данных нескольких таблиц БД. Например, виртуальной является таблица РегистрНакопления.ОстаткиМатериалов.ОстаткиИОбороты, формируемая из нескольких таблиц регистра накопления Остатки материалов.

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

Виртуальны таблицы не хранятся в БД.

Реальные таблицы делятся на объектные (ссылочные) и необъектные.

В объектных таблицах представлена информация ссылочных типов данных (справочники, документы, и т.д.). А в необъектных – всех остальных типов данных (константы, регистры и т.д.).

Особенностью объектных таблиц является то, что они включают в себя поле Ссылка, содержащее ссылку на текущую запись.

11.4. Язык запросов

Алгоритм по которому данные будут выбраны из имходных таблиц запроса, описывается на специальном языке – языке запросов.

Текст запроса может состоять из частей:

1. описание запроса

2. объединение запросов

3. упорядочивание результатов

4. автоупорядочивание

5. описание итогов.

Обязательной частью является только – описание запроса.

Описание запроса – определяет источники данных, поля выборки, группировки и т.д.

Объединение запросов – определяет как будут объединены результаты выполнения нескольких запросв.

Упорядочивание результатов – определяет условия упорядочивания строк результата запроса.

Автоупорядочивание позволяет включать режим автоматического упорядочивания строк результата запроса.

Описание итогов – определяет, какие итоги необходимо рассчитать в запросе и каким образом группировать результат.

Система компоновки данных

Система компоновки данных предназначена для создания произвольных отчетов.

Исходные данные для компоновки отчета содержит в себе схема компоновки данных. Это наборы данных и методы работы с ними.

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

Разработчик создает схему компоновки данных и настройки по умолчанию.

На основе схемы и настроек компоновщик макета создает макет.

Процессор компоновки данных выбирает данные из ИБ согласно макету компоновки, агрегирует и оформляет эти данные.

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

11.5. Выбор данных из одной таблицы

274. Создадим отчет: выберите в дереве объектов конфигурации ветвь Отчеты, МП , выберите Добавить , в поле Имя введите

РеестрДокументовОказаниеУслуги, нажмите tab и в поле Синоним должно появится РеестрДокументовОказаниеУслуги, в поле расширенное представление введите Список оказанных услуг,

275. нажмите Открыть с хему компоновки данных

276 . Добавьте новый набор данных – запрос: нажмите кнопку Добавить , выберите .

277. Создайте текст запроса: нажмите кнопку Конструктор запро-

са.

278. ОказаниеУслуги , из этой таблицы выберим поля Склад,

279. Выберите вкладку Объединения/Псевдонимы, укажите что поле Ссылка будет иметь псевдоним Документ.

280. Выберите вкладку Порядок , укажите что результат запроса должен упорядочен по значению поля Документ .

281. Нажмите ОК.

ОказаниеУслуги.Склад,

ОказаниеУслуги.Мастер,

УПОРЯДОЧИТЬ ПО

Документ

ОказаниеУслуги.Склад,

ОказаниеУслуги.Мастер,

Документ.ОказаниеУслуги КАК ОказаниеУслуги

УПОРЯДОЧИТЬ ПО

Документ

Описание запроса Упорядочивание результата (по умолчанию по возрастанию) Список полей выборки

После КАК псевдоним источника данных Источники данных

282 . выберите вкладку настройки , выберите Отчет, МП, Новая

группировка.

283. На вкладке Выбранные поля перенесем мышью поля.

284.

285 . В окне реадактирования объекта конфигурации Отчет РеестрДокументовОказаниеУслуг выберите вкладку Подсистемы, выберите Оказание услуг.

286 . Запустим 1С:Предприятие в режиме отладки, в панели действий раздела Оказание услуг выберите Реестр документов оказания услуг, нажмите Сформировать.

Мы видим, что отчет содержит реестр документов Оказание услуг. Причем двойным щелчком на поле Документ мы можем открыть исходный документ, а также выполнить другие действия.

11.6. Выбор данных из двух таблиц

286. Создадим отчет: выберите в дереве объектов конфигурации ветвь Отчеты, МП , выберите Добавить , в поле Имя введите РейтингУслуги , нажмите tab и в поле Синоним должно появится

287. нажмите Открыть с хему компоновки данных. В окне конструктора макета выберите тип макета Схема компоновки данных, нажмите Готово.

288 . Добавьте новый набор данных – запрос: нажмите кнопку Добавить , выберите Добавить набор данных – запрос .

289. Создайте текст запроса: нажмите кнопку Конструктор запро-

са.

290. В качестве источника данных для запроса выберим объектную таблицу Номенклатура и виртуальную таблицу регистра накопления ПродажиОбороты.

290 . Переименуем таблицу Номенклатура в спрНоменклатура

291 . В список полей перенесем поля СпрНоменклатура.Ссылка и ПродажиОбороты.ВыручкаОборот.

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

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

293. Снять флажок Все у у таблицы ПродажиОбороты и установить у таблицы спрНоменклатура.

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

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

294. Выберите вкладку Условия и установим отбор, чтобы группы справочника Номенклатура не попадали в отчет.

295. Выберите спрНоменклатура, выберите поле ЭтаГруппа, установите флажок Произвольное, в поле Условие введите код:

спрНоменклатура.ЭтоГруппа = ЛОЖЬ

296. Другое условие то, что выбранный элемент является услугой. Это Простое условие. Перетащите поле ВидНоменклатуры в список условий. Платформа автоматически сформирует условие, согласно которому вид номенклатуры должен быть равен значению параметра ВидНоменклатуры. Дальше перед выполнением запроса мы передадим в параметр ВидНоменклатуры значение перечисления – Услуга.

297. Выберите вкладку Объединение/Псвевдонимы, поле Ссылка будет иметь псевдоним Услуга , а поле регистра Выручка.

298. Выберите вкладку Порядок, выберите Выручка , укажите что результат запроса должен отсортирован по убыванию значения поля выручка.

299. Нажмите ОК.

ПродажиОбороты.ВыручкаОборот КАК Выручка ИЗ

Справочник.Номенклатура КАК спрНоменклатура

ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты КАК ПродажиОбороты

ПО ПродажиОбороты.Номенклатура = спрНоменклатура.Ссылка

ГДЕ спрНоменклатура.ЭтоГруппа = ЛОЖЬ

И спрНоменклатура.ВидНоменклатуры = &ВидНоменклату-

УПОРЯДОЧИТЬ ПО Выручка УБЫВ

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

300. Выберите вкладку Ресурсы, выберите Выручка, выберите >>, чтобы конструктор выбрал все доступные ресурсы, по которым можно вычислять итого. У нас это ресурс Выручка.

Параметры

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

Параметры отчета задают условия отбора записей в отчет.

301. Выберите вкладку Параметры

302. Избавим пользователя от необходимости указывать время при вводе даты периода, за который формируется отчет: выберите в строке НачалоПериода поле Дата, М2, в списке Состав даты выберите Дата, нажмите ОК.

303. Для параметра КонецПериода установите флажок Ограничение доступности.

304. нажмите кнопку Добавить, в поле Имя введите ДатаОкончания, в списке Тип выберите Дата, укажите Состав даты – Дата.

305. Выберите параметр КонецПериода, в поле Выражение введите выражение

КонецПериода(&ДатаОкончания, "День")

306. Выберите строку ВидНоменклатуры, в списке столбца Значение выберите Услуга.

Настройки

307. выберите вкладку настройки, выберите Отчет, МП, Новая группировка.

В структуре отчета появится группировка детальные записи.

308. На вкладке Выбранные поля перенесем мышью поля Услуга, Выручка.

309. Выберите вкладку Другие настройки, введите заголовок отчета – Рейтинг услуг.

Быстрые пользовательские настройки

310. Выберите вкладку

311.

312. Для поля Дата начала в списке Значения выберите Начало этого месяца.

313. Для поля Дата окончания в списке Значения выберите Начало этого дня.

314. Закроем конструктор схемы компоновки данных.

315. В окне редактирования объекта конфигурации Отчет Рейтинг Услуг выберите вкладку Подсистемы, выберите Оказание услуг.

316. Запустим 1С:Предприятие в режиме отладки, в панели действий раздела Оказание услуг выберите Рейтинг услуг.

Условное обозначение

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

318. В поле Оформление выберите бордовый цвет текста, нажми-

319. Затем укажем Условие, при наступлении которого будет применяться оформление, выберите Новый элемент, нажмите кнопку Добавить, в графе Левое значение укажите Выручка , в графе Вид сравнения укажите Меньше, в графе Правое значение укажите 700,

нажмите ОК.

То есть когда в поле Выручка окажется значение меньше 700, чтото будет выделено красным цветом.

320 . Теперь зададим список оформляемых полей: в поле Оформляемые поля нажмите три точки, нажмите Добавить, выберите Услуга, выберите Выручка, нажмите ОК.

321. В поле Представление условного обозначения введите Непопулярная услуга. Это то, что увидит пользователь в своих настройках.

322. Теперь добавим созданное условие в пользовательские настройки: нажмите кнопку Свойства элементов пользовательских

настроек, установите флажок Включать в пользовательские настройки и установите свойство Режим редактирования в значение

Обычный.

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

323. Запустим 1С:Предприятие в режиме отладки, в панели действий раздела Оказание услуг выберите Рейтинг услуг, нажмите Сформировать.

Мы видим, что суммы услуг менее 700 руб. выделены красным цветом.

323. Нажмите кнопку Настройка, снимите флажок с настройки Непопулярная услуга, нажмите Завершить редактирование.

324. Нажмите сформировать, видите выделение цветом исчезло.

Пользовательские настройки

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

326. Нажмите кнопку Свойства элемента пользовательских настроек, расположенных вверху в командной панели окна настроек.

327. Установите признак использования для настроек Отбор и Условное оформление и установите для них режим редактирования в

значение Обычный, нажмите ОК.

328 . Выберите вкладку Отбор, раскройте поле Услуга, выберите поле Родитель, М2, перенесите его в список отбора в правой части окна.

Мы создали возможность отбора по группам услуг, которые пользователь может задать в режиме 1С:Предприятие.

329. Запустим 1С:Предприятие в режиме отладки, в панели действий раздела Оказание услуг выберите Рейтинг услуг, нажмите Настройка, там появились настройки Отбор и Условное обозначение.

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

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

330 . Зададим отбор в отчете так, чтобы в него попадали такие услуги, относящиеся у установке стиральных машин: нажмите три точки в окне пользовательских настроек в строке Отбор: в строке Отбор нажмите три точки, в строке Значение нажмите три точки, раскройте группу Услуги и выберите Стиральные машины из справочника Номенклатура, нажмите ОК, нажмите Завершить редактирование, нажмите Сформировать.

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

331. Нажмите Настройка, в строке Отбор нажмите кнопку Очистка.

11.7. Отчет 3. Вывод данных по всем дням в выбранном перио-

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

331. Создадим отчет: выберите в дереве объектов конфигурации ветвь Отчеты, МП , выберите Добавить , в поле Имя введите ВыручкаМастеров , нажмите tab и в поле Синоним должно появится Выручка матеров , в поле расширенное представление введите Список оказанных услуг,

332 нажмите Открыть с хему компоновки данных. В окне конструктора макета выберите тип макета Схема компоновки данных, нажмите Готово.

333 . Добавьте новый набор данных – запрос: нажмите кнопку Добавить , выберите Добавить набор данных – запрос .

334. Создайте текст запроса: нажмите кнопку Конструктор запро-

са.

335. В качестве источника данных для запроса выберим виртуальную таблицу регистра накопления Продажи.Обороты.

336. В поле Таблицы выберите Продажи.Обороты , нажмите кнопку Парааметры виртуальной таблицы, в списке Периодичность выберите День, нажмите ОК.

337. Выберите из таблицы поля ПродажиОбороты.Мастер, Про-

дажиОбороты.Период, ПродажиОборотыюКлиент, ПродажиОбороты.ВыручкаОборот.

338. Выберите вкладку Объединения/Псевдонимы, укажите что поле ПродажиОбороты.ВыручкаОборот будет иметь псевдоним Выручка, нажмите ОК.

ПродажиОбороты.Мастер,

ПродажиОбороты.Период,

ПродажиОбороты.Клиент, ПродажиОбороты.ВыручкаОборот КАК Выручка

РегистрНакопления.Продажи.Обороты(, День,) КАК ПродажиОбороты

339. Выберите вкладку Ресурсы, выберите выручка.

Параметры

340. Выберите вкладку Параметры, для парметра НачалоПериода введите Заголовк Дата начала, в поле Тип выберите состав даты Дата.

342. Добавьте параметр ДатаОкончания, тип Дата, состав даты –

343. Для КонецПериода задайте выражение КонецПериода(&ДатаОкончания, «День»)

и поле Ограничение доступности установите флажок. Настройки

344. Выберите вкладку Настройки, выделите корневой элеменнт Отчет, нажмите Добавить, добавьте группировку верхнего уровня по полю Мастер, добавьте группировку вложенную в предыдущую по полю Период, добавьте еще одну группировку вложенную в группировку Детальные записи по полю период без указания группировочного поля.

345. Выберите вкладку Выбранные поля, добавьте поля Клиент, Выручка.

346. Выберите вкладку Другие настройки, в списке Расположение полей группировки выберите Отдельно и только в итогах, в списке Расположение общих тиогов по вертикали выберите Начало, в поле Заголовок введите Выручка матеров.

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

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

349. В окне редактирования объекта конфигурации Отчет Выручка мастеров выберите вкладку Подсистемы, выберите Оказание услуг и Расчет зарплаты.

350. Запустим 1С:Предприятие в режиме отладки, в панели действий раздела Оказание услуг выберите Выручка мастеров, задайте приод с 1 июля по 30 июля, нажмите Сформировать.

Вывод всех дат в выбранном периоде

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

351. В схеме компоновки данных выберите Настройки, выберите группировку Период, нажмите вкладку Период в командной панели окна.

352. Выберите вкладку Поля группировки, выберите поле Период,

в списке Тип дополнения выберите день.

353. В новой строке в столбце Начальная дата периода, М2, нажмите кнопку Очистка, нажмите кнопку выбора типа данных Т, выберите Поле компоновки данных, нажмите ОК, выберите три точки, выберите параметр НачалоПериода.

354. В новой строке в столбце Конечная дата периода, М2, нажмите кнопку Очистка, нажмите кнопку выбора типа данных Т, выберите Поле компоновки данных, нажмите ОК, выберите три точки, выберите параметр ДатаОкончания.

355. Запустим 1С:Предприятие в режиме отладки, в панели действий раздела Оказание услуг выберите Выручка мастеров, задайте период с 1 июля по 30 июля, нажмите Сформировать.

Новый вариант отчета. Диаграмма

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

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

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

Диаграмма как объект встроенного языка емеет три области: область построения область заголовка область легенды

356. Откройте схему компоновки данных на вкладке Настройки, в списке вариантов отчета выберите Добавить, введите имя ОбъемВыручки.

357. Добавим в структуру отчета диаграмму: выберите корневой элемент Отчет, МП, Новая диаграмма.

358. Выберите ветвь Точки, МП, Новая группировка, выберите поле Мастер.

359. Выберите Выбранные поля, нажмите Отчет, выберите

360. Выберите вкаладку Другие настройки, выберите Тип диаграммы – Измерительная.

361. Выберите полосы измерительной диаграммы по рис.

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

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

364. Запустим 1С:Предприятие в режиме отладки, в панели действий раздела Оказание услуг выберите Выручка мастеров, нажмите выбрать вариант, выберите Объем выручки, нажмите

11.8. Отчет 4. Получение актуальных значений из периодического регистра сведений

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

365. Создадим отчет: выберите в дереве объектов конфигурации ветвь Отчеты, МП , выберите Добавить , в поле Имя введите ПереченьУслуг , нажмите tab и в поле Синоним должно появится Перечень услуг , в поле расширенное представление введите Список оказанных услуг,

366 нажмите Открыть с хему компоновки данных. В окне конструктора макета выберите тип макета Схема компоновки данных, нажмите Готово.

367 . Добавьте новый набор данных – запрос: нажмите кнопку Добавить , выберите Добавить набор данных – запрос .

368. Создайте текст запроса: нажмите кнопку Конструктор запро-

са.

369. В качестве источника данных для запроса выберим объектную таблицу Номенклатура и виртуальную таблицу регистра сведений Цены.СрезПоследних.

370. Таблицу Номенклатура переименуйте в спрНоменклатура.

371. В поле Таблицы выберите Цены.СрезПоследних , нажмите кнопку Параметры виртуальной таблицы, в поле Период введите &ДатаОтчета .

372. Выберите из таблицы поля спрНоменклатура.Родитель,

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

374. Выберите вкладку условие, выберите поле видНоменклатуры,

375. Выберите вкладку Объединение/Псевдонимы, поле Родитель заменяем на ГруппаУслуг, поле Ссылка на Услуга, нажмите ОК.

ВЫБРАТЬ спрНоменклатура.Родитель КАК ГруппаУслуг,

ИЗ Справочник.Номенклатура КАК спрНоменклатура

ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Цены.СрезПоследних(&ДатаОтчета,) КАК ЦеныСрезПоследних

ПО (ЦеныСрезПоследних.Номенклатура = спрНоменклатура.Ссылка)

ГДЕ спрНоменклатура.ВидНоменклатуры = &ВидНоменклатуры

376. Выберите вкладку Ресурсы, выберите Цена.

377. Выберите вкладку Параметры, для параметра ВидНоменлатуры в столбце Значение выберите Услуга.

378. Для параметра ДатаОтчета снимите ограничение доступности (Ог), в поле Тип выберите состав даты – Дата.

379. Для параметра Период установите ограничение доступности.

380. Выберите вкладку Настройки, выбеирет корневой эемент Отчет, МП, Новая группировка по полю ГруппаУслуг, тип группировки Иерархия.

379. Выберите группировку ГруппаУслуг, МП, Новая грууппировка без указания группового поля (Детальные записи).

380. Выберите Выбранные поля, укажите поля Услуга, Цена.

381. Выберите Другие настройки, общих итогов по вертикали выберите Нет.

382. Выберите вкладку ГруппаУслуг, в списке Рсаположение полей группировки выберите Отдельно и только в итогах, в поле Заголовок введите Перечень услуг.

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

384. В окне реадактирования объекта конфигурации Отчет Перечень услуг выберите вкладку Подсистемы, выберите Оказание услуг и Бухгалтерия.

385. Откройте периодический регистр Цены, добавьте новое значение для услуги Диагностики на 27 июля – 350 руб.

386. Запустим 1С:Предприятие в режиме отладки, в панели действий раздела Оказание услуг выберите Перечень услуг, введите дату 26 июля, нажмите Сформировать, цена диагностики должна быть 600.

387. Запустим 1С:Предприятие в режиме отладки, в панели действий раздела Оказание услуг выберите Перечень услуг, введите дату 27 июля, нажмите Сформировать, цена диагностики должна быть 350.

11.9. Отчет 5. использование вычисляемого поля в отчете

388. Создадим отчет: выберите в дереве объектов конфигурации ветвь Отчеты, МП , выберите Добавить , в поле Имя введите РейтинКлиентов , нажмите tab и в поле Синоним должно появится Рейтинг клиентов , в поле расширенное представление введите Список оказанных услуг,

389. Нажмите Открыть с хему компоновки данных. В окне конструктора макета выберите тип макета Схема компоновки данных, нажмите Готово.

390 . Добавьте новый набор данных – запрос: нажмите кнопку Добавить , выберите Добавить набор данных – запрос .

391. Создайте текст запроса: нажмите кнопку Конструктор запро-

са.

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

393 . Выберите из таблицы поля

ПродажиОбороты.Клиент

ПродажиОбороты.ВыручкаОборот

393. Выберите вкладку Объединение/Псевдонимы, поле ВыручкаОбороты замените на выручка, стоимостьОборот на Стоимость.

394. Нажмите ОК.

395. Выберите вкладку Вычисляемые поля, нажмите кнопку Добавить, в поле Путь к данным введите Доход, в поле Выражение введите

Выручка - Стоимость

396. Выберите вкладку Ресурсы, выберите Выручка, Доход, Стои-

397. Выберите вкаладку Настройки, выберите корневой элемент Отчет, МП, Новая диаграмма.

398. Выберите Точки, МП, Новая группировка по полю Клиент.

399. Выберите Выбранные поля, выберите Доход.

400. Выберите Другие настройки, тип диаграммы – круговая объемная, в поле заголовок введите Рейтинг клиентов.

401. В окне редактирования объекта конфигурации Отчет Перечень услуг выберите вкладку Подсистемы, выберите Оказание услуг и Бухгалтерия.

402. Запустим 1С:Предприятие в режиме отладки, в панели действий раздела Оказание услуг выберите Рейтинг клиентов, нажмите Сформировать.

11.10. Отчет 6. Вывод данных в таблицу

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

403. Создадим отчет: выберите в дереве объектов конфигурации ветвь Отчеты, МП , выберите Добавить , в поле Имя введите Универсальный , нажмите tab и в поле Синоним должно появится Универсальный , в поле расширенное представление введите Список оказанных услуг,

404. Нажмите Открыть с хему компоновки данных. В окне конструктора макета выберите тип макета Схема компоновки данных, нажмите Готово.

405 . Добавьте новый набор данных – запрос: нажмите кнопку Добавить , выберите Добавить набор данных – запрос .

406. Создайте текст запроса: нажмите кнопку Конструктор запро-

са.

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

408 . Выберите из таблицы поля

ПродажиОбороты.Номенклатура

ПродажиОбороты.Клиент

ПродажиОбороты.Мастер

ПродажиОбороты.КоличествоОборот

ПродажиОбороты.ВыручкаОборот

ПродажиОбороты.СтоимостьОборот

409. Нажмите ОК.

410. Выберите вкладку Ресурсы, выберите >>.

411. Выберите вкладку Настройки, выберите корневой элемент Отчет, МП, Новая таблица.

412. Выберите в структуре элемент Таблица, нажмите кнопку Свойства элемента пользовательских настроек. Выберите Выбранные поля, Группировка строк, Группировка колонок.

413. В окне редактирования объекта конфигурации Отчет Перечень услуг выберите вкладку Подсистемы, выберите Оказание услуг.

414. Запустим 1С:Предприятие в режиме отладки, в панели действий раздела Оказание услуг выберите Универсальный, нажмите Сформировать. Пусто!

415. В строке Выбранные поля нажмите три точки, выбериет выручкаОборот.

416. В строке Строки нажмите три точки, добавьте группировку по полю Номенклатура с типом Иерархия.

417. В строке Колонки добавьте группировку по полю Мастер.

418. Нажмите Сформировать.

419. В строке Выбранные поля нажмите три точки, выберите еще СтоимостьОборот.

420. В строке Строки нажмите три точки, удалите группировку по полю Номенклатура, введите группировку по полю Клиент.

421. Нажмите Сформировать.

422. В строке Выбранные поля нажмите три точки, удалите СтоимостьОборот.

423. В строке Строки нажмите три точки, удалите старую группировку, введите группировку по полю Номенклатура с типом Только Иерархия.

424. В строке Колонки добавьте группировку по полю Клиент, и поместите ее первой..

425. Нажмите Сформировать.