В начало

Запись читательских билетов в независимый РС

 

            В конфигурации Библиотека нужно организовать запись читательских билетов в независимый регистр сведений.

            Запись будем осуществлять через кнопку «Выдать читательский билет» справочника «Читатели».

Рис. Форма элемента справочника «Читатели»

Рис. Форма элемента справочника «Читатели»

 

            Структура регистра сведений «ЧитательскиеБилеты» показана ниже. Сам регистр сведений периодический, с периодичностью «В пределах дня», а режим записи его «Независимый», т.е. документа-регистратора нет.

Рис. Закладка свойств «Данные» регистра сведений «Читательские билеты»

Рис. Закладка свойств «Данные» регистра сведений «Читательские билеты»

 

            Далее переходим в модуль объекта справочника «Читатели» и прописываем экспортную процедуру.

 

Листинг. Модуль объекта справочника «Читатели»

Процедура ЗаписатьЧитательскийБилет() Экспорт

      МЗ = РегистрыСведений.ЧитательскиеБилеты.СоздатьМенеджерЗаписи();

      МЗ.Период = ТекущаяДата();

      МЗ.Читатель = Ссылка;

      МЗ.СрокДействияБилета = ТекущаяДата() + 60*60*24*365;

      МЗ.Записать();

      Сообщить("Читательский билет выдан сроком на 1 год");

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

            А в модуле формы прописываем событие при нажатии кнопки «Выдать читательский билет».

 

Листинг. Модуль формы элемента справочника «Читатели»

&НаСервере

Процедура ВыдатьЧитательскийБилетНаСервере()        

     ОбъектДокумента = РеквизитФормыВЗначение("Объект", Тип("СправочникОбъект.Читатели"));

     ОбъектДокумента.ЗаписатьЧитательскийБилет();

     ЗначениеВРеквизитФормы(ОбъектДокумента, "Объект");

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

           

Затем переходим в режим 1С:Предприятие и тестируем то, что написали.

            Ниже показаны записи, сделанные в регистре сведений.

Рис. Регистр сведений «Читательские билеты»

 

            Хотя, по-идее модуль объекта в данном случае не нужен. Можно просто выполнить все действия в модуле формы, результат будет тем же. Едиственное отличие это «Объект.Ссылка» вместо «Ссылка».

 

Листинг. Все процедуры в модуле формы

&НаСервере

Процедура ВыдатьЧитательскийБилетНаСервере()

      МЗ = РегистрыСведений.ЧитательскиеБилеты.СоздатьМенеджерЗаписи();

      МЗ.Период = ТекущаяДата();

      МЗ.Читатель = Объект.Ссылка;

      МЗ.СрокДействияБилета = ТекущаяДата() + 60*60*24*365;

      МЗ.Записать();

      Сообщить("Читательский билет выдан сроком на 1 год");

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

&НаКлиенте

Процедура ВыдатьЧитательскийБилет(Команда)

      ВыдатьЧитательскийБилетНаСервере();

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

 

            ПРИМЕЧАНИЕ: процедуры проверены и оттестированы на версии 8.3 управляемого приложения с интерфейсом «Такси».