Имя: Пароль:
1C
1С v8
работа с списком значений в управляемых формах
0 Папай
 
09.09.19
15:09
ДОбрый день.Создал Реквизит Отчета,без физического реквизита отчета в обработке.Ну называется не объект а отчет.Реквизит имеет тип строка.ПриОткрытии создаю

НаКлиенте
Процедура ПриОткрытии()


    
    Элементы.ВключатьНДС.СписокВыбора.Очистить();                            
    Элементы.ВключатьНДС.СписокВыбора.Добавить("без учета НДС");
    Элементы.ВключатьНДС.СписокВыбора.Добавить("с учетом НДС");

В реквизите пусто.ничего нет
1 Папай
 
09.09.19
15:16
в список выбора поместил значения и все появилось.а как тогда программно добавить? чеерз
Элементы.ВключатьНДС.СписокВыбора.Очистить();                            
    Элементы.ВключатьНДС.СписокВыбора.Добавить("без учета НДС");
    Элементы.ВключатьНДС.СписокВыбора.Добавить("с учетом НДС");
2 sqr4
 
09.09.19
15:21
Может отдельно список сделать и туда его запихать
3 Папай
 
09.09.19
15:28
даже список не выпадает.по кнопке справа.Не то что пусто,а даже не выпадающий
4 hhhh
 
09.09.19
15:28
(1) делай в ПриСозданииНаСервере. Тебя надо прибить за ПриОткрытии, уже в прошлой ветке сказали, а ты всё равно ее лепишь и лепишь.
5 Папай
 
09.09.19
15:35
(4)Низкий поклон.а как сделать чтоб сразу определенное значение подставлялось из списка?
6 Папай
 
09.09.19
16:03
&НаКлиенте
Процедура ПриОткрытии(Отказ)

    Если ПустаяСтрока(НазначениеПлатежа) Тогда
    
        НачальноеЗаполнение();
        
    Иначе        
        
        РазобратьНазначение();
        ЕстьОшибкиЗаполненияРеквизитов();
        
    КонецЕсли;

КонецПроцедуры

&НаСервере
Процедура НачальноеЗаполнение()
    ВключатьНДС = "без учета НДС";
КонецПроцедуры

не срабатывает
7 hhhh
 
09.09.19
16:13
(6) что такое ВключатьНДС? реквизит формы или реквизит отчета? И какой тип реквизита?
8 Папай
 
09.09.19
16:16
(7)реквизит формы.Тип строка
9 hhhh
 
09.09.19
16:19
(8) ну отладчиком пройдите. Хрен его знает, чего у вас там накручено.
10 Папай
 
09.09.19
16:29
только то что написал).    ВключатьНДС = "без учета НДС";
отладчик показывает что ВключатьНдс принимает значение и процедура срабатывает
11 hhhh
 
09.09.19
16:31
(10) ну может ВключатьНДС - это обычная переменная, а не реквизит, вас не поймешь. покажите на рисунке этот реквизит.
12 Папай
 
09.09.19
16:39
все норм.работает спасибо
13 Папай
 
09.09.19
16:44
еще вопросик.как использовать: Элементы.Сортировка.СписокВыбора.Добавить(2,"по покупателям");

с индексом не хочет выбирать в поле.а это не удобно без индекса потому что в отчете я использую условия

    Если Элементы.Сортировка = 1 Тогда
        ТекстЗапроса = ТекстЗапроса + Элементы.Сортировка2;
    Иначе
        ТекстЗапроса = ТекстЗапроса + "ДЕНЬ";
    КонецЕсли;

делать так : Если Элементы.Сортировка = "по покупателям" Тогда
как то не хотелось бы
14 Папай
 
09.09.19
16:54
если с индексом     Элементы.ВключатьНДС.СписокВыбора.Очистить();                            
    Элементы.ВключатьНДС.СписокВыбора.Добавить(1,"без учета НДС");
    Элементы.ВключатьНДС.СписокВыбора.Добавить(2,"с учетом НДС");
то в обработке отказывается выбирать в поле.хотя список виден
а так дает выбрать
    Элементы.ВключатьНДС.СписокВыбора.Очистить();                            
    Элементы.ВключатьНДС.СписокВыбора.Добавить("без учета НДС");
    Элементы.ВключатьНДС.СписокВыбора.Добавить("с учетом НДС");
15 hhhh
 
09.09.19
17:05
(14) а точно ВключатьНДС тип число?
16 aleks_default
 
09.09.19
17:06
Еще раз. "Элементы.Сортировка = 1" - ты пишешь бред. Элементы - это элементы управления формы, они в УФ не имеют Значение, а только Свойства. Значение имеют реквизиты формы связанные с элементами управления через ПутьКДанным. К реквизитам формы (в контексте формы) обращаться нужно просто по названию.
Почитай уже хоть что-нибудь по управляемым формам. Хотя бы первую главу осиль.
17 Папай
 
09.09.19
17:11
(15)тип строка
18 hhhh
 
09.09.19
17:14
(17) ну, 1 и 2 - это числа вообще-то. Нахрена вы тогда сделали тип строка?
19 hhhh
 
09.09.19
17:17
вообще по феншую ВключатьНДС - это должно быть Булево: Истина или Ложь. А никакая ни строка.
20 Папай
 
09.09.19
17:38
(19) согласен.а соритровку как обойти правильно?ну чтобы код можно было использовать из обычной формы обработки где так:
ПриОткрытии
ЭлементыФормы.Сортировка.СписокВыбора.Очистить();
ЭлементыФормы.Сортировка.СписокВыбора.Добавить(1,"по периоду за");
......................................

а в других процедурах
    Если Сортировка = 1 Тогда
        ТекстЗапроса = ТекстЗапроса + Сортировка2;
Переделать СписокЗначений?
21 hhhh
 
09.09.19
17:49
(20) кто же вас знает, как там правильно. Раз вы начали полностью всё делать через ж.пу, то и продолжайте и дальше через ж.пу, чтобы в итоге было всё гармонично.
22 aleks_default
 
09.09.19
17:51
(21)валяюсь:)
23 Папай
 
09.09.19
17:58
спасибо все получилось.И даже не через Ж..пу.Ответ прост.Оставить все как есть просто тип поменять у 2-х реквизитов формы и всего то.
Ошибка? Это не ошибка, это системная функция.