Макет печати. Как отметить выходные дни на графике сотрудников другим цветом
Добрый день. Подскажите куда копать пожалуйста. Есть макет для печати. 31 день. Штатное расписание сотрудников по часам. Т.Е 2 июня такой то сотрудник работает 8 часов, 3 июня еще 8 и так его расписание до конца месяца. Как пометить выходные дни сб и вск другим цветом? Чтобы каждый раз эти дни при печати изменялись в зависимости от месяца текущего года? Хелп куда смотреть и какую матчасть почитать?
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Добрый день. . Если у Вас дни идут по строкам (вниз), то вам нужно проверять число которое в ТабДокумент.ВысотаТаблицы, если по колонкам(вправо) то вместо 16 Ваше число должно быть.
ТабДокумент.Область(ТабДокумент.ВысотаТаблицы, 16, ТабДокумент.ВысотаТаблицы, 16).ЦветФона = WebЦвета.ЛососьСветлый;
(3)Нет, вы не совсем поняли правильно. Закрасить ячейку я могу, мне нужно чтобы она автоматически подкрашивалась в зависимости от дня недели текущего месяца. Пример в этом месяце выходной 3 и 4 июня первый и он закрашивается, а если в след месяце смотреть первые выходные(сб и вск) то это уже 1 и 2 июля
(7)Бог ты мой, ну что с вами не так? Кто-то просил этот комментарий? Автоматический подразумевает под собой, что сработает написанный мной код, а не то, что жмякнула на кнопку и чудо случилось. Если хочется так сильно самоутвердиться, поищите другой топик.
Вот пример-это расписание на форме, я сделала макет печатной формы данного расписания и спрашиваю как можно программно сделать так чтобы выходные дни тоже выделялись
Вот пример-это расписание на форме, я сделала макет печатной формы данного расписания и спрашиваю как можно программно сделать так чтобы выходные дни тоже выделялись
Прикрепленные файлы:
![](/upload/forum/upload/8ed/8edf28e1b12b8fa8cc8a02a9d83b2db5.png)
(5) тогда Вам нужно смотреть в сторону производственного календаря , если я правильно понял
ТаблицаПроизвКаленд = ПолучитьДанныеПроизводственногоКалендаря();
Для ВашаДата= НачалоДня(ТекущаяДатаСеанса()) По КонецГода(ТекущаяДатаСеанса)
ИскомаяДата = ТаблицаПроизвКаленд .НайтиСтроки(Новый Структура("ДатаКалендаря", ВашаДата));
Если Не ИскомаяДата.Количество() = 0 Тогда
Если ИскомаяДата[0].ВидДня = Перечисления.ВидыДнейПроизводственногоКалендаря.Суббота Или Перечисления.ВидыДнейПроизводственногоКалендаря.Воскресенье
Или Перечисления.ВидыДнейПроизводственногоКалендаря.Праздник Тогда
ТабДокумент.Область(ТабДокумент.ВысотаТаблицы, 16, ТабДокумент.ВысотаТаблицы, 16).ЦветФона = ВашЦвет;
КонецЕсли;
КонецЕсли;
КонецЦикла;
Функция ПолучитьДанныеПроизводственногоКалендаря()
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ДатаНачала", НачалоДня(ТекущаяДатаСеанса());
Запрос.УстановитьПараметр("ДатаОкончания", КонецГода(ТекущаяДатаСеанса());
Запрос.Текст = "ВЫБРАТЬ
| РегламентированныйПроизводственныйКалендарь.ДатаКалендаря КАК ДатаКалендаря,
| РегламентированныйПроизводственныйКалендарь.ВидДня КАК ВидДня
|ИЗ
| РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь
|ГДЕ
| РегламентированныйПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ &ДатаНачала И &ДатаОкончания";
Возврат Запрос.Выполнить().Выгрузить();
КонецФункции
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот