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

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

gudron

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

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

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

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

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

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

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

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

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

КонецЕсли;

КонецЕсли;

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

КонецЦикла;

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

jcnby

#3
Интернет вам в помощь) там много всего интерестного)
 

vitfil

IT-интегратор
02.04.2004
2 062
0
#4
Больше всего радует запись справочника в модуле проведения, а еще впечатлила строка
СпрЧитатели.КоличествоПредупреждений = СпрЧитатели.КоличествоПредупреждений + 1;
трижды провели документ и читатель получил три предупреждения...
 
X

XOXOJI

#5
Начну помогать с малого, глядишь кто-нибудь еще проявиться


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

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

пока все, посомтрим, сможешь ли остальное додумать
 

tanat

Well-known member
02.03.2007
265
0
#6
Маразм - в обработке проведения делать чтото, что никак абсолютно не связянно с проведением по регистрам (это я о 8. не знаю, как в 7-ке). Напишите конкретную задачу, которую вам надо реализовать. А то, что вы выложили - это, извините, ерунда. Ерунду переделывать - проще все с чистого листа написать.
 

vbs

Well-known member
18.02.2007
1 708
1
#7
Напишите конкретную задачу, которую вам надо реализовать
Задача-то из текста понятна
А то, что вы выложили - это, извините, ерунда
А вот с этим трудно не согласиться. 8кой не владею, но что-то мне подсказывает, что переписать грамотно это безобразие совсем не сложно
 
G

gudron

#8
Это документ Возврат книги, при условии, что читатель вернул книгу позже срока ему начисляется предупреждение, читатель блокируется если у него накапливается определенное кол во предупреждений.