Имя: Пароль:
1C
1С v8
Параметр КонецПериода программно.
0 al_zzz
 
18.06.12
12:50
Добавил в отчете на СКД пару наборов данных - перестал заполняться параметр "КонецПериода", хотя параметр "НачалоПериода" заполняется нормально.
Вот код заполнения при открытии:
КонецПериода = ЭтаФорма.ОтчетОбъект.КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("КонецПериода"));
   КонецПериода.Использование = Истина;
   КонецПериода.Значение = Новый Граница(КонецДня(НачалоМесяца(ТекущаяДата()) - 1), ВидГраницы.Включая);
 

При установке настроек в предприятии предлагает выбрать: "Стандартная дата начала"
                    "Поле компоновки данных".
1 Cube
 
18.06.12
12:52
(0) Границу не умеет 1С отображать. Убирай период из видимых параметров и выноси его на форму, при изменении периода, устанавливай настройки, как в (0).
2 Cube
 
18.06.12
12:54
И чего так сложно параметр получаешь? Всё же намного проще:

ЗначениеПараметра = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Период");
3 al_zzz
 
18.06.12
13:03
(1) Так у меня мало того, что не отображает, ещё и по умолчанию установленное не понимает - пишет:
Ошибка в выражении
по причине:
Неверные параметры "EndOfPeriod"
(2) А как начало и конец периода устанавливать? У меня &КонецПериода используется и в получении только остатков, и в получении цены на дату.
Не достаточно будет в выражении параметра в скд записать КонецПериода(&КонецПериода,"День")?
4 Cube
 
18.06.12
13:05
(3) "А как начало и конец периода устанавливать"
Ну ты чё?

Ты пишешь:

КонецПериода = ЭтаФорма.ОтчетОбъект.КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("КонецПериода"));

Я пишу:

КонецПериода = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("КонецПериода");

А на выходе одно и то же...
5 Cube
 
18.06.12
13:07
(3) А смысл КонецПериода выводить на форму, если ты всё время туда текущую дату пихаешь?
6 al_zzz
 
18.06.12
13:14
(5) Тут проблема в том, чтобы установить по умолчанию в &КонецПериода конец предыдущего месяца и чтоб пользователь мог при желании изменить её.
7 al_zzz
 
18.06.12
13:15
(6)+ а я, если указываю границу в &КонецПериода, ошибку выдает.
8 Cube
 
18.06.12
13:17
(6) Ну, так а ты что делаешь? Ты в КонецПериода пихаешь не дату или стандартную дату, а ГРАНИЦУ! Я уже писал выше, что визуально 1С не умеет границу отображать. Пихай в КонецПериода дату, а не границу и пусть её пользователь меняет сколько влезет, только, на сколько я понимаю, это тебе не поможет (ведь не зря ты границу используешь-то)...
А в то же самое время, лекарство от всех твоих бед в (1), тебе просто осталось осознать это...
9 Aprobator
 
18.06.12
13:20
(0) остатки что ли получаешь? Ну получай их не через границу, а юзая дату на секунду побольше.