close

Вход

Забыли?

вход по аккаунту

?

667.Бухгалтерия основы конфигурирования Уварова М И

код для вставкиСкачать
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Министерство образования и науки Российской Федерации
Федеральное агентство по образованию
Ярославский государственный университет им. П.Г. Демидова
Кафедра дискретного анализа
М.И. Уварова
1С:Бухгалтерия:
основы конфигурирования
Методические указания
Рекомендовано
Научно-методическим советом университета
для студентов, обучающихся по специальностям
Прикладная математика (в химии) и Прикладная математика
и информатика (в экономике)
Ярославль 2009
1
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
УДК 519.72
ББК У 052.2я73+У.в612я73
У 18
Рекомендовано
Редакционно-издательским советом университета
в качестве учебного издания. План 2009 года
Рецензент
кафедра дискретного анализа
Ярославского государственного университета им. П.Г. Демидова
У 18
Уварова, М.И. 1С:Бухгалтерия: основы конфигурирования: метод. указания / М.И. Уварова; Яросл. гос.
ун-т. – Ярославль : ЯрГУ, 2009. – 43 с.
Методические указания содержат краткое описание основ конфигурирования в системе «1С:Бухгалтерия» 7.7,
список задач по данной тематике и пример решения одной
из них.
Предназначены для студентов, обучающихся по специальностям 080801 Прикладная информатика (в химии) и
080801 Прикладная математика и информатика (в экономике) (дисциплина «Предметно-ориентированные экономические информационные системы», блок СД), очной
формы обучения.
УДК 519.72
ББК У 052.2я73+У.в612я73
© Ярославский
государственный университет, 2009
2
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
«1С». Немного истории
Программа «1С:Бухгалтерия» начала распространяться с апреля 1992 г. (с выставки КОМТЕК-92). За период с 1992 по
1995 гг. было продано более 100 000 комплектов. В это же время
появляется и программа «1С:Зарплата». В апреле 1995 г. поступает в продажу и начинает успешно реализовываться версия 6.0
«1С:Бухгалтерии» для Windows. «1С» стала действительно универсальной бухгалтерской программой и с этого момента является безусловным лидером среди бухгалтерских программ класса
«мини-бухгалтерия».
Однако впоследствии у разработчиков возникает потребность
перейти на рынок программ для средних и крупных предприятий,
а значит, автоматизировать и другие стороны деятельности организации, позволяя осуществлять комплексную автоматизацию.
Тогда и возникает идея создания системы автоматизированной
деятельности предприятия на основе модели, отличной от бухгалтерской, поскольку особенности оперативного учета изначально не были реализованы в системе настолько, насколько это
необходимо и удобно крупному пользователю. В программу
«1С:Бухгалтерия» была заложена модель бухгалтерского учета с
такими понятиями, как бухгалтерский счет, субсчет, дебет, кредит, фиксация событий «задним числом», стандартные формы
отчетности, регламентированные действующим законодательством. Иное дело – потребности оперативного учета и его понятия,
такие как товар, склад, поставщик, учет ресурсов и товаров в реальном времени, нерегламентированная отчетность оперативного
и управленческого учета.
Итак, была сформулирована задача создания интегрированной информационной системы для организации учета на различных участках предприятия. При этом все программы, работая независимо, должны были уметь взаимодействовать друг с другом.
Кроме того, было решено, что все программы системы
«1С:Предприятие» будут строиться на единых принципах и производить обработку данных едиными методами. Совокупность
этих принципов и методов получила рабочее название «платфор3
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ма V.7». Платформа V.7 имеет два уровня – технологический и
прикладной (рис. 1).
Дополнительные компоненты для работы с торговым оборудованием
• Конфигуратор
• Синтакс-помощник
• Отладчик
• Встроенный программный язык
• Встроенный редактор диалоговых форм
• Встроенный редактор таблиц
• Встроенный текстовый редактор
• Система управления базами данных
• Механизм запросов
Деловая графика
1С: ПРЕДПРИЯТИЕ
Расчет
Бухгалтерский
учет
1С :
Бухгалтерия
Технология создания внешних компонент
Оперативный
учет
1С :
Зарплата
и Кадры
Управление распределенными информационными базами
1С :
Торговля
и Склад
Рис. 1. Платформа V.7
Технологический уровень можно представить в виде двух
подуровней. На одном из них (технологическая платформа) находятся общие компоненты, используемые каждой из прикладных
подсистем, такие как СУБД, встроенные редакторы диалоговых
форм, текстовых и табличных документов, средства конфигурирования и отладки, встроенный программный язык и механизм
запросов. На втором – прикладные компоненты, определяющие
предметную направленность продукта, – «Оперативный учет»,
«Расчет» и «Бухгалтерский учет».
4
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Верхний уровень, прикладной, иначе называемый конфигурация, окончательно определяет внешний вид и функциональные
возможности конкретной программы. Здесь производится полное
определение структур данных и особенностей их поведения. При
этом конфигурация может полностью или частично меняться самим пользователем или подготовленными специалистами.
В сентябре 1996 г. началась продажа первого продукта системы «1С:Предприятие» – «1С:Торговля 7.0», разработанного на
основе компоненты «Оперативный учет». В начале 1997 г. была
выпущена вторая компонента – «Расчет» и конфигурация «Зарплата и кадры» на ее основе. В апреле 1998 г., выпустив программу «1С:Бухгалтерия 7.5» на платформе V.7, фирма «1С» в
целом завершила создание системы «1С:Предприятие 7.5». В настоящее время разработана и распространяется версия 8.0 системы «1С:Предприятие». Значительное развитие получили и конфигурации системы. В частности, появилась комплексная конфигурация «Бухгалтерия+Торговля+Склад+Зарплата+Кадры», что и
являлось одной из конечных целью разработчиков.
Компоненты системы «1С:Предприятие»
Основная особенность системы «1С:Предприятие» – это ее
конфигурируемость. Собственно система «1С:Предприятие»
представляет собой совокупность механизмов, предназначенных
для манипулирования различными типами объектов предметной
области. Конкретный набор объектов, структуры информационных массивов, алгоритмы обработки информации задает конкретная конфигурация. Вместе с конфигурацией система
«1С:Предприятие» выступает в качестве уже готового к использованию программного продукта, ориентированного на определенные типы предприятий и классы решаемых задач. Такой подход к построению программных продуктов определяет систему
как систему-конструктор.
Остановимся подробнее на компонентах, формирующих
предметную область решаемой задачи и составляющих один из
подуровней технологической платформы. Программисты фирмы
5
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
«1С» предложили следующий способ объединения объектов учета в группы. В учете хозяйственной деятельности предприятия
были выделены три области, в которых по-разному течет время, и
которые отличаются характерными алгоритмами.
Первая область – это традиционный бухгалтерский учет.
Созданная компонента «Бухгалтерский учет» мыслит периодами,
как правило, кратными одному месяцу, хотя может рассчитывать
итоги за любой отрезок времени. Документы здесь можно вводить в любом порядке, без соблюдения физической хронологии.
Для правильного расчета итогов за период необходимо только,
чтобы все документы, относящиеся к этому периоду, были проведены. Компонента «Бухгалтерский учет» оперирует такими понятиями, как бухгалтерские счета, операция и проводка.
Вторая область – оперативный учет. К ней относятся объекты, учет которых нужно проводить в реальном времени и получать очень быстро оперативную информацию о ресурсах, с которыми они связаны. Для работы в этой области была создана компонента «Оперативный учет». Возможности этой компоненты
позволяют регистрировать движение и получать информацию о
движении и остатках товарных, материальных и денежных
средств предприятия. Достигается это с помощью механизма регистров. Рассмотрим, как работает, например, регистр остатков.
Регистр описывается на этапе конфигурации набором измерений
и ресурсов. Измерения – это оси координат. Например, на оси координат Товар находятся параметры Стол, Стул, Табуретка. На
других осях координат, это могут быть Склад, Материально Ответственное Лицо, находятся соответствующие этим осям параметры. Ресурсом могут являться любые исчисляемые величины,
например, «долг клиента», «сумма наличными» и т.д. В нашем
случае это «количество товара». Вообще ресурсов может быть
несколько. В нашем случае, кроме «количество товара», можно
использовать также ресурсы «базовая стоимость» и «валютная
стоимость». Таким образом, регистр остатков отражает некоторый баланс наличия ресурсов, которые приходуются и расходуются. Регистр оборотов выполняет вспомогательную роль и призван накапливать итоги по движению ресурса за некоторый период, как правило, месяц, по всем измерениям. Польза регистра
6
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
оборотов в том, что с его помощью можно быстро получить данные за период. Время здесь движется иначе, чем в компоненте
«Бухгалтерский учет». Позиция каждого документа относительно
других документов определяется датой, временем, а также некоторой дополнительной величиной, с помощью которой устанавливается последовательность документов с одним временем в одной дате. Компонента «Оперативный учет» содержит принципиальное понятие «Точка актуальности» (ТА). Кратко ТА можно
определить как точку на оси времени, на которую регистры содержат текущие значения всех ресурсов. При запросе значения
какого-либо ресурса регистр остатков выдает его значение именно на момент ТА. При необходимости получить значение ресурса
на более ранний момент времени нужно переместить в этот момент времени ТА или сделать временный расчет регистра. Одна
из основных областей применения компоненты «Оперативный
учет» – автоматизация учета складских и торговых операций.
Компонента «Расчет» предназначена для выполнения сложных периодических расчетов по алгоритмам, отличающимся от
бухгалтерских. Это реализуется с помощью журналов расчета.
Журнал расчета обязательно принадлежит тому или иному справочнику объектов расчета. Например, это может быть «Журнал
расчета зарплаты», при этом списком объектов будет являться
справочник сотрудников. Строка в журнале отражает расчет по
одному объекту из справочника с любой периодичностью. Количество журналов расчета ничем не ограничено. Каждому журналу
соответствует свой алгоритм, для описания которого введено понятие «вид расчета». Типичными примерами видов расчета являются «начисление по окладу», «амортизация» и т.д. Одна из основных областей применения компоненты «Расчет» – это расчет
заработной платы.
7
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Конфигурирование системы
Функционирование системы делится на два процесса – конфигурирование (описание модели предметной области средствами системы) и исполнение (обработку данных предметной области).
Можно сказать, что любая программа системы «1С:Предприятие» имеет генетический уровень. Это специальный режим,
в котором производится конфигурирование системы. Именно
здесь закладываются основные свойства будущей системы учета.
Говорить о любой программе системы в отрыве от конфигурации
бессмысленно. Все программы поставляются с типовыми конфигурациями для определенной области применения, созданными
штатными средствами системы. С помощью этих же средств типовая конфигурация может быть изменена, дополнена или даже
разработана заново. И только после создания или изменения
конфигурации возможна работа пользователя уже в режиме исполнения.
При разработке приложений для информационных систем
применяются разные средства. В традиционной реляционной модели специалисту приходится оперировать понятиями «таблица»,
«поле», устанавливать связи между таблицами и т.д. При этом
объекты (например, счет и накладная), созданные таким образом,
не связаны между собой на уровне системы, связаны могут быть
только отдельные поля и таблицы. При объектном подходе, применяемом фирмой «1С», специалист имеет дело с типами объектов предметной области и с конкретными их видами в рамках
этих типов. Все данные системы, безусловно, хранятся в таблицах. Но пользователь или специалист по настройке этого не видит. Они оперируют обобщенными понятиями предметной области – справочник, документ, регистр и т.д. При этом все основные операции над этими объектами система выполняет сама.
Проанализировав объекты, с которыми имеет дело пользователь финансовых программ, разработчики определили соответствующую предметную область. В их понимании она состоит из
справочников, документов, журналов, в которых производится
регистрация документов и в некоторых случаях выполняются
8
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
действия над данными, и отчетов. В результате анализа было
сформулировано понятие «метаданные», которое легло в основу
концепции Конфигуратора. Метаданные – это «данные о данных», формальное описание объектов предметной области. Например, объекту «Счет-фактура» предметной области соответствует объект метаданных с таким же названием «Счет-фактура»,
создаваемый в Конфигураторе. Но кроме счета-фактуры есть еще
накладные, приходные и расходные ордера, платежные поручения и т.д. Всем им соответствуют свои объекты метаданных, объединенные в общий тип, – Документы. Каждый тип метаданных
имеет уникальный набор свойств, определенный на уровне системы.
Главное свойство любого объекта метаданных – это идентификатор, краткое наименование объекта (при создании нового
объекта по умолчанию – это «Новый» + цифра). Идентификатор
уникален и не может быть удален без самого объекта метаданных. Структура метаданных представлена в виде дерева и позволяет получить доступ ко всем объектам, которые представлены
своими идентификаторами (рис. 2).
Ряд типов метаданных (или объектов системы) являются базовыми и доступны при любом наборе компонент (такие как
«Константы», «Справочники», «Документы», «Журналы документов» и др.). Кроме того, каждая компонента привносит в систему возможность работы со своими объектами (например,
«План счетов» – для компоненты «Бухгалтерский учет», «Регистры» – для компоненты «Оперативный учет», «Журналы расчета» – для компоненты «Расчет»).
9
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рис. 2. Структура метаданных в режиме редактирования конфигурации
10
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Базовые объекты метаданных
Рассмотрим основные объекты метаданных, предварительно
запустив Конфигуратор и открыв конфигурацию (закладка «Метаданные», рис. 1).
Константы
Константы служат для работы с постоянной (например, наименование предприятия, дата его регистрации) и условнопостоянной (руководитель предприятия) информацией. В Конфигураторе создается только описание константы, сама информация
вводится пользователем в режиме исполнения.
Предположим, создается константа «Основная ставка НДС»
(рис. 3). Теперь в режиме конфигурирования можно внести в документы ее идентификатор «ОсновнаяСтавкаНДС». В случае
смены ее значения достаточно исправить его только в константе,
а формы документов редактировать не придется.
Рис. 3. Описание константы «Основная ставка НДС» в конфигураторе
Константа может иметь признак периодичности (устанавливается на закладке «Дополнительно»). Это значит, что система
хранит историю значений константы по датам.
11
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Справочники
Если константа всегда имеет вполне определенное значение,
то существуют значения, которые нужно выбирать из некоторого
множества. Примером может служить перечень товаров, список
сотрудников. Аналогом списка возможных значений является
справочник.
Каждый справочник обязательно имеет код (числовой или
текстовый) и наименование. Здесь мы подходим к понятию атрибута, иначе говоря, свойства справочника. Для справочника к
предопределенным атрибутам относятся Код и Наименование
(есть еще Родитель и Владелец, «Реквизит», рис. 4).
Рис. 4. Список атрибутов справочника в Синтакс-помощнике
На этапе конфигурирования, кроме того, можно описать, какими дополнительными свойствами обладает каждый конкретный справочник. К настраиваемым свойствам относятся, например, длина и тип кода, количество уровней, поддержка уникальности кодов, набор реквизитов. Набор реквизитов справочника
служит для хранения любой дополнительной информации об
элементе справочника.
Справочники можно использовать сами по себе, а можно
подчинять друг другу. Например, справочник «Договоры» можно
использовать отдельно, а можно использовать совместно со справочником «Контрагенты» (рис. 5). В этом случае перед использованием подчиненного справочника «Договоры» сначала должен
быть выбран элемент родительского справочника «Контрагент».
12
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рис. 5. Описание справочника «Договоры» в Конфигураторе
Прежде чем перейти к описанию дальнейших особенностей
организации справочников, рассмотрим понятие форма объекта
метаданных.
Большинство объектов метаданных могут иметь визуальное
представление. В самом общем случае визуальное представление
состоит из следующих частей:
• экранный диалог, используемый для ввода и хранения информации, хранящейся в объекте метаданных (может быть только один);
• печатная форма объекта метаданных (печатных форм может быть несколько или ни одной);
• модуль формы – программа на встроенном языке системы
«1С:Предприятие». Как правило, модуль формы содержит алгоритм построения печатной формы объекта метаданных, а также
13
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
может выполнять обработку вводимой в диалог информации для
целей входного контроля, выполнения расчетов и т.д.
Совокупность экранного диалога, печатной формы и модуля
называется формой. Для их редактирования открываются закладки «Диалог», «Таблица» и «Модуль».
Вернемся к справочникам. В Конфигураторе для любого
справочника введены понятия «Форма элемента», «Форма группы» и «Форма списка» (можно увидеть соответствующие кнопки
в нижней части на рис. 5).
Остановимся для примера на «Форме элемента» справочника
«Номенклатура». В «Диалоге» создается экранный диалог для
работы пользователя с данными по отдельному наименованию
справочника (рис. 6). Элементы диалога можно разделить на две
группы. Первая – несет чисто оформительские и управляющие
функции (текст, рамка, кнопка и т.д.), вторая – это реквизиты,
связанные с элементом справочника, которые служат для ввода,
изменения и просмотра информации. Редактирование диалога заключается в размещении в пределах шаблона окна указанных
элементов и редактировании их свойств.
Рис. 6. Диалог формы элемента справочника «Номенклатура»
14
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
«Модуль» формы элемента справочника запускается при открытии формы и может иметь следующий вид:
Процедура ВводНового()
// предопределенная процедура, которая вызывается при создании
// нового элемента справочника
ЕдИзм="шт.";
СтавкаНДС=Константа.ОсновнаяСтавкаНДС;
КонецПроцедуры
Программные модули в конфигурации системы «1С:Предприятие» не являются самостоятельными программами в общепринятом понимании, поскольку они являются только частью
всей конфигурации задачи. Программный модуль – это своего
рода «контейнер» для размещения текстов процедур и функций,
вызываемых системой во время исполнения задачи в определенные моменты работы. Место размещения конкретного программного модуля предоставляется Конфигуратором в тех точках конфигурации, которые требуют описания специфических алгоритмов. Эти алгоритмы следует оформлять в виде процедур или
функций, которые будут вызваны самой системой в заранее предусмотренных ситуациях (как в нашем примере – при вводе нового элемента справочника).
Сразу обратим внимание и на возможные типы данных, используемые системой.
Многие значения, обрабатываемые системой (константы, реквизиты справочников, реквизиты документов и т.д.) описываются одним из доступных типов данных.
К базовым типам данных, поддерживаемым системой, относятся «число», «строка» и «дата». Однако, кроме базовых типов,
заданные в Конфигурации документы, справочники, перечисления, бухгалтерские счета, виды расчетов, календари также образуют типы данных. Например, после введения справочника
«Контрагенты» в системе появляется тип данных «Контрагенты»,
что даст возможность внести в документ реквизит такого типа.
Значение такого реквизита будет являться не кодом или названи15
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ем контрагента, а собственно ссылкой на определенный элемент
справочника «Контрагенты».
Кроме того, все справочники образуют общий тип данных –
справочник неопределенного вида, все документы – документ
неопределенного вида, все счета – счет неопределенного вида и
т.д. Это так называемые агрегатные типы данных системы, о которых будет сказано ниже.
Документы
В большинстве документов можно выделить две основные
части: заголовочную или шапку, где хранится постоянная информация, и многострочную или табличную, которая в разных
документах одного типа отличается (рис. 7). Физически информация, относящаяся к шапке, может находиться в любой части
документа. Важно только то, что эта информация относится к документу в целом. Табличная часть – это список однотипных
строк с информацией. Например, в счете это список товаров с
указанием наименования, стоимости, количества и других параметров. Для каждого документа в процессе конфигурирования
отдельно указываются реквизиты шапки и табличной части (табличной части может и не быть, например, у платежного поручения). Обязательно каждый документ имеет номер и дату, соответственно предопределенные реквизиты «НомерДок» и «ДатаДок».
16
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рис. 7. Описание документа «Счет» в Конфигураторе
Тип «Документы» содержит два объекта метаданных, которые не существуют в реальности в виде документов (рис. 8). Это
объекты «Общие реквизиты» и «Нумераторы». Общие реквизиты, созданные один раз, становятся доступны для всех документов. Например, создав общий реквизит «Автор», затем можно
размещать его в формах документов или обращаться к его значению средствами встроенного языка. Если для такого реквизита
установить флажок «Отбор», то появится возможность отбора
документов по значению этого реквизита в так называемых «Общих журналах». Нумератор представляет объект, описывающий
правила нумерации документов. Основное назначение нумератора – обеспечить возможность сквозной нумерации документов
разного вида. Для этого таким документам назначается одинаковый нумератор.
17
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рис. 8. «Общие реквизиты» и «Нумераторы»
Одним из режимов ввода новых документов в режиме исполнения является режим ввода «на основании». В нем происходит
копирование реквизитов в документ из документа образца. Например, на основании счета выписывается накладная, а на ее основе – счет-фактура. Для этого соответствующим образом
оформляется модуль формы документа с использованием предопределенной процедуры ВводНаОсновании() (для любого документа определяется «форма» с закладками «диалог», «модуль» и
«таблица»).
Процедура ВводНаОсновании(ДокОснование)
Если ДокОснование.Вид()="Счет" Тогда
// метод Вид() возвращает название вида документа как он
задан в
// Конфигураторе
Получатель = ДокОснование.Контрагент;
ДокОснование.ВыбратьСтроки();
// открывает выборку строк многострочной части документа
Пока ДокОснование.ПолучитьСтроку()=1 Цикл
// открывает следующую строку документа
НоваяСтрока();
Товар=ДокОснование.Товар;
Количество=ДокОснование.Количество;
Цена=ДокОснование.Цена;
КонецЦикла;
КонецЕсли;
КонецПроцедуры
18
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
«Модуль документа» вызывается для исполнения при проведении документа. При этом выполняется предопределенная процедура ОбработкаПроведения(). Только из модуля документов
можно изменять регистры, журналы расчетов, формировать проводки. Вот так может выглядеть фрагмент модуля документа для
расходного ордера, который формирует проводку по расходу по
кассе на основе реквизитов документа:
Процедура ОбработкаПроведения()
Операция.НоваяПроводка();
Операция.НомерЖурнала = "БК";
Операция.СодержаниеПроводки = "Расход: "+Приложение;
Операция.Дебет.Счет= КоррСчет;
Операция.Дебет.Субконто(1,Субконто1);
Операция.Дебет.Субконто(2,Субконто2);
Операция.Дебет.Субконто(3,Субконто3);
Операция.Кредит.Счет = СчетПоКоду("50.1”);
Операция.Кредит.Субконто(1, ДвижениеДенежныхСредств);
Операция.Сумма = Сумма;
Операция. Записать();
КонецПроцедуры
19
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Журналы документов
С помощью журналов пользователь может группировать документы для просмотра и быстрого доступа к ним. Документы в
журналах хранятся в виде списков. Возможно создание журналов
нескольких видов (рис. 9).
Рис. 9. Указание типа журнала
«Обычный журнал» – основное средство для работы с документами. При создании документа можно указать, в каком журнале будет производиться работа с документами этого вида. Один
«обычный журнал» можно назначить документам разного вида,
но документы одного вида всегда доступны только в одном
«обычном журнале». Примерами таких журналов могут служить
журнал «Касса» (для приходных и расходных ордеров), «Материалы» и др.
Другой вид – «Общий журнал» позволяет работать со всеми
документами. Выбор документов, которые в нем доступны, про20
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
изводится только при редактировании вида «Журнал». В общем
журнале можно производить отбор документов по их реквизитам,
используя общие реквизиты или графы отбора.
«Дополнительный журнал» также, как и обычный, позволяет
работать с документами разных типов. Но если назначение документу обычного журнала выполняется в процессе редактирования документа, то выбор документов, которые будут доступны в
дополнительном журнале, выполняется при редактировании дополнительного журнала. Различие между дополнительным и общим журналом можно сформулировать так: дополнительный
журнал служит для разделения документов по видам, а общий
журнал позволяет разделять документы по значениям их реквизитов.
Поскольку система «1С:Предприятие» позволяет создавать
подчиненные документы, пользователь имеет возможность открыть журнал документов, подчиненных данному. В качестве
журнала подчиненных документов может быть назначен один из
существующих общих журналов. Если это не будет сделано, то
журнал будет создан системой автоматически (будет автоматически создана экранная форма, не подлежащая редактированию в
Конфигураторе).
«Полный журнал» позволяет работать со всеми документами
любых видов. Полным журналом может быть назначен один из
общих журналов, в противном случае он будет создан автоматически.
Кроме перечисленных, в системе существует один системный журнал, который всегда создается автоматически. Журнал
«Прочие» применяется для работы с документами, для которых в
процессе настройки не были указаны конкретные журналы.
В типе данных «Журналы» присутствует объект метаданных
«Графы отбора», позволяющий создать предопределенные критерии отбора документов в журналах. Для этого в Конфигураторе
для графы отбора должен быть создан список, состоящий из реквизитов документов, по которым и будет производиться поиск.
Визуального представления в журнале документов графа отбора
не имеет.
21
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Вообще отбор документов может производиться или по графам отбора, или по общим реквизитам (для этого должен быть
включен признак сортировки у общих реквизитов). Отбор производится только в общих журналах и в полном журнале.
Перечисления
Это служебный вид метаданных, который самостоятельно не
используется и применяется в совокупности с другими данными.
Перечисление можно определить как список возможных значений реквизита. Пример перечисления – «Типы товаров» (рис. 10).
Отличие перечисления от других объектов метаданных в том, что
это не шаблон. Список перечислений известен и доступен в Конфигураторе, сама конфигурация использует значения перечисления (например, тип товара – для выбора соответствующего счета
при списании со склада). Пользователь изменить этот список не
может.
Рис. 10. Описание перечисления «Типы товаров»
22
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Отчеты и обработки
Для обработки накопленной информации и представления ее
в удобном виде в системе применяются объекты метаданных
«Отчеты» и «Обработки». Эти объекты представляют собой алгоритм обработки информации на встроенном языке системы
«1С:Предприятие». К алгоритму обязательно прикрепляется диалог для организации ввода необходимых параметров запроса. Как
правило, алгоритм имеет описание печатной формы, которое используется для вывода результатов работы алгоритма на экран.
Объекты отчеты и обработки настраиваются в одной технологии.
Разница лишь в том, что отчеты служат для получения различных
отчетных документов, а обработки – для выполнения различных
действий над информацией. С помощью обработки можно выполнять удаление из системы устаревших данных, импорт информации и др. Также в системе существует возможность создания внешнего отчета (обработки), который будет храниться в отдельном файле отчета (обработки), а не в составе конфигурации.
В процессе разработки очень удобно тестировать отчеты и обработки как внешние, так как в этом случае не требуется сохранения всей конфигурации, что может значительно сэкономить время.
Планы счетов, виды субконто,
операция и проводка
Данные объекты метаданных доступны, только если в системе установлена компонента «Бухгалтерский учет».
В типовой конфигурации содержится один план счетов, хотя
их допустимое значение в системе не ограничено. Планы счетов
поддерживают многоуровневую иерархию «счет-субсчета». Количество уровней субсчетов ограничивается только длиной кода
счета, который не может превышать 255 символов.
Аналитический учет в системе организован с помощью механизма субконто. Субконто называется любой объект аналитического учета: основные средства, сотрудники предприятия, поставщики и т.д. Видом субконто называется множество однотипных объектов аналитического учета. Этот вид метаданных не
23
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
описывает каких-либо объектов, а только ссылается на них. Например, можно создать субконто «Поставщики» с типом данных
«Справочники.Контрагенты» для ведения аналитического учета
по счету 60. Механизм субконто поддерживает до 5 разрезов (в
типовой конфигурации установлено три). Например, для счета 62
можно вести аналитический учет в разрезе субконто «Контрагенты» и «Договоры», для счета 10 – по материалам и складам. Тогда итоги можно получать и по материалам в разрезе складов, и
по складам в разрезе материалов, и по материалам и складам в
целом. Необходимость ведения аналитического учета по тем или
иным субконто указывается явно в «Плане счетов» в режиме
конфигурирования или исполнения (в зависимости от того, где
был создан сам счет), лишь бы данные субконто были заранее
сформированы в Конфигураторе.
Для ввода информации о хозяйственных операциях в системе
используется объект «Операция». Операция является совокупностью взаимосвязанных проводок, имеет заголовок, который
включает содержание операции (реквизит «Содержание»), сумму
(«СуммаОперации») и другие дополнительные реквизиты.
Объект данных «Операция» не является самостоятельным
объектом. Он всегда порожден объектом данных типа документ.
Сама возможность иметь операцию для документов конкретного
вида задается при редактировании свойств документа установкой
опции «Бухгалтерский учет» (сам же алгоритм формирования
значений реквизитов операции оформляется в процедуре ОбработкаПроведения() в модуле документа). В случае необходимости операция может также вводиться вручную. Даже в этом случае операция будет связана с документом, в данном случае фиктивным – «Операция». Фактически, документ «Операция» – это
служебный вид документа (он располагается на ветви «Документы» дерева метаданных).
Чтобы введенная операция вызвала изменение в бухгалтерских итогах, она должна содержать проводки. В состав данных
проводки обязательно входят счета и сумма. Также в зависимости
от настройки свойств плана счетов в проводке могут присутствовать субконто, количество, сумма в валюте. При создании конфигурации могут быть добавлены и дополнительные реквизиты, на24
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
пример, «СодержаниеПроводки», «НомерЖурнала». Именно создав такой дополнительный реквизит проводки и указав его при
редактировании плана счетов в качестве разделителя учета, можно организовать ведение учета для нескольких организаций в одной базе данных.
Небольшой комментарий по поводу управления бухгалтерскими итогами.
Бухгалтерские итоги в системе могут формироваться за различные периоды. Система автоматически поддерживает их в актуальном состоянии при любых изменениях в проводках. В режиме «Управление бухгалтерскими итогами» при работе в системе «1С:Бухгалтерия» (Главное меню – Операции – Управление
бухгалтерскими итогами) устанавливается период, до которого
будут поддерживаться итоги.
Просмотр бухгалтерских итогов выполняется при помощи
отчетов. Период, за который формируется отчет, определяется в
параметрах системы или в окне настройки отчетов. Однако при
построении различных отчетов и в других случаях обращения к
итогам допускается получение итогов только до установленного
в этом режиме периода. Период задается кварталом и годом. Таким образом, период построения отчета должен оканчиваться датой меньшей или равной последней дате квартала, установленной
в режиме «Управление бухгалтерскими итогами».
Рекомендуется устанавливать период, соответствующий последнему кварталу, в котором ведется реальная работа с итогами,
т.е. формируются отчеты.
Регистры
Доступны только для компоненты «Оперативный учет».
Журналы расчетов, виды расчетов, группы
расчетов и календари
Доступны только для компоненты «Расчет».
25
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Конфигурация
Конфигурацией в системе «1С:Предприятие» называется совокупность трех взаимосвязанных составных частей (рис. 11):
• структура метаданных;
• набор пользовательских интерфейсов (возможность настройки общих интерфейсных компонент системы: меню, панели
инструментов, комбинаций клавиш – разные для различных категорий пользователей;
• набор прав (создание различных прав для групп пользователей, например, «Главный бухгалтер», «Бухгалтер по материалам», «Менеджер»).
Сам список пользователей создается уже для конкретной организации и каждому пользователю назначается своя роль, включая набор прав и пользовательских интерфейсов.
Рис. 11. Состав конфигурации
26
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Программный модуль
Программные
модули
в
конфигурации
системы
«1С:Предприятие» не являются самостоятельными программами
в общепринятом понимании, поскольку они являются только частью всей конфигурации задачи. Программный модуль – это своего рода «контейнер» для размещения текстов процедур и функций, вызываемых системой во время исполнения задачи в определенные моменты работы. Как уже говорилось выше,
конкретный программный модуль располагается в тех точках
конфигурации, которые требуют описания специфических алгоритмов. Эти алгоритмы следует оформлять в виде процедур или
функций, которые будут вызваны самой системой в заранее предусмотренных ситуациях.
Структура программного модуля состоит из следующих разделов:
• раздел определения переменных (состоит только из операторов объявления переменных «Перем»; размещается от начала
текста модуля до первого оператора «Процедура» или оператора
«Функция» или любого исполняемого оператора);
• раздел процедур и функций (размещается от первого оператора «Процедура» или оператора «Функция» до любого исполняемого оператора вне тела описания процедур или функций);
• раздел основной программы (исполняется в момент запуска
модуля на выполнение и состоит из отдельных исполняемых операторов; размещается от первого исполняемого оператора вне тела процедур или функций до конца модуля; обычно здесь имеет
смысл размещать операторы инициализации переменных какимилибо конкретными значениями, которые необходимо провести до
первого вызова любой из процедур или функций модуля);
Каждый программный модуль имеет определенный контекст
выполнения. Существуют два вида контекста:
• глобальный контекст задачи;
• локальный контекст выполнения конкретного модуля.
Глобальный контекст виден всем программным модулям и
состоит из (для компоненты «Бухгалтерский учет»):
27
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
– значений системных атрибутов, системных процедур и
функций;
– значений заданных в конфигурации констант и перечислений;
– переменных, процедур и функций глобального программного модуля, объявленных с ключевым словом «Экспорт».
Локальный контекст образуется тем конкретным местом
конфигурации, для которого использован данный модуль, и определяет набор непосредственно доступных значений агрегатных
типов данных, их атрибутов и методов. Существуют следующие
виды программных модулей (для компоненты «Бухгалтерский
учет»):
• глобальный модуль (размещается в корневом разделе метаданных, запускается при старте всей прикладной программы и
определяет глобальный контекст задачи);
• модуль «Формы списка справочника» (размещается в разделе конфигурации «Метаданные»-«Справочник»-конкретный
справочник-«Форма списка»); запускается при вызове формы
списка справочника; в модуле доступны: глобальный контекст,
контекст «Модуля формы списка справочника», в котором непосредственно доступен выбранный в списке элемент справочника
и реквизиты формы списка справочника);
• модуль «Формы группы справочника» (здесь и далее – без
подробностей);
• модуль «Формы элемента справочника»;
• модуль «Формы документа»;
• модуль документа (запускается при проведении документа,
при удалении проведенного документа, при снятии проведения);
• модуль «Формы журнала документов»;
• модуль «Формы списка счетов»;
• модуль «Формы счета»;
• модуль «Формы журнала операций»;
• модуль «Формы операции»;
• модуль «Формы журнала проводок»;
• модуль «Формы отчета»;
• модуль «Формы обработки».
28
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Типы данных
Кроме базовых типов данных (числовой, строковый и дата)
система «1С:Предприятие» поддерживает специализированные
агрегатные типы данных, которые являются отражением объектов предметной области (пример – «Документ», «Справочник»).
Работа с агрегатными типами данных имеет существенные особенности. Конкретные значения существующих агрегатных типов данных могут быть определены в программном модуле только двумя способами:
– некоторые значения заранее известны из глобального и локального контекста модуля (например, в модуле документа доступны все реквизиты текущего документа);
– другие значения могут быть получены с помощью системной функции СоздатьОбъект(), которой в качестве параметра передается строка с именем агрегатного типа данных, существующего в Конфигураторе (например, в модуле «Формы отчета» для
организации доступа к бухгалтерским итогам часто используется
такой
вызов
функции
Ит=СоздатьОбъект(«БухгалтерскиеИтоги»).
Каждый агрегатный тип данных имеет, как правило, набор
атрибутов и методов. Атрибуты по свойствам аналогичны переменным: им можно присваивать значения, их значения можно
читать. Методы – это те действия, которые может выполнять агрегатный тип данных.
Обычно последовательность работы с агрегатным типом
данных следующая:
1) с помощью функции СоздатьОбъект() создается объект агрегатного типа данных, и какой-либо переменной присваивается
ссылка на него (при этом объект изначально не определен, т.е. не
содержит никакого конкретного значения; чтобы начать с ним
работать, его предварительно нужно позиционировать);
2) объект позиционируется на нужном элементе данных (для
документов позиционирование выполняется с помощью методов
НайтиДокумент(), НайтиПоНомеру(), ПолучитьДокумент(); для
справочников – НайтиЭлемент() (найти по значению), НайтиПо29
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Коду(), ПолучитьЭлемент() (следующий элемент), Выбрать()
(выбрать в диалоге));
3) производятся различные манипуляции с объектом агрегатного типа данных через вызовы методов и обращения к его атрибутам;
4) в случае, если объект больше не нужен, он может быть отсоединен от переменной посредством переприсваивания переменной какого-либо значения без типа (например, числа 0), хотя
это не является обязательным действием; изменения сохраняются
методом Записать();
Рассмотрим несколько примеров.
Пример 1 (формирование проводок, в которых в качестве
субконто надо последовательно указать все элементы справочника «Номенклатура»):
Продукция=СоздатьОбъект("Справочник.Номенклатура");
// создаем объект типа «Справочник.Номенклатура»
Продукция.ВыбратьЭлементы();
// метод ВыбратьЭлементы() открывает выборку элементов
справочника,
// которые в дальнейшем могут быть получены при помощи
метода
// ПолучитьЭлемент()
Пока Продукция.ПолучитьЭлемент()=1 Цикл
Операция.НоваяПроводка();
Операция.Дебет.Счет = СчетПоКоду("20");
Операция.Дебет.Продукция=Продукция.ТекущийЭлемент();
// метод ТекущийЭлемент() возвращает текущее значение
справочника в // целом как объекта
…
КонецЦикла;
Пример 2 (выбор пользователем сотрудника из справочника
сотрудников):
Спр=СоздатьОбъект(" Справочник.Сотрудники");
30
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Если Спр.Выбрать("Выберите объект", "")=1
Сообщить( "Выбран сотрудник"+Спр.Наименование);
Пример 3 (изменение атрибута «Содержание» для документа,
являющегося основанием для текущего):
Док = СоздатьОбъект("Документ.Счет");
Док.НайтиДокумент(ДокОснование);
Док.Содержание = "...";
Док.Записать();
Примерами наиболее часто используемых агрегатных типов
данных для компоненты «Бухгалтерский учет» являются «Справочник», «Документ», «ВидСубконто», «Счет», «Операция»,
«БухгалтерскиеИтоги», «Таблица», «СписокЗначений».
Атрибут – свойство агрегатного типа данных. Так, атрибутами документов являются «НомерДок», «ДатаДок», <Реквизит>
(определенные в конфигурации реквизиты), «НомерСтроки» и
«Операция». Все возможные атрибуты для каждого агрегатного
типа данных в системе заранее определены (а возможность создания любых реквизитов в конфигурации позволяет пользователю добавлять свои атрибуты). Доступ к атрибутам конкретного
объекта агрегатного типа данных определяется следующим образом. Если объект, согласно контекста, входит в набор доступных
для данного модуля значений, то для доступа к атрибуту достаточно указать его имя (так в модуле формы документа непосредственно доступны реквизиты текущего документа). В других
случаях доступ к атрибутам осуществляется созданием ссылки на
объект при помощи функции СоздатьОбъект(). Тогда имя атрибута пишется через точку после имени переменной, содержащей
ссылку (как в приведенном выше примере 3: Док.Содержание). В
общем случае атрибуты могут стоять в левой и в правой части
оператора присваивания, быть параметрами вызываемых методов, процедур и функций.
Методы – это действия, которые может выполнять агрегатный тип данных. Методы могут иметь возвращаемое значение
(т.е. аналогичны функциям) или не иметь (как процедуры). Синтаксис методов агрегатных типов данных аналогичен указанным
31
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
принципам для атрибутов, только необходимо указание параметров. Список доступных методов для каждого агрегатного типа
данных достаточно велик и зависит от контекста. Так, при работе
с документами – это сами методы документов (например, НайтиДокумент(), ТекущийДокумент(), Новый(), Записать(), ВыбратьСтроки() и т.д.), методы контекста модуля формы документа
(Модифицированность() и т.д.) и методы контекста модуля документа (НеПроводитьДокумент(), ГрупповаяОбработка() и т.д.).
Системные процедуры и функции
и системные предопределенные процедуры
В любом программном модуле конфигурации доступны системные процедуры и функции. Это математические и строковые
функции, функции работы с датами, специальные процедуры
(уже знакомая СоздатьОбъект() и многие другие). Доступ к подобным процедурам и функциям в программном модуле достигается просто указанием имени процедуры.
Системные предопределенные процедуры предназначены для
того, чтобы программно обрабатывать системные события, возникающие при работе пользователя в программе в режиме исполнения, например ввод нового документа или его изменение.
Исключение составляют только предопределенные процедуры
модуля документа (в частности, ОбработкаПроведения() и некоторые другие), которые могут вызываться и при программном
возникновении события.
Предопределенные процедуры не есть встроенные: для них
только зарезервировано название, а текст самой процедуры пишет разработчик конфигурации. Вызов таких процедур производится самой системой перед обработкой какого-либо действия
пользователя. На рисунке 12 показан полный список предопределенных процедур модуля формы документа, приведенных в синтакс-Помощнике:
32
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Рис. 12. Список предопределенных процедур модуля формы документа
Так, процедура ВводНового() вызывается в момент ввода
пользователем нового документа и может быть использована для
установки реквизитов документа по умолчанию. Вот для примера
фрагмент из модуля формы приходного кассового ордера:
Процедура ВводНового()
ДатаДок=Рабочая Дата();
Фирма=Константа.ОснФирма;
Сумма=0;
СтавкаНДС=Константа.ОсновнаяСтавкаНДС;
НДС=0;
КонецПроцедуры
33
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Список заданий
Приведенные ниже задания рассчитаны на решение в программе «1С:Предприятие» 7.7 в рамках конфигурации «Бухгалтерский учет». Некоторые из задач являются программнотехническими, некоторые, кроме того, требуют правильного подхода с точки зрения бухгалтерского учета.
1. Разработать отчет, позволяющий бухгалтеру всю задолженность каждого покупателя разбить на две графы: текущий
долг и просроченный долг. Уточним ряд моментов, необходимых
для решения задачи. Будем предполагать, что текущим долгом
мы называем долг, возникший за временной период, указываемый пользователем при построении отчета, и еще не погашенный. Тогда оставшаяся часть общего долга будет являться долгом
просроченным.
2. Автоматизировать перечисление заработной платы сотрудникам на пластиковые карты в банк. Предполагаем при этом,
что в организации могут использоваться пластиковые карточки
разных банков. Задачу можно разбить на ряд подзадач:
• реализовать возможность указания номера лицевого счета и
банка в карточке сотрудника;
• в табличную часть документа «Выплата зарплаты» добавить колонку «Лицевой счет»;
• автоматизировать процесс создания документов отдельно
по каждому банку для выплаты зарплаты сотрудникам; это можно реализовать различными способами, например, предварительно выбирая нужный банк в документе «Выплата зарплаты», после
чего программа сама должна сформировать в нем список нужных
сотрудников;
• организовать экспорт данных в dbf-файл сведений о начисленной зарплате и расчетных счетах сотрудников из документа
«Выплата зарплаты»; имена файлов должны быть разными для
разных файлов; формат файла: фамилия, имя, отчество сотрудника, табельный номер, номер лицевого счета, сумма;
• разработать печатную форму ведомости на выплату для
банка с указанием лицевых счетов сотрудников и данных банка.
34
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
3. Реализовать автоматическое формирование документов по
постановке на учет основных средств на основе файла Excel.
Файл содержит следующую информацию: название основного
средства, балансовую стоимость, срок использования.
4. Организовать учет по договорам, обязательства по которым возникают в момент поступления на расчетный счет аванса
от данного контрагента. Предполагаем, что договоры бывают
двух видов: обычные (в момент заключения известны дата возникновения и погашения обязательства) и договоры, обязательства по которым возникнут при поступлении аванса от покупателя.
При этом в момент занесения в программу договоров второго вида пользователь обязан указать срок действия договора. Задача
разбивается на две подзадачи:
• настроить карточку договора с учетом указанных требований;
• при поступлении аванса для договоров второго типа в карточке договора заполнять дату возникновения обязательств датой
банковской выписки, а дату погашения обязательств рассчитывать как дату возникновения плюс срок действия.
5. Реализовать автоматическое формирование актов на ежемесячно оказываемые услуги по договорам. Для этого в справочник договоров предварительно добавить следующие поля: флаг,
указывающий, формировать ли по данному договору акт; поле
для ввода ежемесячной суммы договора; поле для ввода названия
услуги. Задачу можно разбить на две подзадачи:
• разработать процедуру формирования актов на дату, указываемую пользователем, только для договоров с установленным
флагом и соответствующим сроком действия обязательств; сумму
рассчитывать исходя из того, что если даты действия обязательств находятся внутри календарного месяца, то расчет за такие вести из количества дней действия договора в данных месяцах;
• разработать печатную форму списка постоянно действующих договоров следующего формата (при этом если у одного
контрагента есть два подобных договора, то название контрагента печатается только один раз):
35
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Контрагент
Договор
Дата
возникновения
Дата
погашения
Сумма
6. Реализовать расчет пени за просроченные платежи. Пени
рассчитывать за каждый день просрочки в момент поступления
оплаты от покупателя на расчетный счет. Количество дней просрочки определяется на основе срока оплаты, указываемого в документе отгрузки. Сумму пени сохранять на забалансовом счете в
разрезе контрагентов и договоров, процент пени определить в
константе.
7. Реализовать процедуру экспорта расходных накладных во
внешний текстовый файл следующего формата:
# – так в первой позиции отмечаются строки, в которых хранится информация из шапки документа;
@ – так в первой позиции отмечаются строки, в которых хранится информация из табличной части документа;
из шапки документа через запятую выгрузить дату документа, номер, данные о контрагенте (ИНН, название, адрес);
из табличной части документа через запятую выгрузить код и
наименование товара, ставку налога на добавленную стоимость
(НДС), количество, цену.
Возможны следующие варианты реализации (в порядке усложнения):
• выгружать все накладные за указанный пользователем период;
• выгружать накладные, предварительно отобранные пользователем поштучно.
8. Реализовать процедуру импорта расходных накладных из
внешнего текстового файла, имеющего формат, как указано в задаче 7. При этом в процессе экспорта проверять наличие в справочнике указанных в документе контрагента и видов товара.
Только при их отсутствии необходимо создавать новые карточки
в соответствующих справочниках.
36
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
9. Реализовать процедуру экспорта расходных накладных во
внешний файл в XML формате (аналогично текстовому файлу задачи 7).
10. Реализовать процедуру импорта расходных накладных из
внешнего файла в XML формате (аналогично текстовому файлу
задачи 8).
11. Реализовать контроль за датой создания карточки договора и датой изменения значения полей «Дата возникновения обязательств», «Дата погашения обязательств». Эту информацию с
последними значениями дат (кроме даты создания, которая может быть только одна) хранить в программе, не отображая явно
для пользователя. Информацию по датам предоставлять пользователю в виде отчета по отдельному контрагенту, по списку
контрагентов или по отдельному договору.
Пример решения задания
Рассмотрим первую из приведенных задач.
Есть вопрос, на который придется ответить перед тем, как
приступать к решению: как правильно рассматривать оплату,
приходящую от покупателя? В выписке из банка мы указываем
документ, который оплачивает данный платеж. Значит, теоретически мы можем получить информацию в системе обо всех еще
не оплаченных или частично оплаченных документах нашего покупателя. Тогда, анализируя по датам такие документы, мы и
сможем определить их принадлежность к текущему или просроченному долгу. Однако во многих организациях, имеющих потребность в таком отчете, бухгалтеры готовы сделать некое допущение. Оно состоит в том, что любая приходящая оплата от
покупателя погашает самую давнюю его задолженность. В этом
случае наша задача упрощается и мы можем не анализировать
первичные документы вообще, а исходить только из движения по
62 счету. Следует еще обратить внимание на возможность существования расчетов с контрагентом по разным договорам. Тогда,
даже если следовать нашему предположению, правильнее анали37
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
зировать 62 счет не только в разрезе контрагентов, но и в разрезе
договоров.
Рассмотрим решение нашей задачи в упрощенном варианте и
без учета договоров. Тогда если за указанный пользователем период сумма отгрузки нашему покупателю превышает или равна
его долгу на конец этого периода, то весь долг будет текущим, в
противном случае разница и составит просроченный долг. Посмотрим, как можно реализовать такой отчет средствами системы
«1С:Предприятие» и получить результат в следующем виде:
Контрагент
Текущий
долг
Просроченный
долг
Общая
сумма
Используя Конфигуратор, создадим новый отчет «ДебиторскаяЗадолженность». Пусть для простоты отчет будет строиться
для всех элементов справочника «Контрагенты» по введенному
пользователем счету. Для организации диалога введем следующие реквизиты: «ДатаН» и «ДатаК» (тип «дата», имеют кнопку
выбора), «СчетД» (тип «счет»). Само выполнение отчета инициализируется по кнопке «Сформировать» (в свойствах кнопки указано действие, соответствующее этой кнопке – запуск процедуры
Сформировать() из модуля отчета). Заметим, что создания отчета
еще недостаточно для того, чтобы он стал доступен в самой программе. Необходимо добавить этот отчет в пользовательский интерфейс «Бухгалтера» (именно он используется по умолчанию)
через закладку «Интерфейсы». Можно также ускорить процедуру
отладки, сделав отчет внешним и вызывая его в режиме исполнения или через «Файл» – «Открыть» или добавив в «Сервис» –
«Дополнительные возможности».
Теперь перейдем к модулю отчета.
Перем ДатаН;
Перем ДатаК;
Перем СчетД;
Перем Долг;
Перем Отгружено;
Перем ПросроченныйДолг;
38
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Перем ТекущийДолг;
Перем НазваниеКонтрагента;
//------------------------------------------------------------------------Процедура ПриОткрытии()
// процедура выполняется автоматически при открытии формы отчета
Форма.КнопкаПоУмолчанию("Сформировать");
//задаем кнопку, которая будет срабатывать при нажатии
комбинации Ctrl-Enter
ДатаН = НачалоПериодаБИ();
// дата начала бухгалтерских итогов, установленная в режиме
//"Настройка параметров системы"
ДатаК = КонецПериодаБИ();
СчетД = СчетПоКоду("62.1");
// установить номер счета по умолчанию 62.1
КонецПроцедуры
//-----------------------------------------------------------------------------Процедура Сформировать()
// процедура выполняется при нажатии кнопки "Сформировать"
Таб = СоздатьОбъект("Таблица");
// переменная типа "Таблица" служит для формирования печатной формы //отчета; в качестве исходной таблицы-шаблона
для нее автоматически //назначается первая таблица из формы
отчета
Таб.ВывестиСекцию("Заголовок");
// перенести секцию таблицы-шаблона в результирующую
таблицу Таб
// следующие три строки предназначены для выполнения отбора и расчета //итогов за указанный период по выбранному счету в разрезе субконто //"Контрагенты"
БИ = СоздатьОбъект("БухгалтерскиеИтоги");
БИ.ИспользоватьСубконто(ВидыСубконто.Контрагенты,,1);
БИ.ВыполнитьЗапрос(ДатаН,ДатаК,СчетД);
БИ.ВыбратьСубконто(,,,,1);
// открываем выборку по субконто
Пока БИ.ПолучитьСубконто()=1 Цикл
39
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Долг=БИ.СКДРС();
Отгружено = БИ.ДО();
Если Долг > Отгружено Тогда
ПросроченныйДолг = Долг – Отгружено;
ТекущийДолг = Отгружено;
Иначе
ПросроченныйДолг = 0;
ТекущийДолг = Долг;
КонецЕсли;
НазваниеКонтрагента=БИ.ПредставлениеСубконто();
Таб.ВывестиСекцию("Итоги");
КонецЦикла;
Таб.ТолькоПросмотр(1);
// установить режим только для просмотра таблицы
Таб.Показать();
// вывести сформированную таблицу на экран
КонецПроцедуры
//-----------------------------------------------------------------------------Ниже изображен фрагмент шаблона печатной формы отчета.
Рис. 13. Шаблон печатной формы отчета
На самом деле модуль формы можно значительно упростить.
Для этого, не используя переменную «НазваниеКонтрагента»,
указать прямо формулу для вывода в соответствующей ячейке.
Кроме того, разумно создать две секции «Итоги1» и «Итоги2» и
избежать использования переменных «ТекущийДолг» и «ПросроченныйДолг», переложив на эти секции груз разделения двух
ситуаций. Тогда внутри условного оператора будут только выра40
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
жения вида Таб.ВывестиСекцию(«Итоги?»). С другой стороны,
надо бы добавить заголовок отчета с указанием периода и анализируемого счета, организовать повтор строки с заголовком в начале каждой строки, просуммировать задолженность по всем
контрагентам.
Рассмотренная задача может быть усложнена для случая, когда необходимо разделить задолженность между большим количеством периодов, например: текущий, один месяц назад, два месяца назад, три месяца и остаток долга. Так задачу часто формулируют в организациях, занимающихся оказанием услуг с
месячной периодичностью.
Литература
1. 1С:Предприятие Версия 7.7 Конфигурирование и администрирование. – М.: Фирма «1С», 1999. – 388 с.
2. 1С:Предприятие Версия 7.7 Описание встроенного языка. –
М.: Фирма «1С», 1999. – 909 с.
3. Байдаков,
В.
Введение
в
конфигурирование
1С:Бухгалтерии 7.7 / В. Байдаков, С. Нуралиев, А. Шевченко. –
М.: Фирма «1С», 2000. – 309 с.
41
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Оглавление
«1С». Немного истории ...................................................................................... 3
Компоненты системы «1С:Предприятие» ........................................................ 5
Конфигурирование системы .............................................................................. 8
Базовые объекты метаданных .......................................................................... 11
Константы ........................................................................................................ 11
Справочники ....................................................................................................... 12
Документы ......................................................................................................... 16
Журналы документов ....................................................................................... 20
Перечисления...................................................................................................... 22
Отчеты и обработки ....................................................................................... 23
Планы счетов, виды субконто, операция и проводка .................................. 23
Регистры ............................................................................................................ 25
Журналы расчетов, виды расчетов, группы расчетов и календари ........... 25
Конфигурация .................................................................................................... 26
Программный модуль ........................................................................................ 27
Типы данных ...................................................................................................... 29
Системные процедуры и функции и системные предопределенные
процедуры ............................................................................................ 32
Список заданий .................................................................................................. 34
Пример решения задания.................................................................................. 37
Литература ......................................................................................................... 41
42
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Учебное издание
Уварова Марина Игоревна
1С:Бухгалтерия:
основы конфигурирования
Методические указания
Редактор, корректор И.В. Бунакова
Компьютерная верстка Е.Л. Шелеховой
Подписано в печать 19.03.2009 г. Формат 60х84/16.
Бумага тип. Усл. печ. л. 2,56. Уч.-изд. л. 1,9.
Тираж 50 экз. Заказ
.
Оригинал-макет подготовлен
в редакционно-издательском отделе ЯрГУ.
Отпечатано на ризографе.
Ярославский государственный университет.
150000 Ярославль, ул. Советская, 14.
43
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
44
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
45
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Теория вероятностей
и математическая статистика
46
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
47
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Сборник задач
для самостоятельного решения
по теме "Предел функций"
48
Документ
Категория
Без категории
Просмотров
6
Размер файла
641 Кб
Теги
уварова, конфигурирования, 667, основы, бухгалтер
1/--страниц
Пожаловаться на содержимое документа