6. Бухгалтерский учет в V 8
6. 1. Объекты метаданных, относящиеся к бухучету К объектам, с помощью которых реализуется бухгалтерский учет, относятся следующие: • планы видов характеристик • планы счетов ; • регистры бухгалтерии (с поддержкой и без поддержки корреспонденции). Регистр бухгалтерии будет использоваться для накопления данных о совершенных хозяйственных операциях. С помощью плана счетов описываются счета, в разрезе которых ведется учет, а план видов характеристик служит для описания объектов аналитического учета, в разрезе которых должен вестись учет на счетах.
6. 2. Планы счетов и регистры бухгалтерии План счетов в системе 1 С: Предприятие поддерживает иерархию субсчетов: к каждому счету первого уровня может быть открыто несколько субсчетов, которые в свою очередь могут иметь свои субсчета - и так далее. По любому счету или субсчету может вестись аналитический учет в разрезе субконто, описанных в плане видов характеристик. Связь между планом счетов и планов видов характеристик задается разработчиком на этапе конфигурирования. Для описания используемых субконто система создает в плане счетов специальную табличную часть Виды. Субконто, которая не видна в конфигураторе(но доступна средствами встроенного языка).
продолжение Форма элемента плана счетов:
продолжение Средства V 8 позволяют вести учет в одной базе сразу нескольких юридических лиц, получать бухгалтерские итоги по каждой фирме и консолидированные сведения по холдингу. Все это реализуется добавлением измерений в регистр бухгалтерии, например, Организация, Подразделение и т. д. Измерений у регистра бухгалтерии может быть несколько (в V 7 – только 1 Разделитель. Учета). Ресурсы регистра отражают числовую информацию, например, сумму проводки, количество, валютную сумму и т. д. Состав ресурсов определяется разработчиком.
продолжение Каждый регистр бухгалтерии связан только с одним планом счетов. Но это не запрещает иметь сразу несколько регистров бухгалтерии, привязанных к одному плану счетов.
продолжение В плане счетов указываются признаки учета, который затем могут быть использованы при редактировании свойств измерений и ресурсов регистра бухгалтерии. Виды учета задаются при помощи подчиненных объектов конфигурации «Признак учета» .
продолжение Например, признак учета Количественный указан в свойствах ресурса (в регистре бухгалтерии) Количество. Это означает, что ресурс Количество в регистре бухгалтерии будет иметь смысл только для тех счетов, для которых установлен признак Количественный (признак учета «Забалансовый» не указывать, т. к. он предусмотрен автоматически системой). Аналогичная ситуация с признаком учета Валютный и ресурсом Валютная. Сумма.
продолжение При задании структуры плана счетов можно указать так называемые признаки учета субконто. Признак учета по субконто показывает, ведется ли учет данного вида в разрезе данного субконто на данном счете. Например, с помощью признака «Количественный» мы можем указать, будет ли вестись количественный учет в разрезе материалов на 10 счете. Если мы укажем, что количественный учет не ведется, то мы не сможем получить количественный остаток или оборот по конкретному материалу или группе материалов на 10 счете. Количественные показатели будут доступны только для счета в целом. При этом суммовой учет в разрезе субконто Материалы будут вестись, и, соответственно, можно будет получить суммовые остатки или обороты по конкретному материалу. Виды учета субконто задаются при помощи подчиненных объектов конфигурации «Признак учета субконто» .
Субсчета Структура счета с субсчетами определяется маской кода. В V 8 возможны проводки по родительским счетам. Даже если у счета есть субсчета, то по нему могут делаться проводки, например, допускается проводка Дт20 Кт76,
Предопределенные счета Разработчик может завести счета в плане счетов еще на этапе создания приложения. Такие счета называются предопределенными, и для них недоступны некоторые операции в режиме «Предприятие» , например, такой счет нельзя удалить. Любой предопределенный счет имеет имя, по которому к нему будет производиться обращение в программных модулях.
Корреспонденции Для балансовых счетов поддерживается корреспонденция. Это означает, что каждая проводка имеет дебет и кредит, причем сумма проводки по дебету равна сумме по кредиту, например, проводка Дт20 Кт70 на сумму 1000 руб. Для забалансовых счетов корреспонденция не поддерживается, т. е. поддержка баланса не контролируется. В V 8 есть два типа регистров бухгалтерии: • с поддержкой корреспонденции (обязательно указывается дебет и кредит каждой проводки), • без поддержки корреспонденции (у каждой проводки есть вид движения - дебет или кредит). Измерения и ресурсы в регистре бухгалтерии могут быть балансовыми или небалансовыми. По балансовым измерениям и ресурсам подсчитываются общие итоги (баланс) и поддерживается принцип двойной записи. А для небалансовых измерений и ресурсов реализовано раздельное хранение данных по дебету и кредиту.
продолжение Пример 1. Валюта. Дт и Валюта. Кт (небалансовое измерение Валюта)
продолжение Пример 3. Балансовый ресурс «Сумма»
6. 3. План видов характеристик - указывается в свойствах плана счетов как источник видов субконто. Обычно в конфигурации создается план видов характеристик с именем Виды. Субконто.
продолжение В качестве типа значения характеристик необходимо использовать составной тип и указать все справочники, перечисления и другие объекты метаданных, которые будут служить объектами аналитического учета на счетах данного плана счетов.
Предопределенные виды субконто Аналогично предопределенным счетам, в плане видов характеристик еще на этапе разработки обычно указываются предопределенные виды характеристик (виды субконто), например, Контрагенты, Склады и т. д. В режиме «Предприятие» пользователь может добавить новые виды субконто и прикрепить их к определенному счету (предопределенному или нет), но он не может отменить у счета ведение учета в разрезе предопределенного вида субконто
6. 4. Приемы программирования Для работы с регистром бухгалтерии средствами встроенного языка применяются следующие объекты (см. Синтаксис. Помощник)
Обращение к РБ Обращение к менеджеру регистра бухгалтерии осуществляется так: Основной. Регистр = Регистры. Бухгалтерии. Основной; Форма = Основной. Регистр. Получить. Форму("Форма. Списка");
Выборка из РБ Осуществляется методами объекта Регистр. Бухгалтерии. Менеджер Выбрать - Формирует выборку записей регистра бухгалтерии Выбрать. По. Регистратору - Формирует выборку записей регистра бухгалтерии по регистратору Пример Выборка = Регистры. Бухгалтерии. Основной. Выбрать(); Пока Выборка. Следующий() Цикл // обработка выборки //. . . Конец. Цикла; Параметры методов- самостоятельно
Выборка из РБ (продолжение) В процессе обхода результатов выборки можно использовать следующие свойства: …. . Если Выборка. Регистратор = Ссылка Тогда …. . Конец. ЕСли; …. .
обращение к итогам РБ Используются методы Обороты , Обороты. ДК, Остатки. Пример: Рег = Регистры. Бухгалтерии. Хозрасчетный; Отбор = Новый Структура("Субконто 1, Организация, Счет", Ссылка, Тек. Организация, Счет. Учета. БУ); Выборка. Записей = Рег. Остатки(Дата. Сведений, Вид. Субконто. ОС, Отбор); Метод Остатки возвращает Таблицу значений
Работа с набором записей - осуществляет объект Регистр. Бухгалтерии. Набор. Записей. Он Представляет собой коллекцию записей регистра бухгалтерии. Позволяет выполнять считывание записей из базы данных по определенному регистратору, добавлять, удалять и модифицировать записи в наборе. Также может быть выполнена запись в базу данных по определенному условию. При записи обычно выполняется замещение всех имеющихся в базе данных записей по данному условию на записи, содержащиеся в наборе. Если записи не замещаются, то после выполнения записи набор очищается. Максимальное число записей в наборе 99999. Пример 1 Рег = Регистры. Бухгалтерии. Хозрасчетный; Набор. Записей = Рег. Создать. Набор. Записей(); Таб = Новый Таблица. Значений; // формирование таблицы //. . . Набор. Записей. Загрузить(Таб); Пример 2 Проводки = Регистры. Бухгалтерии. Основной. Создать. Набор. Записей(); Проводки. Отбор. Регистратор. Установить(Выб. Документ); Проводки. Прочитать();
Формирование проводок в модуле документа Задача. Составить модуль формирования проводок документа по выплате зарплаты. Документ содержит табличную часть с именем Таб. Часть Проводки. БУ = Движения. Хозрасчетный; Для Каждого Строка. ТЧ из Таб. Часть Цикл Проводка = Проводки. БУ. Добавить(); Проводка. Период = Дата; Проводка. Активность = Истина; Проводка. Содержание = "Выплата зарплаты"; Проводка. Сумма = Строка. ТЧ. Сумма; Если Строка. ТЧ. Выплаченность. Зарплаты = Перечисления. Выплаченность. Зарплаты. Выплачено Тогда Счет. Дт = Планы. Счетов. Хозрасчетный. Расчеты. СПерсоналом. По. Оплате Труда; Иначе
продолжение Иначе Сообщить("В документе " + Документ. Выплаты + " есть строки с невыплаченной зарплатой", Статус. Сообщения. Очень. Важное); Отказ = Истина; Возврат; Конец. Если; Проводка. Счет. Дт = Счет. Дт; Проводка. Субконто. Дт. Работники. Организации = Строка. ТЧ. Физ. Лицо; Проводка. Счет. Кт = Планы. Счетов. Хозрасчетный. Касса. Организации; Проводка. Субконто. Кт. Статьи. Движения. Денежных. Средств = Статья. Движения. Денежных. Средств; Конец. Цикла; Движения. Хозрасчетный. Записать();
продолжение Проводки могут быть сформированы не только в модуле документа. Главное, чтобы проводки принадлежали документу-регистратору. Можно сформировать обработку , формирующую программным способом документ «Операция. Бух» и сформировать его проводки // Задать выбираемые значения. Выбранный. Ответственный = Справочники. Пользователи. Найти. По. Наименованию("Иванцова"); Выбранный. Контрагент = Справочники. Контрагенты. Найти. По. Коду("00027"); Выбранный. Договор = Справочники. Договоры. Контрагентов. Найти. По. Коду("00013"); Выбранный. Документ = Документы. Документ. Расчетов. СКонтрагентом. Найти. По. Номеру(2, '20050101'); Выбранный. Счет = Справочники. Банковские. Счета. Найти. По. Коду("00001"); Выбранная. Статья = Справочники. Статьи. Движения. Денежных. Средств. Найти. По. Коду("00 002"); Выбранная. Организация = Справочники. Организации. Найти. По. Коду("00001"); Выбранная. Валюта = Справочники. Валюты. Найти. По. Коду(810);
продолжение Дата. Записи = Текущая. Дата(); // создаем регистратор Документ = Документы. Операция. Бух. Создать. Документ(); Документ. Дата = Дата. Записи; Документ. Организация = Выбранная. Организация; Документ. Ответственный = Выбранный. Ответственный; Документ. Содержание = "Оплата поставщику"; Документ. Записать(); // Создать набор записей. Набор. Записей = Регистры. Бухгалтерии. Хозрасчетный. Создать. Набор. Записей(); Набор Записей. Отбор. Регистратор. Установить(Документ. Ссылка); Движение = Набор. Записей. Добавить(); Движение. Регистратор = Документ. Ссылка; Движение. Период = Дата. Записи; // Заполнить счет дебета. Движение. Счет. Дт = Планы. Счетов. Хозрасчетный. Найти. По. Коду("60. 01"); // Заполнить аналитику счета дебета. Движение. Субконто. Дт. Контрагенты = Выбранный. Контрагент; Движение. Субконто. Дт. Договоры = Выбранный. Договор; Движение. Субконто. Дт. Документы. Расчетов. СКонтрагентами = Выбранный. Документ;
продолжение // Заполнить счет кредита. Движение. Счет. Кт = Планы. Счетов. Хозрасчетный. Найти. По. Коду("51"); // Заполнить аналитику счета кредита. Движение. Субконто. Кт. Банковские. Счета = Выбранный. Счет; Движение. Субконто. Кт. Статьи. Движения. Денежных. Средств = Выбранная. Статья; // Балансовое измерение. Движение. Организация = Выбранная. Организация; // Балансовый ресурс Движение. Сумма = 300000; // Реквизиты Движение. Номер. Журнала = "БК"; Движение. Содержание = "Оплата поставщику"; // Записать набор записей. Набор. Записей. Записать();