В начало
Проверка выдаваемых книг, общая
функция
В конфигурации Библиотека нужно
организовать проверку выдаваемых книг посредством универсальной процедуры.
Для этого переходим в общие модули и
начинаем «колдовать».
Ниже показаны необходимые настройки общего модуля «Проверка
данных».
Рис. Настройки модуля
«Проверка данных»
В общем
модуле «Проверка» данных создаем экспортную функцию «Осталось книг».
Листинг. Процедура
«Осталось книг»
&НаСервере
Функция ОсталосьКниг(Дата, Книга) Экспорт
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| КнигиВБиблиотекеОстатки.КоличествоОстаток
КАК Количество
|ИЗ
| РегистрНакопления.КнигиВБиблиотеке.Остатки(&Дата,
) КАК КнигиВБиблиотекеОстатки
|ГДЕ
| КнигиВБиблиотекеОстатки.Книга =
&Книга";
Запрос.УстановитьПараметр("Дата", Дата);
Запрос.УстановитьПараметр("Книга", Книга);
РезультатЗапроса
= Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Если Выборка.Следующий() Тогда
Возврат Выборка.Количество;
Иначе
Возврат 0;
КонецЕсли;
КонецФункции
|
Остальная половина проверки будет
располагаться в модуле формы документа «Выдача книг».
Листинг процедуры «При изменении», расположенной в модуле формы представлен
ниже.
Листинг. Процедура
«При изменении»
&НаКлиенте
Процедура КнигиКоличествоПриИзменении(Элемент)
Нужно = Элементы.Книги.ТекущиеДанные.Количество;
Остаток = ПроверкаДанных.ОсталосьКниг(ТекущаяДата(),
Элементы.Книги.ТекущиеДанные.Книга);
Если Нужно <=
Остаток Тогда
Сообщить("Ок");
ИначеЕсли
Остаток = 0 Тогда
Элементы.Книги.ТекущиеДанные.Количество
="";
Сообщить("Такой книги нет");
Иначе
Сообщить("У нас нет столько книг");
Элементы.Книги.ТекущиеДанные.Количество
= Остаток;
КонецЕсли;
КонецПроцедуры
|
Далее запускаем режим «1С: Предприятие» и тестируем процедуру
«Осталось книг», расположенную в общем модуле
«Проверка данных».
Рис. Результат
проверки в режиме 1С: Предприятие
ПРИМЕЧАНИЕ:
отладка проводилась на версии 8.3, в режиме управляемого приложения, в
интерфейсе «Такси».