Формирование отчетов и создание бухгалтерского учета

Лабораторная №3. Формирование отчетов и создание бухгалтерского учета.

4. Проведение документа по нескольким регистрам

4.1 Создание регистра СтоимостьМатериалов

Регистр СтоимостьМатериалов будет иметь всего одно измерение – Материал с типом СправочникСсылка.Номенклатура и один ресурс – Стоимость с длиной 15 и точностью 2.

4.2 Изменение процедуры проведения документа ПриходнаяНакладная

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

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

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

Нажмите ОК и посмотрите на текст, который сформировал конструктор:

Процедура ОбработкаПроведения(Отказ, Режим)

//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

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

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

Для Каждого ТекСтрокаМатериалы Из Материалы Цикл

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

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

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

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

   Движение.Материал = ТекСтрокаМатериалы.Материал;

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

   Движение.Количество = ТекСтрокаМатериалы.Количество;

КонецЦикла;

Для Каждого ТекСтрокаМатериалы Из Материалы Цикл

   // регистр СтоимостьМатериалов Приход

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

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

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

   Движение.Материал = ТекСтрокаМатериалы.Материал;

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

КонецЦикла;

// записываем движения регистров

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

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

//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

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

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

В нашем случае табличная часть всего одна, поэтому можно объединить эти два цикла в один следующим образом (изменения выделены жирным):

Процедура ОбработкаПроведения(Отказ, Режим)

//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

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

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

Для Каждого ТекСтрокаМатериалы Из Материалы Цикл

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

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

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

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

   Движение.Материал = ТекСтрокаМатериалы.Материал;

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

   Движение.Количество = ТекСтрокаМатериалы.Количество;

//КонецЦикла;

//Для Каждого ТекСтрокаМатериалы Из Материалы Цикл

   // регистр СтоимостьМатериалов Приход

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

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

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

   Движение.Материал = ТекСтрокаМатериалы.Материал;

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

КонецЦикла;

// записываем движения регистров

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

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

//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

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

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

1. Перечисление

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

1.1 Объект конфигурации Перечисление

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

Реорганизация справочника Номенклатура

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

Затем добавьте в справочник Номенклатура новый реквизит ВидНоменклатуры с типом ПеречислениеСсылка.ВидыНоменклатуры.

Запустите 1С:Предприятие в режиме отладки и задайте для каждого элемента справочника Номенклатура соответствующее значение реквизита ВидНоменклатуры:

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

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

2.1 Создание оборотного регистра накопления Продажи

Создайте новый объект конфигурации регистр накопления Продажи, вид регистра – Обороты.

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

- Номенклатура, тип СправочникСсылка.Номенклатура

- Клиент, тип СправочникСсылка.Кпиенты

- Мастер, тип СправочникСсылка.Сотрудники

и ресурсы:

- Количество, тип Число, длина 15, точность 3

- Выручка,тип Число, длина 15, точность 2

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

Запустите 1С:Предприятие в режиме отладки и откроем формы списка регистров накопления "Продажи".

2.2 Изменение процедуры проведения документа ОказаниеУслуги

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

Процедура ОбработкаПроведения(Отказ, Режим)

//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

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

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

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

   Если ТекСтрокаПереченьНоменклатуры.Номенклатура.ВидНоменклатуры <> Перечисления.ВидыНоменклатуры.Материал Тогда

       Продолжить;

   КонецЕсли;

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

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

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

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

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

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

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

   //КонецЦикла;

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

   // регистр СтоимостьМатериалов Расход

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

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

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

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

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

КонецЦикла;

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

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

КонецЦикла;

// записываем движения регистров

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

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

Движения.Продажи.Записать();

//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

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

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

Процедура ОбработкаПроведения(Отказ, Режим)

//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

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

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

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

   Если ТекСтрокаПереченьНоменклатуры.Номенклатура.ВидНоменклатуры <> Перечисления.ВидыНоменклатуры.Материал Тогда

       Продолжить;

   КонецЕсли;

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

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

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

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

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

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

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

   //КонецЦикла;

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

   // регистр СтоимостьМатериалов Расход

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

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

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

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

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

КонецЦикла;

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

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

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

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

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

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

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

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

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

  

КонецЦикла;

// записываем движения регистров

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

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

Движения.Продажи.Записать();

//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

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

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

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

3. Объект конфигурации Отчет

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

3.1 Создание отчета Материалы

Создайте новый объект конфигурации Отчет Материалы. Перейдите на закладку Макеты и воспользуйтесь конструктором выходной формы.

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

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

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

На закладке Итоги укажите группировочное поле Материал (для Материала установите тип итогов – Элементы и иерархия) и Склад. В суммируемое поле перенесите Все поля (>>) и установите флаг Общие итоги.

Нажмите ОК. Система автоматически сформирует формы и откроет их на экране.

Запустите 1С:Предприятие в режиме отладки и сформируйте отчет Материалы.

Отчет содержит суммы по приходу и расходу материалов, а также по остаткам материалов.

Добавьте Поле Материал и сформируйте отчеты по различным Типам сравнения и значений. (наименование материала, цена и т.д.).

Также сформируйте отчеты по наличию материалов на складах (Поле - Склад).

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

4. Создание объекта конфигурации План видов характеристик ВидыСубконто

План видов характеристик содержит описания объектов аналитического учета –субконто.

Откройте конфигуратор и создайте новый объект конфигурации План видов характеристик. Задайте имя – ВидыСубконто.

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

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

·

СправочникСсылка.Клиенты,

·

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

·

СправочникСсылка.Субконто:

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

Создайте предопределенный вид субконто: Материалы, с кодом 00001 и типом СправочникСсылка.Номенклатура, и затем создайте вид субконто: Клиенты, с кодом 00002 и типом СправочникСсылка.Клиенты:

5. Объект конфигурации План счетов

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

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

5.1 Создание объекта конфигурации План счетов Основной

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

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

Нажмите кнопку Предопределенные и создайте четыре предопределенных счета:

·

Товары, код 41, активный, с количественным учетом в разрезе материалов:

·

Расчеты с поставщиками, код 60, активно/пассивный

·

Дебиторская задолженность, код 62, активно/пассивный, с учетом в разрезе клиентов

Капитал, с кодом 90, активно/пассивный.

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

6. Объект конфигурации Регистр бухгалтерии

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

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

6.1 Создание регистра бухгалтерии Управленческий

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

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

Теперь перейдите на закладку Данные и создайте два ресурса:

-

Сумма, длина 15, точность 2, балансовый,

- Количество, длина 15, точность 3, небалансовый, признак учета – количественный, признак учета субконто – количественный.

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

Запустите 1С:Предприятие в режиме отладки и откройте регистр бухгалтерии Управленческий.

6.2 Создание движений документа ПриходнаяНакладная

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

В список регистров добавьте регистр РегистрБухгалтерии.Управленческий. В качестве источника данных выберем табличную часть документа ПриходнаяНакладная – Материалы. Счет дебета установите равным ПланыСчетов.Основной.Товары (41), а счет кредита – ПланыСчетов.Основной.РасчетыСПоставщиками (60).

Нажмите кнопку "Заполнить выражения". У вас должен получиться следующий результат:

Нажмите ОК и посмотрите, какой текст платформа добавила в обработчик проведения документа ПриходнаяНакладная.

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

7. Создание отчета ОборотноСальдоваяВедомость

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

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

Поэтому для построения такого отчета, понадобятся две исходные таблицы: объектная (ссылочная) таблица плана счетов Основной и виртуальная таблица регистра бухгалтерии Управленческий.ОстаткиИОбороты:

Из таблицы Основной выберете поля Код и Наименование, а из таблицы УправленческийОстаткиИОбороты, выберете следующие поля:

·

СуммаНачальныйРазвернутыйОстатокДт,

·

СуммаНачальныйРазвернутыйОстатокКт,

·

СуммаОборотДт,

·

СуммаОборотКт,

·

СуммаКонечныйРазвернутыйОстатокДт,

·

СуммаКонечныйРазвернутыйОстатокКт:

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

Затем на закладке Объединения/Псевдонимы задайте псевдонимы полей регистра: СальдоНачДт, СальдоНачКт, ОборотДт, ОборотКт, СальдоКонДт и СальдоКонКт:

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

На закладке Отчет сбросьте флаг Использовать построитель отчета.

Нажмите ОК, запустите 1С:Предприятие в режиме отладки и сформируйте отчет.

Формирование отчетов и создание бухгалтерского учета