ИИ подсобил в ППМ

У меня закрытый день помечается записью дневника с заголовком ОК.

Решил проверить, какие дни у меня не закрыты.

Спросил об этом у Chat GPT 4:

Напиши запрос на языке 1С по справочнику с идентификатором Дневник и полем Дата, который выведет те значения поля Дата с округлением до начала дня, где за день нет элементов справочника с значениием поля "Наименование" равным "ОК"

Выдал он мне конечно, некорректный код запроса:

Пришлось его обработать, чтобы он начал выдавать корректные данные.

Правда, у меня получился очень медленный запрос, но результат выдавал, правда с множеством дублей, поэтому я добавил слово РАЗЛИЧНЫЕ позже:


 ВЫБРАТЬ РАЗЛИЧНЫЕ
    НАЧАЛОПЕРИОДА(Дневник.Дата, ДЕНЬ) КАК Дата
ИЗ
    Справочник.Дневник КАК Дневник
ГДЕ
     NOT 1 В (
        ВЫБРАТЬ 1
        ИЗ
            Справочник.Дневник КАК ВнутреннийДневник
        ГДЕ
            НАЧАЛОПЕРИОДА(ВнутреннийДневник.Дата, ДЕНЬ) = НАЧАЛОПЕРИОДА(Дневник.Дата, ДЕНЬ)
            И ВнутреннийДневник.Наименование = "ОК"
    )

Я оптимизировал его далее так, этот запрос выполнялся уже мгновенно:

ВЫБРАТЬ РАЗЛИЧНЫЕ
	НАЧАЛОПЕРИОДА(Дневник.Дата, ДЕНЬ) КАК Дата
ИЗ
	Справочник.Дневник КАК Дневник
ГДЕ
	НЕ НАЧАЛОПЕРИОДА(Дневник.Дата, ДЕНЬ) В
				(ВЫБРАТЬ РАЗЛИЧНЫЕ
					НАЧАЛОПЕРИОДА(ВнутреннийДневник.Дата, ДЕНЬ)
				ИЗ
					Справочник.Дневник КАК ВнутреннийДневник
				ГДЕ
					ВнутреннийДневник.Наименование = "ОК")

Всего 109 дат, последние:

Сообщил ИИ об этом, он принял мои замечания:

fixin

Программирую на 1С с 1999 года. В 1С просто Гений. В 2020 году ушел из офиса на вольные хлеба фриланса. Принимаю заказы.

Читайте также:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *