helpf.pro
Регистрация
 0 
Распечатать

Как перебрать все даты с НачалоПериода по КонецПериода и получить таблицу периодов?

Код 1C v 8.х
 Тз = Новый ТаблицаЗначений;
тз.Колонки.Добавить("День");
//Переберем все даты за период
ТекДат = НачалоДня(НачПериода);
Пока Не ТекДат = НачалоДня(КонПериода) Цикл
Состояние(ТекДат);
//Добавим текущую дату в таблицу периодов
НовСтр = Тз.Добавить();
НовСтр.День = ТекДат;

ТекДат = ТекДат+86400;//Добавим 1 День
КонецЦикла;

тз.ВыбратьСтроку();
Разместил:   Версии: | 8.x | 8.2 УП |  Дата:   Прочитано: 8736
 0 
Распечатать
Возможно, вас также заинтересует
1C и Google Maps 12
была поставлена задача отображения на географической карте медицинских учреждений. После обзора предлагаемых решений был выбран сервис google. Но так же подобного рода подход будет работать и с картами сервиса yandex. Во...
1С 7.x : Как получить курсы валют с сайта НБУ http://www.bank.gov.ua/ за любую дату ? 2
Функция ПолучитьТаблицуКурсовНБУ(ДатаКурса, Ежедневно = 1) // если в качестве второго параметра указать число отличное от 1 - получем валюты, которые котируются на ежемесячной основе Перем Reader, Url, Точки, HtmlTab, Строк, Р,...
COM-подключение к базе 7.7 из 8.2 1С 4
Если код выполняется на стороне клиента, то необходимо наличие базы 7.7 на локальной машине. Пример (На форме объекта присутствует реквизит Таблица(ТаблицаЗначений)): НаКлиенте Процедура Загрузки() ПутьКБазе="...
Cклонения по падежам 4
НаКлиенте Процедура Команда1(Команда) ФИО = " Иванов Иван Иванович" ; Падеж = 2; Пол = 1; Результат = СклонениеФИО(ФИО, Падеж, пол); Сообщить(Результат); КонецПроцедуры НаСервере Функция СклонениеФИО(ФИО, Падеж, пол) ...
Excel файл как Внешний источник данных 4
Подключимся и загрузим из файла Excel данные в таблицу значений 1С. Сделать теперь это очень просто. 1. В конфигурации добавляет новый объект метаданных типа " Внешние источники данных" и назовем его просто " Excel" . ...
Посмотреть все результаты поиска похожих
Комментарии
IKSparrow
11.02.2013 15:55Комментарий: 1
IKSparrow
А я бы предложил другой вариант. Основанный на запросе. Так будет быстрее. В параметрах запроса - НачалоПериода - дата с которой нужно получить периоды и КонецПериода - дата по, которую, получаем таблицу периодов.

Код 1C v 8.2 УП
 
ВЫБРАТЬ
aa.a * 1000 + bb.b * 100 + cc.c * 10 + dd.d КАК НомерДняИзДиапазона
ПОМЕСТИТЬ ВТ_Дни
ИЗ
(ВЫБРАТЬ
0 КАК a

ОБЪЕДИНИТЬ

ВЫБРАТЬ
1

ОБЪЕДИНИТЬ

ВЫБРАТЬ
2

ОБЪЕДИНИТЬ

ВЫБРАТЬ
3

ОБЪЕДИНИТЬ

ВЫБРАТЬ
4

ОБЪЕДИНИТЬ

ВЫБРАТЬ
5

ОБЪЕДИНИТЬ

ВЫБРАТЬ
6

ОБЪЕДИНИТЬ

ВЫБРАТЬ
7

ОБЪЕДИНИТЬ

ВЫБРАТЬ
8

ОБЪЕДИНИТЬ

ВЫБРАТЬ
9) КАК aa
ПОЛНОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
0 КАК b

ОБЪЕДИНИТЬ

ВЫБРАТЬ
1

ОБЪЕДИНИТЬ

ВЫБРАТЬ
2

ОБЪЕДИНИТЬ

ВЫБРАТЬ
3

ОБЪЕДИНИТЬ

ВЫБРАТЬ
4

ОБЪЕДИНИТЬ

ВЫБРАТЬ
5

ОБЪЕДИНИТЬ

ВЫБРАТЬ
6

ОБЪЕДИНИТЬ

ВЫБРАТЬ
7

ОБЪЕДИНИТЬ

ВЫБРАТЬ
8

ОБЪЕДИНИТЬ

ВЫБРАТЬ
9) КАК bb
ПО (ИСТИНА)
ПОЛНОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
0 КАК c

ОБЪЕДИНИТЬ

ВЫБРАТЬ
1

ОБЪЕДИНИТЬ

ВЫБРАТЬ
2

ОБЪЕДИНИТЬ

ВЫБРАТЬ
3

ОБЪЕДИНИТЬ

ВЫБРАТЬ
4

ОБЪЕДИНИТЬ

ВЫБРАТЬ
5

ОБЪЕДИНИТЬ

ВЫБРАТЬ
6

ОБЪЕДИНИТЬ

ВЫБРАТЬ
7

ОБЪЕДИНИТЬ

ВЫБРАТЬ
8

ОБЪЕДИНИТЬ

ВЫБРАТЬ
9) КАК cc
ПО (ИСТИНА)
ПОЛНОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
0 КАК d

ОБЪЕДИНИТЬ

ВЫБРАТЬ
1

ОБЪЕДИНИТЬ

ВЫБРАТЬ
2

ОБЪЕДИНИТЬ

ВЫБРАТЬ
3

ОБЪЕДИНИТЬ

ВЫБРАТЬ
4

ОБЪЕДИНИТЬ

ВЫБРАТЬ
5

ОБЪЕДИНИТЬ

ВЫБРАТЬ
6

ОБЪЕДИНИТЬ

ВЫБРАТЬ
7

ОБЪЕДИНИТЬ

ВЫБРАТЬ
8

ОБЪЕДИНИТЬ

ВЫБРАТЬ
9) КАК dd
ПО (ИСТИНА)
ГДЕ
aa.a * 1000 + bb.b * 100 + cc.c * 10 + dd.d <= РАЗНОСТЬДАТ(&НачалоПериода,&КонецПериода,ДЕНЬ)
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(&НачалоПериода, ДЕНЬ, ВТ_Дни.НомерДняИзДиапазона) КАК Дата
ИЗ
ВТ_Дни КАК ВТ_Дни
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.