При проведении документа «Прием на работу» данные из этого документа должны перейти в справочник «Сотрудник». Это делается с помощью модуля проведения документа. Все действия записываются на встроенном языке «1С» .
39. Создайте модуль проведения: выберите вкладку Метаданные, откройте папку Документы, выберите документ ПриемНаРаботу, М2, нажмите Модуль документа, введите код по Пример 24.5, «Код модуля документа ПриемНаРаботу»
Пример 24.5. Код модуля документа ПриемНаРаботу
Процедура ОбработкаПроведения () // создать нового сотрудника в справочнике Сотрудник // получить ссылку на справочник Сотрудник СпрСотр = СоздатьОбъект («Справочник.Сотрудник»); //создать новую пустую запись в справочнике Сотрудник СпрСотр.Новый (); //заполнить реквизиты справочника Сотрудник, взяв их из этого документа СпрСотр.Наименование = ФИО; СпрСотр.ДатаПриема = ДатаПриема; СпрСотр.Оклад = Оклад; СпрСотр.Должность = Должность; //записать нового сотрудника в справочник СпрСотр.Записать (); КонецПроцедуры
40.Выполните проверку синтаксиса кода: выберите Действия | Синтаксический контроль.
41. Если ошибок нет, закройте окно.
При проведении документа «Увольнение» требуется найти увольняемого сотрудника в справочнике и установить ему дату увольнения, взяв ее изэтого документа.Это делается с помощью модуля проведения.
38. Создайте модуль проведения: выберите вкладку Метаданные, откройте папку Документы, выберите документ Увольнение, М2, нажмите Модуль документа, введите код по Пример 24.6, «Код модуля документа Увольнение»:
Пример 24.6. Код модуля документа Увольнение
Процедура ОбработкаПроведения () //получить ссылку на справочник Сотрудник СпрСотр = СоздатьОбъект («Справочник.Сотрудник»); //найти увольняемого сотрудника в справочнике СпрСотр.НайтиЭлемент (Сотрудник); //установить дату увольнения в справочнике, взяв ее из этого документа СпрСотр.ДатаУвольнения = ДатаУвольнения; //записать изменения справочник СпрСотр.Записать (); КонецПроцедуры
39.Выполните проверку синтаксиса кода: выберите Действия | Синтаксический контроль. Ошибок быть не должно.
Обратите внимание на метод СоздатьОбъект,
СпрСотр = СоздатьОбъект («Справочник.Сотрудник»);
который передает переменной СпрСотр ссылку на объект Справочник.Сотрудник в оперативной памяти. Имя объекта метаданных должно в точности соответствовать идентификатору вида объекта с учетом регистра букв. После определения переменной СпрСотр, если объект имеет структуру хранения, её надо спозиционировать на конкретное значение элемента данных, например, с помощью метода, начинающегося со слова Найти*** - СпрСотр. НайтиЭлемент , который возвращает значение 1, если значение найдено, и 0 в противном случае. В результате исполнения этого метода происходит копирование значения элемента данных с дисковой памяти в оперативную.
Пример поиска элемента, поиска по коду, по наименованию, по реквизиту:
СпрСотр.НайтиЭлемент (Сотрудник);
СпрСотр.НайтиПоКоду (123);
СпрСотр.НайтиПоНаименованию («Иванов Иван Иванович»);
СпрСотр.НайтиПоРеквизиту («Оклад», 5000);
Если значения атрибутов объекта были изменены, и им были присвоены некоторые значения.
СпрСотр.Атрибут = Значение;
СпрСотр.ДатаУвольнения = ДатаУвольнения;
Для сохранения новых значений атрибутов объекта его необходимо записать с помощью метода «Записать»:
СпрСотр. Записать ();