Для чего необходимо проводить документы в 1с. Стандартные реквизиты документа

Что собой представляют Документы 1С и как они работают – об этом и многом другом в нашей новой статье.

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

Что такое документы 1С и как они работают?

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

Как итог документация 1С предусматривает такие особенности:

    существует несколько видов учета (для денежных средств, для продукции и прочего);

    справочная информация определяет вид учета в разрезе с кассой, счетами в банках, товарами и проч.;

    в каждом документе определяется движение определенного количества средств.

Для чего предназначено?

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

Что собой представляют Документы 1С?

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

    Первый - обычный список, в котором собраны файлы одного конкретного вида, например, накладные;

    Второй - журналы представляют собой отдельные объекты, который дает возможность создавать списки различных документов.

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

    дата формирования документа;

    его номер;

    проведение по регистрам.

Автоматически ни один документ не проведен, то есть в отчетах его не видно. Чтобы это исправить, нужно выполнить 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).

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

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

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

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

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


01.07.2016

Учет первичных документов – неотъемлемая часть работы бухгалтера. После того, как документ создан в программе, распечатан на принтере и передан контрагенту на подписание, проходит некоторое время, прежде чем бухгалтер получает его полностью оформленным и готовым к передаче в архив. Зачастую документы совершают дальние путешествия – на самолете, автомобиле, в сумке почтальона. Некоторые документы теряются в пути. В то же время бухгалтер должен быть готов в любой момент предоставить копии или оригиналы первичных документов по запросу проверяющих органов. Поэтому очень важно вести учет наличия документов, а также статуса их готовности (в пути, потерялись, есть копия и т.д.).

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

В статье рассказывается, как организовать учет наличия документов в программе "1С:Бухгалтерия 8 , редакция 3.0".

Сразу предупредим, что готового учета наличия документов в программе пока нет. Есть некоторые элементы, но полной, законченной системы нет. Мы покажем, как можно организовать такой учет, используя стандартные средства программы – дополнительные реквизиты и сведения.

1. Постановка задачи

Необходимо учитывать статус наличия документов "Авансовые отчеты", "Поступления товаров и услуг", "Реализация товаров и услуг", "Счета-фактуры полученные", "Счета-фактуры выданные", "Счета поставщиков", "Акты сверки расчетов".

2. Настройка программы

Войдите в программу от имени пользователя с полными правами (в демо-примере таким пользователем является директор).

Раздел "Администрирование " – "Общие настройки ". Включите опцию "Дополнительные реквизиты и сведения ", а также опции "Реквизиты и сведения с общим списком значений " и "Общие реквизиты и сведения ", которые станут доступны после первого действия (см. рис.1).


Рис. 1. Общие настройки


Рис. 2. Создание дополнительного сведения

В поле "Наименование " введите "Статус документа ".

В поле "Тип значения " оставьте "Дополнительное значение ".

Нажмите кнопку "Записать ".

Теперь заполним список значений нашего дополнительного сведения. Перейдите на закладку "Значения ", нажмите кнопку "Создать " (см. рис.3).


Рис. 3. Заполнение списка значений дополнительного сведения

Первое значение в нашем списке – "Оригинал". Далее – как вы считаете нужным. Мы будем использовать следующие статусы документов: "Копия", "Ожидается", "Отсутствует" (см. рис.4).

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


Рис. 4. Список статусов документов

Добавим это дополнительное сведение во все документы, которые нужно контролировать.Следующий вид документов в нашем списке – "Акты сверки ра счетов "

На закладке "Дополнительные сведени я " нажмите кнопку командной панели "Добавить " – "Из другого набора ". Установите курсор на "Авансовый отчет " (слева) и "Статус документа " (справа) – см. рис.5.


Рис. 5. Добавление списка статусов к новому виду документов


Рис. 6. Создание общего списка статусов для всех документов

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

3. Настройка рабочего места

После того, как выполнена общая настройка, можно войти в программу от имени основного пользователя с правами бухгалтера (или полными правами, зависит от особенностей вашей организации учета).

3.1. Настройка журнала документов

Зайдите в Журнал авансовых отчетов (раздел "Касса "). Добавим в журнал дополнительную колонку "Статус документа ".

Для этого нажмите кнопку "Еще " – "Изменить форму ".


Рис. 7. Добавление в журнал документов колонки со значением статуса

Теперь установим текущий статус для выбранного документа. В журнале документов есть кнопка "Дополнительные сведения" (см. рис. 8). Нажмем ее. В поле "Статус документа" введем значение.

Рис. 8. Дополнительные сведения в списке документов


Рис. 9. Заполнение дополнительного сведения

Нажмем на кнопку "Записать и закрыть " (рис. 9).

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

  • открыть журнал заново;
  • нажать кнопку "Обновить " – ее можно найти в меню "Еще " и, если она будет часто использоваться, вывести на командную панель формы.
  • нажать F5 .


Рис. 10. Вывод кнопки на командную панель

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

Таким образом, после настройки рабочего места во всех журналах документов, наличие которых необходимо контролировать, будут колонки со статусом, показывающие, есть ли документ или он еще в пути, потерялся, на подписании и т.д. С помощью кнопки "Найти " вы сможете отфильтровывать документы с одинаковым статусом. Кроме того, можно сформировать список документов и вывести его на печать или сохранить в Excel.


Рис. 11. Вывод списка документов со статусом

Рис. 12. Список документов со статусом

Рис. 13. Печать реестра документов с графой "Статус документа"

Рис. 14. Настройка состава выводимых полей отчета

Дополнительные реквизиты и сведения – что это такое?
Дополнительные свойства объектов – механизм, позволяющий без изменения конфигурации "1С:Предприятия" расширить её функционал.

Дополнительные свойства объектов делятся на две категории:

  • дополнительные реквизиты – это свойства, которые хранятся в самом объекте и служат для хранения свойств, которые являются неотъемлемой частью объекта, вводятся при его редактировании и доступны для редактирования тем же пользователям, которым доступен и сам объект со свойствами;
  • дополнительные сведения – служат для хранения свойств, которые являются сведениями об объекте, а не его неотъемлемыми свойствами.

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

Для справочников в "1С Бухгалтерии" редакции 3.0 можно настроить как дополнительные реквизиты, так и дополнительные сведения. Но для документов можно настроить только дополнительные сведения.

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

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

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

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

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

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

Данные

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

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

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

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

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

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

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

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

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

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

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

Быстрая пошаговая демонстрация разработки приложения на платформе 1С:Предприятие 8.2.

Для выполнения примера вам понадобится платформа 1С:Предприятие 8.2. На нашем сайте вы можете скачать . Данная демонстрация подготовлена с использованием именно такой версии!

Простая система кадрового учета

26. Теперь создайте новый документ "ПриемНаРаботу". (установите курсор на ветку Документы и щелкнув правой кнопкой мыши выберите Добавить). Задайте имя документа ПриемНаРаботу. Перейдите на закладку Данные.

27. Добавьте реквизит "ФИО", укажите ему тип значения Строка и длина 100 символов.

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

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

Далее нужно создать таким же образом, как и реквизит "ФИО", остальные реквизиты и укажите для каждого из них правильный тип:
реквизит Должность - тип "СправочникСсылка.Должности"
реквизит Оклад - тип Число, длина 10, точность 2
реквизит ДатаПриема - тип Дата

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

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

Что конкретно произойдет при проведении документа, определяется программистом 1С. При проведении выполнится предопределенная процедура ОбработкаПроведения(). Именно в этой процедуре программист пишет программный код на языке 1С, которыйи совершает все изменения в системе. Сейчас нам нужно добраться до процедуры ОбработкаПроведения(). Она хранится в "Модуле объекта".

Для открытия модуля объекта перейдите на закладку "Прочее" и нажмите кнопку "Модуль объекта". Другой способ перейти в модуль объекта – выбрать в дереве конфигурации документ ПриемНаРаботу и кликнув правой кнопкой мышки выбрать "Открыть модуль объекта".

В результате откроется окно для редактирования текста программы.

28. На панели инструментов найдите пиктограмму "Процедуры и функции" и нажав на нее выберете "ОбработкаПроведения".

В результате в модуле объекта появилась процедура ОбработкаПроведения, но внутри нее пока ничего существенного. Напишите там следующий текст, пока не вникая в его смысл:

СпрСотр = Справочники.Сотрудники.СоздатьЭлемент();
СпрСотр.Наименование = ФИО;
СпрСотр.Должность = Должность;
СпрСотр.Оклад = Оклад;
СпрСотр.ДатаПриема = ДатаПриема;
СпрСотр.Записать();

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

Кстати, часто начинающие специалисты 1С забывают вызвать Записать() . Если вы не вызовете метод Записать(), то все ваши изменения не сохранятся в базе.

Обратите внимание, что каждый оператор в языке 1С заканчивается символом ";" (точка с запятой). После слова КонецПроцедуры точки с запятой нет, потому что это не оператор, а операторная скобка (есть такое понятие в 1С). Точки с запятой нет также после слов Цикл и Тогда , но после слов КонецЦикла и КонецЕсли обязательно ставьте точку с запятой. В данной программе мы не использовали ни циклы, ни условия.

Также обратите внимание как оформляются комментарии.

// это комментарий

Комментарии не учитываются компилятором и предназначены для человека, которому нужно разобраться в программе. Комментариев не должно быть слишком много и слишком мало. Программа сама по себе должна быть понятна, без комментариев. Но в сложных местах в комментариях можно пояснить логику работы программы. Написание комментариев и понятных программ - признак хорошего тона. Будьте в этом деле профессионалами!

29. Закройте окно модуля и сохраните конфигурацию.

Теперь можно попробовать принять нового сотрудника по всей форме.

30. Запустите 1С в режиме 1С:Предприятие. В панели навигации выберете "Прием на работу". Перед нами откроется список документов "Прием на работу" и это список пока пустой.

31. Создайте новый документ. Откроется форма документа "Прием на работу" для ввода данных. Номер документа присвоится автоматически после его записи, дата документа - сегодняшнее число.

Введите все данные: ФИО сотрудника, укажите ему должность, оклад и дату приема на работу.

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

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

Теперь организуем правильное увольнение сотрудников с помощью кадрового приказа.

32. Создайте в Конфигураторе новый документ "Увольнение". Укажите, что он содержит реквизиты "Сотрудник" тип "СправочникСсылка.Сотрудники" и "ДатаУвольнения" тип Дата.

33. Напишите следующий текст в модуле документа в процедуре ОбработкаПроведения():

СпрСотр=Сотрудник.ПолучитьОбъект();
СпрСотр.ДатаУвольнения=ДатаУвольнения;
СпрСотр.Записать();

Рассмотрим записанный программный код более подробно.

В первой строке нашего кода мы получаем из базы данных запись с сотрудником, который будет уволен. Метод ПолучитьОбъект() позволяет нам не только прочить значения реквизитов данного объекта, но и изменять их. Следующая строка устанавливает ему дату увольнения. И последняя строка записывает сделанные изменения в справочник Сотрудники.

34. Создадим журнал "КадровыеДокументы". Для этого установите курсор на ветку "Журналы документов" в дереве конфигурации и щелкните "Добавить". Задайте имя журнала.

На закладке "Данные" укажите регистрируемые документы: "ПриемНаРаботу" и "Увольнение".

Создадим новые графы:

  • Сотрудник – для документа "ПриемНаРаботу" это реквизит "ФИО", а для документа "Увольнение" - это реквизит "Сотрудник";
  • ДатаПриемаУвольнения – для документа "ПриемНаРаботу" это реквизит "ДатаПриема", а для документа "Увольнение" - это реквизит "ДатаУвольнения".

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

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

Для сравнения скажу, что написание такого же прикладного решения в другой среде или на другом языке программирования (Visual Basic или Delphi) займет в три или даже в пять раза больше времени и сил. Что бы там ни говорили недоброжелатели, но на 1С программы пишутся гораздно быстрее.

Случайные статьи

Вверх