Бухгалтерский учет
3.6. Регистр бухгалтерии
Создадим регистр бухгалтерии Хозрасчетный. В качестве плана счетов на вкладке Основные, рис. 3.10, укажем ранее созданный план счетов Хозрасчетный. Установим флаг Корреспонденция - это будет означать, что регистр бухгалтерии поддерживает корреспонденцию счетов, то есть - ведение учета методом двойной записи.
Перейдем на вкладку Данные регистра бухгалтерии. Создадим следующие ресурсы:
Сумма. Тип - число, длина - 10, точность - 2. Признак Балансовый установлен.
Количество. Тип - число, длина -10, точность - 3. Признак Балансовый не установлен. Признак учета - Количественный. Признак учета субконто - Количественный.
Создадим реквизит Содержание. Тип - строка, длина - 50, Допустимая длина - Переменная ( рис. 3.11)
Обычно информационные базы 1С:Предприятия предусматривают ведение учета по нескольким организациям, по нескольким валютам и т.д. Для целей разделения учета по этим признакам используют измерения регистра. В нашем случае учет ведется в одной организации, по одной валюте, поэтому наш регистр бухгалтерии измерений не содержит.
Создание объектов бухгалтерской подсистемы завершено. Теперь пришло время поработать с документами, которые будут производить движения по регистру бухгалтерии.
3.7. Документы Поступление материалов и Отпуск материалов мастеру
В нашей конфигурации есть два документа, которые, по логике их использования, должны формировать движения по регистру бухгалтерии. Для того, чтобы документы Поступление материалов и Отпуск материалов мастеру могли формировать такие движения, установим у них, на вкладке Движения, флаг перед регистром бухгалтерии Хозрасчетный, рис. 3.12.
Займемся документом Поступление материалов.
Для того чтобы сформировать бухгалтерские проводки по этому документу, нам нужны следующие данные, большая часть из которых уже имеется в документе: Дата, Номенклатура, Количество, Сумма, Контрагент, Сотрудник, счета учета.
Что касается счетов учета, то, опираясь на существующие данные документа, мы можем однозначно определить лишь счет учета расчетов с поставщиками. А счет учета материальных ценностей - нет, так как в нашей конфигурации предусмотрено несколько субсчетов для учета различных видов материальных ценностей. Дополним состав реквизитов табличной части документа Материалы, введем туда новый реквизит:
Имя - Счет, наименование - Счет учета, тип - ПланыСчетовСсылка.Хозрасчетный, рис. 3.13.
увеличить изображение
Рис. 3.13. Дополнение реквизитов табличной части Материалы документа Поступление материалов
Теперь, для того, чтобы пользователь мог выбрать счет учета при заполнении документа, откроем форму документа, вызовем контекстное меню табличного поля, выберем команду Добавить колонку. В свойствах добавленной колонки зададим следующие параметры:
Имя - Счет, Данные - Счет, ЭлементУправления - Поле ввода, ТекстШапки - Счет учета, рис. 3.14.
Проверим созданные дополнения документа в режиме 1С:Предприятие, рис. 3.15.
Как видно, механизм работает правильно.
Теперь займемся процедурой проведения документа. Вспомним: ранее мы создавали процедуру проведения документа по регистру накопления ОстаткиМатериалов с помощью конструктора движений. Воспользуемся конструктором для создания механизма проведения по регистру бухгалтерии. Для этого перейдем на вкладку Движения окна настройки свойств объекта и нажмем на кнопку Конструктор движений. Ответим утвердительно на вопрос системы о замещении процедуры проведения документа - она сформирована автоматически, поэтому переписывание конструктором процедуры нашей конфигурации не повредит. После запуска конструктора движений, мы видим, что в его окне, в области Регистры, представлен регистр накопления ОстаткиМатериалов ( рис. 3.16). Ниже можно видеть таблицу, где сопоставлены реквизиты документа и регистр. Оставим здесь все без изменений - ведь по регистру накопления наш документ должен формировать такие же движения, как и ранее.
Нажмем на кнопку Добавить над областью Регистры, из появившегося окна выберем регистр бухгалтерии хозрасчетный.
Заполним соответствие полей регистра и документа следующим образом, рис. 3.17:
Этот счет будет фиксировано подставляться в кредитовую часть бухгалтерской операции, которую формирует документ. Счет дебета, наоборот, может изменяться в зависимости от материала, принимаемого к учету. Поэтому его мы выберем из табличной части Материалы.
СчетДТ | - ТекСтрокаМатериалы.Счет |
Сумма | - ТекСтрокаМатериалы.Сумма |
Содержание | - "Поступление материалов от поставщика". |
СубконтоКТ | - Контрагент. |
Рассмотрим процедуру проведения, которую сформировал конструктор в той части, которая касается регистра бухгалтерии:
Для Каждого ТекСтрокаМатериалы Из Материалы Цикл // регистр Хозрасчетный Движение = Движения.Хозрасчетный.Добавить(); Движение.СчетКт = ПланыСчетов.Хозрасчетный.Поставщики; Движение.Период = Дата; Движение.СчетДт = ТекСтрокаМатериалы.Счет; Движение.Сумма = ТекСтрокаМатериалы.Сумма; Движение.Содержание = "Поступление материалов от поставщика"; Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.Контрагенты] = Контрагент; КонецЦикла;
Эта процедура, как можно заметить, не содержит некоторых важных, с точки зрения нашей задачи, частей. Так, здесь нет ввода информации по субконто дебетового счета, которые позволяют ввести информацию о поступивших материалах и о сотруднике, ответственном за полученные материалы. Так же здесь нет данных о количестве материалов. Все эти дополнения к движениям документа мы введем самостоятельно. Добавим в конец процедуры следующие строки:
Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.Номенклатура] = ТекСтрокаМатериалы.Номенклатура; Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.Сотрудники] = ОтветственныйСотрудник; Движение.КоличествоДт=ТекСтрокаМатериалы.Количество;
В итоге модуль приобретет следующий вид, рис. 3.18.
В этом модуле можно заметить один нерациональный момент. А именно, здесь автоматически сформированы два цикла для перебора элементов одной и той же табличной части. Разумно будет отредактировать модуль таким образом, чтобы объединить его проведение по двум регистрам в один цикл. Сделаем это. В нашем случае достаточно лишь удалить команду КонецЦикла ; для первого цикла и Для Каждого ТекСтрокаМатериалы из Материалы Цикл для второго. Отредактируем, так же, комментарии, добавленные в процедуру конструктором движений. То, что у нас получилось, приведено на рис. 3.19.
Перепроведем документы Поступление товаров, присутствующие в системе (предварительно нужно заполнить счета учета материалов в их табличных частях). При их перепроведении, движения документов по регистрам определяются только что отредактированной процедурой проведения. После первого проведения документов можно проверить, правильно ли их данные отразились в регистре бухгалтерии, рис. 3.20. В нашем случае все верно.
Теперь займемся документом Отпуск материалов мастеру. Он выполняет процедуру списания материалов. Аналогично предыдущему документу, процедура его проведения сформирована автоматически, поэтому мы добавим в его табличную часть реквизит Счет типа ПланСчетовСсылка.Хозрасчетный, дополним табличную часть новым столбцом, который будет служить для указания счета, и сформируем процедуру проведения с помощью конструктора, рис. 3.21.
Здесь мы в параметр Счет дебета внесли счет ПланыСчетов.Хозрасчетный.Капитал, СчетКт заполнили из табличной части: ТекСтрокаМатериалы.Счет, в параметр Сумма внесли значение ТекСтрокаМатериалы.Сумма, в параметр Содержание записали "Отпущены материалы в производство". Как и в предыдущем случае, процедура проведения, сформированная автоматически, требует ручной правки. Аналогично, здесь мы добавляем в проводки количественные показатели и необходимые субконто:
Для Каждого ТекСтрокаМатериалы Из Материалы Цикл // регистр Хозрасчетный Движение = Движения.Хозрасчетный.Добавить(); Движение.СчетДт = ПланыСчетов.Хозрасчетный.Капитал; Движение.Период = Дата; Движение.СчетКт = ТекСтрокаМатериалы.Счет; Движение.Сумма = ТекСтрокаМатериалы.Сумма; Движение.Содержание = "Отпущены материалы в производство"; //Добавленные вручную команды Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.Номенклатура] = ТекСтрокаМатериалы.Номенклатура; Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.Сотрудники] = ОтветственныйСотрудник; Движение.КоличествоКт=ТекСтрокаМатериалы.Количество; КонецЦикла;
Окончательный вид процедуры проведения на данном этапе работы приведен на рис. 3.22.
Работая с только что созданными механизмами, несложно заметить, что они предусматривают выполнение операций, которые рационально было бы автоматизировать. В частности, речь идет о необходимости выбора счетов учета для тех или иных номенклатурных позиций. Так же наши документы лишены механизмов контроля. Документ, который отвечает за приходование материалов, в таких механизмах не нуждается, а вот документ, которым списывают материалы, можно оснастить механизмами проверки доступных остатков. Естественно будет запретить проведение документа в том случае, если мы попытаемся с его помощью списать материалы, которых нет в наличии. Причем, следуя логике нашей конфигурации, здесь возможно несколько вариантов. Так, предположим, за сотрудником А числится 10 единиц материала М1, за сотрудником Б - так же 10 единиц. Попытка проведения документа Отпуск материалов мастеру, который списывает 15 единиц материала М1 с сотрудника А должна завершиться неудачей и сообщением о том, что за сотрудником А не числится нужного количества материалов вида М. Однако, общее количество материалов этого вида в организации имеется, поэтому имеет смысл наряду с предыдущим сообщением указать пользователю на то, что ему необходимо сформировать несколько документов Отпуск материалов мастеру, списав необходимые материалы с разных ответственных. Поработайте самостоятельно над реализацией подобной функциональности, все необходимые знания для этого у вас уже есть.
Сейчас рассмотрим создание одного важного документа, без которого не обходится ни одна реальная бухгалтерская система.