Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
11 дек 2024, 18:46

Проверить дату на вхождение в период

Автор Andra, 26 окт 2022, 07:19

0 Пользователей и 1 гость просматривают эту тему.

Andra

Здравствуйте, подскажите пожалуйста. Как проверить вхождение Текущей даты в заданный период, при этом в периоде День и Месяц фиксированные, а год нет. Точнее как задать программно такой период, чтобы проверка была именно по дню и месяцу.

LexaK

Andra, такой вариант, пересчитываете все ваши даты в такую конструкцию

МесяцДень = Месяц(ВашаДата) * 100 + День(ВашаДата);

затем проверяете обычным сравнением 

Если МесяцДень >= МесяцДеньС
и    МесяцДень <= МесяцДеньПо Тогда

тоже самое и в Запросе можно построить
если помогло нажмите: Спасибо!

Andra

LexaK, решил немного другим методом, установил нулевой год у начала и окончания периода, оставил только фиксированные день и месяц, а  текущую дату привожу к нулевому году. Может подскажете как можно обратиться к объекту в строке таблицы значений? То бишь в строке есть колонка, в которой ссылка на справочник, мне нужно взять значение реквизита из указанного элемента справочника, через ТекущиеДанные я получаю саму строку, но обратиться к конкретному полю в строке не могу.

LexaK

Andra,
Цитироватьно обратиться к конкретному полю в строке не могу.
Почему?

В текущей строке через точку по имени нужной колонки, получите ссылку!

ВашаСсылка = ТекущиеДанные.ВашаКолонка; //это пример
если помогло нажмите: Спасибо!

Andra

Так я получаю значение в конкретной колонке, да, а мне надо вытащить отсюда значение реквизита в этом элементе справочника.
Если делаю так, то говорит мол поле Расстояние не обнаружено.
ТекущаяСтрока = Элементы.Маршруты.ТекущиеДанные.Маршрут.Расстояние;

LexaK

Andra, надо написать процедуру НаСервере, тогда получится так
ТекущаяСтрока = ПолучитьРеквизитНаСервере(Элементы.Маршруты.ТекущиеДанные.Маршрут, "Расстояние");

&НаСервереБезКонтекста
Функция ПолучитьРеквизитНаСервере(Ссылка, ИмяРеквизита)
    Возврат Ссылка[ИмяРеквизита];
КонецФункции;

если помогло нажмите: Спасибо!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск