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

Обращение к данным в рекзизите

Автор ДенисЕвгеньев, 27 авг 2024, 22:41

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

ДенисЕвгеньев

Есть форма справочника, в котором есть реквизит ДатаНачала, для каждой записи можно ставить произвольную дату, даже наперёд, но при этом такие записи должны становится не активными для выбора в документ, собственно вопрос, как мне обращаться к каждому элементу чтобы потом сравнить с текущей датой? (Как сравнить я понимаю, но не понимаю как обращаться к каждому реквизиту в каждой записи)

bsn-chita

Для выбора в документе вы будете использовать форму выбора справочника. В форме выбора можете поменять запрос вставив условие и не удовлетворяющие ему данные не будут показаны.
ГДЕ
    Справочник<ВашСправочник>.ДатаНачала <= &ТекущаяДата";
В запрос нужно будет передать параметр.
Список.Параметры.УстановитьЗначениеПараметра("ТекущаяДата", НачалоДня(ТекущаяДата()));
Можно не править запрос, а в настройках в отборах(тоже в форме выбора) сделать тоже самое (программно или в конфигураторе).
Если нужно чтобы они были видны, но выбирать их было нельзя идем в условное оформление("Видимость" - не отображаются и нельзя выбрать, "Доступность" - видно, но выбрать нельзя).

Пример программного варианта. В форме документа в обработчике события НачалоВыбора вашего реквизита у которого есть реквизит с датой.
СтандартнаяОбработка = Ложь;
НастройкиКомпоновкиДанных = Новый НастройкиКомпоновкиДанных;
ЭлементОтбора = НастройкиКомпоновкиДанных.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.Использование = Истина;
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ДатаНачала");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.МеньшеИлиРавно;
ЭлементОтбора.ПравоеЗначение = НачалоДня(ТекущаяДата());;
ПараметрыФормы = Новый Структура("ФиксированныеНастройки", НастройкиКомпоновкиДанных);
ОткрытьФорму("Справочник.<ВашСправочник>.ФормаВыбора", ПараметрыФормы, Элемент);

ДенисЕвгеньев


Теги:

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

Рейтинг@Mail.ru

Поиск