1С: мини-библиотека

  • Автор темы Автор темы gudron
  • Дата начала Дата начала
G

gudron

Помогите, пожалуйста, есть код на 7 версии необходимо перевести на 8 версию.

Процедура ОбработкаПроведения()

СпрКниги = создатьОбъект("Справочник.Книги");
СпрЧитатели = СоздатьОбъект("Справочник.Читатели");

ВыбратьСтроки();
Пока ПолучитьСтроку()=1 Цикл

СпрКниги.НайтиЭлемент(Книга);

Если СпрКниги.СрокВозврата < ДатаДок Тогда

СпрЧитатели.НайтиЭлемент(Читатель);
СпрЧитатели.КоличествоПредупреждений = СпрЧитатели.КоличествоПредупреждений + 1;
СпрЧитатели.Записать();

Если СпрЧитатели.КоличествоПредупреждений > Константа.МаксКолвоПредупреждений Тогда

УстановитьРеквизитСправочника(Читатель, "Блокирован",Перечисление.ДаНет.Да, ДатаДок);
УстановитьРеквизитСправочника(Читатель, "Блокирован",Перечисление.ДаНет.Нет, ДатаДок + Константа.КолвоДнейБлокировки);

КонецЕсли;

КонецЕсли;

СпрКниги.Статус = Перечисление.СтатусКниги.Свободна;
СпрКниги.Читатель = 0;
СпрКниги.ДатаВыдачи = 0;
СпрКниги.СрокВозврата = 0;
СпрКниги.Записать();

КонецЦикла;

КонецПроцедуры
 
Как помочь? Сделать это за вас?
 
Интернет вам в помощь) там много всего интерестного)
 
Больше всего радует запись справочника в модуле проведения, а еще впечатлила строка
СпрЧитатели.КоличествоПредупреждений = СпрЧитатели.КоличествоПредупреждений + 1;
трижды провели документ и читатель получил три предупреждения...
 
Начну помогать с малого, глядишь кто-нибудь еще проявиться


СпрКниги.НайтиЭлемент(Книга); -7.7
СпрКниги = Справочники.Книги.НайтиПоНаименованию(Книга); - самый думаю лучший будет вариант. создание объекта не нужно

если не ошибаюсь, хотя могу, запись справочника производиться автоматически СпрЧитатели.Записать(); можно вычеркнуть

пока все, посомтрим, сможешь ли остальное додумать
 
Маразм - в обработке проведения делать чтото, что никак абсолютно не связянно с проведением по регистрам (это я о 8. не знаю, как в 7-ке). Напишите конкретную задачу, которую вам надо реализовать. А то, что вы выложили - это, извините, ерунда. Ерунду переделывать - проще все с чистого листа написать.
 
Напишите конкретную задачу, которую вам надо реализовать
Задача-то из текста понятна
А то, что вы выложили - это, извините, ерунда
А вот с этим трудно не согласиться. 8кой не владею, но что-то мне подсказывает, что переписать грамотно это безобразие совсем не сложно
 
Это документ Возврат книги, при условии, что читатель вернул книгу позже срока ему начисляется предупреждение, читатель блокируется если у него накапливается определенное кол во предупреждений.
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab