
Показаны сообщения с ярлыком lifehack. Показать все сообщения
Показаны сообщения с ярлыком lifehack. Показать все сообщения
13 окт. 2016 г.
Передача данных таблицы значений с сервера на клиент

1 мар. 2013 г.
Получение коллекции областей макета табличного документа
Сделав недавно подряд с десяток отчетов с макетами в виде табличного документа, задумался о том, что было бы неплохо сократить часть кода, отвечающего за описание областей макета. Возникла идея набросать функционал, позволяющий собрать все именованные области макета в коллекцию, нежели каждый раз объявлять для этого переменные. В итоге получилось довольно простое решение. Оно позволяет получать как перечень областей макета, так и пересечения горизонтальных и вертикальных областей. К тому же, при добавлении по мере разработки отчета новых именованных областей в макет нет необходимости дополнительно описывать их в коде.
21 авг. 2012 г.
РазностьДат в запросе, продолжение
Ранее для определения точного количества лет мне приходилось использовать следующую конструкцию в запросе.
ГОД(&Дата2) - ГОД(&Дата1) - ВЫБОР КОГДА МЕСЯЦ(&Дата2) < МЕСЯЦ(&Дата1) ТОГДА 1 ИНАЧЕ ВЫБОР КОГДА МЕСЯЦ(&Дата2) = МЕСЯЦ(&Дата1) ТОГДА ВЫБОР КОГДА ДЕНЬ(&Дата2) < ДЕНЬ(&Дата1) ТОГДА 1 ИНАЧЕ 0 КОНЕЦ ИНАЧЕ 0 КОНЕЦ КОНЕЦВыглядит довольно таки громоздко, легко запутаться в больших запросах. Но если взять
РАЗНОСТЬДАТ(ДОБАВИТЬКДАТЕ(&Дата1, ДЕНЬ, -1), &Дата2, ДЕНЬ) / 365.25то мы как раз получим точное количество лет. День отнимаем, чтобы скорректировать погрешность на малых периодах. Если просто делить на 365, то на больших периодах возникает погрешность, вызываемая високосными годами. Деление на 365.25 учитывает эту погрешность на любых периодах.
Подписаться на:
Сообщения (Atom)