Законы де Моргана в 1С

топ 100 блогов fixin05.05.2016

Казалось бы, при чем Булева Алгебра к 1С?

Законы де Моргана в 1С

Предположим, есть задача - отобрать действующие договора на некую дату проверки &Дата.

При этом у договора есть дата начала и дата окончания, если дата окончания не задана, то договор действует до конца времен.

Как решается задача? В лоб так:


ВЫБРАТЬ Ссылка ИЗ Справочник.Договоры ГДЕ ДатаНачала <= &Дата И (ДатаОкончания >= &Дата ИЛИ ДатаОкончания = ДатаВремя(1,1,1))

Но операция ИЛИ вызывает некоторые проблемы по скорости, поэтому есть желание обойтись без нее. Как это сделать? Тут приходит на помощь законы Де Моргана.

Перепишем так:


ВЫБРАТЬ Ссылка ИЗ Справочник.Договоры ГДЕ ДатаНачала <= &Дата И НЕ (ДатаОкончания < &Дата И ДатаОкончания <> ДатаВремя(1,1,1))

И всё работает.

Проверяем выделенную зеленым часть условия:

1. Если дата окончания договора меньше даты проверки, то получим НЕ (ИСТИНА И ИСТИНА) = ЛОЖЬ

2. Если дата окончания договора больше или равно даты проверки, то получим НЕ (ЛОЖЬ И ИСТИНА) = ИСТИНА

3. Если дата окончания договора не заполнена, то получим НЕ (ЛОЖЬ) = истина.

Торжество формальной логики! Причем некоторые товарщи пытаются оптимизировать этот запрос через запросы с объединением, а ларчик открывается просто!

 

Оставить комментарий

Архив записей в блогах:
Мы, представители городов России, уполномоченные местными оргкомитетами митингов “за честные выборы”, заявляем:  Начиная с 5 декабря мы взяли на себя общественную работу по защите гражданских прав и свобод, попранных самым бессовестным ...
Вчера в новостной ленте прошло сообщение о смерти от коронавируса 30-летнего техасца (кто там говорил, что мрут одни старики?), решившего посетить так называемую "коронавирусную вечеринку". На нее собралась группа молодых людей, один из которых был заражен ковидом-19, а остальные ...
Изменения в экосистеме Европы набирают аномальные обороты. R таким выводам пришли ученые из международной группы, которые проводили исследования на базе университета Лидса. Как пишет издание Nature Geoscience, эксперты провели исследование десятков торфяников в Великобритании и ...
leonid_zash   и московского pionchik   координаторов настоящего комьюнити. Просим перепоста (это - ваша помощь): ...
"Это традиция, традициям он не изменяет!": рассказал муж Навки о крещенских купаниях Путина. Тут же громко заработал отдел пропаганды, насыщая информационное пространство ...