Имя: Пароль:
1C
1С v8
Отображение динамического списка справочника
0 nyta_1968
 
15.06.16
17:02
Всем привет!
Ещё раз о списках....

Есть справочник питающихся. В форме списка этого справочника для пользователя выводится поле (булево) признак рассадки... Галочки проставляются в том случае, если создан актуальный документ регистрации.

Есть процедура проверки регистрации... вот код...
&НаСервере
Процедура ОбновитьДанныеПоРегистрации()
    //
    ДокументСсылкаПустая = Документы.Питание_РегистрацияПитающихся.ПустаяСсылка();
    Выборка=Справочники.Питание_Питающиеся.Выбрать();
    Пока Выборка.Следующий() Цикл
        ПитающийсяСсылка = Выборка.Ссылка;
        
        Рассадка = ПроверитьРассадку(ПитающийсяСсылка);
        История = ПроверитьИсторию(ПитающийсяСсылка);
        ОбъектСправочника = ПитающийсяСсылка.ПолучитьОбъект();
        
        Если НЕ Рассадка.Питающийся = НЕОПРЕДЕЛЕНО Тогда
            
            ОбъектСправочника.ПризнакРассадки = ИСТИНА;
            ОбъектСправочника.ДокументСсылка = Рассадка.Документ;
            ОбъектСправочника.НомерПутевки = Рассадка.НомерПутевки;
            
        Иначе
            
            ОбъектСправочника.ПризнакРассадки = ЛОЖЬ;
            ОбъектСправочника.НомерПутевки = История.НомерПутевки;
            ОбъектСправочника.ВыездПлан = История.ДатаВыездаПлан;
            ОбъектСправочника.ЗаездПлан = История.ДатаЗаездаПлан;
            ОбъектСправочника.ЗаездФакт = История.ДатаЗаездаФакт;
            ОбъектСправочника.ВыездФакт = История.ДатаВыездаФакт;        
            ОбъектСправочника.НачальныйПрием = История.НачальныйПрием;
            ОбъектСправочника.ПризнакРЦ = История.ПризнакРЦ;
            ОбъектСправочника.Рацион = История.Рацион;
                        
        КонецЕсли;
        
        ОбъектСправочника.Записать();
                
    КонецЦикла;
        
КонецПроцедуры

////////////////

Если эту процедуру выполнять при открытии формы списка

/////////////////////
&НаКлиенте
Процедура ПриОткрытии(Отказ)
    
    ОбновитьДанныеПоРегистрации();
           
КонецПроцедуры

///////////////////
всё работает, обновляется, только естественно замедляет процесс открытия..

По желанию клиента делаю отдельно кнопку для обновления и вывожу на панель списка...  и не срабатывает... не обновляется...

//////////////////////

&НаКлиенте
Процедура ОбновитьИнформацию(Команда)
       ОбновитьДанныеПоРегистрации();    

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

////////////////

Подскажите, пожалуйста, почему....?????
1 xxTANATORxx
 
15.06.16
17:05
(0)форму обновить нужно
2 Nuobu
 
15.06.16
17:08
НаКлиенте
Процедура ОбновитьИнформацию(Команда)
       ОбновитьДанныеПоРегистрации();    
ОповеститьОбИзменении("СправочникСсылка.Питание_Питающиеся");

КонецПроцедуры
3 HardBall
 
15.06.16
17:56
Процедура ОбновитьДанныеПоРегистрации() Это шедевр.
Я про архитектуру хранения данных.
4 nyta_1968
 
16.06.16
09:47
HardBall..... ну как получилось...
...критиковать всегда проще, а вот угодить клиенту куда сложнее....особенно если он точно сам не знает чего хочет....)
5 nyta_1968
 
16.06.16
09:55
Урааа!!!  Заработало!!!

///
&НаКлиенте
Процедура ОбновитьИнформацию(Команда)
          
       ОбновитьДанныеПоРегистрации();
       Элементы.Список.Обновить();
КонецПроцедуры
///

...правду говорят...утро вечера мудренее...))

Всем СПАСИБО!
6 aleks_default
 
16.06.16
10:03
(5) Может поспишь еще?
7 singlych
 
16.06.16
10:14
"Справочники.Питание_Питающиеся"
какая жуткая конфа :)
интересно на другие имена МД посмотреть :)
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс