Вывести начало и конец дня за заданный интервал
Доброго времени суток.
Есть ли функция БСП или стандартный метод, который:
Позволит вывести начало и конец дня за заданный интервал? Например:
Задан интервал: Начало периода 01.04.2023 - Конец периода 30.04.2023
И в результате получаем:
Начало 01.04.2023 00:00 - Конец 01.04.2023 23:59:59
Начало 02.04.2023 00:00 - Конец 02.04.2023 23:59:59
Начало 03.04.2023 00:00 - Конец 03.04.2023 23:59:59
........................................................................................
Начало 30.04.2023 00:00 - Конец 30.04.2023 23:59:59
Спасибо.
Есть ли функция БСП или стандартный метод, который:
Позволит вывести начало и конец дня за заданный интервал? Например:
Задан интервал: Начало периода 01.04.2023 - Конец периода 30.04.2023
И в результате получаем:
Начало 01.04.2023 00:00 - Конец 01.04.2023 23:59:59
Начало 02.04.2023 00:00 - Конец 02.04.2023 23:59:59
Начало 03.04.2023 00:00 - Конец 03.04.2023 23:59:59
........................................................................................
Начало 30.04.2023 00:00 - Конец 30.04.2023 23:59:59
Спасибо.
По теме из базы знаний
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Просто любопытно, задание преподавателя было на использование стандартных методов из БСП, или на написание нескольких строк кода типа
Или, я как со мной бывает, просто не понял вопрос?
Дата1 = Дата(2023,12,15, 18,0, 1);
Дата2= Дата(2024,3,18, 19,19,0);
датаНачала = НачалоДня(Дата1);
Для i = 1 По (КонецДня(Дата2) - НачалоДня(Дата1) + 1)/(24*60*60) Цикл
датаНачала = НачалоДня(датаНачала);
Сообщить("Начало " +Строка(датаНачала) + "-" + "Конец " + КонецДня(датаНачала));
датаНачала = датаНачала + 24*60*60;
КонецЦикла;
ПоказатьИли, я как со мной бывает, просто не понял вопрос?
(4) Да с этим БСП с ума все посходили. Суют его там где нужно и там где не нужно. В том числе в типовых.
В результате универсальности, очень часто, данные собираются на стороне SQL передаются на сторону 1С в виде коллекции. Потом БСП коллекцию перелопачивает и трансформирует в другой вид (условно разбить на периоды). Передается на сторону SQL. Далее ещё какая-то выборка со связью на стороне SQL. Потом опять передача данных на сторону 1С и опять БСП, что-то куда-то. И так несколько раз.
Хотя очень часто можно на стороне SQL сделать все манипуляции и выдать на выходе уже нужный результат в нужном виде. И не гонять данные туда сюда. Сейчас код в типовых 1С очень похож на код 1С77, где ТЗ перебор, поиск, расчет и сортировка. И всё это в ТЗ (или других коллекциях). Читабельность этих портянок "ёлочек" никакая.
1С это интерпретатор - не быстрый по определению.
+ беганье по ТЗ (или другим коллекциям) с поиском в циклах разные.
+ данные из пустого в порожнее гонять.
В результате универсальности, очень часто, данные собираются на стороне SQL передаются на сторону 1С в виде коллекции. Потом БСП коллекцию перелопачивает и трансформирует в другой вид (условно разбить на периоды). Передается на сторону SQL. Далее ещё какая-то выборка со связью на стороне SQL. Потом опять передача данных на сторону 1С и опять БСП, что-то куда-то. И так несколько раз.
Хотя очень часто можно на стороне SQL сделать все манипуляции и выдать на выходе уже нужный результат в нужном виде. И не гонять данные туда сюда. Сейчас код в типовых 1С очень похож на код 1С77, где ТЗ перебор, поиск, расчет и сортировка. И всё это в ТЗ (или других коллекциях). Читабельность этих портянок "ёлочек" никакая.
1С это интерпретатор - не быстрый по определению.
+ беганье по ТЗ (или другим коллекциям) с поиском в циклах разные.
+ данные из пустого в порожнее гонять.
(5)Да, интересный момент, когда стремление к универсальности оборачивается излишней нагрузкой на ресурсы. Причем под ресурсами понимается и человеческий мозг.
Да уж, выбор - запомнить, хотя бы на уровне, да, это есть где-то там, в 100500 методах БСП, есть, против - написать
20 строк кода, которые делают то, что нужно мне, понятным мне же способом.
Приведу провокационный пример - что, на первый взгляд, должен возвращать метод ЕстьРоль, если у вас полные права, но именно этой роли нет?
Уверен, что вы точно знаете, что он вернет.
Вопрос в другом - а как это следует из названия, ну вот как?
А как же повторное использование?
Это тоже неоднозначно, например, есть такой полезный ЭКСПОРТНЫЙ метод как
ПолучитьДатуИзСтроки().
Вы, конечно, можете запомнить, где он лежит, его наименование и какую именно строку он ждет, а можете каждый раз самостоятельно писать единственную строку, которая в нем есть:
Дата(Сред(Строка, 7, 4)+Сред(Строка, 4, 2)+Лев(Строка, 2));
Заодно подумаете, а как он обработает строку с пробелами в начале, или с неверными числами.
Кстати, сейчас (у нас старое БСП, если что) там требуется строка строго в формате ЧЧ.ММ.ГГГГ.
И вдруг решают, что это не достаточно универсально - надо принимать разные форматы, включая строку, представляющую собой timestamp со смещением и т.п.
Правда здорово - вот молотила себе обработка 30 минут, а стала 33 и в регламентное окно маленько не лезет.
Я за БСП, встраиваю его в новые конфигурации и использую многие методы, но иногда предпочитаю написать несколько строк кода, а не пытаться найти "а не было ли этого в евангелие от БСП, том 3"
Да уж, выбор - запомнить, хотя бы на уровне, да, это есть где-то там, в 100500 методах БСП, есть, против - написать
20 строк кода, которые делают то, что нужно мне, понятным мне же способом.
Приведу провокационный пример - что, на первый взгляд, должен возвращать метод ЕстьРоль, если у вас полные права, но именно этой роли нет?
Уверен, что вы точно знаете, что он вернет.
Вопрос в другом - а как это следует из названия, ну вот как?
А как же повторное использование?
Это тоже неоднозначно, например, есть такой полезный ЭКСПОРТНЫЙ метод как
ПолучитьДатуИзСтроки().
Вы, конечно, можете запомнить, где он лежит, его наименование и какую именно строку он ждет, а можете каждый раз самостоятельно писать единственную строку, которая в нем есть:
Дата(Сред(Строка, 7, 4)+Сред(Строка, 4, 2)+Лев(Строка, 2));
Заодно подумаете, а как он обработает строку с пробелами в начале, или с неверными числами.
Кстати, сейчас (у нас старое БСП, если что) там требуется строка строго в формате ЧЧ.ММ.ГГГГ.
И вдруг решают, что это не достаточно универсально - надо принимать разные форматы, включая строку, представляющую собой timestamp со смещением и т.п.
Правда здорово - вот молотила себе обработка 30 минут, а стала 33 и в регламентное окно маленько не лезет.
Я за БСП, встраиваю его в новые конфигурации и использую многие методы, но иногда предпочитаю написать несколько строк кода, а не пытаться найти "а не было ли этого в евангелие от БСП, том 3"
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот