Окрашивание даты в отчете СКД, если выходной день
Найденные решения
(1) Если под выходными подразумевается исключительно суббота и воскресенье, то можете воспользоваться условным оформлением, где проверяется день недели даты отправки (см. рис.)
Если же Вам необходимо знать еще и про праздники, то про эти дни платформа ничего не знает. Потребуется их заполнение и хранение в ИБ (напр., в регистре сведений), ну а в отчете рассчитывать дополнительный признак, является ли дата отправки выходным.
Если же Вам необходимо знать еще и про праздники, то про эти дни платформа ничего не знает. Потребуется их заполнение и хранение в ИБ (напр., в регистре сведений), ну а в отчете рассчитывать дополнительный признак, является ли дата отправки выходным.
Прикрепленные файлы:
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Если под выходными подразумевается исключительно суббота и воскресенье, то можете воспользоваться условным оформлением, где проверяется день недели даты отправки (см. рис.)
Если же Вам необходимо знать еще и про праздники, то про эти дни платформа ничего не знает. Потребуется их заполнение и хранение в ИБ (напр., в регистре сведений), ну а в отчете рассчитывать дополнительный признак, является ли дата отправки выходным.
Если же Вам необходимо знать еще и про праздники, то про эти дни платформа ничего не знает. Потребуется их заполнение и хранение в ИБ (напр., в регистре сведений), ну а в отчете рассчитывать дополнительный признак, является ли дата отправки выходным.
Прикрепленные файлы:
Смотря что понимать под выходным днем. Если любой "красный" день, соот-но связывать с календарем и через усл. оф. раскрашивать.
Если суббота / воскр, определить через соот-щую функцию (или СКД - не помню есть такая или нет) или через обращение к общему модулю.
Если суббота / воскр, определить через соот-щую функцию (или СКД - не помню есть такая или нет) или через обращение к общему модулю.
Раз конфигурация самописная, по аналогии с типовыми конфигурациями 1С можно создать справочник Графики работы (складов, предприятия, пунктов отгрузки) и РС Данные графика работы, в который складываются даты и виды дней (рабочий, выходной, праздничный, предпраздничный и т.п.). В запросе СКД к своей дате подтягиваете данные об этом дне из РС, а уж потом раскрасить - дело техники, вернее условного оформления СКД. Никакое БСП тут не понадобится.
Вариант который предложили в (4) самый простой, и не требует никаких особых доработок. Но если у вас суббота и вскр могут быть рабочими днями - такой подход не сработает.
Вариант который предложили в (4) самый простой, и не требует никаких особых доработок. Но если у вас суббота и вскр могут быть рабочими днями - такой подход не сработает.
(6) Если данных о работе на определенный день нет, но он выводится,
т.к. для поля группировки Дата в настройках СКД указан вид дополнения День,
то левое (и даже полное) соединение с данными производственного календаря не приводит к окраске дня без данных.
Или я чего-то не учел?
Текст запроса на скрине приближен по смыслу к запросу в СКД.
т.к. для поля группировки Дата в настройках СКД указан вид дополнения День,
то левое (и даже полное) соединение с данными производственного календаря не приводит к окраске дня без данных.
Или я чего-то не учел?
Текст запроса на скрине приближен по смыслу к запросу в СКД.
Прикрепленные файлы:
(7) вы делаете полное соединение. при этом делаете группировку. Поле РабочийДень у вас изначально было булево, а когда сгруппировали по количество различные - получили число. а в условном оформлении продолжателе проверять на булево. Условие не срабатывает - день не окрашивается.
(8) На самом деле косяк крылся в блоке {ГДЕ Период между &ДатаНач и &ДатаКон}.
Нужно было: {ГДЕ isnull(Период,ПроизвКалендарь.Дата) между &ДатаНач и &ДатаКон}.
Данные в запросе СКД были грубо отфильтрованы по дате одной из таблиц, где надо по двум.
А агрегатная функция на РабочийДень была наложена корректная, т.е. Максимум().
Последовательное изложение деталей реализации собеседнику -- первый помощник в отладке).
Нужно было: {ГДЕ isnull(Период,ПроизвКалендарь.Дата) между &ДатаНач и &ДатаКон}.
Данные в запросе СКД были грубо отфильтрованы по дате одной из таблиц, где надо по двум.
А агрегатная функция на РабочийДень была наложена корректная, т.е. Максимум().
Последовательное изложение деталей реализации собеседнику -- первый помощник в отладке).
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот