Цель лекции: научиться решать задачи
Напомним, что мы рассматриваем основные механизмы платформы 1С:Предприятие 8.1. на примере разработки системы автоматизации салона красоты. "Заказчику" конфигурации нужно организовать в конфигурации подсистему
Современный
К счетам можно открывать
Если рассмотреть счета учета, которые нужны для реализации поставленной задачи, мы получим следующие, табл. 3.1:
| Название счета | Код счета | Отношение к балансу | Аналитика |
|---|---|---|---|
| Материалы | 10 | Активный | Номенклатура, Сотрудник |
| Касса | 50 | Активный | |
| Покупатели | 62 | Активный | Контрагент |
| Поставщики | 60 | Пассивный | Контрагент |
| Персонал | 70 | Пассивный | Сотрудник |
| Капитал | 80 | Пассивный |
Кодировка счетов приведена в соответствии с принятым в России
Актив Баланса равен пассиву, это означает, что дебетовый остаток по всем
Рассмотрим некоторые типовые операции, которые можно совершить, используя наш упрощенный
| Д10 К60 | - Поступили материалы от поставщика; |
| Д60 К50 | - Оплачены материалы поставщику; |
| Д80 К70 | - Начислена заработная плата сотрудникам; |
| Д70 К50 | - Выплачена заработная плата сотрудникам; |
| Д62 К80 | - Оказаны услуги покупателям; |
| Д50 К62 | - Поступила выручка от покупателей; |
| Д80 К10 | - Отпущены материалы в производство. |
Конечно, в реальном учете счет 80 "
Если говорить о
Поговорив о теории учета в применении к нашей задаче, приступим к ее реализации.
Для реализации подсистемы
Создавая бухгалтерскую подсистему конфигурации, сначала создадим
(рис 3.1) План видов характеристик ВидыСубконтоПри настройке
(рис 3.2) Справочник СубконтоДругие параметры справочника настраивать не будем.
Он нужен нам для того, чтобы не ограничивать пользователя значениями
Теперь откроем свойство
(рис 3.3) Настройка типа значения характеристикУстановим флажок Составной тип данных, снимем флажок Строка (не рекомендуется использовать в
Откроем свойство
(рис 3.4) Настройка дополнительных значений характеристикТеперь откроем предопределенные элементы
| Имя | Тип |
|---|---|
| Номенклатура | СправочникСсылка.Номенклатура |
| Контрагенты | СправочникСсылка.Контрагенты |
| Сотрудники | СправочникСсылка.Сотрудники |
На рис 3.5 вы может видеть список созданных предопределенных элементов и окно свойств одного из предопределенных элементов.
(рис 3.5) Настройка дополнительных значений характеристикТеперь все готово для создания
Создадим новый
| Длина кода: | 5 |
| Длина наименования: | 50 |
| Маска кода: | @@.@@ |
| Автопорядок по коду: | установлено |
| Длина порядка: | 5 |
| Основное представление: | В виде наименования |
Добавим признак учета Количественный.
(рис 3.6) Настройка плана счетов, вкладка ДанныеКод счета - это цифровой код счета, принятый в учетной практике. Наименование - это буквенное наименование счета.
Маска кода счета задает структуру кода счета и возможность использования в коде различных символов. В нашем случае маска имеет вид @@.@@. Символ "@" подразумевает использование в коде счета любых алфавитно-цифровых символов.
В качестве основного представления счета мы выберем Наименование.
Признак учета Количественный позволяет вести на счете количественный учет. Это актуально, например, для учета материалов.
Перейдем на вкладку .
(рис 3.7) Настройка плана счетов, вкладка СубконтоПерейдем на вкладку Прочее, нажмем на кнопку Предопределенные и введем сведения о предопределенных счетах, состав которых мы обсуждали выше. В табл. 3.3 приведены свойства счетов, которые нужно задать. Если признак учета не упомянут в колонке Признак учета Количественный или в колонке Субконто, признаки учета субконто - этот признак устанавливать не нужно.
| Родитель | Имя | Код | Вид | Признак учета Количественный | |
|---|---|---|---|---|---|
| Счета | Материалы | 10 | Активный | ||
| Материалы | Парфюмерия | 10.1 | Активный | Установлен | Номенклатура, Количественный установлен; Сотрудники |
| Материалы | Косметика | 10.2 | Активный | Установлен | Номенклатура, Количественный установлен; Сотрудники |
| Материалы | Прочие | 10.11 | Активный | Установлен | Номенклатура, Количественный установлен; Сотрудники |
| Счета | Касса | 50 | Активный | ||
| Счета | Поставщики | 60 | Пассивный | Контрагенты | |
| Счета | Покупатели | 62 | Активный | Контрагенты | |
| Счета | Персонал | 70 | Пассивный | Сотрудники | |
| Счета | Капитал | 80 | Пассивный |
На рис 3.8 вы можете видеть окно предопределенных элементов
(рис 3.8) Предопределенные элементы плана счетовНа рис 3.9 вы можете видеть одно из окон настройки счета.
(рис 3.9) Предопределенный элемент плана счетовДля создания
В завершение работы над
Создадим
(рис 3.10) Настройка регистра бухгалтерииПерейдем на вкладку Данные
Сумма. Тип - число, длина - 10, точность - 2. Признак Балансовый установлен.
Количество. Тип - число, длина -10, точность - 3. Признак Балансовый не установлен. Признак учета - Количественный. Признак учета субконто - Количественный.
Создадим реквизит )
(рис 3.11) Состав ресурсов и реквизитов регистра бухгалтерииОбычно информационные базы 1С:Предприятия предусматривают ведение учета по нескольким организациям, по нескольким валютам и т.д. Для целей разделения учета по этим признакам используют измерения регистра. В нашем случае учет ведется в одной организации, по одной валюте, поэтому наш
Создание объектов бухгалтерской подсистемы завершено. Теперь пришло время поработать с документами, которые будут производить движения по
В нашей конфигурации есть два документа, которые, по логике их использования, должны формировать движения по
(рис 3.12) Начало настройки движения документа по регистру бухгалтерииЗаймемся документом Поступление материалов.
Для того чтобы сформировать бухгалтерские проводки по этому документу, нам нужны следующие данные, большая часть из которых уже имеется в документе: Дата, Номенклатура, Количество, Сумма, Контрагент, Сотрудник, счета учета.
Что касается счетов учета, то, опираясь на существующие данные документа, мы можем однозначно определить лишь счет учета расчетов с поставщиками. А счет учета материальных ценностей - нет, так как в нашей конфигурации предусмотрено несколько
Имя - .
(рис 3.13) Дополнение реквизитов табличной части Материалы документа Поступление материаловТеперь, для того, чтобы пользователь мог выбрать счет учета при заполнении документа, откроем форму документа, вызовем контекстное меню табличного поля, выберем команду Добавить колонку. В свойствах добавленной колонки зададим следующие параметры:
Имя - .
(рис 3.14) Дополнение колонок табличной части в форме документаПроверим созданные дополнения документа в режиме 1С:Предприятие, рис 3.15.
(рис 3.15) Проверка механизма заполнения таблицыКак видно, механизм работает правильно.
Теперь займемся процедурой
(рис 3.16) Конструктор движения регистровНажмем на кнопку Добавить над областью Регистры, из появившегося окна выберем
Заполним соответствие полей регистра и документа следующим образом, рис 3.17:
(рис 3.17) Заполнение параметров движений документа по регистру бухгалтерии| Счет кредита | - ПланыСчетов.Хозрасчетный.Поставщики. |
Этот счет будет фиксировано подставляться в кредитовую часть бухгалтерской операции, которую формирует документ. Счет дебета, наоборот, может изменяться в зависимости от материала, принимаемого к учету. Поэтому его мы выберем из табличной части Материалы.
| СчетДТ | - ТекСтрокаМатериалы.Счет |
| Сумма | - ТекСтрокаМатериалы.Сумма |
| Содержание | - "Поступление материалов от поставщика". |
| СубконтоКТ | - Контрагент. |
Рассмотрим процедуру проведения, которую сформировал конструктор в той части, которая касается
Для Каждого ТекСтрокаМатериалы Из Материалы Цикл // регистр Хозрасчетный Движение = Движения.Хозрасчетный.Добавить(); Движение.СчетКт = ПланыСчетов.Хозрасчетный.Поставщики; Движение.Период = Дата; Движение.СчетДт = ТекСтрокаМатериалы.Счет; Движение.Сумма = ТекСтрокаМатериалы.Сумма; Движение.Содержание = "Поступление материалов от поставщика"; Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.Контрагенты] = Контрагент; КонецЦикла;
Эта процедура, как можно заметить, не содержит некоторых важных, с точки зрения нашей задачи, частей. Так, здесь нет ввода информации по
Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.Номенклатура] = ТекСтрокаМатериалы.Номенклатура; Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.Сотрудники] = ОтветственныйСотрудник; Движение.КоличествоДт=ТекСтрокаМатериалы.Количество;
В итоге модуль приобретет следующий вид, рис 3.18.
(рис 3.18) Процедура проведения документа после правкиВ этом модуле можно заметить один нерациональный момент. А именно, здесь автоматически сформированы два цикла для перебора элементов одной и той же табличной части. Разумно будет отредактировать модуль таким образом, чтобы объединить его проведение по двум регистрам в один цикл. Сделаем это. В нашем случае достаточно лишь удалить команду .
(рис 3.19) Процедура проведения документа после слияния цикловПерепроведем документы . В нашем случае все верно.
(рис 3.20) Результаты проведения документовТеперь займемся документом .
(рис 3.21) Документ Отпуск материалов мастеру, Конструктор движения регистровЗдесь мы в параметр Счет дебета внесли счет ПланыСчетов.Хозрасчетный.Капитал, СчетКт заполнили из табличной части: ТекСтрокаМатериалы.Счет, в параметр Сумма внесли значение ТекСтрокаМатериалы.Сумма, в параметр Содержание записали "Отпущены материалы в производство". Как и в предыдущем случае, процедура проведения, сформированная автоматически, требует ручной правки. Аналогично, здесь мы добавляем в проводки количественные показатели и необходимые
Для Каждого ТекСтрокаМатериалы Из Материалы Цикл // регистр Хозрасчетный Движение = Движения.Хозрасчетный.Добавить(); Движение.СчетДт = ПланыСчетов.Хозрасчетный.Капитал; Движение.Период = Дата; Движение.СчетКт = ТекСтрокаМатериалы.Счет; Движение.Сумма = ТекСтрокаМатериалы.Сумма; Движение.Содержание = "Отпущены материалы в производство"; //Добавленные вручную команды Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.Номенклатура] = ТекСтрокаМатериалы.Номенклатура; Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.Сотрудники] = ОтветственныйСотрудник; Движение.КоличествоКт=ТекСтрокаМатериалы.Количество; КонецЦикла;
Окончательный вид процедуры проведения на данном этапе работы приведен на рис 3.22.
(рис 3.22) Документ Отпуск материалов мастеру, процедура проведения документаРаботая с только что созданными механизмами, несложно заметить, что они предусматривают выполнение операций, которые рационально было бы автоматизировать. В частности, речь идет о необходимости выбора счетов учета для тех или иных номенклатурных позиций. Так же наши документы лишены механизмов контроля. Документ, который отвечает за приходование материалов, в таких механизмах не нуждается, а вот документ, которым списывают материалы, можно оснастить механизмами проверки доступных остатков. Естественно будет запретить
Сейчас рассмотрим создание одного важного документа, без которого не обходится ни одна реальная бухгалтерская система.
Любая конфигурация, используемая для целей ведения
Создадим новый документ, дадим ему имя БухОперация, синоним Бухгалтерская операция.
На вкладке ). Документ не будет проводиться - все необходимые данные будут вводиться в его форме, при записи документа они будут попадать в
(рис 3.23) Документ Бухгалтерская операцияПерейдем на вкладку .
(рис 3.24) Документ Бухгалтерская операция, конструирование формыКогда форма будет создана, табличное поле, добавленное на нее автоматически, окажется пустым, не имеющим колонок. Для того чтобы разместить в этом табличном поле необходимые колонки, откроем его контекстное меню, выберем пункт ).
(рис 3.25) Документ Бухгалтерская операция, настройка табличного поляРастянем форму и табличное поле по вертикали для того, чтобы сделать работу с документом удобнее, настроим ширину колонок. Можно заметить, что поле содержит очень много колонок, некоторые из которых, как правило -
(рис 3.26) Документ Бухгалтерская операция, настройка табличного поляДля заполнения поля Период мы используем процедуру ПередЗаписью, которую создадим в модуле формы. Для этого выберем имя процедуры из списка Процедуры и функции (его можно открыть из панели инструментов после перехода на вкладку Модуль редактора форм ). В
Для Каждого Проводка Из Движения.Хозрасчетный Цикл Проводка.Период = Дата; КонецЦикла;
Здесь мы перед записью документа заполняем период проводки в соответствии с реквизитом документа Дата. Поле Регистратор будет заполнено автоматически.
Испытаем наш документ на практике. Предположим, что пользователь конфигурации решил ввести с его помощью начальные остатки по счетам на конец 2010 года. Пусть это будут следующие остатки:
| Капитал: | 103000 руб. |
| Расчеты с поставщиками: | 20000 руб. (ООО "Волна") |
| Касса: | 29000 руб. |
| Расчеты с покупателями: | 82000 руб. (ООО "Покупатель") |
| Прочие материалы: | УФ-гель (Петров П.П. (Парикмахерская)), Сумма - 12000, количество - 10 упаковок. |
Несложно заметить, что сумма остатков по
(рис 3.27) Настройка параметров нового счета в пользовательском режимеНажав на кнопку , мы сможем использовать счет 00 в проводках. Обратите внимание на то, что предопределенные элементы
(рис 3.28) План счетов в пользовательском режимеСоздадим в пользовательском режиме новый документ .
(рис 3.29) Ввод начальных остатков по счетамПосле записи документа проводки, заданные в нем, попадают в
Как быть, если нам нужно, чтобы проводки, введенные в документ, не влияли на состояние учета, то есть оказались бы неактивными? В данном состоянии этого документа такого эффекта можно добиться только в том случае, если удалить либо сам документ, либо ненужные проводки из него. Это не очень удобно. Лучший выход - отключение активности проводок. Однако, в табличном поле редактирование поля Активность по умолчанию недоступно. Попытка отключить активность отдельной проводки в документе приводит к ошибке при его записи. Можно включить редактирование этого поля (сняв галочку Только просмотр в свойствах поля Активность ), но при необходимости отключения активности проводок, придется вручную редактировать это свойство для каждой из них, что не очень удобно.
Для того чтобы проводки в документе можно было бы "отключать", не удаляя их, можно перейти в
Перейдем в .
(рис 3.30) Создание нового элемента управления панели табличного поляНажмем, в окне свойства элемента панели на кнопку со значком увеличительного стекла в поле Действие. В модуле формы будет создана новая процедура - обработчик события нажатия кнопки.
Установим курсор в поле . Теперь вызвать действие, выполняемое новой кнопкой, при редактировании элементов табличного поля, можно будет, использовав сочетание клавиш Ctrl+Shift+Alt+X. При наведении мыши на поле будет появляться всплывающая подсказка с соответствующим текстом.
(рис 3.31) Настройка свойств элемента управленияВведем в модуль обработчика события нажатия кнопки следующий код:
//Получаем набор записей регистра Записи = Движения.Хозрасчетный; Если Записи.Количество()>0 Тогда АктивностьЗаписей = Записи[0].Активность; Записи.УстановитьАктивность(Не АктивностьЗаписей); Записи.Записать(); КонецЕсли;
Здесь мы сначала получаем записи регистра, которые представлены табличным полем, если записи есть - инвертируем их признак .
(рис 3.32) Код модуля обработчика нажатия на кнопку АктивностьВыше, создавая подсистему учета, мы указали в настройках
Предположим, организации понадобился новый счет с кодом 10.3, который планируется использовать для учета специальной одежды, выданной сотрудникам организации. Этот счет должен иметь три
В соответствии с особенностями работы, в организации выделяется три группы спецодежды.
Запустим систему в режиме 1С:Предприятие, откроем План счетов. Создадим новый счет, заполним его параметры следующим образом:
| Код: | 10.3 |
| Наименование: | "Спецодежда" |
| Порядок: | 10. 3 |
| Вид: | Активный |
| Родитель: | Материалы |
| Признак Количественный: | Установлен |
Добавим в его список
(рис 3.33) Разработка нового счетаКак производить записи по этому счету? У пользователя, без использования
(рис 3.34) Работа с новым субконто при заполнении параметров документа Бухгалтерская операцияСистема
Создадим оборотно-сальдовую ведомость. Для этого добавим в ):
| Счет |
| СуммаНачальныйОстатокДт |
| СуммаНачальныйОстатокКт |
| СуммаОборотДт |
| СуммаОборотКт |
| СуммаКонечныйОстатокДт |
| СуммаКонечныйОстатокКт |
(рис 3.35) Формирование списка отбираемых полей в конструкторе выходной формыТак как
Здесь мы зададим следующие параметры:
| НачалоПериода: НачалоПериода |
| КонецПериода: КонецПериода |
(рис 3.36) Настройка параметров виртуальной таблицыПерейдем на вкладку ), параметр Сортировка оставим в значении Возрастание.
(рис 3.37) Настройка упорядочивания полей в отчетеТеперь откроем вкладку .
(рис 3.38) Настройка итоговых показателей отчетаНа вкладке , снимем флаг Использовать построитель отчета, установим параметр Размещение группировок в значение в отдельных колонках.
(рис 3.39) Настройка отчетаПерейдем к вкладке Выходная форма. Здесь нам нужно установить тип данных для полей, которые используются для задания параметров отчета. В нашем случае это - Дата.
Так же можно поменять местами поля КонецПериода и НачалоПериода. Если этого не сделать, поле КонецПериода на форме окажется выше поля НачалоПериода, а это создает путаницу, так как пользователь интуитивно ожидает, что поле НачалоПериода будет выше либо левее поля КонецПериода. Эти изменения можно сделать и позже, но уже редактируя расположение элементов управления на форме. Мы так и поступим, отредактируем форму после ее создания.
(рис 3.40) Настройка выходной формыНажмем .
(рис 3.41) Редактирование макета отчетаОткроем окно редактора форм с автоматически созданной формой и переместим поля .
(рис 3.42) Редактирование формыОткроем модуль формы. Здесь нас интересует процедура ) заменим строку:
Запрос.УстановитьПараметр("КонецПериода", КонецПериода);
на строку:
Запрос.УстановитьПараметр("КонецПериода", КонецДня(КонецПериода));
(рис 3.43) Редактирование модуля формыТеперь проверим работу отчета на практике. Например, построим его за 31.12.2010 - именно этой датой мы вводили начальные остатки по счетам учета. Одним из контрольных моментом в воде начальных остатков является совпадение оборотов по служебному счету. Как видно, этот контрольный момент выполняется, рис 3.44.
(рис 3.44) Готовая оборотно-сальдовая ведомостьНашу оборотно-сальдовую ведомость еще можно дорабатывать (как внешний вид, так и ее возможности), однако, свои основные функции она выполняет.
В этой лекции мы создали основные компоненты бухгалтерской подсистемы нашей конфигурации. Рассмотрели использование таких объектов, как
Для данной лекции подготовлен видеоурок.
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.