#0
by Segate
надо посчитать колличество дней Есть датаНачалаДействия Есть датаКонцаДействия соответственно количество дней можно посчитать как РазностьДат(начало, конец, день). Но в таком случае если дата начала совпадает с датой конца, функция выдаст 0, а надо 1н. Но и это еще не все, если в один день есть несколько записей, то надо, чтобы они все равно группировались в 1н день. т.е. при исходных данных Дата начала Дата конца 01.01.01 00.00 01.01.01 01.00 01.01.01 02.00 01.01.01 14.00 01.01.01 22.00 02.01.01 01.00 04.02.01 00.00 04.02.01 11.00 запрос должен выдавать 3 дня.
#1
by Cube
Алгоритм: 1). Налить чай. 2). Сгруппировать записи. Найти максимум и минимум. 3). Откусить булочку. 4). Сделать РазностьДат. 5). Хлебнуть чая...
#5
by agorbunov
Приведи дату начала - к началу дня, дату конца - к концу дня. Выбери различные. Чтобы в течение одного дня был 1 день, используй ВЫРАЗИТЬ(разностьдат(ДатаНачал, ДатаКонца, ЧАС)/24 КАК ЧИСЛО(10,0))
#12
by fisher
Он будет не настолько простой, чтобы мне не было лень этим заниматься. Суть в том, что нужно получить таблицу всех дат ВНУТРИ ВСЕХ ДИАПАЗОНОВ и сгруппировать.
#15
by tdm
а разве началоПериода(,,день) и группировка с получение кол-ва различных не сработает ? как в и написано
#16
by Cube
+ Хлебнул чая: 1 ОБЪЕДИНИТЬ 2 ОБЪЕДИНИТЬ 3 ОБЪЕДИНИТЬ 4 ОБЪЕДИНИТЬ 5 ОБЪЕДИНИТЬ 6 ОБЪЕДИНИТЬ 7 ОБЪЕДИНИТЬ 8 ОБЪЕДИНИТЬ 1 ОБЪЕДИНИТЬ 2 ОБЪЕДИНИТЬ 3 ОБЪЕДИНИТЬ 4 ОБЪЕДИНИТЬ 5 ОБЪЕДИНИТЬ 6 ОБЪЕДИНИТЬ 7 ОБЪЕДИНИТЬ 8 ОБЪЕДИНИТЬ 1 ОБЪЕДИНИТЬ 2 ОБЪЕДИНИТЬ 3 ОБЪЕДИНИТЬ 4 ОБЪЕДИНИТЬ 5 ОБЪЕДИНИТЬ 6 ОБЪЕДИНИТЬ 7 ОБЪЕДИНИТЬ 8 ОБЪЕДИНИТЬ 1 ОБЪЕДИНИТЬ 2 ОБЪЕДИНИТЬ 3 ОБЪЕДИНИТЬ 4 ОБЪЕДИНИТЬ 5 ОБЪЕДИНИТЬ 6 ОБЪЕДИНИТЬ 7 ОБЪЕДИНИТЬ 8 ОБЪЕДИНИТЬ
#17
by fisher
Нет. Нужно посчитать количество дней ВНУТРИ диапазонов, без учета ПЕРЕСЕЧЕНИЙ диапазонов. Если я правильно понял условие.
#20
by Segate
да, именно так. похоже на правду, но уж очень хочется более изящного решения... не люблю я такое в запросах )
#22
by fisher
Изящнее не получится. Календарь по-любому нужен. Можно разве что компактнее и красивее оформить через промежуточную временную таблицу. Или использовать готовую таблицу календаря, если такая есть в конфигурации.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- Бонусная скидка за объем закупок или ретроспективная скидка
- СКД: Посчитать процент от общего количества для поля группировки
- ОПзС списание материалов из производства УПП
- Разница в данных между консолью отчета и отчета на СКД
- Как сохранить значение реквизита формы при повторном открытии?
- v8.3 COMConnection [C#] выскакивает Исключение
- Пишем виджет для Windows 7
- Прямые запросы к postgresql
- Где в УТ11.1 "Поступление услуг и прочих активов"? Именно в интерфейсе где
- запуск ERP
- Кто использовал ввод клиента без записи в спр."Контрагенты" как этих клие-ов най
- Конец периода в СКД
- Как в процессах и задачах документа отобразить процессы всех пользователей (СЭД)
- Не выбирается элемент в форме выбора (управляемые формы)
- КД бух операции. ошибка Поле объекта недоступно для записи (СубконтоДт)
- Ошибка в веб-клиенте
- 1c и primavera
- Запросы к 1С из C#
- 1С УТ11 добавление номенклатуры
- Windows 7 x64 1С v77 "Не найден ключ защиты!"