В начало

Проверка выдаваемых книг, общая функция

 

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

            Для этого переходим в общие модули и начинаем «колдовать».

Ниже показаны необходимые настройки общего модуля «Проверка данных».

Рис. Настройки модуля «Проверка данных»

Рис. Настройки модуля «Проверка данных»

           

            В общем модуле «Проверка» данных создаем экспортную функцию «Осталось книг».

 

Листинг. Процедура «Осталось книг»

&НаСервере

Функция ОсталосьКниг(Дата, Книга) Экспорт

     

      Запрос = Новый Запрос;

      Запросекст =

      "ВЫБРАТЬ

      |     КнигиВБиблиотекеОстаткиоличествоОстаток КАК Количество

      |ИЗ

      |     РегистрНакоплениянигиВБиблиотеке.Остатки(&Дата, ) КАК КнигиВБиблиотекеОстатки

      |ГДЕ

      |     КнигиВБиблиотекеОстаткинига = &Книга";

           

      ЗапросстановитьПараметр("Дата", Дата);

      ЗапросстановитьПараметр("Книга", Книга);

     

      РезультатЗапроса = Запросыполнить();

           

      Выборка = РезультатЗапросаыбрать();

     

      Если Выборкаледующий() Тогда

            Возврат Выборкаоличество;

      Иначе

            Возврат 0;

      КонецЕсли; 

           

КонецФункции     

 

            Остальная половина проверки будет располагаться в модуле формы документа «Выдача книг». Листинг процедуры «При изменении», расположенной в модуле формы представлен ниже.

Листинг. Процедура «При изменении»

&НаКлиенте

Процедура КнигиКоличествоПриИзменении(Элемент)

     

      Нужно = Элементыниги.ТекущиеДанные.Количество;

      Остаток = ПроверкаДанныхсталосьКниг(ТекущаяДата(),

                Элементыниги.ТекущиеДанные.Книга);

     

      Если Нужно <= Остаток Тогда

             Сообщить("Ок");       

      ИначеЕсли

            Остаток = 0 Тогда

            Элементыниги.ТекущиеДанные.Количество ="";

            Сообщить("Такой книги нет");

      Иначе      

            Сообщить("У нас нет столько книг");

            Элементыниги.ТекущиеДанные.Количество = Остаток;

      КонецЕсли; 

     

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

 

 

            Далее запускаем режим  «1С: Предприятие» и тестируем процедуру «Осталось книг», расположенную в общем модуле «Проверка данных».

 

Рис. Результат проверки в режиме 1С: Предприятие

Рис. Результат проверки в режиме 1С: Предприятие

 

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