Имя: Пароль:
1C
1С v8
Как реализовать такое?
,
0 razbiralshik
 
17.04.13
15:59
На форму поместил "произвольный" элемент формы с использованием: "КнопкаСпискаВыбора" и "РежимВыбораИзСписка".

при открытии заполнил его так:

ТекущийГод    = СокрЛП(Формат(Год(ТекущаяДата()), "ЧГ=0"));
ПредыдущийГод = СокрЛП(Формат(Год(НачалоГода(ТекущаяДата())-1), "ЧГ=0"));
СледующийГод  = СокрЛП(Формат(Год(КонецГода(ТекущаяДата())+1), "ЧГ=0"));

СписокМесяцев = Новый Массив;
СписокМесяцев.Добавить(ПредыдущийГод);
СписокМесяцев.Добавить("Январь " + ТекущийГод);
СписокМесяцев.Добавить("Февраль " + ТекущийГод);
СписокМесяцев.Добавить("Март " + ТекущийГод);
СписокМесяцев.Добавить("Апрель " + ТекущийГод);
СписокМесяцев.Добавить("Май " + ТекущийГод);
СписокМесяцев.Добавить("Июнь " + ТекущийГод);
СписокМесяцев.Добавить("Июль " + ТекущийГод);
СписокМесяцев.Добавить("Август " + ТекущийГод);
СписокМесяцев.Добавить("Сентябрь " + ТекущийГод);
СписокМесяцев.Добавить("Октябрь " + ТекущийГод);
СписокМесяцев.Добавить("Ноябрь " + ТекущийГод);
СписокМесяцев.Добавить("Декабрь " + ТекущийГод);
СписокМесяцев.Добавить(СледующийГод);
ЭлементыФормы.ВыборМесяцаГода.СписокВыбора.ЗагрузитьЗначения(СписокМесяцев);


Теперь вопрос, как сделать так, чтобы, при выборе одного из элементов, определенного (например "2014"), список выбора не пропадал, а обновлялся новыми значениями?
1 jsmith82
 
17.04.13
16:00
в ЗУПе посмотри, я обычно оттуда такие фишки выдираю
2 Defender aka LINN
 
17.04.13
16:00
Изучить методы списка значений?
3 razbiralshik
 
17.04.13
16:01
(2) тоесть сделать его не произвольным, а списком значений?
4 Defender aka LINN
 
17.04.13
16:04
(3) Кого его?
5 razbiralshik
 
17.04.13
16:05
(4) "На форму поместил "произвольный" элемент формы с использованием: "КнопкаСпискаВыбора" и "РежимВыбораИзСписка"."
6 Defender aka LINN
 
17.04.13
16:06
(5) Молодец. И где я сказал его заменить?
7 razbiralshik
 
17.04.13
16:08
(6) я просто спросил. почему надо докапываться? нету желания помочь, не нужно...
8 Defender aka LINN
 
17.04.13
16:10
(7) А я тебе дал совет. Почему ты ему даже и не подумал последовать?
9 razbiralshik
 
17.04.13
16:12
(8) ничем не помогло, лучше бы подсказал куда конкретнее смотреть
10 acsent
 
17.04.13
16:12
(9) в зуп, любой документ
11 GANR
 
17.04.13
16:12
(0) Это из демо 1С:Бухгалтерия 3.0.12.8 http://ximage.ru/data/imgs/1366200716.jpg.
12 razbiralshik
 
17.04.13
16:13
(11) да это.

демо нету, качать пока нету возможности, да и искать нужно...
13 GANR
 
17.04.13
16:18
(12) Это из 1С:Бухгалтерия 3.0.12.8 функция общего модуля ВыборПериодаКлиентСервер.ПолучитьСписокПериодов(...) http://notepad.cc/share/tJ70So87Jk.
14 GANR
 
17.04.13
16:32
А уж про (2) можно и в справке прочесть.
15 razbiralshik
 
17.04.13
16:33
(13) спасибо, но это не совсем то...
про (2) я знаю...

ответа пока не могу никак найти вобщем...
16 razbiralshik
 
17.04.13
16:34
нужно лишь чтобы не закрывался выбор при выборе значения
17 razbiralshik
 
17.04.13
16:34
в методах все перепробовал, ничего не нашел
18 Defender aka LINN
 
17.04.13
16:35
(16) Какая пользователю принципиальная разница - "не закроется список" или "сразу же откроется новый"?
19 razbiralshik
 
17.04.13
16:42
(18) программно открыть список выбора сразу же канешно можно, но я не могу найти способа это сделать...
20 Defender aka LINN
 
17.04.13
16:48
(19) Ответ в (2)
21 razbiralshik
 
17.04.13
16:50
(20) вот это вообще не подсказка, т.к. сейчас тестирую их и пока толку ноль...
22 razbiralshik
 
17.04.13
16:51
Методы:

Вставить (Insert)
ВыбратьЭлемент (ChooseItem)
ВыгрузитьЗначения (UnloadValues)
Добавить (Add)
ЗагрузитьЗначения (LoadValues)
ЗаполнитьПометки (FillChecks)
Индекс (IndexOf)
Количество (Count)
НайтиПоЗначению (FindByValue)
НайтиПоИдентификатору (FindByID)
ОтметитьЭлементы (CheckItems)
Очистить (Clear)
Получить (Get)
Сдвинуть (Move)
Скопировать (Copy)
СортироватьПоЗначению (SortByValue)
СортироватьПоПредставлению (SortByPresentation)
Удалить (Delete)

ну нету тут такого....
23 GANR
 
17.04.13
16:53
(16) Вот что тебе нужно: общий модуль ВыборПериодаКлиент.ВыбратьПериодОтчета(...) http://notepad.cc/share/jX1ylbpJGe. Ключевой момент - рекурсивное обращение функции самой к себе

Если Индекс = 0 ИЛИ Индекс = Список.Количество() - 1 тогда
 ВыбранныйПериод = ВыбратьПериодОтчета(Форма, Элемент, СтандартнаяОбработка, ВидПериода, ВыбранныйПериод.Значение);
КонецЕсли;
24 GANR
 
17.04.13
16:54
+(23) Вот в этом случае список месяцев не закрывается, а именно обновляется!
25 razbiralshik
 
17.04.13
16:55
(23) большое спасибо, дельный совет! Сейчас попробую.
26 razbiralshik
 
17.04.13
17:04
(24) все получилось, конешно своим кодом написал, но твой код и подсказки очень помогли! Спасибо!
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой