Создание нового документа 1с 8.2.

Сегодня мы продолжим обучение в программе 1с и узнаем, как создать новый документ в 1С Предприятие. Для этого мы перейдем в режим «Конфигуратор», откроем нашу конфигурацию, и в объектах конфигурации найдем «Документы».

Открывается окно, в котором следует заполнить нужную информацию. Отметим, что в поле «Имя» нельзя оставлять пробелы. Если название документа состоит из нескольких слов, используйте нижнее подчеркивание. Поле «Синоним» служит для более читабельного вида названия нового документа. Здесь пробелы допустимы, и данное поле заполняется автоматически. Также, полезно будет заполнить поле «Представление списка», если вы хотите, чтобы новый документ «Накладная» в списке документов отображался как «Накладные». Вкладка «Подсистемы» служит для настройки нужных категорий пользователей, для которых будет отображаться данный документ 1с.


Пожалуй, самая важная вкладка при создании нового документа 1с 8.2 — это «Данные». Здесь требуется указать все реквизиты, которые нужны в документе. При необходимости, можно добавить табличные части. Вкладка «Нумерация» позволяет вести нумерацию документов. Здесь можно использовать внешний нумератор, или сделать нумерацию только документов этого вида. При этом, существует возможность выбора времени обнуления нумерации, например, в пределах года или месяца. Чтобы создать форму документа в 1с, перейдите на вкладку «Формы». Здесь вы сможете настроить внешний вид нового документа и его списка.


Дополнительные вкладки используются намного реже, но они позволяют более точно настроить работу документов 1с. Например, на вкладке «Движения» можно разрешить или запретить проведение, на вкладке «Ввод на основании» добавить документы, на основании которых можно создать текущий документ и т.д.
Итак, программно создать документ 1с достаточно просто. Открывайте «Конфигуратор», следуйте инструкциям и скриншотам из данного текста, и все будет хорошо!

В данной статье будет рассмотрено такое понятие как документы 1С, что это за объект конфигурации, каково его предназначение, какие существуют настраиваемые свойства для объекта; как можно работать с этим объектом интерактивно и программно.


Жизнедеятельность любого предприятия не представляется возможным без регистрации различного рода событий, возникающих очень часто. Называются эти события - хозяйственные операции . Регистрацией хозяйственной операции в 1С служит документ.

Примеры хозяйственных операций: поступление товаров на склад, списание товаров со склада, прием денежных средств в кассу, прием сотрудника на работу и т. д.

Все эти операции должны быть оформлены соответствующими бумажными документами. Объект документ, регистрируемый с системе 1С, как раз и является аналогом этого бумажного документа. Следует отметить тот факт, что у нас, по крайней мере, существует два различных учета. Это управленческий учет и регламентированный учет. В регламентированном учете хозяйственная операция не может существовать без документа, подтверждающего ее. В управленческом же учете наличие документа, для хозяйственной операции, не является обязательным условием, так как перечень совершаемых операций в управленческом учете может быть разнообразным. В этом случае просто происходит фиксирование какой-то информации в виде электронного документа.

Итак у нас есть документ бумажный и документ электронный. Между ними необходимо произвести аналогию. При оформлении бумажного документа обязательным условием является наличие в нем номера и даты. Аналогично и электронный документ должен содержать номер и дату. По этим полям мы может найти нужный нам документ. Поэтому номер и дата являются ключевыми свойствами.

Рассмотрим ключевое свойство "Дата" . В версии 7.7 оно называлось "ДатаДок" , в версии же 8 оно стало называться просто "Дата" . Это очень важное свойство документа. Почему это так? Рассмотрим ситуацию с торговой организацией, в которой осуществляется регистрация факта поступления товара и его продажи. Так вот продать товар, дата поступления которого больше даты продажи, не представляется возможным, потому как нельзя продать товар который еще не поступил.

Отметим что в некоторых типовых конфигурация есть возможность продать, еще не поступивший товар. Но это скорее исключение чем правило и относится к специфике торгового предприятия.

Вот именно поэтому наличие даты в документе так важно. Также необходимо отметить, в свойстве "Дата" содержится не только дата, но и время документа с точностью до секунды.

Очень часто такой идентификации документа на временной оси оказывается недостаточно.

Представим ситуацию, когда на склад поступает 100 единиц товара 1-го числа месяца. Далее 2-го числа этого же месяца в 23:59:59 происходит его продажа, в количестве 80 единиц. Документ проводится без проблем, потому как товара хватает. Допустим, что также 2-го числа в 23:59:59 этот же товар еще кто-то тоже продает в количестве 50 единиц. Этот документ также проведется без проблем, потому как на время 23:59:59 этот товар есть. Хотя фактически у нас, по итогу проведения второго документа образуется отрицательный остаток в 30 единиц товара.

Чтобы таких ситуаций не возникало к дате и времени прибавляется еще и позиция документа, а именно его ссылка. Эта идентификация документа по дате и времени + ссылка называется момент времени . И при проведении второго документа система выдаст сообщение о нехватке 30 единиц товара и не позволит провести документ.

Как же получить момент времени? А получается он методом "МоментВремени" , принадлежащий классу "ДокументОбъект" . При этом возвращается тип данных "МоментВремени" .

Этот тип данных необходимо передавать в запросы, получающие остаток товара, в качестве параметра.

Пример получения момента времени:

&НаКлиенте Процедура ПолучитьМоментВремени(Команда) ПолучитьМоментВремениНаСервере(Объект. Ссылка) ; КонецПроцедуры &НаСервере Процедура ПолучитьМоментВремениНаСервере(Ссылка) Если Ссылка. Пустая() Тогда Сообщить("Документ не записан!" ) ; Возврат ; КонецЕсли ; ДокументОбъект = Ссылка. ПолучитьОбъект() ; МоментВремени = ДокументОбъект. МоментВремени() ; Сообщить(МоментВремени) ; КонецПроцедуры // ПолучитьМоментВремениНаСервере()

Установка времени документа

Разберем, каким образом система устанавливается отметку времени для вновь вводимых документов. При создании документа, по умолчанию присваивается текущая системная дата с нулевым временем, а при записи устанавливается текущая отметка времени.


При оперативном проведении есть следующий нюанс. Если его дата равна текущей, время будет принимать значение текущего времени. Если бы документ проводился неоперативно, то только в момент его ввода присваивалась текущая отметка времени, а дальше она оставалась бы неизменной. Если же документ вводится не текущим числом, то первоначально присваивается нулевая отметка времени, а при записи присваивается самая последняя отметка за этот день. То есть система ищет последний введенный документ за этот день смотрит его время, увеличивает его на секунду и присваивает его нашему документу. Если создать документ на дату, в которой не вводился ни один документ данного вида (например поступление товаров), но были введены документы другого вида (например списание товаров), то система возьмет самую последнюю дату документа другого вида, прибавит к ней секунду и присвоит нашему документу. Если же создать документ с датой, в которой не вводился ни один документ, ни одного вида, то платформа присвоит ему время 12:00:00.

И еще ситуация. Представим себе, что у нас в базе есть документ с отметкой времени 23:59:59 и если прибавить еще одну секунду это уже будут следующие сутки. Поэтому система оставляет такое же время, то есть 23:59:59. Описанная выше система установки времени документа является лишь значением устанавливаемым по умолчанию. Но есть возможность переопределить такое поведение. Откроем в конфигураторе форму документа и обратимся к ее свойствам. В свойствах мы увидим поле "АвтоВремя" . Если мы в этом свойстве ничего не меняем, то формирование времени документа происходит так как это было описано выше. Но можно указать время: текущее или в начало дня, всегда первым, всегда последним и не использовать.

Еще одно ключевое свойство документа - номер . Номер документа, как и дата, является обязательным свойством любого документа. Необходим он для идентификации документа по распечатке.

Возможность проведения

Документ может иметь три состояния: создан, помечен на удаление и проведен . Проведенный документ может менять финансовое состояние предприятия, менять количество товаров на складе и т. д. То есть непроведенный документ это некий черновик, а при проведение он вступает в силу и соответственно регистрирует какое-то событие. Система 1С дает возможность изменять проведенный документ, отменять его проведение, что в отличии от западных аналогов программ, является более мягким принципом ведения учета.

Стандартные реквизиты документа

Помимо тех реквизитов, которые разработчик добавляет в документ, есть еще стандартный набор реквизитов, внедренные в документ уже на уровне платформы. Это: ссылка, номер, дата, пометка удаления, проведен . Найти их можно на закладке "Данные" , кнопка "Стандартные реквизиты" .

О номере и дате мы уже говорили. Пометка удаления это булевский признак, содержащий информацию о том, помечен документ на удаление или нет. Ссылка - реквизит, предназначенный для уникальной идентификации документа в таблице документов. Проведен - булевское свойство содержащее информацию о том, проведен документ или нет.

Документ может находится в трех состояниях:

  • Не помечен на удаление и не проведен;
  • Не помечен на удаление и проведен;
  • Помечен на удаление и не проведен.

Как уже отмечалось ранее, разработчик может самостоятельно добавлять необходимые реквизиты, а также табличные части. Каждая табличная часть имеет один стандартный реквизит - "НомерСтроки" .


Хранение документов в информационной базе

В базе, каждый вид документов, хранятся в отдельной таблице. Эта таблица содержит в себе все реквизиты документа. Табличные части же хранятся в отдельных таблицах. Связь с таблицей документов производится по реквизиту "Ссылка" .

Нумерация документов

Каждый документ имеет номер, настройка которого задается на вкладке "Нумерация" . На этой вкладке можно задать признак автоматической нумерации, признак контроля уникальности, задать какого типа будут номер (числовой или строковый) и его длину.

Рекомендуется устанавливать строковый тип номера, потому как в дальнейшем возможно потребуется указывать в номере и префикс организации, что бывает очень часто.

Префикс устанавливается в модуле объекта документа, в процедуре "ПриУстановкеНовогоНомера" .

Процедура ПриУстановкеНовогоНомера(СтандартнаяОбработка, Префикс) КонецПроцедуры

Также на вкладке "Нумерация" мы можем задать периодичность документа.

Возможные значения:
  • Непериодический;
  • В пределах года;
  • В пределах квартала;
  • В пределах месяца;
  • В пределах дня.
Обычно выбирают значение "в пределах года" , это означает, что в новом году нумерация документов начнется сначала.

Иногда возникают ситуации, когда для нескольких видов документов необходима сквозная нумерация. Для этих случаем в системе предусмотрен такой объект как нумератор.

Его необходимо указывать в поле "Нумератор" .

Проведение документов

Немного о проведении документов. Для системы означает, что документ проведен если булевский флаг "Проведен" у документа установлен в "Истина" . В общем списке такие документы выделены соответствующей пиктограммой. Для платформы это более ничего не значит, но с точки зрения логики программы, проведенный документ может влиять на финансовый результат компании. То есть он может формировать движения по регистрам, основываясь на которые формируются отчеты.

Когда происходит интерактивное или программное проведение срабатывается выполнение процедуры "ОбработкаПроведения()" , которая находится в модуле объекта документа.

// Вставить содержимое обработчика. КонецПроцедуры

Данная процедура имеет два параметра: отказ и режим . Если выставить параметру отказ значение "Истина" , то проведение не будет выполнено. Параметр "Режим" устанавливает режим проведения документа - оперативное или неоперативное . Сами движения в регистры разработчик должен прописать в данной процедуре самостоятельно.

То, в какие регистры документ будет делать движения задается на вкладке "Движения" .

Пример процедуры обработки проведения

Процедура ОбработкаПроведения(Отказ, РежимПроведения) // Данный фрагмент построен конструктором. // При повторном использовании конструктора, внесенные вручную изменения // будут утеряны!!! // регистр ТоварыНаСкладе Приход Движения. ТоварыНаСкладе. Записывать = Истина ; Для Каждого ТекСтрокаТовары Из Товары Цикл Движение = Движения. ТоварыНаСкладе. Добавить() ; Движение. ВидДвижения = ВидДвиженияНакопления. Приход; Движение. Период = Дата; Движение. Товар = ТекСтрокаТовары. Товар; Движение. Количество = ТекСтрокаТовары. Количество; КонецЦикла ; //__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ КонецПроцедуры

Права доступа на документы

В системе 1С существуют различные виды доступа. Это анализ интерактивных действий и анализ программных действий.

Что такое интерактивные действия? Это действия совершаемые непосредственно пользователем: нажатие кнопок, галок и т. д. Программные же действия совершаются каким-либо алгоритмом, о их совершении пользователь может и не догадываться.

Права доступа к документу настраиваются на закладке "Права" . Здесь мы видим несколько разделов, это раздел где отображаются роли, раздел непосредственно прав, и раздел "Ограничения доступа к данным" (его мы не будем рассматривать, он необходим при использовании так называемого механизма RLS).

Раздел "Роли" отображает все роли заведенные в информационной базе, для которых в разделе "Права" мы как раз и устанавливаем права доступа.

Возможные виды прав доступа:
  • чтение (программно), просмотр (интерактивно);
  • добавление (программно), интерактивное добавление (интерактивно);
  • изменение (программно), редактирование (интерактивно);
  • удаление (программно), интерактивное удаление (интерактивно);
  • проведение (программно), интерактивное проведение (интерактивно);
  • отмена проведения (программно), интерактивная отмена проведения (интерактивно);

Интерактивный вид доступа содержит еще такие права как: интерактивная пометка на удаление, интерактивное снятие пометки на удаление, интерактивное удаление помеченных, интерактивное проведение неоперативное, интерактивное изменение проведенных, ввод по строке.

Табличная часть документа

Табличные части документа задаются на вкладке "Данные" и являются ничем иным как коллекций, элементами которой являются строки табличной части. Поэтому обход ее элементов возможен как циклом, так и прямым обращением по индексу (нумерация начинается с нуля).


Документы в 1С 8.2 и 8.3 — объект метаданных, с помощью которого в 1С фиксируются хозяйственные операции предприятия.

Каждый созданный документ в конфигурации создать для отражения своего типа операции, например: поступление товаров, списание товаров и т.д.

Документы могут проводиться, а могут просто записываться. Документ, у которого разрешено проведение, как правило, при проведении создает записи в , тем самым внося изменения в учет организации. Документы, у которых запрещено проведение, обычно используются как печатные формы, например: , и т.д.

Рассмотрим основные настройки и свойства документов.

Настройка и свойства документов в 1C 8.3 и 8.2

Рассмотрим самые интересные вкладки с точки зрения разработчика.

Данные

Одна из основные вкладок документа:

Здесь описывается структура хранения информации будущего документа, реквизиты аналогичны . Сильно отличаются стандартные реквизиты:

Получите 267 видеоуроков по 1С бесплатно:

Движения документа

Самая важная вкладка, на которой определяется состав регистров, по которым будет делать движения документ:

Рассмотрим подробно свойства документа на этой странице:

Проведение — разрешить или запретить. Определяет, будут ли движения по данному документу.

Оперативное проведение — разрешить или запретить. Если установлено разрешить, то проведение документа будущей датой невозможно.

Удаление движений — определяет режим очистки движения документа: Удалять автоматически при отмене проведения — движения будут очищены только при нажатии кнопки «Отмена проведения», но не удаляет при перепроведении. Удалять автоматически — значит, что движения будут удаляться в любом случае, даже если документ 1С перепроводится. Не удалять автоматически — значит, что удаление движений берет на себя разработчик системы.

Также для построения простых движений документа существует специальный конструктор движений, позволяющий упростить разработку:

Документ может быть введен на основании плана обмена, справочника, бизнес-процесса, задачи или другого документа. Для удобства можно воспользоваться специальным конструктором ввода на основании, который автоматически сгенерирует модуль обработчика заполнения:

Программы 1С включают в себя такое средство разработки справочников, отчетов и документов, как конфигуратор 1С. Он состоит из множества инструментов для разработки и усовершенствования информационных баз. Каждый пользователь имеет возможность с помощью конфигуратора подстроить программу учета под нужды и требования своего предприятия. Например, пользователи могут в конфигураторе 1С добавить документы, журналы, справочники или другие элементы, внести изменения в их структуру, реквизиты и свойства, то есть, - создать собственную информационную базу данных. Все эти действия производятся в подструктурах дерева объектов конфигуратора.

Как создать документ в конфигураторе 1С?
Работа с документами - обязательная составляющая ведения учета предприятия. Они нужны для того, чтобы описывать и отслеживать все операции, которые проводят сотрудники. Для каждой фирмы или компании набор необходимых для учета документов - индивидуальный. Поэтому каждый пользователь программы учета должен знать, как создать новый документ в конфигураторе 1С.

Как правило, каждое предприятие использует для учета приходные накладные, платежки и счета, кадровые ведомости. Пользователи программы 1С ежедневно выполняют целый ряд стандартных операций для обработки этих документов. Первой и главной из них является создание документов в конфигураторе 1С.

Чтобы начать создание нового документа, нужно в структуре конфигуратора нажать: «Документы»-«Добавить». Последующий процесс рассмотрим на примере создания одного из наиболее важных для предприятия документов - приходной накладной. С ее помощью пользователи смогут отслеживать поступление товара и обновлять данные о его наличии на складе.

Перед тем, как создать документ в конфигураторе 1С: Предприятие, необходимо указать имя документа, а также ввести дополнительные реквизиты. В случае с приходной накладной в документ нужно добавить поля «Товар», «Количество товара», «Цена», «Сумма», «Поставщик». Эти параметры нужно вводить вручную, а номер и
дату документа конфигуратор 1С генерирует автоматически. Эти сведения по умолчанию программы изменять можно только в случае крайней необходимости, обладая полными правами пользователя. Но делать это не рекомендуется, так как таким образом можно нарушить последовательность документов в базе данных.

При создании нового документа в конфигураторе 1С важно позаботиться и о том, чтобы после добавления приходной накладной в регистре остатков появлялись данные о новом товаре. Для этого нужно использовать конструктор движения товаров. Здесь требуется нажать на кнопку «Запомнить выражения». После того, как создать документ в конфигураторе 1С 8 таким способом, вся информация с накладных автоматически будет добавляться в регистр «Остатки». Это поможет пользователям всегда обладать актуальной информацией о наличие товара на складе.

Удаление документов в конфигураторе
Если для того чтобы добавить новый документ в конфигуратор 1С не возникает никаких препятствий, то удаления документов напрямую система 1С не предвидит. Существует два способа: через пометку, прямое или интерактивное удаление. В большинстве случаев пользователи выбирают первый способ - удалить помеченные документы в конфигураторе 1С. Чтобы сделать это, необходимо перейти на вкладку «Операции»-«Обработка»-«Удаление помеченных объектов». После этого перед пользователем появится окно со списком всех объектов. Здесь нужно выбрать нужные документы и нажать кнопку «Контроль». Система проанализирует список и покажет, какие документы можно удалить, а какие - не рекомендуется, помечая их галочками и крестиками. Выбрав доступные для удаления документы, нужно нажать кнопку «Удалить».

Использовать интерактивное удаление рекомендуется только при необходимости отладки, потому что оно не гарантирует ссылочную целостность. Это значит, что в процессе удаления могут появиться «битые» ссылки, а это, в свою очередь, приводит к неполадкам в системе конфигурации. Для того чтобы включить возможность интерактивно удалить документ в конфигураторе 1С, нужно перейти в раздел «Общие»-«Роли», и активировать «Полные права». Они и предоставляют возможность прямого удаления документов. После этого для того чтобы удалить документ, достаточно выделить его и нажать Shift+Del на клавиатуре.

Редактирование документов в конфигураторе
Иногда случаются ситуации, когда пользователям необходимо изменить документ в конфигураторе 1С. Это можно сделать с помощью нескольких способов:
через окно редактирования объекта;
через палитру свойств объекта;
через окно «Дополнительно».

Вызов окна редактирования объекта - первый и самый простой способ. Открыть его можно, дважды кликнув мышкой на документ, который нужно изменить. Здесь можно редактировать структуру документа, его основные и дополнительные параметры.

Второй метод изменения документа в конфигураторе в 1С - это палитра свойств документа. Открыть ее можно, нажав на «Свойства объекта» в меню или же воспользовавшись комбинацией Alt+Enter на клавиатуре. Окно «Дополнительно», которое тоже используют для редактирования, можно вызвать в контекстном меню объекта.

Перед тем, как редактировать документ в конфигураторе 1С, необходимо разрешить возможность изменений. Для этого нужно перейти: «Конфигурация»-«Поддержка»-«Настройка поддержки». В этом разделе необходимо нажать на кнопку «Включить возможность изменения».

Другие операции с документами в конфигураторе
Печать документа из конфигуратора 1С осуществляется с помощью печатных форм. Для того чтобы открыть печатную форму документа, нужно в дереве объекта зайти в ветку «Макеты». Именно здесь прописываются шаблоны, вид и содержание печатных форм.

Для удобства печати существует функция предварительного просмотра документов в конфигураторе 1С. Она предназначена для того, чтобы посмотреть, как будет выглядеть напечатанная страница, и, в случае необходимости, внести изменения в печатную форму. Предварительный просмотр всегда можно отключить, если в нем нет нужды.

Множество пользователей интересуются, где в конфигураторе 1С проведение документов. Для того чтобы настроить эту операцию, необходимо перейти во вкладку «Обработка»-«Обработка документов». Именно здесь проводятся документы, и формируются реестры. Открыв эту обработку, можно редактировать процедуру проведения.

Если пользователю необходимо запретить возможность внесения изменения, можно установить для документа в конфигураторе 1С дату запрета изменений. Для этого конфигуратор содержит целую подсистему «Дата запрета изменений». Эта обработка проверяет, задана ли такая функция перед тем, как сохранять внесенные изменения. Если задана, редактирование не будет сохранено.

Скопировать документ в конфигураторе 1С можно, выделив его и нажав на клавиатуре Ctrl+C. После этого его можно будет вставить в другую базу данных, если нажать Shift+Insert. Также в некоторых конфигурациях можно выполнить копирование, просто перетянув документ мышью.

Помощь с объектами и документами в конфигураторе 1С
Специалисты компании «Сетби» проводят обучение азам программирования в конфигураторе 1С, для того чтобы сделать работу вашей компании максимально эффективной. Поэтому, если вам не удается самостоятельно разобраться с созданием и редактированием документов в конфигураторе 1С, обращайтесь к нам за помощью. Оставьте свои контакты, и мы свяжемся с вами для консультации.

Создадим новый документ, зададим название:

Создадим необходимые реквизиты шапки и табличной части

Разместим все реквизиты на форме. Имеется возможность использовать переключатели для какого-либо значения для удобства выбора:

При изменении переключателя можно сделать отображение определенных полей и формирование определенных проводок.

При вводе цены и количества написать код для расчета Суммы .

При проведении документа необходимо написать процедуру обработки проведения для того, чтоб документ сформировал определенные проводки после сохранения.

Однако документ еще провести не удастся, для этого его необходимо добавить в «Регистраторы» Регистра бухгалтерии «Хозрасчетный»:

Если документ при перепроведении создает новые проводки и при этом сохраняет старые, тогда необходимо установить значение «Удаление движений» в «Удалять автоматически»:

Проводки документа мы можем просмотреть в журнале проводок, что не совсем удобно, вызов проводок документа выполним через копку, для этого разместим на документе кнопку:

И в модуле напишем следующее для этой кнопки:

Процедура ДействияФормыЖурналПроводок(Кнопка)

ОбщегоНазначения.РучнаяКорректировкаОсновнаяФорма(ЭтоНовый(),Ссылка,ЭтотОбъект);

КонецПроцедуры

Такую же кнопку добавим и на форму списка, однако код будет отличаться:

ОбщегоНазначения.РучнаяКорректировкаОсновнаяФорма(Ложь,ЭлементыФормы.ДокументСписок.ТекущиеДанные.Ссылка,

ЭлементыФормы.ДокументСписок.ТекущиеДанные.Ссылка.ПолучитьОбъект());

Вы уже пробуете нажимать на кнопки?...

Да, они не работают:) Ведь форма отображения проводок хранится в Обработке «КорректировкаДвижений», необходимо в данной обработке указать тип реквизита «ДокументОбъект» - ваш документ:

Все получилось, кроме возможности ручной корректировки проводок. Для того, чтоб появилась данная возможность, необходимо всего лишь создать реквизит «Ручная корректировка» (типа Булево) в документе, который вы создаете:

Теперь в проводках можно добавлять, удалять и изменять значения.



Просмотров