#0
by Koliaff
Доброго времени суток, господа форумчани. Есть регистр сведений, который фиксирует аренду или бронь недвижимости. Периодичность у данного регистра - "По позиции регистратора", у данного регистра есть реквизит дата окончания. "Период" использую как "дата начала". Т.е. получается у нас есть документы которые записывают сведения в данный регистр "ДатаНачала" и "ДатаОкончания" аренды. Периоды могут пересекаться (бронь может заходить на ареду). Сейчас стоит задача сформировать алгоритм. Суть алгоритма такова : Пользователь выбирает в диалоге интервал, а алгоритм должен проанализировать и выдать свободен ли хоть один день от брони или резерва по объекту недвижимости в выбранном интервале пользователем или занят полностью данные интервал. Что-то ни как не могу придумать алгоритм.
#1
by Wobland
В документе есть табличная часть «Периоды» содержащая Дату начала периода и Дату окончания периода. Необходимо проверить, что периоды не «пересекаются» друг с другом (но «дырки» между периодами разрешены).
#2
by Koliaff
(Wobland) Другая задача у меня стоит, более сложная. В моем случае пересечения не важны, надо найти именно дырки. )
#4
by Wobland
да я понял. но мне думать лениво, так что, как грится, чем могу. может, после обеда подтянусь. вопрос уж интересный
#5
by Rie
Самый тупой алгоритм: отсортировал периоды по дате начала. И смотришь - если дата начала следующего периода больше даты окончания предыдущего, то вот она, дырка!
#6
by Koliaff
(Rie) Если бы периоды не пересекались, тогда - да. А так алгоритм сортировки теряет смысл, т.к. один период может находиться в другом. И тогда опа...
#8
by Rie
Нарисуй на бумажке и сравни даты _начала следующего_ и _окончания предыдущего_. Если один период внутри другого - то дата окончания первого будет после даты начала второго. Если периоды пересекаются - то дата окончания первого будет после даты начала второго. Так что всё ОК.
#9
by Koliaff
(Rie) Пользователь выбрал период весь январь Пример1 : 1. Бронь с 1 января по 30 января 2. Резерв со 2 января по 29 января Итог должен быть - положительный Привер2 1. Бронь с 1 января по 31 января 2. Резерв со 2 января по 29 января Итог должен быть - Отрицательный ===================================== Как с сортировкой алгоритм здесь будет действовать ?
#13
by Koliaff
Пробую сейчас Регистр расчета с вытеснением приладить. Должно вроде получится тогда с сортировкой ...
#14
by butterbean
если надо в запросе, тогда надо брать таблицу со всеми датами из выбранного интервала и ее соединять с регистром по Таблица.Дата < Регистр.ДатаНачала И Таблица.Дата > Регистр.ДатаОкончания
#16
by В тылу врага
во временную таблицу выбираем начала и концы не лежащие в других интервалах, соединяем их - получаем пустые дырки а вообще структура регистра кривая
#17
by azernot
ВЫБРАТЬ 2 ВЫБРАТЬ 3 ВЫБРАТЬ 4 ВЫБРАТЬ 5 ВЫБРАТЬ 6 ВЫБРАТЬ 7 ВЫБРАТЬ 8 ВЫБРАТЬ 9 ВЫБРАТЬ 0 ; Числа.Число МЕЖДУ 0 И РАЗНОСТЬДАТ(&ДатаНачала, &ДатаКонца, ДЕНЬ) ГДЕ ПериодыЗанятости.НачалоЗанятости ЕСТЬ NULL Как-то так... Вместо таблицы ПериодыЗанятости подсунуть свой регистр..
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Что такое период регистрации и период действия журанла расчетов?
- как в запросе выбрать номенклатуру, по определенной группе?
- упп , не олучается выбрать в кодах дохода НДФЛ выбрать код 2720 новогодний
- Выбрать тип справочника и выбрать элементы
- Кнопка "Выбрать" на форме выбора или как выполнить нажатие кнопки "Выбрать"
- УНФ 1.6 Как выбрать в документе перемещение запасов выбрать набор/комплект ?
В этой группе 1С
- v7: Сообщения базы при ТИИ
- v7: ЗиК Отзыв из отпуска без перерасчета отпускных
- КД2 - выгрузить 1 колонку в ТЧ документа
- v7: Сбивается кодировка текста при копировании в блокнот
- Запись документа без проверок
- Учет пробников в бухгалтерии
- СКД. Название общих итогов.
- УПП помогите разрулить с ошибкой расчета себестоимости при наличии возврата
- ЗУП. Начисление за прошлый период в этом. Как сделать?
- УФ. Как добавить группу программно?
- ЗУП. Отпуск по уходу за ребенком?
- РОЗНИЦА, 2.0 добавление поля остаток и цена в справочник номенклатура
- Как удалить строки по шаблону из текста?
- Драйвера АТОЛ для FPrint-55 на Win8 x64
- Как исправить отрицательный заработок в СЗВ-6-4?
- Перенос остатков с одного счета на другой
- Как найти неразрешимые ссылки?
- ЗУП выплата мат.помощи посторонним
- Конвертация данных 1с Oracle
- Агент сервера 1с 8.2 не запускается при установке