Имя: Пароль:
1C
1С v8
Как сравнить даты из ТЗ с датами Стандартного периода?
0 drago92
 
06.08.15
12:16
Дано ДатаНачальная и ДатаОкончания стандартного периода
Есть ТЗ в ней есть поле дата, как то надо сравнить даты с датами в стандартном периоде и вывести каких месяц нет?
1 Адский плющ
 
06.08.15
12:18
Прочитай второе предложение сам.
2 salvator
 
06.08.15
12:19
Это программировать надо...
3 drago92
 
06.08.15
12:22
Есть таблица значений в ней есть колонка дата, Как то надо сравнить даты между ДатамиТЗ и ДатамиСтандартногопериода, и вывести каких дат там нет в этом промежутке.
4 Fish
 
06.08.15
12:22
(3) И что не получается то?
5 1Сергей
 
06.08.15
12:23
Нужна мотивация или что?
6 drago92
 
06.08.15
12:24
Получить список дат на заданный промежутке в стандартном периоде
7 1Сергей
 
06.08.15
12:25
(6) попробуй циклом
8 salvator
 
06.08.15
12:25
(3) "Там" - это где? Сформулируй понятно, по-русски.
9 drago92
 
06.08.15
12:25
например
01.12.2014
01.01.2015
01.02.2015
01.03.2015
01.04.2015
10 drago92
 
06.08.15
12:26
во внешнем отчете
11 Ненавижу 1С
 
гуру
06.08.15
12:27
пятница же завтра
12 salvator
 
06.08.15
12:27
(9)
Цикл, начиная с первой даты, заканчивая второй. В цикле прибавляй один месяц. Элементарно.
13 drago92
 
06.08.15
12:28
Циклом не получается
14 1Сергей
 
06.08.15
12:28
у него в нике опечатка. drugo92
15 Fish
 
06.08.15
12:29
(13) Давай свой код. И опиши, что именно не получается.
16 salvator
 
06.08.15
12:29
(13) Значит, что-то не так делаешь. Терпение и труд все перетрут.
17 drago92
 
06.08.15
12:32
Для  Проба = ДатаНачала ПО ДатаОкончания Цикл
Проба=Проба+1;
КонецЦикла;
18 salvator
 
06.08.15
12:32
(17) Ты секунду прибавил, а не месяц.
19 drago92
 
06.08.15
12:33
а месяц как
20 1Сергей
 
06.08.15
12:38
(19) ДобавитьМесяц
21 gigi789
 
06.08.15
12:42
(0) Под датами стандартного периода что понимается??
22 gigi789
 
06.08.15
12:43
(21) Начало этой недели, начало прошлой недели, начало следующей недели, начало этого месяца, прошлого месяца они??
23 drago92
 
06.08.15
12:44
выбранные даты например с декабря 2014 по май 2015
24 drago92
 
06.08.15
12:44
начало месяца
25 1Сергей
 
06.08.15
12:46
ТекДата = ДатаНачальная;
Пока ТекДата < ДатаОкончания Цикл
    ...
    ТекДата = ДобавитьМесяц(ТекДата, 1);
КонецЦикла;
26 drago92
 
06.08.15
12:49
И выводит только Начальную дату
27 drago92
 
06.08.15
12:49
тоже самое что и у меня было
28 1Сергей
 
06.08.15
12:50
(26) куда выводит?
29 drago92
 
06.08.15
12:51
в табло
30 gigi789
 
06.08.15
12:52
(29) Дерзко)) сможешь код показать
31 salvator
 
06.08.15
12:52
(29) Внутри цикла сделай Сообщить(ТекДата)
32 drago92
 
06.08.15
12:54
Я не виноват что его так прозвали)
33 1Сергей
 
06.08.15
12:54
Даты поди попутал
34 1Сергей
 
06.08.15
12:56
ДатаНачальная = Дата(2014, 12, 1);
    ДатаОкончания = Дата(2015, 05, 1);
    
    ТекДата = ДатаНачальная;
    Пока ТекДата < ДатаОкончания Цикл
        Сообщить(ТекДата);
        ТекДата = ДобавитьМесяц(ТекДата, 1);
    КонецЦикла;


результат
01.12.2014 0:00:00
01.01.2015 0:00:00
01.02.2015 0:00:00
01.03.2015 0:00:00
01.04.2015 0:00:00
35 drago92
 
06.08.15
13:29
Так как вы написали это работаю, а вот со с заданным  периодом не хочет
36 Fish
 
06.08.15
13:37
(35) Показывай свой код.
37 drago92
 
06.08.15
13:47
Спасибо разобрался) Щя сравнивать буду пробывать)
                            ДатаНачальная = Период.ДатаНачала;
ДатаОкончания1 = Период.ДатаОкончания;
                            МассивСтрок = Новый Массив;
    ТекДата = ДатаНачальная;
    Пока ТекДата < ДатаОкончания1 Цикл
        Сообщить(ТекДата);
        ТекДата = ДобавитьМесяц(ТекДата, 1);
        МассивСтрок.Добавить(ТекДата);
    КонецЦикла;
Вот как получилось
Ошибка была в том что в начале кода задал формат Периоду
38 Fish
 
06.08.15
13:48
(37) Формат возвращает строку, а не дату.
39 drago92
 
06.08.15
13:50
Это я уже понял
40 drago92
 
06.08.15
15:08
Как сравнить Два массива, чтоб в сообщении вывел что таких месяцев нет
41 salvator
 
06.08.15
15:21
(40) Создать ТЗ с двумя колонками. В первую помещаешь значения из первого и второго массива. Вторую колонку заполняешь единичками. Затем метод "Свернуть" для ТЗ с группировкой по 1-му столбцу и суммированием по второму. Там где во второй колонке значение = 1, и есть те значения, которые не повторяются в обоих массивах.
42 drago92
 
07.08.15
06:12
Спасибо Буду побывать)
43 1Сергей
 
07.08.15
06:14
(41) погоди ты со свернуть. Пусть циклом пробежится и посмотрит где не вставились единички - там дырки в периодах
44 Сергей Д
 
07.08.15
08:41
Пока ТекДата <= ДатаОкончания Цикл
45 drago92
 
07.08.15
14:33
Че то я замудрился и пред уже пишу
            ТабМес = Новый ТаблицаЗначений;
            ТабМес.Колонки.Добавить("МассивДат");
            
            Для каждого Элемент из КолонкаМесяц Цикл
                            НоваяСтрока = ТабМес.Добавить();
            НоваяСтрока.МассивДат = Элемент;
            
        КонецЦикла;
        
            Проба = Новый ТаблицаЗначений;
            Проба.Колонки.Добавить("МассивДатИзПериода");
            
            Для Каждого Элемент1 Из МассивСтрок цикл
                НоваяСтрока = Проба.Добавить();
                НоваяСтрока.МассивДатИзПериода = Элемент1;    
            КонецЦикла;