Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / [игнор отключен] [закрыт для гостей] / Поле выбора / 14 сообщений из 14, страница 1 из 1
10.07.2009, 00:55
    #36083341
uZver
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поле выбора
Есть Отчет, в нем Форма,
на форме элемент ПолеВыбора(CheckBox) с именем "ВыбМесяц"
Хочу что-бы в нем были месяцы года и при открытии формы уже стояло наименование текущего месяца

Сильно не бейте, я только учусь :)

Вот процедура:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
	ЭлементыФормы.ВыбГод.Значение = Год(ТекущаяДата());
	Месяцы = Новый Массив( 12 );
	Месяцы.Добавить("январь");
	Месяцы.Добавить("февраль");
	Месяцы.Добавить("март");
	Месяцы.Добавить("апрель");
	Месяцы.Добавить("май");
	Месяцы.Добавить("июнь");
	Месяцы.Добавить("июль");
	Месяцы.Добавить("август");
	Месяцы.Добавить("сентябрь");	
	Месяцы.Добавить("октябрь");	
	Месяцы.Добавить("ноябрь");
	Месяцы.Добавить("декабрь");	
	ТекущийМесяц = Месяц(ТекущаяДата());
	ЭлементыФормы.ВыбМесяц.СписокВыбора.Очистить();
	ЭлементыФормы.ВыбМесяц.СписокВыбора.ЗагрузитьЗначения(Месяцы);
	ЭлементыФормы.ВыбМесяц.СписокВыбора.Получить(ТекущийМесяц);
КонецПроцедуры
...
Рейтинг: 0 / 0
10.07.2009, 08:30
    #36083497
слоненок
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поле выбора
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Месяцы = Новый Массив();
Месяцы.Добавить("январь");
..

..
Месяцы.Добавить("декабрь");	
ТекущийМесяц = Месяц(ТекущаяДата());
ЭлементыФормы.ВыбМесяц.СписокВыбора.ЗагрузитьЗначения(Месяцы);
ЭлементыФормы.ВыбМесяц.Значение = Месяцы[ТекущийМесяц -  1 ];
...
Рейтинг: 0 / 0
10.07.2009, 08:32
    #36083501
слоненок
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поле выбора
Кхе.., ПолеВыбора -> ComboBox
...
Рейтинг: 0 / 0
10.07.2009, 08:49
    #36083517
uZver
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поле выбора
спасибо одну свою ошибку уже понял,
но в поле выбора сначала идет 12 раз <пустое значение>
а уже потом месяцы ...
...
Рейтинг: 0 / 0
10.07.2009, 08:55
    #36083529
слоненок
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поле выбора
как вы массив заполнили, так поле выбора его и отображает...
...
Рейтинг: 0 / 0
10.07.2009, 09:43
    #36083626
Мутабор
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поле выбора
uZverспасибо одну свою ошибку уже понял,
но в поле выбора сначала идет 12 раз <пустое значение>
а уже потом месяцы ...
Массив.Добавить - в справке прочти.
...
Рейтинг: 0 / 0
10.07.2009, 13:00
    #36084208
zikz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поле выбора
Напиши так

Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)

ЭлементыФормы.ПолеВыбора1.СписокВыбора.Добавить("Январь");
. . . . . . . . .
ЭлементыФормы.ПолеВыбора1.СписокВыбора.Добавить("Декабрь");

КонецПроцедуры
...
Рейтинг: 0 / 0
10.07.2009, 13:44
    #36084345
uZver
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поле выбора
всем спасибо, уже понял в чем дело
...
Рейтинг: 0 / 0
10.07.2009, 18:02
    #36084914
uZver
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поле выбора
еще один вопрос:
как узнать какой элемент выбрал пользователь:
вроде-бы так:
ЭлементыФормы.ВыбМесяц.СписокВыбора.Индекс(...);

Справка говорит что вместо троеточия должен быть ТекущийЭлементСписка

Но если я пишу так:
Сообщить(ЭлементыФормы.ВыбМесяц.СписокВыбора.Индекс(ТекущийЭлементСписка));

То система не принимает.

Как правильно указать этот ТекущийЭлементСписка ?
...
Рейтинг: 0 / 0
10.07.2009, 18:06
    #36084921
Господин ПЖ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поле выбора
ЭлементыФормы.ВыбМесяц.Значение
...
Рейтинг: 0 / 0
10.07.2009, 18:29
    #36084954
uZver
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поле выбора
Я так уже писал, пишет:
{Отчет.Журнал1.Форма.ФормаОтчета(27)}: Ошибка при вызове метода контекста (Индекс): Несоответствие типов (параметр номер '1')
Сообщить(ЭлементыФормы.ВыбМесяц.СписокВыбора.Индекс(ЭлементыФормы.ВыбМесяц.Значение));
...
Рейтинг: 0 / 0
10.07.2009, 18:42
    #36084971
Господин ПЖ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поле выбора
как-то так если приспичило индекс

Сообщить("" + ЭлементыФормы.ПолеВыбора1.СписокВыбора.Индекс(ЭлементыФормы.ПолеВыбора1.СписокВыбора.НайтиПоЗначению(ПолеВыбора1)));
...
Рейтинг: 0 / 0
10.07.2009, 19:29
    #36085038
uZver
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поле выбора
спасибо, работает, но я немного в шоке, столько текста, что-бы получить индекс :(

в Делфи все было намного проще (скучаю по Делфи ...)
...
Рейтинг: 0 / 0
11.07.2009, 08:40
    #36085377
serge_b77
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поле выбора
uZver,
Если посмотреть на ответы,которые тут вам дали,то не потребуется много писать.
По заполнению массива -Вам сразу дали правильный вариант (Вы его не опробовали).
По получению индекса -тоже , т.е.примерно так:
Код: plaintext
НужныйМнеИндекс =ЭлементыФормы.ВыбМесяц.Значение;
А объектную модель можно посмотреть в справке/CTRL-F1/
...
Рейтинг: 0 / 0
Форумы / [игнор отключен] [закрыт для гостей] / Поле выбора / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]