Макет печати. Как отметить выходные дни на графике сотрудников другим цветом

1. shemyl696 02.06.23 13:39 Сейчас в теме
Добрый день. Подскажите куда копать пожалуйста. Есть макет для печати. 31 день. Штатное расписание сотрудников по часам. Т.Е 2 июня такой то сотрудник работает 8 часов, 3 июня еще 8 и так его расписание до конца месяца. Как пометить выходные дни сб и вск другим цветом? Чтобы каждый раз эти дни при печати изменялись в зависимости от месяца текущего года? Хелп куда смотреть и какую матчасть почитать?
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. user1619761 02.06.23 14:16 Сейчас в теме
(1) Добрый день.
ТабДокумент.Область(ТабДокумент.ВысотаТаблицы, 16, ТабДокумент.ВысотаТаблицы, 16).ЦветФона = WebЦвета.ЛососьСветлый;
. Если у Вас дни идут по строкам (вниз), то вам нужно проверять число которое в ТабДокумент.ВысотаТаблицы, если по колонкам(вправо) то вместо 16 Ваше число должно быть.
6. shemyl696 02.06.23 14:52 Сейчас в теме
(3)Нет, вы не совсем поняли правильно. Закрасить ячейку я могу, мне нужно чтобы она автоматически подкрашивалась в зависимости от дня недели текущего месяца. Пример в этом месяце выходной 3 и 4 июня первый и он закрашивается, а если в след месяце смотреть первые выходные(сб и вск) то это уже 1 и 2 июля
7. user1826630 02.06.23 15:27 Сейчас в теме
(6) Автоматически? Там где-то должна быть зелёная кнопка.

Запомни, в программе ничего не делается автоматически, за исключением платформенных механизмов.
8. shemyl696 02.06.23 15:34 Сейчас в теме
(7)Бог ты мой, ну что с вами не так? Кто-то просил этот комментарий? Автоматический подразумевает под собой, что сработает написанный мной код, а не то, что жмякнула на кнопку и чудо случилось. Если хочется так сильно самоутвердиться, поищите другой топик.
Вот пример-это расписание на форме, я сделала макет печатной формы данного расписания и спрашиваю как можно программно сделать так чтобы выходные дни тоже выделялись
Прикрепленные файлы:
9. user1826630 02.06.23 15:40 Сейчас в теме
(8) В магазин за компасом уже собралась?
Тебе же сказали, что надо программировать раскраску, но ты же упорно настаиваешь на некотором "автоматическом" механизме.
10. пользователь 02.06.23 15:49
Сообщение было скрыто модератором.
...
11. пользователь 02.06.23 15:50
Сообщение было скрыто модератором.
...
4. user856012 13 02.06.23 14:24 Сейчас в теме
(1)
Как пометить выходные дни сб и вск другим цветом?
Тут для начала надо выбрать: или "выходные дни", или "сб и вск"?

Потому что выходными (праздничными) бывают и другие дни недели. И наоборот, суббота и воскресенье бывают рабочими.
5. shemyl696 02.06.23 14:28 Сейчас в теме
(4)нужно сделать выходные и праздничные дни, просто чтобы при печати штатного расписания они были выделены
12. user1619761 02.06.23 15:53 Сейчас в теме
(5) тогда Вам нужно смотреть в сторону производственного календаря , если я правильно понял
ТаблицаПроизвКаленд = ПолучитьДанныеПроизводственногоКалендаря();
Для ВашаДата= НачалоДня(ТекущаяДатаСеанса()) По КонецГода(ТекущаяДатаСеанса)
ИскомаяДата = ТаблицаПроизвКаленд .НайтиСтроки(Новый Структура("ДатаКалендаря", ВашаДата));
Если Не ИскомаяДата.Количество() = 0 Тогда
Если ИскомаяДата[0].ВидДня = Перечисления.ВидыДнейПроизводственногоКалендаря.Суббота Или Перечисления.ВидыДнейПроизводственногоКалендаря.Воскресенье
Или Перечисления.ВидыДнейПроизводственногоКалендаря.Праздник Тогда
ТабДокумент.Область(ТабДокумент.ВысотаТаблицы, 16, ТабДокумент.ВысотаТаблицы, 16).ЦветФона = ВашЦвет;
КонецЕсли;
КонецЕсли;
КонецЦикла;

Функция ПолучитьДанныеПроизводственногоКалендаря()
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ДатаНачала", НачалоДня(ТекущаяДатаСеанса());
Запрос.УстановитьПараметр("ДатаОкончания", КонецГода(ТекущаяДатаСеанса());
Запрос.Текст = "ВЫБРАТЬ
|	РегламентированныйПроизводственныйКалендарь.ДатаКалендаря КАК ДатаКалендаря,
|	РегламентированныйПроизводственныйКалендарь.ВидДня КАК ВидДня
|ИЗ
|	РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь
|ГДЕ
|	РегламентированныйПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ &ДатаНачала И &ДатаОкончания";
Возврат Запрос.Выполнить().Выгрузить();
КонецФункции
Показать
13. shemyl696 02.06.23 16:07 Сейчас в теме
(12)
(12) да, вот эту часть я и спрашивала, мне просто было не понятно как связать запрос и сами дни в таблице. Вроде понятно стало, пойду пробовать -спасибо)
2. user1826630 02.06.23 13:53 Сейчас в теме
Читать матчасть по программной работе с областями макетов.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот