1. Для версии 1С 8.2 написал учебный пример Кадры.
Эту конфигурацию скачать можно здесь: Kadri.rar или здесь: Kadri.rar
2. Задание учебный пример Кадры.
Задача 1 Начальный уровень:
a. Цель:
i. Уметь создавать справочники
ii. Уметь создавать документы
iii. Уметь пользоваться механизмом проведения документов и отменой проведения
iv. Создавать журналы документов
v. Создавать пользовательское меню.
b. Описание задания:
i. Написать конфигурацию для платформы 1С 8.0 «Простейший кадровый учет»
ii. Конфигурация должна включать
1. Справочник: «Должности»
a. Код
b. Наименование (30)
2. Справочник: «Сотрудники»
a. Количество уровней (1)
b. Код (5)
c. Наименование (100)
d. Должность: Справочник «Должности»
e. Оклад(число 10)
f. ДатаПриема (Дата)
g. ДатаУволнения (Дата)
3. Документ: «Прием на работу»
a. Шапка:
i. ФИО (строка 100)
ii. Должность (Справочник «Должности»)
iii. Оклад (Число 10 точность 2)
iv. ДатаПриема (Дата)
b. Реализуйте функционал:
i. При проведении документа должна создаваться запись в справочнике «Сотрудники» и заполнялась данными из атрибутов документа.
4. Документ «Уволнение»
a. Шапка
i. Сотрудник (Справочник «Сотрудники»)
ii. Дата уволнения (Дата)
b. Реализуйте функционал:
i. При проведении документа должен отыскиваться сотрудник из справочника сотрудника и для него проставляется дата увольнения
5. Журнал «Кадровые документы» , который отображает перечень документов «Прием на работу» и «Увольнение».
6. Сформируйте Пользовательское меню для оперирования высшее описанными объектами конфигурации.
3. Конфигурация Учебный пример Кадры.
Коды программных модулей конфигурации 1С 8.2
3.1. В модуле управляемого приложения 2 процедуры
----------------------------------------
Процедура ПриНачалеРаботыСистемы()
Сообщить("Удачи ! Работайте без ошибок :)");
КонецПроцедуры
Процедура ПередЗавершениемРаботыСистемы(Остаться)
Остаться = true ; // не закрывается
//Выход = false ;// закрывается
ответ = Вопрос("Закрыть программу?", РежимДиалогаВопрос.ДаНет,,КодВозвратаДиалога.Да);
если ответ = КодВозвратаДиалога.Да тогда
Остаться= false;
конецЕсли;
КонецПроцедуры
---------------------------------------
3.2. Модуль объекта документа ПриемНаРаботу содержит программный код
---------------------------------------
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
// Вставить содержимое обработчика.
Сообщить ("Проводка документа начата");
//Проверка существует ли такая запись в справочнике
ФамилияЕсть=false ;
ДолжностьЕсть = false ;
// ФИО
НайденнаяФамилия = Справочники.Сотрудники.НайтиПоНаименованию(ФИО);
Если НайденнаяФамилия <> Справочники.Сотрудники.ПустаяСсылка() Тогда
Сообщить("Есть такая ФИО");
ФамилияЕсть=true ;
КонецЕсли;
// Должность
НайденнаяДолжность = Справочники.Сотрудники.НайтиПоРеквизиту("Должность",Должность) ;
Если НайденнаяДолжность <> Справочники.Сотрудники.ПустаяСсылка() Тогда
Сообщить("Есть такая должность");
ДолжностьЕсть = true ;
КонецЕсли;
// если ФИО и должность такие есть - предполагаем, что
// такая запись уже есть и документ не проводим - запись не создаем
Если ФамилияЕсть И ДолжностьЕсть Тогда
Сообщить("Есть такая запись.Документ не проводим");
Отказ=true ; // проведение выполняться не будет
Return ;
КонецЕсли;
// создание новой записи в справочнике
// НЭС - новый элемент справочника
НЭС = Справочники.Сотрудники.СоздатьЭлемент();
// присвоение значений реквизитам справочника
// из документа
НЭС.ДатаПриема = ДатаПриема ;
НЭС.Должность = Должность ;
НЭС.Оклад = Оклад ;
НЭС.Наименование = ФИО ;
// запись очередного элемента ( строки) справочника
НЭС.Записать();
Сообщить ("Проводка документа закончена");
КонецПроцедуры
---------------------------------------
3.3. Модуль объекта документа Увольнение содержит следующий код
---------------------------------------
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
// Вставить содержимое обработчика.
Сообщить ("Проводка документа Увольнение начата");
// перейти на запись справочника с такой же фамилией
// как и в документе увольнение
// ФИО
НайденнаяФамилия = Справочники.Сотрудники.НайтиПоНаименованию(Сотрудник);
Если НайденнаяФамилия = Справочники.Сотрудники.ПустаяСсылка() Тогда
Сообщить("Нет такой фамилии");
Отказ=true ; // проведение выполняться не будет
Return ;
КонецЕсли;
// Меняем дату
СтрокаСправочника = НайденнаяФамилия.ПолучитьОбъект() ;
СтрокаСправочника.ДатаУвольнения = ДатаУвольнения ;
СтрокаСправочника.Записать();
КонецПроцедуры
---------------------------------------
4. Повторю ссылку на скачку :)
Саму конфигурацию на версии 1с 8.2 скачать можно здесь: Kadri.rar или здесь: Kadri.rar
Комментариев нет:
Отправить комментарий