Имя: Пароль:
1C
 
ДанныеФормыКоллекция, Календарь и многократный поиск элементов
0 Chonguk228
 
15.09.25
14:34
Есть таблица, в которой содержатся занятые даты, в формате Мастер, ДатаНачала, ДатаОкончания, ДатаВПериоде (ДатаВПериоде - это каждый день с ДатыНачала по ДатуОкончания 12.03,13.03,14.03 и тд).

Создана обработка, на форме которой есть реквизит Календарь (поле календаря), а также событие ПриВыводеПериода, в котором задается условное оформление каждой даты (ячейки) календаря.

По встроенным правилам событие вызывается отдельно для каждой даты (то есть 365 раз). Мне нужно, в зависимости от того, есть ли оформляемая дата в таблице (в колонке ДатаВПериоде), раскрасить ее.

Вопрос: как искать это значение, если метода Найти у таблиц формы и ТЧ нету?
Загнался в тупик из-за того, что событие вызывается отдельно на каждую ячейку, а не 1 раз для всех
Как эффективно искать дату в таблице, в этой колонке?

Думал над тем, чтобы при формировании таблицы также создать Реквизит формы с типом "СписокЗначений", куда загрузить все даты в периоде, но получится какое-то дублирование данных + вроде как по списку очень неэффективный и долгий поиск
1 Волшебник
 
15.09.25
14:38
Создайте переменную типа "ТаблицаЗначений" с индексом, поиск будет быстрым
2 Chameleon1980
 
15.09.25
15:37
ПолеКалендаря.ВыделенныеДаты
3 Chonguk228
 
15.09.25
15:57
(0) ошибся в объяснении, там цикл не на каждую дату, а на каждый месяц, т.е. событие вызывается 12 раз и в каждом цикл на 28-31 повторение. Но сути не меняет, все равно достаточно часто
4 Chonguk228
 
15.09.25
15:58
(2) тут именно вопрос как грамотно организовать архитектуру для поиска дат, при условиях в (3) и (0)
5 Chonguk228
 
15.09.25
16:11
(1) попробовал, не подошло, ибо после определения и присваивания значения каждый вызов имеет пустую таблицу (т.е. нужно по новой ей значения присваивать)