Имя: Пароль:
1C
 
Получение периода в журнале документов
,
0 Молодой 1Снег
 
28.04.09
14:22
Как программно получить период установленный в открытом журнале документов?
1 73
 
28.04.09
14:25
Расширение табличного поля журнала документов (Document journal table box extension)
СтандартныйПериод (StandardPeriod)
Использование:
Чтение и запись.
Описание:
Тип: НастройкаПериода. Содержит объект НастройкаПериода в соответствии с которым осуществляется настройка периода списка документов при открытии формы, содержащей данное табличное поле.
2 НЕА123
 
28.04.09
14:26
отбор
3 НЕА123
 
28.04.09
14:29
(1)+1 это правильней. (2) - может и совсем нельзя.
4 Молодой 1Снег
 
28.04.09
15:03
(1) И как мне с помощью этого получить дату начала периода и дату конца?
5 Молодой 1Снег
 
28.04.09
15:06
Прошу прощения, у меня не журнал документов, а форма списка документа.
6 IronDemon
 
28.04.09
15:07
тОтбор = ДокументСписок.Отбор;
Если НЕ тОтбор.Дата.ЗначениеПо = '00010101000000' И тОтбор.Дата.Значение = '00010101000000' Тогда

   ДатаПо = тОтбор.Дата.ЗначениеПо;
   
ИначеЕсли тОтбор.Дата.ЗначениеПо = '00010101000000' И НЕ тОтбор.Дата.Значение = '00010101000000' Тогда
   
   ДатаПо = тОтбор.Дата.Значение;
   
ИначеЕсли НЕ тОтбор.Дата.ЗначениеПо = '00010101000000' И НЕ тОтбор.Дата.Значение = '00010101000000' Тогда
   
   ДатаПо = тОтбор.Дата.ЗначениеПо;
   
Иначе

   ДатаПо = ТекущаяДата();

КонецЕсли;
7 73
 
28.04.09
15:28
Стандартным периодом не получилось:(
Вот так вроде работает:

   ДатаНачала = ДокументСписок.Отбор.Дата.ЗначениеС;
   ДатаОкончания = ДокументСписок.Отбор.Дата.ЗначениеПо;
8 Молодой 1Снег
 
28.04.09
15:32
(7) Работает, но если период снова установить без ограничений, то выдаются даты периода установленного до этого.
9 IronDemon
 
28.04.09
15:34
(7)(8) Поэтому в (6) такое извращение
10 Молодой 1Снег
 
28.04.09
15:37
(9) А как из этого извращения дату начала периода получить?
11 НЕА123
 
28.04.09
15:39
(8)
попробуй, так должно отработать.
ПолучитьДатуНачала()
и окончания.
12 Молодой 1Снег
 
28.04.09
15:46
(11) Всегда 01.01.0001 0:00:00 выдает.
13 НЕА123
 
28.04.09
15:50
(12)
это когда без ограничений? иначе вроде должно что-то быть.
я вроде так делал.
в СП написано.
14 Молодой 1Снег
 
28.04.09
16:01
(13) Всегда. Пробовал и так:

   НастройкаПериода = ЭлементыФормы.ДокументСписок.СтандартныйПериод;
   ДатаНач = НастройкаПериода.ПолучитьДатуНачала();
   ДатаКон = НастройкаПериода.ПолучитьДатуОкончания();

И вот так:

   НастройкаПериода = Новый НастройкаПериода;
   ДатаНач = НастройкаПериода.ПолучитьДатуНачала();
   ДатаКон = НастройкаПериода.ПолучитьДатуОкончания();

Всегда выдает 01.01.0001 0:00:00, при любом установленном периоде.
15 73
 
28.04.09
16:13
ДатаНачала = '00010101';
   ДатаОкончания = '00010101';
   ОтборДата = ДокументСписок.Отбор.Дата;
   
   Если ОтборДата.Использование Тогда
       Если ОтборДата.ВидСравнения = ВидСравнения.ИнтервалВключаяГраницы Тогда
   
           ДатаНачала = ДокументСписок.Отбор.Дата.ЗначениеС;
           ДатаОкончания = ДокументСписок.Отбор.Дата.ЗначениеПо;
           
       ИначеЕсли ОтборДата.ВидСравнения = ВидСравнения.БольшеИлиРавно Тогда
           
           ДатаНачала = ДокументСписок.Отбор.Дата.Значение;
           
       ИначеЕсли ОтборДата.ВидСравнения = ВидСравнения.МеньшеИлиРавно Тогда
           
           ДатаОкончания = ДокументСписок.Отбор.Дата.Значение;
           
       КонецЕсли;
       
   КонецЕсли;
   Сообщить(ДатаНачала);
   Сообщить(ДатаОкончания);
16 Молодой 1Снег
 
28.04.09
16:17
(15) Работает! Спасибо!
17 НЕА123
 
28.04.09
16:19
(14)
да уж...
изменяет, если только ставишь флажок использовать при открытии.
18 Молодой 1Снег
 
28.04.09
16:47
+(16) Только дату начала и дату конца по умолчанию лучше такими поставить:

   ДатаНачала = '00010101000000';
   ДатаОкончания = ТекущаяДата();
19 73
 
28.04.09
16:50
(18) 1. Время для пустой даты можно не указывать.
2. Без ограничения - это все-таки не текущая дата. А что если документы будущим числом будут?
20 Молодой 1Снег
 
28.04.09
16:55
(19) Согласен.
Тогда ДатаОкончания = ТекущаяДата()+1000000000;
Потому что я делаю выборку документов по периоду указанному в журнале. В выборку с пустыми датами периода ни один документ не попадает.
21 Молодой 1Снег
 
28.04.09
16:57
+(20) Т.е. выборка получается не с пустыми датами, а с первого года н.э. по первый год н.э.
22 73
 
28.04.09
17:00
(20) КонецДня('39991231') - максимум в 1С

(21) Получить отобранные строки проще через ПостроительЗапроса.
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой