Главная » 1С Предприятие » ИЗМЕНЕНИЕ СТРУКТУРЫ  И ФОРМ СПРАВОЧНИКА – ЧАСТЬ 1

0

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

Структуру   справочника  Образование_2  сделаем   максимально простой,  использовав  в нем  только  установленные по умолчанию  реквизиты Код и Наименование. Далее внесем в поле  Наименование приведенные на рис. 5.28 записи.

Рис. 5.31. Пополненный справочник Сотрудники_2

Выберем  теперь  данные по реквизиту Образование.

процедура Выполнить()              //         Выбирает данные по реквизиту Образование перем сСотр_2, сОбр_2;

перем обр, флаг; ОчиститьОкноСообщений();

сСотр_2  =  СоздатьОбъект("Справочник.Сотрудники_2"); сОбр_2  =  СоздатьОбъект("Справочник.Образование_2"); если сОбр_2.НайтиПоНаименованию("Высшее") = 0 тогда

Предупреждение("3начение не найдено."); возврат;

конецЕсли;

обр = сОбр_2.ТекущийЭлемент();

// Выбираем сотрудников, имеющих высшее образование, по порядку (без учета иерархии) флаг= сСотр_2.ВыбратьЭлементыПоРеквизиту("Образование", обр, 0, 0);

если флаг = 0 тогда

Предупреждение("Нет выбранных сотрудников."); возврат;

конецЕсли;

пока сСотр_2.ПолучитьЭлемент() > 0 цикл Сообщить(сСотр_2.Наименование + символТабуляции + сСотр_2.Код +

символТабуляции + сСотр_2.Родитель +

символТабуляции + сСотр_2.Образование); конецЦикла;конецПроцедуры // Выполнить

Результат:

Абрамова Лариса Сергеевна

201

02 Цех

Высшее

Агальцов Юрий Алексеевич

111

01/1

Высшее

Безверхний Игорь  Петрович

301

03 Цех

Высшее

Кузьмина Раиса Николаевна

122

01/2

Высшее

Смирнова Нина Федоровна

132

01/3

Высшее

Если  перед  вызовом  метода  ВыбратьЭлементыПоРеквизиту  обратиться  к  методу ОбратныйПорядок с равным единице параметром:

сСотр_2.0братныйПорядок(1);

то  результирующая  выборка  будет упорядочена в  обратном порядке:

Смирнова Нина Федоровна

132

01/3

Высшее

Кузьмина Раиса Николаевна

122

01/2

Высшее

Безверхний Игорь  Петрович

301

03 Цех

Высшее

Агальцов Юрий Алексеевич

111

01/1

Высшее

Абрамова Лариса Сергеевна

201

02 Цех

Высшее

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

5.6.          УПРАВЛЕНИ Е  ЗАПИСЯМ И  СПРАВОЧНИК А ПР И   ПОМОЩ И   ДОКУМЕНТО В

5.6.1. НАЗНАЧЕНИЕ ДОКУМЕНТОВ

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

Не  меньшее, чем  на  реальном предприятии,  значение  придается  документам и  в 1С. Фактически они лежат  в основе реализованных  в  1С моделей модели склада, бухгалтерского  учета и др.

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

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

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

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

Чтобы   установить  связь  между  создаваемыми  документами  и  записями  справочника Сотрудники_2,  добавим в справочник  еще  два реквизита  ПриказПрием и ПриказОклад,   присвоив   им   тип  Документ.   Теперь   справочник   Сотрудники_2   имеет приведенные  на рис. 5.32 реквизиты, а также реквизиты Код и Наименование.

Рис. 5.32. Реквизиты справочника Сотрудники_2

Такая  связь позволит нам  обращаться  к созданным  документам  из  формы  списка справочника.

5.6.2.  ПРИКАЗ О ПРИЕМЕ НА РАБОТУ

5.8.2.1. РЕКВИЗИТЫ И ФОРМА ДОКУМЕНТА

Начнем с Приказа  о приеме.  Откроем конфигурацию, выделим раздел Документы, нажмем на правую кнопку мыши и  выберем пункт Новый документ.

Определим реквизиты шапки документа в соответствии с табл. 5.3.

Реквизиты  шапки Приказа  о приеме на работу

Таблица 5.3

Реквизит

Тип (разновидность  типа)

Длина.Точность

Код

Числовой

5.0

ФИО

Символьный

30

Подразделение

Справочник.Сотрудники_2

-

Образование

Справочник.Образование_2

-

Оклад

Числовой

10.2

ДатаПриема

Дата

-

Сотрудник

Справочник.Сотрудники_2

-

Замечания:

1.       Тип (разновидность типа) и  характеристики  типа (длина, точность)  должны  соответствовать аналогичным реквизитам справочника Сотрудники_2.

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

3.       Реквизит Сотрудник  введен в  документ для  установления  связи  документа с  конкретной записью справочника Сотрудники_2. Для  позиционирования справочника в  режиме редактирования документа можно использовать вызов

Источник: Бартеньев О. В. 1С:Предприятие:  программирование для  всех.  Базовые объекты и расчеты на одной дискете. М.: Диалог-МИФИ, 2005. 464 с.

По теме:

  • Комментарии