По теме из базы знаний
- Проверка пересечения периодов состояния сотрудников для 1С: УПП 1.3
- Анализ номенклатуры без движения за определенный период (1С:УНФ)
- Список пользователей за указанный период по выбранным информационным базам с возможностью настройки вывода через СКД (управляемые формы)
- Анализ остатков, продаж за период помесячно, с заказами поставщикам
- Анализ отпусков за период
Найденные решения
(1) В целом сам разобрался.
ОбластьМакета = Макет.ПолучитьОбласть("ПериодДоговора");
Если Выборка.Дата >=НачалоМесяца(Выборка.Дата) И Выборка.Дата<=НачалоМесяца(Выборка.Дата)+13*86400 Тогда
ОбластьМакета.Параметры.НачалоМесяца =Формат(ДобавитьМесяц(НачалоМесяца(Выборка.Дата),-1),"ДФ=dd.MM.yyyy");
ОбластьМакета.Параметры.КонецМесяца = Формат(ДобавитьМесяц(КонецМесяца(Выборка.Дата),-1),"ДФ=dd.MM.yyyy");
ИНАЧЕ
ОбластьМакета.Параметры.НачалоМесяца = Формат(НачалоМесяца(Выборка.Дата),"ДФ=dd.MM.yyyy");
ОбластьМакета.Параметры.КонецМесяца = Формат(КонецМесяца(Выборка.Дата),"ДФ=dd.MM.yyyy");
КонецЕсли;
ТабличныйДокумент.Вывести(ОбластьМакета);
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) В целом сам разобрался.
ОбластьМакета = Макет.ПолучитьОбласть("ПериодДоговора");
Если Выборка.Дата >=НачалоМесяца(Выборка.Дата) И Выборка.Дата<=НачалоМесяца(Выборка.Дата)+13*86400 Тогда
ОбластьМакета.Параметры.НачалоМесяца =Формат(ДобавитьМесяц(НачалоМесяца(Выборка.Дата),-1),"ДФ=dd.MM.yyyy");
ОбластьМакета.Параметры.КонецМесяца = Формат(ДобавитьМесяц(КонецМесяца(Выборка.Дата),-1),"ДФ=dd.MM.yyyy");
ИНАЧЕ
ОбластьМакета.Параметры.НачалоМесяца = Формат(НачалоМесяца(Выборка.Дата),"ДФ=dd.MM.yyyy");
ОбластьМакета.Параметры.КонецМесяца = Формат(КонецМесяца(Выборка.Дата),"ДФ=dd.MM.yyyy");
КонецЕсли;
ТабличныйДокумент.Вывести(ОбластьМакета);
Показать
(4) можно проще:
НужнаяДата = ДобавитьМесяц(Выборка.Дата, -(День(Выборка.Дата) < 15));
ОбластьМакета = Макет.ПолучитьОбласть("ПериодДоговора");
Периоды = Новый Структура("НачалоМесяца, КонецМесяца");
Периоды.НачалоМесяца = Формат(НачалоМесяца(НужнаяДата), "ДЛФ=D");
Периоды.КонецМесяца = Формат(КонецМесяца(НужнаяДата), "ДЛФ=D");
ОбластьМакета.Параметры.Заполнить(Периоды);
2.
Гость
07.12.23 23:56
Добрый день, Кирилл!
В коде печатной формы напишите что-то похожее на следующее:
В коде печатной формы напишите что-то похожее на следующее:
СоответствиеДатДокументов = ОбщегоНазначения.ЗначениеРеквизитаОбъектов(МассивСсылокНаДокументы, "Дата");
Для Каждого Пара Из СоответствиеДатДокументов Цикл
Период = Пара.Значение;
ИскомыйПериод = Неопределено;
Если День(Период)<=15 Тогда
ИскомыйПериод = НачалоМесяца(ДобавитьМесяц(Период, -1));
Иначе
ИскомыйПериод = НачалоМесяца(Период);
КонецЕсли;
// выводите в необходимую область значение переменной ИскомыйПериод
КонецЦикла;
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот