Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
13 дек 2024, 05:43

Считывание значения в модуле документа

Автор ProfileS, 29 мар 2011, 20:13

0 Пользователей и 1 гость просматривают эту тему.

ProfileS

Столкнулся с проблемой при на писания кода в модуле документа. Есть справочник "Читатели" , документы "выдача книги" и "возврат книги" и константа "максимальное количество предупреждений" и перечисление "Блокирован(Да,Нет) ", нужно обратиться из модуля документа "возврат книги" к табличной части документа "выдача книги" к строке "срок возврата" и потом сравнить с текущей датой, чтобы в справочнике "Читатели" в поле количество предупреждений устанавливало значение, а потом сравнив с константой выставляло значение "Да" или "нет". Кто знает подскажите, хоть как правильно обратиться к табличной части документа, чтобы данные считать для сравнения.

has

Циклом

Для Каждого СтрокаТаблицы ИЗ ВыдачаКниги Цикл
   Если СтрокаТаблицы.СрокВозврата = ТекущаяДата() Тогда
      //...здесь дальнейшие действия
КонецЦикла;

Только еще надо смотреть по времени, т.к. если время в СрокВозврата не 00:00:00, тогда условие не пройдет даже если даты одинаковы. Тогда надо преобразовывать к началу дня.

cska-fanat-kz

"из модуля документа "возврат книги""

в событии ПередЗаписью?
и этот код будет каждый раз перед записью выполняться?

то есть записав документ ["максимальное количество предупреждений"] раз
вы необосновано заблокируете Читателя...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

ProfileS

cska-fanat-kz . Я хочу, чтобы при возврате книги найти документ "выдача книги" и оттуда вытащить дату. Причем надо найти именно последний документ, где присутствует этот читатель и эта книга.

cska-fanat-kz

Нуу, например вводом на основании...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

has

Либо делать вводить возврат книги на основании выдачи книги как уже сказал cska-fanat-kz. Либо если надо именно автоматически, то тогда в обработке проведения. Вобще можно сделать реквизит документа возврат книги, где будет ссылка на выдачу книги. Если конечно его использование целесообразно. Это будет по типу реквизита ДокументОснование в типовых.

ProfileS

Спасибо за ответы, буду пробовать

***Vjacheslav***

А я бы для документов "Выдача книги" и "возврат книги" создал регистр накопления "Выданные книги". И при проведении документа выдача книги для каждой строки создал запись в регистре (приход), а для возврата книги соответственно (расход). И потом вытащить последний выданный документ наверно не составит труда. Да и дает возможности для удобства других отчетов. Все это к тому что в запросах лучше все данные вытаскивать из регистров. А так нужно налаживать условия если документ удален или не проведен или еще что нибудь... 

cska-fanat-kz

Есть еще РегистрСведений - СостояниеКниги...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск