В начало
Проверка выданных книг, вариант 2
В конфигурации учета книг в библиотеке необходимо осуществить контроль выданных ранее книг. В самой конфигурации учет книг осуществляется через регистр накопления «Книги у читателей». Регистраторами служат документы «Выдача книг» и «Возврат книг», также сеть отчетик «Книги у читателей» для контроля остатков. Рис. Отчет по выданным книгам Для проверки правильности данных при возврате книг, в модуле документа «Возврат книг» необходимо заполнить дефолтную процедуру «Перед записью». В этой процедуре нужно с помощью запроса получить книги и количество, выданные конкретному читателю, после чего сравнить их с теми, что читатель пытается вернуть при помощи документа «Возврат книг». Таким образом, нужно организовать 1 запрос и 2 цикла. Внешний цикл по выборке результата запроса, а внутренний по строкам табличной части документа «Возврат книг». Листинг. Процедура «Перед записью»
При попытке вернуть большее количество книг, чем было взято будет выдана ошибка и отказано в проведении документа «Возврат книг», т.е. количество выданных книг контролируется четко. Рис. Попытка вернуть большее количество книг Существенным минусом, а может и нет является то, что хотя читатель не может вернуть книг больше чем брал того же наименования, он может сдать книги в библиотеку, которые у него вообще не числятся. Далее показан пример как бы возврата, но на самом деле выдачи книг библиотеке. Документ проводится и таким образом уже библиотека должна читателю 10 книг по дипломному проектированию
Рис. Возврат книг которые вообще не брал Получается, что для того чтобы контролировать возврат книг не только по количеству, но и по наименованию, хочешь, не хочешь, а надо использовать вариант процедуры «Перед записью», в котором внешний цикл прохода по книгам идет по списку табличной части документа «Возврат книг», а уже внутри него будет идти запрос к регистру накопления «Книги у читателей» и затем сравнение. |
|||