|
|||||||||||||||||||||||
Документы предназначены для хранения основной информации о всех событиях, происходящих на предприятии, и, разумеется, имеющих смысл с точки зрения экономики. При помощи документов отражаются и платежи с расчетного счета, и операции но кассе, и кадровые перемещения, и движения по складу, и прочие подобные события. В процессе конфигурирования настраивается произвольное количество видов документов. Типичными примерами видов документов являются такие документы, как "Платежное поручение", "Счет", "Приходная накладная", "Расходная накладная", "Накладная на внутреннее перемещение", "Приходный кассовый ордер" и так далее. Каждый вид документа предназначен для отражения своего типа событий. Это определяет его структуру и свойства, которые описываются в конфигурации. Документы играют центральную роль для основных механизмов, реализуемых компонентами системы. В системе 1С:Предприятие документ является основной учетной единицей. Каждый документ содержит информацию о конкретной хозяйственной операции и характеризуется своим номером, датой и временем. Дата и время - наиболее важные характеристики документов, так как позволяют устанавливать строгую временную последовательность совершения операций. Все документы (вне зависимости от вида) образуют единую последовательность. Фактически, эта последовательность отражает последовательность событий - так, как они происходили реально. Внутри даты последовательность документов определяется их временем, при этом время документа является не столько средством отражения реального (астрономического) времени ввода документа, сколько средством, позволяющим четко упорядочить документы внутри одной даты. Данные,
вводимые в документ (реквизиты документа), обычно содержат информацию
о происшедшем событии: например, в накладной - информацию о том, с какого
склада, каких товаров и сколько отгружено; в приказе о приеме на работу
- информацию о сотруднике, оклад, другие сведения. Кроме собственно записи,
для документа весьма важным свойством является его проведение. При проведении
документ может отразить зафиксированное им событие в механизмах, реализуемых
компонентами. Например, если установлена компонента "Бухгалтерский
учет", документ может записать бухгалтерскую операцию, отразив в
виде проводок в бухгалтерском учете информацию, содержащуюся в документе. Состав документа С точки зрения программиста, у документа есть экранная форма -- Диалог. Именно его видит пользователь на экране. Также у документа обычно есть одна или несколько бумажных форм -- Таблиц. С помощью Таблиц документ печатается на бумаге. Поведение документа определяется с помощью встроенного языка 1С. На языке записывается, что документ делает в системе, как он формирует бумажный бланк и как он себя ведет на экране. Документ обычно имеет печатную форму. Печатная форма полностью формируется средствами встроенного языка 1С, что придает большую гибкость программе. Это одна из причин ошеломляющего успеха системы 1С:Предприятие. Печатная форма документа - это фактически отчет, формируемый обычно из формы открытого документа и содержащий сведения из этого документа. Чтобы научиться формировать печатные формы, вам нужно изучить главу Отчеты (объект "Таблица"). У документа может быть несколько шаблонов печатных форм. Средствами встроенного языка (метод ИсходнаяТаблица) задается тот шаблон печатной формы, который будет использоваться. Шаблоны печатных форм (таблицы) могут быть общие. Это дает возможность использовать один шаблон для печати нескольких видов документов. Т.е. общая таблица является глобальной для конфигурации и может быть использована в любом модуле. Примером из типовой конфигурации может являться шаблон печатной формы "Отчет о движении документа", который используется разными модулями конфигурации Проведение документа Некоторые документы могут проводиться. С точки зрения пользователя, "провести" документ означает "пустить его в дело". С точки зрения программиста, при проведении документа сработает модуль проведения документа (процедура ОбработкаПроведения). Именно там определяются все действия, выполняемые при проведении документа. Например, при проведении документа "Приказ о приеме на работу" сработает модуль этого документа, который в справочник Сотрудники добавит нового сотрудника. Атрибуты документов (реквизиты) Каждый вид документа может иметь неограниченное количество реквизитов в шапке и в многострочной части. Для документа создается форма ввода — экранный диалог. При настройке для документа задаются также общие характеристики: длина номера документа, условия поддержки уникальности номеров и другие. Все документы характеризуются номером, датой и временем. Термин "шапка" — достаточно условный и может относиться не только к реквизитам документа, которые физически находятся в верхней части бумажного бланка документа. Поэтому, в наиболее общем случае, реквизитом заголовочной части будет считаться любой реквизит, который встречается в документе только один раз. Табличная часть документа представляет собой список однотипных строк с информацией. Например, в уже упоминавшемся счете на оплату табличная часть — это перечень товаров или услуг, подлежащих оплате. Помимо наименований, табличная часть документа может содержать также разнообразную дополнительную информацию — стоимость товаров или услуг, количество, объем, вес и многое другое. В большинстве случаев табличная часть используется для формирования общей суммы документа. Структура документа в системе 1С:Предприятие 7.7 может содержать только одну табличную часть. При разработке документов в Конфигураторе может быть создано необходимое количество общих реквизитов документов. Такие реквизиты, будучи созданными один раз, становятся доступными для всех документов: общие реквизиты можно размещать в формах документов, к значениям общих реквизитов можно обращаться из встроенного языка системы 1С:Предприятие. Работая с системой 1С:Предприятие, пользователь может выполнять отбор документов в журналах по значениям общих реквизитов документов Журналы документов Все документы хранятся в журналах. Журнал документов -- это электронный аналог обычной бумажной папки. На экране журнал выглядит как таблица, строки которой являются документами. Например, вы можете создать журнал Приказы кадровые, который будет включать документы "Приказ о приеме на работу", "Приказ об увольнении", "Кадровое перемещение". С этим журналом будет работать пользователь-кадровик. Или можно создать отдельный журнал для банковских документов, куда войдут документы "Платежное поручение" и др. Журналы документов предназначены для просмотра документов. Каждый вид документа может быть отнесен к определенному журналу. Сам журнал документов не добавляет новых данных в систему, а служит только как средство просмотра списка документов одного или нескольких видов. Для документов разных видов можно указывать один журнал, что позволяет произвольным образом группировать документы в журналах. Назначенный документам журнал можно менять. Например, может быть создан журнал «Складские документы», который будет содержать все приходные накладные и накладные на внутреннее перемещение. Назначенный документам журнал можно менять. Для журнала могут
быть определены графы журнала, для удобства просмотра реквизитов различных
видов документов, отнесенных к данному журналу. Для журнала может быть
описано несколько форм его визуального представления. Для работы с документами могут использоваться специально созданные общие журналы. От «обычных» журналов документов их отличает возможность отбора документов по значению, указанному пользователем. Журналы в системе 1С могут быть трех видов: Обычный, Общий и Дополнительный. Обычный журнал предназначен для хранения документов определенных видов. Документ также может быть включен в дополнительный журнал, при этом документ будет зарегистрирован сразу в двух журналах. Дополнительных журналов может быть несколько. Общий журнал показывает документы всех видов. У журнала документов есть экранная форма, где можно настраивать отображаемые колонки. Можно создавать дополнительные колонки, которые будут отображать информацию из документов. Например, в журнале ПриказыКадровые удобно сразу видеть, к какому сотруднику относится каждый документ, для этого создается Графа журнала Сотрудник Сравнение документов с другими объектами
|
Форма журнала документов Каждый документ представляется в журнале документов отдельной строкой. Журнал содержит колонки, состав которых настраивается программистом. Кроме того, форма журнала документов может содержать любые другие элементы управления: кнопки, переключатели, информационные поля. Они могут быть сверху, снизу или сбоку. Интервал журнала В журнале документов можно установить интервал. Тогда он будет показывать только те документы, у которых дата попадает в этот интервал. Для установки интервала предусмотрена специальная кнопка на панели инструментов журнала. Кроме того, интервал можно установить программно методом УстановитьИнтервал Графы
журнала Отбор, закладки отбора В журнале документов можно программно или вручную установить отбор, тогда журнал будет показывать только нужные пользователю документы. Для установки отбора вручную предназначена специальная кнопка на панели инструментов журнала. Отбор можно установить по общим графам документов, а также по виду документов. Нельзя установить отбор по двум критериям одновременно. Отбор возможен только в ОБЩИХ журналах! Для упрощения процедуры отбора могут быть использованы закладки. Для этого используется метод ЗакладкиОтбора. Предопределенные
процедуры
Сортировка Поиск
документа в журнале Форма журнала документов Для пользователя содержимое
документа представляется в экранной форме документа:
Для обслуживания работы действий с документами в системе 1С имеется большое количество предопределенных процедур. Однако, прежде чем приступить к описанию последних, сделаю важное пояснение. Документ как объект конфигурации содержит ДВА РАЗНЫХ программных модуля. 1. Один их них (Модуль документа) запускается при интерактивном или программном выполнении некоторых важных действий: проведение, отмена проведения, удалении проведенного документа, архивации записей журнала расчетов, порожденных документом. Фактически вышеприведенные действия сопоставляются с соответствующими предопределенными процедурами модуля документа. Операторам модуля доступны все реквизиты документа, но не доступны реквизиты экранной формы документа. Предопределенные процедуры, принадлежащие модулю документа:
2. Модуль формы запускается при каждом открытии формы документа. В его контексте доступны все реквизиты документа и реквизиты формы. Кроме предопределенных процедур модуля формы, там можно разместить вспомогательные процедуры и функции, вызываемые, например, экранными кнопками. Не путайте: предопределенные процедуры модуля документа нельзя размещать в модуле формы, и наоборот!
Не забывайте о том, что имеются предопределенные процедуры, общие для любых форм системы 1С, такие как ПриОткрытии(), ПриЗакрытии() и т.д. Их подробное описание здесь не приводится, дабы не перегружать главу о документах. Печатные формы документа Документ обычно имеет печатную форму. Печатная форма полностью формируется средствами встроенного языка 1С, что придает большую гибкость программе. Это одна из причин ошеломляющего успеха системы 1С:Предприятие. Печатная форма документа - это фактически отчет, формируемый обычно из формы открытого документа и содержащий сведения из этого документа. Чтобы научиться формировать печатные формы, вам нужно изучить главу Отчеты (объект "Таблица"). Все операторы, которые выполняют вывод на печать данных отчетов, точно так же позволяют печатать данные из документов. У документа может быть несколько шаблонов печатных форм. Средствами встроенного языка (метод ИсходнаяТаблица) задается тот шаблон печатной формы, который будет использоваться. Шаблоны печатных форм (таблицы) могут быть общие. Это дает возможность использовать один шаблон для печати нескольких видов документов. Т.е. общая таблица является глобальной для конфигурации и может быть использована в любом модуле. Примером из типовой конфигурации может являться шаблон печатной формы "Отчет о движении документа", который используется разными модулями конфигурации. Маленькая хитрость: если вы создали свою печатную форму для какого-либо документа, или "заточили" типовую, рекомендую сохранить её в отдельном файле печатной формы (*.mxl) тогда при переходе с релиза на релиз вам не будет нужды переделывать таблицы документа, достаточно будет в операторе ИсходнаяТаблица() процедуры печати вставить ссылку на внешний файл. |
При интерактивном или программном создании нового документа ему автоматически присваивается новый уникальный номер. Его можно получить или установить какой-нибудь другой с помощью атрибута НомерДок: Док = СоздатьОбъект("Документ.Счет"); Если вы используете распределенную базу или желаете, чтобы документы обозначали пользователя, который их создал, полезно пользоваться префиксами - одним или двумя символами, которые подставляются перед собственно номером документа, но при этом "входят" в номер. Не забывайте, что префикс должен быть строковым ("Сч-" или "01", или "1-"), а в свойствах документа должен быть установлен строковый тип номера. Док = СоздатьОбъект("Документ.Счет"); Этот метод изменяет префикс по умолчанию, или возвращает текущее значение префикса, если использовать метод без параметра. А вот другая возможность: Док = СоздатьОбъект("Документ.Счет"); В отличие от предыдущего
этот метод устанавливает (а точнее переустанавливает введенный по умолчанию
при исполнении метода Новый()) новый номер с указанным префиксом. Нумератор представляет собой объект метаданных, описывающий правила нумерации документов: тип и длина номера документа, его периодичность, необходимость контроля уникальности. Основное назначение нумератора - обеспечить возможность сквозной нумерации документов разного вида, для чего таким документам назначается одинаковый нумератор. Периодичность. Этот реквизит устанавливает 2 важные характеристики нумератора: пределы контроля уникальности номеров документов и период повторяемости номеров. Если включен признак контроля уникальности номеров (см. ниже), "Периодичность" устанавливает, в каких пределах осуществлять этот контроль. Например, если установлено "В пределах дня", то уникальность номеров документов будет контролироваться в пределах суток: на следующие сутки номера документов могут повторяться. При включенной автоматической нумерации система будет присваивать очередной порядковый номер каждому новому документу. После завершения периода, установленного в реквизите "Периодичность", нумерация документов начнется с 1. Длина. Устанавливает максимальную длину номера документа. Не размахивайтесь без нужды, "длинный" номер снижает производительность работы. Тип. Группа "Тип" позволяет выбрать тип значения для номера документа - числовой или текстовый. Выбор текстового типа номера бывает полезен, когда используется сложная система нумерации документов, и номер документа может включать, помимо цифр, также буквы и символы-разделители. Контроль уникальности.
Если эта опция включена, то при вводе нового документа его номер проверяется
на уникальность в пределах, установленных в реквизите "Периодичность". |
Дата создания (или записи) - обязательный атрибут любого документа. Через него можно получить или назначить дату, с которой будет записан документ: Док = СоздатьОбъект("Документ.РасходнаяНакладная"); Кроме даты, позиция документа обозначается временем. С ним можно поступать так: Часы = 0;
ИначеЕсли Часы < 8 Тогда
ИначеЕсли Вопрос("Записать документ с текущим временем?", 4) = 7 Тогда // ответ "Нет"
Иначе
КонецЕсли; В крупных многопользовательских системах часто возникает ситуации, когда новые документы записываются почти одновременно, внутри одной секунды. Но все равно не возникает никаких накладок, т.к. документы разделяются внутри секунды с помощью позиции документа. Она представляет собой специальное 32-х символьное выражение, которое можно прочитать с помощью специального метода: ПозДокумента = Док.ПолучитьПозицию(); // только чтение ! Позиция имеется только у записанного документа. |
Последовательности документов - специальный механизм системы 1С, который позволяет поддерживать правильность итогов и данных проводок документов. Если документы при проведении использует данные бухгалтерских итогов или итогов регистров, то в случае, если задним числом каким-то образом меняются итоги, необходимо автоматически перепроводить все документы, которые использовали измененные итоги. Вот надзором за этим делом и занимаются Последовательности. При описании последовательности в конфигураторе, описывается, какие изменения регистров или бухгалтерских итогов по счетам будут влиять на последовательность, и какие документы входят в эту последовательность (это могут быть документы разного вида). Граница последовательности (ГП) - позиция последнего проведенного с "правильными" итогами документа. Если какие-то итоги изменяются задним числом, граница последовательности отодвигается назад на последний документ, при проведении которого использовались последние "нетронутые" итоги, а все документы, проведенные на основе изменившихся данных итогов, окажутся после границы последовательности. Восстановление последовательности - значит перепроведение всех документов, начиная от границы последовательности, заканчивая точкой актуальности или рабочей датой. Для восстановления последовательности в пользовательском режиме необходимо вызвать пункт Проведение документов… меню Операции. Методы последовательностей записываются через точку после полного имени последовательности: Последовательность.УчетТоваров.ПринадлежитПоследовательности(ТекДокумент); Программные методы последовательностей
Пример автоматической процедуры восстановления последовательности // получим границу
последовательности
КонецЦикла; |