Имя: Пароль:
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) попробовал, не подошло, ибо после определения и присваивания значения каждый вызов имеет пустую таблицу (т.е. нужно по новой ей значения присваивать)
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn