Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

No регистру Управленческий




«10.11».

Если свойство не устанавливать, то нужно будет в явном виде
выбирать упорядочивание no полю Порядок.____
___________^___


Бухгалтерский учет

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

О

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

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

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

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

Узнай больше!

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


 


300



Использование основных объектов конфигурации


Бухгалтерский учет


 


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

О

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

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

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

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

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

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

Запустим 1С:Предприятие в режиме отладки и откроем регистр бухгалтерии «Управленческий». Как видите, платформа (при создании структуры хранения данных) добавила к созданным нами реквизитам регистра еще ряд полей, которые явились следствием использования плана счетов «Основной». Прежде всего, это поля «СчетДт», «СубконтоДт1», «СчетКт» и «СубконтоКт1>. Кроме этого, если прокрутить окно вправо до конца, то вы обнаружите две колонки «Количество». Это «КоличествоДт» и «КоличествоКт». Для измерений и ресурсов регистра, связанных с признаками учета, платформа создает пару полей для хранения значения ресурса отдельно по дебету и отдельно по кредиту проводки.


Использование регистра бухгалтерии

Н

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

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

Н

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

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

В список регистров добавим регистр

«РегистрБухгалтерии.Управленческий». В качестве источника данных
выберем табличную часть документа «ПриходнаяНакладная» -
«Материалы». Счет дебета установим равным

«ПланыСчетов.Основной.Товары» (41), а счет кредита -«ПланыСчетов.Основной.РасчетыСПоставщиками» (60).


 


302



Использование основных объектов конфигурации


Бухгалтерский учет


 


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

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

Процедура ОбработкаПроведения(Отказ, Режим) //{{__КОНСТРУКТОР ДВИЖЕНИЙ_РЕГИСТРОВ // Данный фрагмент построен конструктором. // При повторном использовании конструктора, // внесенные вручную изменения будут утеряны!!! Для Каждого ТекСтрокаМатериалы Из Материалы Цикл

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

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

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

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

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

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

Движение.Количество = ТекСтрокаМатериалы.Количество; КонецЦикла; Для Каждого ТекСтрокаМатериалы Из Материалы Цикл

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

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

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


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

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

Движение.Стоимость = ТекСтрокаМатериалы.Сумма; КонецЦикла; Для Каждого ТекСтрокаМатериалы Из Материалы Цикл

// регистр Управленческий

Движение = Движения.Управленческий.Добавить();

Двюкение.СчетДт = ПланыСчетов.Основной.Товары;

Движение.СчетКт = ПланыСчетов.Основной.РасчетыСПоставшиками;

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

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

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

Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.Материалы] =

ТекСтрокаМатериалы.Материал; КонецЦикла;

// записываем движения регистров Движения.ОстаткиМатериалов.Записать(); Движения.СтоимостьМатериалов.Записать(); Движения.Управленческий.Записать(); //}}_КОНСТРУКТОРЛВИЖЕНИЙ_РЕГИСТРОВ КонецПроцедуры

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

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


 


304



Использование основных объектов конфигурации


Бухгалтерский учет


 


Другими словами, запись:

Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.Материалы]

равносильна записи:

Движение.СубконтоДт.Материалы.


Добавление движений по регистру бухгалтерии Управленческий в документ ОказаниеУслуги

Д

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

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


 


           
 
 
   
     
 


Запустим 1С:Предприятие в режиме отладки, откроем документ ПриходнаяНакладная №1 и перепроведем его.

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

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

После этого перепроведем документ ПриходнаяНакладная №2 и посмотрим, какие движения сформирует он.

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


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

Откроем в конфигураторе модуль объекта конфигурации Документ «ОказаниеУслуги» и найдем в нем процедуру обработки проведения. Она должна иметь следующий вид:

Процедура ОбработкаПроведения(Отказ, Режим) Запрос = Новый Запрос; Если Режим = РежимПроведенияДокумента.Оперативный Тогда

Запрос.Текст =

"ВЫБРАТЬ

| ОказаниеУслугиПереченьНоменклатуры.Номенклатура,

| ОказаниеУслугиПереченьНоменклатуры.Количество,

| ОказаниеУслугиПереченьНоменклатуры.Номенклатура.ВидНоменклатуры

| КАК ВидНоменклатуры,

| ОказаниеУслугиПереченьНоменклатуры. Сумма,


 


306



Использование основных объектов конфигурации


Бухгалтерский учет


 


| ОстаткиМатериаловОстатки.КоличествоОстаток,

| СтоимостьМатериаловОстатки.СтоимостьОстаток,

| ОстаткиМатериаловОстаткиНаСкладе.КоличествоОстаток

| КАК КоличествоОстатокНаСкладе

|ИЗ

| Документ.ОказаниеУслуги.ПереченьНоменклатуры

| КАК ОказаниеУслугиПереченьНоменклатуры

| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СтоимостьМатериалов.Остатки(

| &МоментВремени,

| Материал В (&СписокНоменклатурыДокумента))

| КАК СтоимостьМатериаловОстатки

| ПО ОказаниеУслугиПереченьНоменклатуры.Номенклатура =

| СтоимостьМатериаловОстатки.Материал

| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиМатериалов.Остатки(

| &МоментВремени,

| Материал В (&СписокНоменклатурыДокумента))

|КАК ОстаткиМатериаловОстатки

| ПО ОказаниеУслугиПереченьНоменклатуры.Номенклатура =

| ОстаткиМатериаповОстатки.Материал

| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиМатериалов.Остатки(

| &МоментВремени,

| Материал В (&СписокНоменклатурыДокумента) И

| Склад = &СкладВДокументе)

| КАК ОстаткиМатериаловОстаткиНаСкладе

| ПО ОказаниеУслугиПереченьНоменклатуры.Номенклатура =

| ОстаткиМатериаловОстаткиНаСкладе.Материал

|ГДЕ

| ОказаниеУслугиПереченьНоменклатуры.Ссылка = &Ссылка

|ДЛЯ ИЗМЕНЕНИЯ

| РегистрНакопления.ОстаткиМатериалов.Остатки, | РегистрНакопления.СтоимостьМатериалов.Остатки"; Иначе

Запрос.Текст = "ВЫБРАТЬ

| ОказаниеУслугиПереченьНоменклатуры.Номенклатура, | ОказаниеУслугиПереченьНоменклатуры.Количество, | ОказаниеУслугиПереченьНоменклатуры.Номенклатура.ВидНоменклатуры | КАК ВидНоменклатуры, | ОказаниеУслугиПереченьНоменклатуры.Сумма, | ОстаткиМатериаловОстатки.КоличествоОстаток, | СтоимостьМатериаловОстатки.СтоимостьОстаток |ИЗ

| Документ.ОказаниеУслуги.ПереченьНоменклатуры | КАК ОказаниеУслугиПереченьНоменклатуры

| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СтоимостьМатериалов.Остатки(
| &МоментВремени,
|_______________________________ Материал В (&СпиеокНоменклатурыДокумента)


| КАК СтоимостьМатериаловОстатки

| ПО ОказаниеУслугиПереченьНоменклатуры.Номенклатура =

| СтоимостьМатериаловОстатки.Материал

| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиМатериалов.Остатки(

| &МоментВремени,

| Материал В (&СписокНоменклатурыДокумента))

| КАК ОстаткиМатериаловОстатки

| ПО ОказаниеУслугиПереченьНоменклатуры.Номенклатура =

| ОстаткиМатериаловОстатки.Материал

|ГДЕ

| ОказаниеУслугиПереченьНоменклатуры.Ссылка = &Ссылка

|ДЛЯ ИЗМЕНЕНИЯ

| РегистрНакопления.ОстаткиМатериалов.Остатки, | РегистрНакопления.СтоимостьМатериалов.Остатки"; КонецЕсли;

Запрос.УстановитьПараметрС'МоментВремени", МоментВремени()); Запрос.УстановитьПараметрС'СписокНоменклатурыДокумента",

ПереченьНоменклатуры.ВыгрузитьКолонкуС'Номенклатура")); Запрос.УстановитьПараметр{"Ссылка",Ссылка);

ВыборкаРезультатаЗапроса = Запрос.Выполнить().Выбрать(); Пока ВыборкаРезультатаЗапроса.Следующий() Цикл

/ЯТроверить остаток при оперативном проведении Если Режим = РежимПроведенияДокумента.Оперативный Тогда Если ВыборкаРезультатаЗапроса.ВидНоменклатуры =

Перечисления.ВидыНоменклатуры.МатериалТогда Остаток =?(ВыборкаРезультатаЗапроса.КоличествоОстатокНаСкладе = Null,

0,ВыборкаРезультатаЗапроса.КоличествоОстатокНаСкладе); Если Остаток < ВыборкаРезультатаЗапроса.Количество Тогда Сообщить("Материала" +

СокрЛП(ВыборкаРезультатаЗапроса.Номенклатура) + " имеется только " + Остаток); Отказ = Истина; Возврат; КонецЕсли; КонецЕсли; КонецЕсли;

//Сформировать движения

Если ВыборкаРезулыатаЗапроса.ВидНоменклатуры =

Перечисления.ВидыНоменклатуры.МатериалТогда // регистр ОстаткиМатериалов Расход Движение = Движения.ОстаткиМатериалов.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Расход; Движение. Период = Дата;


 




Использование основных объектов конфигурации


Бухгалтерский учет


 


Движение.Материал = ВыборкаРезультатаЗапроса.Номенклатура;

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

Движение.Количество = ВыборкаРезультатаЗапроса.Количество;

// регистр СтоимостьМатериалов Расход Движение = Движения.СтоимостьМатериалов.Добавить(); Движение.ВидДвижения = ВидЦвиженияНакопления.Расход; Движение.Период = Дата;

Движение.Материал = ВыборкаРезультатаЗапроса.Номенклатура; //расчитать стоимость материала

СтоимостьМатериала =?(ВыборкаРезультатаЗапроса.КоличествоОстаток = Null. 0, ВыборкаРезультатаЗапроса.СтоимостьОстаток / ВыборкаРезультатаЗапроса.КоличествоОстаток); Движение.Стоимость = СтоимостьМатериала *

ВыборкаРезультатаЗапроса.Количество; КонецЕсли;

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

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

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

Движение.Номенклатура = ВыборкаРезультатаЗапроса.Номенклатура;

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

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

Движение.Количество = ВыборкаРезультатаЗапроса.Количество;

Движение.Выручка = ВыборкаРезультатаЗапроса.Сумма;

Если ВыборкаРезультатаЗапроса.ВидНоменклатуры =

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

Движение.Стоимость = СтоимостьМатериала *

ВыборкаРезультатаЗапроса.Количество; Иначе

Движение.Стоимость = 0; КонецЕсли; КонецЦикла;

// записать движения регистров
Движения.ОстаткиМатериалов.Записать();
Движения.СтоимостьМатериалов.Записать();
Движения.Продажи.Записать();
КонецПроцедуры________________________________________________.

Поскольку нас интересует только движение материалов, для внесения дополнений подойдет тело условия Если..., в котором мы формировали движения по регистрам «ОстаткиМатериалов» и «СтоимостьМатериалов».


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

//Сформировать движения

Если ВыборкаРезультатаЗапроса.ВидНоменклатуры =

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

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

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

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

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

Движение.Материал = ВыборкаРезультатаЗапроса.Номенклатура;

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

Движение.Количество = ВыборкаРезультатаЗапроса.Количество;

// регистр СтоимостьМатериалов Расход Движение = Движения.СтоимостьМатериалов.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Расход; Движение.Период = Дата;

Движение.Материал = ВыборкаРезультатаЗапроса.Номенклатура; //расчитать стоимость материала

СтоимостьМатериала =?(ВыборкаРезультатаЗапроса.КоличествоОстаток = Null, 0, ВыборкаРезультатаЗапроса.СтоимостьОстаток / ВыборкаРезультатаЗапроса.КоличествоОстаток); Движение.Стоимость = СтоимостьМатериала *

ВыборкаРезультатаЗапроса.Количество;

//первая проводка:




Поделиться с друзьями:


Дата добавления: 2014-11-16; Просмотров: 635; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.083 сек.