
1
Основные принципы построения системы «1С:Предприятие»:
Функционирование системы 1С:Предприятие делится на два, разных по времени процесса: настройку (конфигурирование) и непосредственно работу пользователя по ведению учета или выполнению расчетов.
Конфигурирование - на этом этапе выполняется настройка различных режимов системы в соответствии с особенностями предприятия. При этом определяется структура и свойства справочников и документов, описываются формы и алгоритмы построения отчетов, разрабатываются виды отчетов, настраиваются ведение синтетического, аналитического, количественного и валютного учета.
Работапользователя осуществляется при запуске программы в режиме 1:С Предприятие. При этом выполняется ввод документов и операций, заполнение справочников, формирование различных отчетов и т.д.
Возможности программы:
Автоматизация всех участков учета.
Многоуровневые планы счетов и возможность использования нескольких планов счетов.
Многомерный и многоуровневый аналитический учет, количественный учет, валютный учет.
Ручной и автоматический ввод бухгалтерских операций, в том числе со сложными проводками.
Ввод, хранение, печать любых первичных документов.
Ведение налогового учета.
Формирование и печать разнообразных отчетов.
Составление регламентированной отчетности.
Учет по нескольким предприятиям.
2
Компоненты системы
В 1С:Предприятие версии 7.7 существовало пять типовых «компонент». Три из них используются для ведения учёта, а остальные две – для более специфичных функций.
«Компонента» «Бухгалтерский учёт» — наличие данной «компоненты» в 1С:Предприятии 7.7 позволяет использовать такие объекты, как «бухгалтерские планы счетов», «операции», «проводки». Используется, в первую очередь, в поставке «1С:Бухгалтерия 7.7».
«Компонента» «Оперативный учёт» позволяет использовать объект «регистры». Входит в поставку «1С:Торговля+Склад 7.7» и других.
«Компонента» «Расчёт» позволяет использовать объекты «журнал расчётов», «виды расчётов» и «группы расчётов». Входит в поставку «1С:Зарплата и Кадры 7.7», «1С:Основные средства 7.5» и других.
«Компонента» «Управление распределёнными информационными базами (УРИБ)» позволяет осуществлять обмен информацией (синхронизацию) между физически отдалёнными узлами одной логически цельной базы данных. Например, обмен данными между бухгалтерией и отдалённым складом. Для ведения учёта не используется.
«Компонента» «веб-расширение» позволяет создавать веб-интерфейс к учётной базе данных на основе технологии ASP. Для ведения учёта не используется.
Также существует технология создания «Внешних компонент», которые могут быть разработаны сторонними разработчиками для расширений функций «1С:Предприятие». Первоначально эта технология была создана для работы с многочисленным торговым оборудованием. В настоящее время, в связи с гибкостью данной технологии, внешние компоненты создаются для решения практически любых задач из числа тех, для решения которых «1С:Предприятие» изначально не способна.
3
Метаданные в 1С — это специальные данные, описывающие структуру базы данных(справочники, документы, отчёты, константы и т.д.).
Под объектом метаданных в системе 1С:Предприятие понимается формальное описание группы понятий предметной области со сходными характеристиками и одинаковым предназначением.
Описание объекта метаданных может включать описание структуры данных объектов, описание представления объектов и содержать алгоритмы по работе с объектами данных.
Например, объекты метаданных вида «Документ» содержит описание структуры данных: описание реквизитов шапки и реквизитов табличной части; описание представления: диалог и печатная форма; и алгоритмы по работе с документами: модуль проведения документа, а также модуль формы, предоставляющий различные средства по модификации документа.
Объекты метаданных вида «Константа» содержат исключительно описание структуры данных. Представление для констант необходимо описывать, используя другие объекты метаданных.
Объекты метаданных вида «Отчет» (или «Обработка») никаких описаний структуры данных не содержат. Они имеют только представление, а также содержат алгоритмы по работе с данными.
Свойства объекта метаданных
Каждый объект метаданных обладает уникальным набором свойств. Этот набор описан на уровне системы и не может быть изменен в процессе настройки конфигурации задачи. Набор свойств объекта метаданных определяется, в основном, его назначением в системе 1С:Предприятие.
Главным свойством любого объекта метаданных является идентификатор — краткое наименование объекта метаданных. При создании нового объекта метаданных ему автоматически присваивается условный идентификатор, состоящий из слова «Новый» и цифры. Этот идентификатор можно изменить в процессе редактирования свойств объекта метаданных, при этом система отслеживает уникальность идентификаторов. Однако идентификатор не может быть удален без удаления самого объекта метаданных.Не должен содержать пробелов, можно писать сокращенно.
Объекты метаданных могут быть независимыми и подчиненными.
Независимые – например, константы, т.е. она может присутствовать в системе, иметь какое-то значение, но при этом не использоваться другими объектами.
Зависимые объекты – например, субконто – привязан к бухгалтерскому счету.
Некоторые свойства из всего набора свойств, присущих объекту метаданных, доступны для редактирования и могут быть так или иначе изменены в процессе конфигурирования системы 1С:Предприятие. Характер изменений и их пределы также задаются на уровне системы. Целенаправленным изменением свойств объекта метаданных специалист, осуществляющий конфигурирование системы, может добиться требуемого поведения объекта при работе системы. Однако такие изменения не затрагивают сущности объекта и не позволяют добиться от него действий, не свойственных объектам данного типа.
4
Конфигурация – это набор форм и алгоритмов, написанных на платформе 1С, для ведения учета хозяйственной деятельности предприятия.
Конфигурация состоит из 3 взаимосвязанных частей:
1) Структура метаданных — это совокупность объектов метаданных (справочников, документов, отчётов, констант и т.д.), настроенных на хранение и обработку информации о хозяйственной деятельности предприятия. Структура метаданных представляет собой модель предметной области. Объекты метаданных чаще всего являются компьютерными аналогами реально существующих объектов (например, документов, справочников, картотек), но могут и не иметь физической формы;
2) Набор пользовательских интерфейсов — это совокупность команд главного меню, панели инструментов, настроенных на работу с конкретными объектами данных. Пользовательский интерфейс создаётся для конкретной категории пользователей;
3) Набор прав — это полномочия пользователей на работу с информацией.
Типовые конфигурации:
1) 1С: Бухгалтерия — бухгалтерский и налоговый учёт;
2) 1С: Торговля и склад — торговый и складской учёт;
3) 1С: Зарплата и кадры — ведение кадрового учёта, начисление зарплаты;
4) 1С: Упрощёнка — учёт для малых предприятий и ИП;
5) Комплексная конфигурация — бухучёт + торговля + зарплата и кадры + склад.
5
6В нижней строке окна запуска программы указан путь к информационной базе. Для того чтобы создать новую информационную базу, необходимо нажать на кнопку Добавить и в появившемся окне указать название и путь к предварительно созданному каталогу информационной базы. После регистрации необходимо запустить конфигуратор, так как в нашем каталоге еще ничего нет. Поэтому мы нажмем на кнопку ОК. Система предложит выбрать формат хранения и кодовую страницу. При создании новой конфигурации необходимо выбрать кодовую страницу, совпадающую с настройкой Windows, которая будет использоваться при запуске конфигурации. Если сделан выбор кодовой страницы и порядок сортировки, отличный от текущих системных значений, то корректное функционирование невозможно. В этом случае, скорее всего, будет выдано сообщение: "Порядок сортировки строк, установленный для базы данных, отличается от системного", после чего работа системы "1С:Предприятие" будет завершена.
7В системе поддерживаются базовые и агрегатные типы данных. К базовым типам относятся числа, строки и даты. Агрегатные типы данных – это специализированные типы данных, предназначенные для работы с объектами 1С:Предприятия. Агрегатными типами данных называются следующие типы данных:
– Константа – средство работы с постоянными (или условно постоянными) значениями.
– Справочник – средство для ведения списков однородных элементов данных.
– Перечисление – средство работы с элементами данных, список возможных значений которых жестко задан (например, для перечисления «ФормаОплаты» можно задать возможные значения:«Нал», «Безнал»).
– Документ – средство для ввода первичной информации о совершаемых хозяйственных операциях.
– Запрос – это средство для выполнения обращения к документам, регистрам, справочникам и журналам с целью получения сводной информации при формировании отчетов. Возможно создание произвольного числа запросов при помощи системной функций «СоздатьОбъект».
– Текст – средство работы с текстовыми документами.
– Таблица – средство работы с таблицами (отчетами).
– СписокЗначений – средство для создания списка значений каких-либо данных и возможности в дальнейшем сортировать и выбирать нужные значения из списка.
– Картинка – средство для работы с графическими файлами.
– XBase – средство для работы с файлами баз данных DBF формата непосредственно из встроенного языка системы 1С:Предприятие.
– ПланСчетов является служебным типом данных. Он предназначен для идентификации Плана счетов, созданного в метаданных. В основном он используется для передачи в качестве параметра различным процедурам и функциям компоненты «Бухгалтерский учет» и для выбора плана счетов в формах.
– Счет, ВидСубконто является служебным типом данных. Он предназначен для идентификации Вида субконто, созданного в метаданных. В основном он используется для передачи в качестве параметра различным процедурам и функциям компоненты «Бухгалтерский учет» и для выбора вида субконто в формах.
– БухгалтерскиеИтоги – средство для организации доступа к бухгалтерским итогам в различных разрезах, за различные периоды и с разной степенью детализации.
8
Метаданные — это совокупность объектов метаданных настроенных на хранение и обработку информации о хозяйственной деятельности предприятия. Метаданные представляют собой дерево конфигурации.
Объект метаданных — это формальное описание группы однотипных понятий со сходными характеристиками и одинаковыми назначениями (например, отдельные виды справочников, константы). Объекты объединены в дерево метаданных, которое можно увидеть в конфигураторе.
Основными объектами метаданных являются:
– константы — представляют собой условно постоянные величины, хранят информацию, которая не изменяется или изменяется редко. Например, название предприятия, ответственные лица, ставка налога (НДС).
– справочники — представляют собой списки однородных элементов данных, используется для хранения нормативно-справочной информации.
– документы — служат для ввода информации о хозяйственных операциях.
– журналы — предназначены для просмотра (работы) с документами.
– перечисления — это список возможных значений, которые жестко заданы (например, перечисление форм оплаты). Состав перечислений пользователь изменить не может. Эти значения создаются в конфигураторе.
– отчеты — это средства получения выходной информации. Образуются на основании документов, справочников, регистров и констант.
– обработки — используются для выполнения различных действий над информационной базой. Например, удаление всех помеченных объектов, проведение нескольких документов.
Объекты относящиеся к компоненте бухучет:
– план счетов — представляют собой список объектов «бухгалтерский счет». Соответствует общепринятом понятию в бухгалтерском учете.
– виды субконто — списки объектов аналитического учета. Используются только в совокупности со счетами.
– операция — это совокупность бухгалтерских проводок.
– проводка — это сама бухгалтерская проводка.
Компоненты оперативного учета:
– регистры — это средства накопления оперативной информации о наличии и движении средств.
Компоненты «Расчет»:
– журнал расчетов – это средство проведение периодических расчетов и хранения результатов расчета прошлых периодов.
– виды расчетов — это алгоритмы, по которым могут производиться записи в журнал расчета.
– группы расчетов — это логические объединения видов расчетов по определенным признакам.
– календари — средства для определения графиков работы предприятия или отдельных сотрудников.
9
Константы в системе «1С: Предприятие», как правило, служат для хранения информации, которая либо совсем не изменяется в процессе функционирования системы, либо меняется достаточно редко. Наиболее простой пример - название организации, которое, как правило, не меняется.
Константы создаются для того, чтобы один раз занести информацию, а затем использовать ее при формировании документов, в расчетах, при построении отчетных форм. Например, название организации можно занести в специально объявленную константу, а в многочисленных бланках использовать имя константы для получения ее значения - наименования организации.
Константа может принимать базовые типы значений:
- строка (константа не может иметь тип «Строка неограниченной длины»);
- число;
- дата;
Также константа может принимать в качестве значения объекты типообразующих объектов метаданных:
- справочник;
- документ;
- перечисление;
- счет;
- «план счетов»;
- «вид субконто»;
- «вид расчета»;
- «календарь».
Также константа может иметь «неопределенный» тип. В этом случае тип значения определяется программно при установке константы.
Константы определяются в «Конфигураторе» в окне «Конфигурация» в ветке «Константы».
Возможные способы для задания и получения значений констант в процессе эксплуатации системы.
Стандартным (штатным) способом заполнения или просмотра констант является использование окна «Список констант», которое можно открыть через меню «Операции» — «Константы» (пункт меню для вызова списка констант может быть переопределен при редактировании интерфейса конфигурации).
Программно работать с константами можно следующим образом. Получение значения константы:
Переменная = Константа.ИмяКонстанты;
Установка значения константы:
Константа.ИмяКонстанты = ЗначениеКонстанты;
Редактирование констант
Для изменения значения констант, надо дважды щелкнуть на ней левой кнопкой мыши, либо установить на него курсор и нажать кнопку «Enter».
10
Константы — это суперглобальные переменные, значения которых сохраняются между сеансами работы с системой и одинаковы для всех пользователей системы.
Константы применяются для возможности создания универсальных конфигураций, которые легко адаптировать для применения в нескольких организациях. Константы хранят значения которые могут применяться в различных частях системы. Цитата из книги «Конфигурирование и администрирование:
Основная причина использования констант заключается в том, что в них один раз заносится какая-либо информация, которая затем может многократно использоваться при формировании документов, в расчетах, при построении отчетных форм. Информация, внесенная в константу время от времени может редактироваться, но сути константы это не меняет: единожды введенное в систему, значение константы используется многократно.
Периодические константы представляют собой штатную возможность системы 1С:Предприятия хранить историю изменения какой-либо величины. Известен только один способ создания периодической константы: в «Конфигураторе» в окне «Конфигурация» в ветке «Константы». Чтобы константа была периодической необходимо в окне свойств константы на закладке «Дополнительные» установить флажок «Периодический».
Получения значения константы:
Константа.Руководитель.Получить (ТребуемаяДата);
Установка значения константы:
Константа.Руководитель.Установить (ТребуемаяДата, ЗначениеДляУстановки);
Также с периодическими константами можно работать при помощи объекта «Периодический», который предоставляет для этого значительно больше возможностей.
11
План счетов — это агрегатный объект метаданных, который определяет характеристики используемых в учете бухгалтерских счетов и, соответственно, структуру бухгалтерских итогов.
План счетов — основной объект метаданных для компоненты «Бухгалтерский учет». Как только в системе появляется хотя бы один объект вида «План счетов», так сразу в список документов добавляется документ «Операция», а также появляется возможность указывать для документов принадлежность к компоненте «Бухгалтерский учет». Т.е. пока в системе нет планов счетов, практически никакая работа с объектами бухгалтерского учета невозможна.
Cвойства (атрибуты) следующие:
Код счета.
Наименование счета.
Признак валютного учета,
Признак количественного учета,
Признак забалансового счета
«Активность» счета.
Субконто 1 — Субконто 5.:
Только обороты.
Учет по сумме.
Учет по валютной сумме.
Учет по количеству.
Дополнительные реквизиты счета.
Субконто называется любой объект аналитического учета: основные средства, нематериальные активы, малоценные и быстроизнашивающиеся предметы, материалы, организации, подотчетные лица, договоры, бюджетыи т.д.
Видомсубконто, в свою очередь, называется множество однотипных объектов аналитического учета. Например, список покупателей и заказчиков в системе 1С:Предприятие будет называться "видом субконто "Организации", а любая организация из этого списка будет именоваться "Субконто".
Для организации видов субконто в системе 1С:Предприятие используются объекты метаданных "Виды субконто". Конфигуратор позволяет организовывать любое необходимое число видов субконто.
Вид субконто только ссылается на конкретный тип данных. Вид субконто указывает на возможность использования конкретного типа данных для организации аналитического учета по бухгалтерским счетам. Объектами данных для ведения аналитического учета могут являться элементы справочников, документы, перечисления и т.п. При настройке аналитического учета (субконто) для конкретного счета указывается именно вид субконто.
В качестве видов субконто в системе 1С:Предприятие могут выступать доступные в системе типы даных, кроме дробных чисел и строк длиннее 20 символов.
Если на счете или субсчете ведется аналитический учет с использованием субконто, система 1С:Предприятие будет хранить бухгалтерские итоги как в целом по счету, так и отдельно по каждому объекту аналитического учета. Извлечение этой информации выполняется средствами встроенного языка.
12
Планы счетов поддерживают многоуровневую иерархию "счет - субсчета". Каждый план счетов может включать необходимое количество счетов первого уровня. К каждому счету может быть открыто нужное количество субсчетов. В свою очередь, каждый субсчет может иметь свои субсчета - и т.д.
Создание и редактирование счетов может выполняться как разработчиком (предопределенные счета), так и пользователем, в процессе работы с прикладным решением. Однако пользователь не может удалять счета, созданные разработчиком.
По любому счету или субсчету возможно ведение аналитического учета. При создании и редактировании плана счетов требуемому счету или субсчету можно поставить в соответствие необходимое количество субконто – объектов аналитического учета.
Для каждого счета можно задать несколько признаков учета, например количественный и валютный. Кроме этого можно задать несколько признаков учета субконто (например, суммовой, количественный, валютный). Признаки учета субконто позволяют установить признак использования того или иного вида субконто при формировании предопределенных счетов.
Также с каждым счетом и субсчетом может быть связан ряд дополнительной информации, которая хранится в реквизитах. Например, это может быть признак, запрещающий использовать счет в проводках.
13
Встроенный язык программирования 1С:Предприятие — язык программирования, который используется в семействе программ «1С:Предприятие». Данный язык является предварительно компилируемым предметно-ориентированным языком высокого уровня.
Средой исполнения языка является программная платформа «1С:Предприятие». Визуальная среда разработки («Конфигуратор») является неотъемлемой частью пакета программ «1С:Предприятие».
Наиболее значимые особенности встроенного языка:
возможность доработки стандартных конфигураций или даже создания абсолютно оригинальных продуктов;
объектная модель работы с базой данных. Она основывается на объектах 1С.
возможность обработки ошибочных ситуаций;
мягкая типизация - тип переменной определяется типом значения, которое она содержит, и может изменяться в процессе работы.
Вся конфигурация в 1С состоит из модулей.
Программные модули в конфигурации не являются самостоятельными программами, поскольку являются частью всей конфигурации задачи. Программный модуль – это «контейнер» для размещения текстов процедур и функций, вызываемых системой во время исполнения в определенные моменты времени.
Каждый отдельный модуль воспринимается системой как единое целое, поэтому все процедуры и функции программного модуля выполняются в одном контексте.
Виды программных модулей
1.Глобальный модуль - расположен в корневом разделе конфигурации; запускается в начале выполнения всей задачи (в режиме 1 С:Предприятие); определяет глобальный контекст всей конфигурации.
2.Модуль формы элемента справочника - размещается в объекте метаданных Справочник; запускается при открытии формы элемента справочника. В контексте модуля этой формы доступны реквизиты (поля) выбранного элемента справочника и реквизиты (элементы) формы.
3.Модуль формы документа - содержится в форме объекта метаданных Документ; запускается при открытии формы документа. В контексте ее модуля доступны реквизиты (поля) активного документа и реквизиты (элементы) его формы.
4.Модуль документа - размещается непосредственно в объекте метаданных Документ; запускается при выполнении определенных действий с документом (проведение, удаление проведенного, отмена проведения). В контексте модуля документа доступны реквизиты (поля) активного документа.
5.Модуль формы журнала документов - располагается в объекте метаданных Журнал; запускается при открытии формы журнала документов. В контексте ее модуля доступен выбранный в журнале документ и реквизиты формы журнала.
6.Модуль формы отчета - размещается в объекте метаданных Отчет; запускается при открытии экранной формы отчета. В контексте модуля отчета доступны реквизиты (элементы) формы отчета.
7.Модуль формы обработки - содержится в объекте метаданных Обработка; запускается при открытии экранной формы этого объекта. В контексте модуля объекта Обработка доступны реквизиты (элементы) его экранной формы.
14
Программные модули в конфигурации не являются самостоятельными программами, поскольку являются частью всей конфигурации задачи. Программный модуль – это «контейнер» для размещения текстов процедур и функций, вызываемых системой во время исполнения в определенные моменты времени.
Каждый отдельный модуль воспринимается системой как единое целое, поэтому все процедуры и функции программного модуля выполняются в одном контексте.
Контекстом выполнения модуляназывается связь между данным программным модулем и всей конфигурацией. Существует два типа контекстов выполнения модуля:
· глобальный контекст задачи;
· локальный контекст выполнения определенного модуля.
Глобальный контекст задачи доступен всем программным модулям и определяет общую языковую среду конфигурации.
В образовании глобального контекста задачи участвуют значения системных атрибутов; системные процедуры и функции; значения, которые заданы в Конфигураторе в виде констант, перечислений, регистров; переменные, процедуры и функции глобального модуля, объявленные с ключевым словом Экспорт.
Назначение локального контекста модуля состоит в том, чтобы предоставить возможность разработчику управлять «деталями» общей задачи.
Формирование локального контекста модуля осуществляется в конкретном объекте метаданных, в котором содержится этот программный модуль. Локальный контекст виден только конкретному программному модулю и определяет тот набор методов, которые доступны именно в этом контексте (т.е. для модуля формы справочника предусмотрены одни методы, для модуля документа - другие, для модуля формы отчета - третьи и т.д.).
Структура модуля
Программный модуль состоит из следующих частей:
· раздел описания переменных;
· раздел процедур и функций;
· раздел программы.
Раздел описания переменных - располагается в начале модуля (перед первым оператором Процедура или Функция либо, в случае их отсутствия, - перед первым исполняемым оператором). Здесь указываются операторыПерем (объявление переменных).
Раздел процедур и функций - размещается от первого оператора Процедура или Функция до первого исполняемого оператора, находящегося после процедур (и функций).
Раздел программы - начинается с первого исполняемого оператора после последней процедуры (функции) до конца модуля. Здесь располагаются только исполняемые операторы.
// Определение переменных
ПеремЭтоПеременная;
ПеремЭтоВтораяПеременная;
Функция ЭтоФункция()
// текст функции
КонецФункции
// Процедуры и функции
Процедура ЭтоПроцедура()
// текст процедуры
КонецПроцедуры
15
Глобальный модуль системы предназначен для хранения часто используемых процедур и функций, которые вызываются из различных частей системы. Код глобального модуля инициализируется и выполняется при старте системы. Для того, чтобы процедура или функция стала глобальной (т.е. была возможность ее вызова из любого места системы), она должна быть определена с ключевым словом «Экспорт»:
Функция глРасчетАмортизацииОС(ОС, ДатаРасчета, РассчитыватьДанныеПоНалоговомуУчету = 1) Экспорт
Глобальный модуль доступен в «Конфигураторе» в окне «Конфигурация». Для его открытия нужно выбрать пункт «Глобальный модуль» меню «Действия».
Процедурой называется обособленная часть модуля, предназначенная для выполнения какой-либо определенной задачи и которую можно вызывать из любого места модуля.
Функция, в отличие от процедуры должна возвращать значение.
Контекстом выполнения называется совокупность всех доступных при выполнении переменных, объектов, процедур, функций и методов.
Контекст любой процедуры или функции складывается из локального контекста и глобального контекста.
Глобальный контекст — это контекст, доступный всем процедурам и функциям системы. Он образуется множеством глобальных переменных, процедур и функций, а также рядом объектов и методов конфигурации (например, «Перечисление», «ПланыСчетов», «РазделительСтрок», «НачалоПериодаБИ» и т.д.)
Локальный контекст — множество переменных, объектов, процедур, функций и методов, доступных вдополнению к глобальному контексту в данном модуле всем процедурам и функциям данного модуля.
Любая процедура или функция глобального модуля может стать частью глобального контекста, если в ее определении будет ключевое слово «Экспорт». Если это слово опущено, то процедура глобального модуля будет являться только частью локального контекста глобального модуля и будет доступна только процедурам и функциям глобального модуля.
Локальный контекст любого модуля может быть передан в любую процедуру или функцию с использованием ключевого слова «Контекст».
// Глобальный модуль
Процедура глЗаполнитьНаименование (Конт) Экспорт
Конт.Наименование = "Наименование из глобального модуля";
КонецПроцедуры
// Модуль формы элемента какого-либо справочника
// В диалоге справочника имеется поле "Наименование"
// Произведем вызов процедуры глобального модуля
// глЗаполнитьНаименование, передав ей контекст
// нашего модуля. Используя этот контекст процедура
// сможет получить доступ к полю "Наименование"
глЗаполнитьНаименование (Контекст);
16
Операция — это некоторое множество проводок, которые относятся к одной дате и объединены чем-то общим, что отражается в содержании операции. Операции могут создаваться как вручную (в том числе, и при помощи типовых операций), так и при помощи документов.
Типовая операция — это шаблон ручной операции, определяющий состав проводок ручной операции и правила заполнения реквизитов операции и входящих в нее проводок. Типовая операция определяется в режиме запуска «1С:Предприятие», т.е. — в базе данных. Фактически, типовая операция не является объектов конфигурации и представляет собой объект данных.
Условия, при которых целесообразно использование типовых операций:
* Имеется часто или просто регулярно повторяющаяся хозяйственная операция.Т.к. количество проводок в типовой операции ограничено, хозяйственная операция должна описываться строго определенным количеством проводок
* Обычно проводки типовой операции каким-либо образом зависят друг от друга.
* При отражении хозяйственной операции в бухгалтерском учете не требуется вывод печатной формы. Хозяйственная операция фиксируется исключительно проводками.
Создание типовых операции.
Выберите введенную в список типовых операций строку и нажмите клавишу F5 для вызова редактора шаблонов типовых операций.
Окно для редактирования шаблона типовой операции состоит из двух частей. В нижней части окна выдается форма операции. Форма операции всегда состоит из заголовка операции, где располагаются реквизиты операции, и многострочной части со списком проводок. При вводе операций вручную реквизиты операции и бухгалтерские проводки, составляющие операцию, вводятся в такую же форму. Использование для редактирования шаблона типовой операций формы операции позволяет наглядно представить результат- то, как в итоге будет выглядеть операция.
Начните создание шаблона типовой операции с определения свойств реквизитов операции. К реквизитам операции относятся дата и номер операции, сумма и содержание операции.
В шаблоне типовой операции это определяется выбором одного из трех способов заполнения реквизита: непосредственное указание значения в шаблоне, указание режима копирования или указание формулы, по которой будет рассчитываться значение. Для этого используются реквизиты верхней части окна редактирования шаблона типовой операции.
Дата операции,Номер операции, Сумма операции, Содержание.
Настройте заполнение реквизитов проводок типовой операции.
Корреспондирующие счета.
Как правило, корреспондирующее счета проводок целесообразно указывать непосредственно в шаблоне типовой операции, а не выбирать их из плана счетов при воде операции. Такой подход существенно упрощает ввод типовой операции, уменьшает вероятность ошибок при вводе; кроме того, легче выполняется последующая «донастройка» типовой операции.
Субконто, Валюта и сумма в валюте, Количество, Сумма, Содержание проводки.
17
Проводка — отражение хозяйственных операций при помощи метода двойной записи, когда одна и та же сумма записывается в дебет и кредит бухгалтерских счетов.
Операция обычно содержит одну или несколько проводок. Именно проводки влияют на бухгалтерские итоги. Каждая проводка принадлежит одной и только одной операции. Следует помнить, что любая операция вводится на основании документа. Даже операции, введенные вручную, привязываются к документу специального типа "Операция".
Работа с операциями похожа на работу с документами. Проводки можно представить, как табличную часть операции, по аналогии с табличной частью документа. С точки зрения пользователя все операции и проводки хранятся в журнале операций и связанном с ним журнале проводок.
Для создания проводки предназначен метод «НоваяПроводка». После его применения возможно заполнение реквизитов новой проводки:
Объекты «Дебет» и «Кредит». Эти объекты являются свойствами объекта «Операция» и предназначены для редактирования «дебетовой» и «кредитовой» стороны проводки. Оба объекта обладают одинаковыми методами и свойствами:
«Счет». Предоставляет доступ к счету дебета или кредита. Свойство доступно как для чтения, так и для записи и принимает при записи значение типа «Счет».
«Субконто». Метод, позволяющий получить/установить значение субконто по порядковому номеру субконто или по его виду. В качестве параметра принимает либо порядковый номер субконто, либо значения вида «ВидСубконто». В качестве второго параметра принимает значение субконто для установки. Метод возвращает предыдущее значение субконто. Если второй параметр не указывается, то значение субконто изменено не будет, что можно использовать для простого чтения значения субконто.
«ПредставлениеСубконто». Метод, позволяющий получить представление текущего значения субконто.
«Количество».
«Сумма».
«Валюта».
«ВалСумма».
Дополнительные реквизиты проводки. Например, «СодержаниеПроводки» или «НомерЖурнала», если они определены в конфигурации.
18
Все документы хранятся в журналах. Журнал документов — это электронный аналог обычной бумажной папки. На экране журнал выглядит как таблица, строки которой являются документами. Например, можно создать журнал Приказы кадровые, который будет включать документы "Приказ о приеме на работу", "Приказ об увольнении", "Кадровое перемещение". С этим журналом будет работать пользователь-кадровик. Или можно создать отдельный журнал для банковских документов, куда войдут документы "Платежное поручение" и др.
Журналы документов предназначены для просмотра документов. Каждый вид документа может быть отнесен к определенному журналу. Сам журнал документов не добавляет новых данных в систему, а служит только как средство просмотра списка документов одного или нескольких видов. Для документов разных видов можно указывать один журнал, что позволяет произвольным образом группировать документы в журналах. Назначенный документам журнал можно менять. Например, может быть создан журнал «Складские документы», который будет содержать все приходные накладные и накладные на внутреннее перемещение.
Для журнала могут быть определены графы журнала, для удобства просмотра реквизитов различных видов документов, отнесенных к данному журналу. Для журнала может быть описано несколько форм его визуального представления.
Для работы с документами могут использоваться специально созданные общие журналы. От «обычных» журналов документов их отличает возможность отбора документов по значению, указанному пользователем.
Журналы в системе 1С могут быть трех видов: Обычный, Общий и Дополнительный. Обычный журнал предназначен для хранения документов определенных видов. Документ также может быть включен в дополнительный журнал, при этом документ будет зарегистрирован сразу в двух журналах. Дополнительных журналов может быть несколько. Общий журнал показывает документы всех видов.
У журнала документов есть экранная форма, где можно настраивать отображаемые колонки. Можно создавать дополнительные колонки, которые будут отображать информацию из документов.
19
Журналы — предназначены для просмотра (работы) с документами.
Для того чтобы создать новый журнал необходимо: Конфигуратор – Окно конфигурации – Журналы – Новый журнал.
Отбор документов
Механизм отбора документов предоставляет пользователю возможность просматривать в журнале документы, отобранные по некоторому значению их реквизитов или по видам документов: например, можно отобрать все документы по конкретному складу или конкретной организации-контрагенту, или отобрать все приходные накладные.
Механизм отбора настраивается в конфигурации. На этапе конфигурирования определяются виды отбора. Пользователь может выполнять отбор документов, используя только те виды отборов, которые определены в конфигурации системы. Например, в системе может быть определено два вида отбора: «по складу» и «по контрагенту». Конкретный склад или контрагент документа будет являться значением отбора.
Отбор документов может выполняться только в определенных журналах. Формальным признаком того, что отбор в конкретном журнале возможен, является то, что пункт «Отбор по значению — Отобрать» содержится в меню «Действия» главного меню программы и кнопка содержится в панели инструментов окна журнала.
Принадлежность документа конкретному журналу задается в процессе конфигурирования системы. Так же существуют два предопределенных журнала: «Полный» - отображающий документы всех видов, и «Прочие» - отображающий документы не привязанные к конкретному журналу.
20
Справочник является списком возможных значений того или иного реквизита. Справочники используются в тех случаях, когда необходимо исключить неоднозначный ввод информации.
Для того, чтобы создать новый справочник необходимо: Конфигуратор – Окно конфигурации –Справочники – Новый Справочник.
В качестве обязательных реквизитов каждый справочник имеет Код и Наименование.
Помимо кода и наименования, в справочниках системы 1С:Предприятие может храниться любая дополнительная информация об элементе справочника. Для хранения такой информации в справочнике может быть создан список реквизитов.
Добавление справочника в меню пользователя:Конфигуратор – Окно конфигурации – Общие – Интерфейсы – Новый – в конструкторе меню поставить галочку напротив элемента «Справочники» – Сформировать. Появится окно редактора пользовательского интерфейса.
Для добавления новых элементов в справочник предназначены два метода:
«Новый». Создает новый элемент справочника.
«НоваяГруппа». Создает элемент-группу справочника. Метод можно использовать только для иерархических справочников.
21
Список элементов справочника в системе 1С:Предприятие может быть многоуровневым. В этом случае все строки справочника будут разделяться на 2 вида: «просто» элементы справочника и группы справочника. Группы позволяют переходить на нижележащие уровни многоуровневого справочника. Возможное количество уровней вложенности справочника задается в Конфигураторе.
Использование многоуровневых справочников позволяет организовать ввод информации в справочник с нужной степенью детализации. Элементы и группы элементов в многоуровневом справочнике можно переносить из одной группы в другую.
Иерархический справочник— это также многоуровневый справочник, или справочник с группами.
Группа справочника в 1С часто называется "родитель".
Подчиненные справочники
Справочник-владелец, это также справочник-хозяин.
Справочник-владелец и подчиненный справочник также называются связанными справочниками.
В терминах реляционных баз данных справочник-владелец - это родительская таблица, подчиненный справочник - это дочерняя таблица.
Назначение подчиненных справочников: любой справочник может использоваться как сам по себе, так и быть подчиненным какому-либо другому справочнику. Например, справочник договоров может использоваться отдельно, а может быть связан со справочником организаций.
Чтобы подчинить справочник какому-либо из справочников, уже существующих в системе, в поле «Подчинен» следует выбрать наименование этого справочника. Такой справочник в системе 1С:Предприятие называется владельцем.
В отличие от многоуровневого справочника, в котором все элементы имеют одинаковую структуру, использование механизма подчиненных справочников позволяет связать элементы разной структуры. В этом случае каждый элемент подчиненного справочника будет связан с одним из элементов справочника-владельца.
22
Для создания формы справочника нужно выбрать «Конструктор форм» в открытом справочнике.
«Форма элемента». Эта кнопка вызывает редактор форм для редактирования формы элемента справочника.
«Формы группы». При использовании справочника группа представляется особой строкой, помеченной знаком, и служит для «входа» на следующий уровень справочника. Фактически, такая строка является заголовком для совокупности элементов справочника, имеющих какой-то общий признак.
«Формы списка». Эта кнопка служит для вызова на экран диалога «Формы списков» и для редактирования уже существующих форм списка справочника.
Форма может состоять из нескольких слоев. Каждый слой может быть показан или скрыт в любой комбинации с другими слоями.
Синтаксис:Форма.ИспользоватьСлой(<ИмяСлоя>,[<Режим>])
Слой диалога — это некоторое множество элементов диалога. При этом каждый элемент диалога принадлежит одному и только одному слою. На этапе исполнения можно управлять видимостью определенных слоев. Для этого применяется метод объекта «Форма» — «ИспользоватьСлой».
Возможны следующие действия со слоями:
* 0 — скрыть данный слой;
* 1 — показать данный слой;
* 2 — показать данный слой и скрыть остальные.
Закладки — это элемент управления диалога, который выглядит, как несколько ярлычков с надписями. Данный элемент диалога невозможно создать в «Конфигураторе», он создается только при исполнении методом объекта «Форма» — «ИспользоватьЗакладки». Синтаксис:Форма.ИспользоватьЗакладки (1);
После того, как элемент управления «Закладки» создан, возможно определение списка закладок. Это производится через атрибут объекта «Форма» — «Закладки». Этот атрибут содержит объект вида «СписокЗначений». Каждое значение, добавляемое в этот список, определяет одну закладку. При этом в качестве надписи на закладке будет использовано представление этого значения.
//показать слой Основной
Форма.ИспользоватьСлой(“Основной”,1);
//скрыть слой Основной
Форма.ИспользоватьСлой(“Основной”,0);
//показать слой Основной и скрыть все остальные
Форма.ИспользоватьСлой(“Основной”,2);
//показать слой Основной и Фон и скрыть все остальные
Форма.ИспользоватьСлой(“Основной,Фон”,2);
//закладки на форме реализуются с помощью слоев
Форма.ИспользоватьЗакладки(1);
Форма.Закладки.ДобавитьЗначение(1, “Закладка 1”);
Форма.Закладки.ДобавитьЗначение(2, “Закладка 2”);
Процедура ПриВыбореЗакладки(НомерЗакладки, ЗначениеЗакладки)
Если НомерЗакладки = 1 Тогда
Форма.ИспользоватьСлой(“Фон,Шаг1”);
Иначе Форма.ИспользоватьСлой(“Фон,Шаг2”);
КонецЕсли;
23
Перечисления – это прикладные объекты конфигурации. Они позволяют хранить в информационной базе наборы значений, которые не изменяются в процессе работы прикладного решения. Каждое значение имеет свой идентификатор — уникальный в пределах перечисления. Каждое значение перечисления может иметь определенное представление — строку, которая отображается для пользователя при отображении значения. Система предоставляет возможности хранить ссылки на значения перечисления в реквизитах объектов данных, также средства для интерактивного выбора значения перечисления в диалогах.
Принципиальных отличий перечислений от других объектов метаданных не существует. Вероятно, имеется в виду то, что все значения перечисления определяются только в «Конфигураторе», но никак не в базе данных.
Свойства перечисления в чем-то сходны со свойствами справочников. Например, и справочники, и перечисления, представляют собой набор некоторых значений. На эти значения объекты данных могут содержать ссылки. Также и справочники, и перечисления, обладают сходными возможностями выбора значений — в виде поля со списком.
Однако имеются и существенные отличия. Значения перечислений определяются исключительно в «Конфигураторе», тогда как значения справочников определяются исключительно в базе данных. Справочники могут быть иерархические, а перечисления — нет. Каждый элемент справочника может обладать большим количеством реквизитов, а значения перечисления реквизитов не имеют.
К примеру для выбора страны или материка лучше использовать перечисления, т.к. их количество и название не меняется практически никогда.
24
Документы – это прикладные объекты конфигурации. Они позволяют хранить в прикладном решении информацию о совершенных хозяйственных операциях или о событиях, произошедших в «жизни» предприятия вообще. Это могут быть, например, приходные накладные, приказы о приеме на работу, счета, платежные поручения и т.д.
Каждый документ состоит из двух основных частей: набора реквизитов шапочной части и табличной части.
Табличную часть удобно рассматривать как некоторую таблицу, которая ассоциирована с документом. Поля этой таблицы называются реквизитами табличной части. При создании документа в системе производится создание двух таблиц базы данных: для хранения заголовков документов (здесь хранятся реквизиты шапочной части) и для хранения табличных частей этих документов.
Каждый документ системы обязательно имеет два предопределенных реквизита шапочной части: «НомерДок» и «ДатаДок». Эти реквизиты нельзя удалить. При этом типом и свойствами реквизита «ДатаДок» управлять нельзя, а некоторыми свойствами реквизита «НомерДок» управлять можно.
Тип номера. Доступно только два типа номера: числовой и текстовый.
Длина номера. Длина номера может меняться в пределах от 3 до 20 символов (или цифр).
Контроль уникальности номера. Контроль уникальности означает, что в системе (в пределах заданного периода) не может существовать двух документов с одинаковым номером.
Автоматическая нумерация. При автоматической нумерации система будет автоматически пытаться сгенерировать новый номер для документа, созданного вручную или средствами встроенного языка.
Периодичность номера. Параметр «периодичность» может принимать следующие значения: «По всем данного вида», «В пределах года», «В пределах квартала», «В пределах месяца», «В пределах дня».
«Периодичность» устанавливает, для каких периодов будет контролироваться уникальность номера и происходить автоматическая нумерация. Это означает, что
при контроле уникальности в системе в целом может существовать два документа с одинаковыми номерами только в том случае, если они лежат в двух различных периодах;
при автоматической нумерации нумерация будет начинаться заново в каждом новом периоде.
Виды модулей описания алгоритмов формирования и обработки документов:
* Модуль формы. Этот модуль предназначен для работы с данными, которые вводит пользователь.
* Модуль документа. Этот модуль и осуществляет преобразование введенных пользователем данных в формат, удобный для формирования отчетов. Принадлежность документа устанавливается при помощи трех галочек: «Бухгалтерский учет», «Расчет» и «Оперативный учет».
25
Для начала необходимо создать документ.
Создание формы документа. Спроектируем внешний вид формы документа. Для этого:
Щелкните по кнопке [Форма].
В окне Размещение реквизитов добавьте все реквизиты в форму.
Разместите реквизиты в форме, как понрасится,переименовав заголовки текстовых полей и установив шрифтовое оформление на свой вкус.
Поле ввода АвторДокументасделайте недоступным, установив соответствующий флажок на вкладке Общие окна свойств поля ввода.
Перейдите в Модуль формы и введите процедуру, по которой определяется текущий пользователь и его фамилия вводится в поле АвторДокумента.
Здесь СокрЛП() - это функция, которая удаляет пробелы в конце и в начале текстовой строки.
26
В понятие бухгалтерской проводки заложена корреспонденция с использованием нескольких счетов. Иначе говоря, это документально зафиксированное действие, свидетельствующее об изменении остатков в отношении материальных и финансовых показателей. В определение бухгалтерской проводки входит несколько счетов, при их использовании должно быть соблюдено правило двойной записи (т.е. равенство по дебету и кредиту и активам и пассивам). Счета могут быть как балансовыми, так и забалансовыми, всё зависит от конкретной ситуации. В понятие виды бухгалтерских проводок обычно вкладывают классификацию использованных счетов или сферу учета (например, оптовая и розничная торговля, общественное питание).
Проведение документа. Теперь нам предстоит важный момент – написать процедуру для проведения документа. Проводки создаются в модуле документа с использованием предопределенной процедуры ОбработкаПроведения(). Запишем данную процедуру. Для этого:
Перейдите в окно свойств документа и щелкните по кнопке [Модуль документа].
Откроется окно текстового редактора для написания программы.
Вводим программный код.
Виды модулей документа:
* Модуль формы. Этот модуль предназначен для работы с данными, которые вводит пользователь.
* Модуль документа. Этот модуль и осуществляет преобразование введенных пользователем данных в формат, удобный для формирования отчетов. Принадлежность документа устанавливается при помощи трех галочек: «Бухгалтерский учет», «Расчет» и «Оперативный учет».
27
Процедура «ОбработкаПроведения» выполняется системой при проведении документа. Процедура принимает один параметр. Этот параметр передается в процедуру в том случае, когда проведение документа было инициировано при помощи встроенного языка — применением метода документа «Провести». Если в метод «Провести» передать некоторое значение в виде параметра, то этот параметр будет передан процедуре «ОбработкаПроведения».
В процедуре «ОбработкаПроведения» осуществляется преобразование данных из вида, удобного для ввода и редактирования, в вид, удобный для построения отчетов. Обычно в данной процедуре выполняются следующие действия:
Создание проводок в операции документа.
Движение регистров.
Создание записей журнала расчетов.
Установка периодических реквизитов справочника при помощи метода «УстановитьРеквизитСправочника».
«Обработка подбора». Подбор — это возможность выбора одного или нескольких значений пользователем из списка некоторых объектов (из справочника, журнала документов, журнала операций, плана счетов и др.) с последовательной передачей выбранных значений в текущую форму для обработки. При открытии подбора открывается дополнительная форма — форма списка справочника, форма журнала и т.п. Подбор используется для заполнения табличной части документов, однако этим его применение не ограничивается.
При подборе значений из справочника, журнала документов или операций, плана счетов используется минимум необходимых средств:
Никаких действий для объекта метаданных, значения которого используются для подбора, предпринимать не надо.
В форме объекта, в которой требуется организовать подбор и поступление значений для обработки следует выполнить следующее:
Для открытия подбора вызвать метод «ОткрытьПодбор (ОписаниеОбъекта, ФормаСписка, Параметр, ВыборНесколькихЗначений, АктивноеЗначение)»
Здесь«ОписаниеОбъекта» — это строка вида:«Справочник.ВидСправочника», «Документ.ВидДокументов», «Журнал.ВидЖурнала».
«ФормаСписка» — название формы списка, которая будет использоваться при подборе.
«Параметр» — значение для передачи в форму подбора, после открытия формы в эту переменную будет помещен контекст формы подбора.
«ВыборНесколькихЗначений» — флаг, разрешающий выбор пользователем нескольких значений, если флаг равен «0», то можно будет выбрать только одно значение, если «1», то несколько.
«АктивноеЗначение» — значение, на котором следует установить курсор сразу после открытия формы.
Для обработки выбираемых пользователем значений создать предопределенную процедуру «ОбработкаПодбора (ВыбранныйЭлемент, КонтекстФормы)». Данная процедура будет вызываться системой автоматически каждый раз, когда пользователь будет выбирать некоторое значение в форме подбора.
Здесь «ВыбранныйЭлемент» — выбранное пользователем значение.
«КонтекстФормы» — контекст формы, используемой для подбора.
28
Модуль формы запускается при каждом открытии формы документа. В его контексте доступны все реквизиты документа и реквизиты формы. Кроме предопределенных процедур модуля формы, там можно разместить вспомогательные процедуры и функции, вызываемые, например, экранными кнопками.
ВводНового(ПризнакКопирования, ОбъектКопирования) - Вызывается при создании нового документа пользователем. Процедура обычно содержит предустановки значений некоторых реквизитов при создании нового документа или операторы управления видом экранной формы. ПризнакКопирования - имя переменной, которую система установит в "0", если введен просто новый документ, и в "1", если документ скопирован. При этом в Переменную ОбъектКопирования будет передан объект, с которого скопировали. Копирование не следует путать с вводом на основании.
ВводНаОсновании(Основание) - Выполняется при вводе нового документа на основании другого. В переменную Основание передается контекст документа-основания, т.е. теперь вы можете обратиться к его реквизитам через эту переменную:
СуммаДоплаты=Основание.СуммаСверху; //Свой реквизит принимает значение реквизита документа-основания.
ПриЗаписи() - Выполняется при записи (перезаписи) документа. Имейте ввиду, что операторы этой процедуры выполняются ДО фактической записи документа в базу.
ПриВводеСтроки() - Вызывается при вводе пользователем новой стоки многострочной части документа. Такой операцией, например, можно отменить ввод новых строк, если в документе нельзя вводить строки вручную (можно добавить какое-либо условие):
Процедура ПриВводеСтроки() .......СтатусВозврата(0); КонецПроцедуры
ПриНачалеРедактированияСтроки()
Обрабатывает начало изменения существующей строки (когда пользователь ручками вводит или изменяет значения реквизитов табличной части). Исходя из примера, описанного выше для процедуры ПриВводеСтроки()
ПриРедактированииНовойСтроки()
Вызывается только при редактировании ВНОВЬ созданной строки.
ПриОкончанииРедактированияСтроки (ФлагНовойСтроки)
ФлагНовойСтроки - имя переменной, в которую будет записана 1, если окончен ввод НОВОЙ строки, соответственно - 0, если закончено редактирование ИМЕВШЕЙСЯ. Процедура вызывается, когда пользователь "дезактивирует" строку мышкой, нажатием Enter, или Esc (кроме случая, когда отказываются от редактирования новой строки).
ПриУдаленииСтроки()
ПриИзмененииПорядкаСтрок (ФлагДействия)
ФлагДействия - имя переменной, которая станет "-1", если строка поднимается вверх, станет "1" при перемещении строки вниз, и станет "0", если изменяются номера строк, например, при сортировке. А что при этом сделать - это уже ваша фантазия (моей не хватает :).
29
Создание печатной формы документа
Введенный документ в любое время может быть распечатан, если конфигурацией предусмотрено наличие у него печатной формы.
Если в процессе настройки конфигурации задачи для документа была создана, помимо экранной формы (диалога), также печатная форма, то в диалоге для ввода реквизитов документа, как правило, присутствует кнопка, нажатие на которую вызывает построение этой формы. Обычно такая кнопка имеет надпись «Печать», хотя может иметь и какую-либо другую подобную надпись.
Созданная печатная форма открывается в стандартном редакторе таблиц системы 1С:Предприятие. Если в окне редактора таблиц видна только часть формы, можно использовать клавиши управления курсором и линейки прокрутки для вывода на экран остальной части формы.
При необходимости, автоматически построенная печатная форма может быть отредактирована. Чтобы иметь такую возможность, следует в редакторе таблиц включить режим редактирования путем выключения пункта «Только просмотр» в меню «Вид» главногоменюпрограммыили в соответствующейпанелиинструментов.
Отредактированная печатная форма может быть сохранена в файле на диске. Для этого следует выбрать пункт «Сохранить» или «Сохранить как» в меню «Файл» главногоменюпрограммы.
У документа может быть несколько шаблонов печатных форм. Средствами встроенного языка (метод ИсходнаяТаблица) задается тот шаблон печатной формы, который будет использоваться.
30
Новый документ в системе 1С можно ввести различными методами:
1. Вариант первый. Пользователь выбирает Пункт меню Документы и в подменю щелкает по названию необходимого документа. Документу присваивается номер, устанавливаются дата, начинается обработка операторов предопределеннной процедуры модуля формы документа ВводНового(), после чего открывается экранная форма с вызовом процедуры ПриОткрытии(). Новый документ создается в памяти, а для того, чтобы он был записан в базу, необходимо нажать кнопку Записать.
2. Второй вариант предполагает создание нового документа путем копирования такого же. При копировании документу присваивается новый номер, а все реквизиты заполняются данными из скопированного документа. Вот почему, если в процедуре ВводНового() вы заполняете некоторые реквизиты при создании нового документа, то необходимо в начале этой процедуры задать проверку факта копирования, для того, чтобы не сбить значения реквизитов.
3. При третьем варианте новый документ создается на основании существующего документа другого вида. В такой ситуации вместо процедуры ВводНового() будет вызвана процедура ВводНаОсновании(). В ней нужно описать, какие реквизиты нового документа будут заполнены значениями из документа-основания. Естественно, что заполняемые реквизиты нового документа должны иметь тот же тип, что и соответствующие реквизиты-источники. Пример заполнения расходной накладной на основании счета:
Процедура ВводНаОсновании(ДокОсн)
РасчетныйСчет = ДокОсн.РасчетныйСчет; МестоХранения = глЗначениеПоУмолчанию("ОсновнойСклад"); Контрагент = ДокОсн.Контрагент; Договор = ДокОсн.Договор; ВариантРасчетаНалогов = ДокОсн.ВариантРасчетаНалогов;
ДокОсн.ВыбратьСтроки(); Пока ДокОсн.ПолучитьСтроку() = 1 Цикл
НоваяСтрока(); Товар = ДокОсн.Товар; Количество = ДокОсн.Количество; Цена = ДокОсн.Цена; Сумма = ДокОсн.Сумма; НДС = ДокОсн.НДС; Всего = ДокОсн.Всего;
КонецЦикла;
КонецПроцедуры
При вызове процедуры происходит установка значений некоторых полей и флажков накладной значениями из счета. Сначала мы заполнили реквизиты шапки, а затем организовали цикл считывания строк табличной части счета операторами ВыбратьСтроки() и ПолучитьСтроку(). В этом же цикле на каждую строку основания вводится и заполняется новая строка накладной (команда НоваяСтрока()). Доступ к реквизитам счета осуществляется через переменную ДокОсн, которая является параметром процедуры. Как мы помним (см. описание предопределенных процедур модуля формы документа), в неё передается контекст документа-основания.
4. Программный способ - для него в языке 1С предусмотрены специальные команды.
«ОбработкаПроведения ([Параметр])». Процедура «ОбработкаПроведения» выполняется системой при проведении документа. Процедура принимает один параметр. Этот параметр передается в процедуру в том случае, когда проведение документа было инициировано при помощи встроенного языка — применением метода документа «Провести». Если в метод «Провести» передать некоторое значение в виде параметра, то этот параметр будет передан процедуре «ОбработкаПроведения».
В процедуре «ОбработкаПроведения» осуществляется преобразование данных из вида, удобного для ввода и редактирования, в вид, удобный для построения отчетов. Обычно в данной процедуре выполняются следующие действия:
Создание проводок в операции документа.
Движение регистров.
Создание записей журнала расчетов.
Установка периодических реквизитов справочника при помощи метода «УстановитьРеквизитСправочника» (см. ниже).
Главная особенность вышеуказанных операций состоит в том, что при распроведении документа, все изменения базы данных могут быть автоматически удалены. Соответственно, следует стремиться к тому, чтобы все действия при проведении документа свести к вышеуказанным. Однако, это возможно не всегда. В таких случаях применяют другие виды действий по модификации базы данных, которые автоматически не могут быть отменены. При этом для корректного распроведения документа следует использовать процедуру «ОбработкаУдаленияПроведения».
31
Отчеты предназначены для вывода информации из базы данных.
Структура отчета
У любого отчета в системе 1С есть экранная форма — Диалог, который пользователь видит на экране. В диалоге пользователь обычно задает параметры формирования отчета, например, период времени. Также у отчета обычно есть одна или несколько бумажных форм — Таблиц. С помощью таблиц отчет печатается на бумаге. Алгоритм формирования отчета записывается в модуле отчета на встроенном языке 1С.
Секция — это область таблицы, предназначенная для многократного вывода. Секции могут быть горизонтальными или вертикальными. Можно также выводить пересечения горизонтальных и вертикальных секций.
Способы создания отчетов
Либо ручками пишем код в модуле отчета, либо пользуемся конструктором запросов, который автоматически сгенерирует код в модуле.
Поведение сформированного отчета
В системе 1С:Предприятие отчеты могут быть вполне активными объектами. Это означает, что щелкнув например, на сотруднике можно открыть форму этого сотрудника или сформировать более детальный отчет только по этому сотруднику. Это очень удобно для бухгалтеров, которые от сводных отчетов могут перейти к более детальным и узнать, откуда взялась каждая сумма, вплоть до конкретной проводки.
Для этого предназначены свойства ячейки Расшифровка и процедура ОбработкаЯчейкиТаблицы.
33
Объект "Таблица" можно с уверенностью назвать одним из основных объектов системы. Его назначение – подготовка форм для вывода на печать. Этот объект используется в каждом отчете и почти во всех документах. Но сам по себе объект "Таблица" мало чем полезен без таблицы, которая создается табличным редактором, встроенным в 1С. Таблица, создаваемая редактором табличных форм, служит шаблоном, используемым объектом "Таблица" в модуле.
Большинство печатных формы строятся по одному принципу: есть заголовок (шапка), есть таблица (часть которая постоянно повторяется n-ое количество раз) и есть итог (подвал). Это примерная общая схема большинства документов: шапка, таблица, подвал. От случая к случаю, что-то может отсутствовать или дублироваться. Для организации "шапок", "таблиц" и "подвалов" в таблице можно создавать секции.
Секция по сути является шаблоном для какой-то части печатной формы. Этот шаблон в одной таблице можно многократно повторять, заполняя разным содержимом. Секции также делятся на горизонтальные и вертикальные.
32Запрос — это обращение к системе 1С с просьбой выбрать определенные данные из базы данных. Для формирования и выполнения запросов к таблицам базы данных в системе используется специальный объект Запрос. Запрос удобно использовать, когда необходимо получить сложную выборку данных, сгруппированную и отсортированную нужным образом. Для организации запроса необходимо выполнить следующие действия.
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса = "<текст запроса на особом языке запросов>"
Запрос.Выполнить(ТекстЗапроса);
//далее идет обработка результатов запроса
Язык запросов 1С – это совершенно отдельный язык, который позволяет указать какие данные нам нужно достать из базы данных.Он тоже двуязычен – то есть можно писать на русском или на английском. Он исключительно похож на язык запросов SQL.
Запросы 1С бывают:
-Автоматические запросы 1С - Формируются автоматически системой. Вы создали форму списка документов. Добавили колонку. Это значит, что при открытии этой формы в режиме Предприятие будет запрос и будут запрошены данные по этой колонке.
-Полуавтоматические запросы 1С - есть множество методов (функций) в языке 1С, при обращении к которым происходит запрос к базе данных. Например .ПолучитьОбъект()
-Ручные запросы 1С (написанные программистом специально как запрос)
Так как 1С продвигает концепцию визуального программирования, где многое или почти все можно сделать без написания кода ручками – есть специальный объект Конструктор запроса, который позволяет без знания языка запросов нарисовать текст запроса Конструкторы-> Конструктор запросов. Далее выбираем значения, из каких таблиц ищем, задаем условия на выборку, указываем итоги, если нужно.