Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Технология перерасчета значений в таблице (число прочтений - 1898 )
Roman_K
Junior Member
**
Отсутствует


I Love 1C++!

Сообщений: 61
Местоположение: Kiev
Зарегистрирован: 27. Июня 2008
Пол: Мужской
Технология перерасчета значений в таблице
06. Августа 2008 :: 14:36
Печать  
Хочу следующее:
1. Зарегестрировать связи между колонками таблицы при открытии формы: чтото вроде:
  ...
  МенеджерПересчета.ДобавитьЗависимость(КолонкаЗависимая, ОтКолонка1);
  МенеджерПересчета.ДобавитьЗависимость(КолонкаЗависимая, ОтКолонка2);
  МенеджерПересчета.УстановитьПроцедуруРасчета(КолонкаЗависимая, РасчитатьЗависимуюКолонку);
  ...

2. Далее прописать процедуру расчета для зависимой колонки:
 Процедура РасчтатьЗависимуюКолонку()
    ЗависимаяКолонка = ОтКолонка1 * ОтКолонка2;
 КонецПроцедуры

3. Далее создать обработку пересчета в МенеджереПерерасчета:
 Процедура МенеджерПерерасчета::Пересчитать(ОтКолонкаИмя)
    ЗависимыеКолонки = ВыбратьВсеЗависимыеКолнки(ОтКолонкаИмя);
    Для Каждого ЗависимаяКолонка Из ЗависимыеКолонки Цикл
      ВыполнитьПроцедуруПерерасчетаДля(ЗависимаяКолонка);    // здесь вызывается установленная для яцейки процедура расчета
      Пересчитать(ЗависимаяКолонка);
    КонецЦикл;
  КонецПроцедуры

4. В формуле колонки прописать следующее МенеджерПерерасчета.Пересчитать(ИмяКолонки)          


И чтобы оно само вызывало каскадно все процедуры перерасчета. меня интересует сама технология реализации данного подхода, нюансы алгоритмов я буду решать далее сам.
Спасибо.
  

Я б изменил мир, ...но Бог не дает исходники
Наверх
ICQ  
IP записан
 
steban
1c++ developer
Отсутствует


#define sizeof(x) rand()

Сообщений: 787
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Технология перерасчета значений в таблице
Ответ #1 - 06. Августа 2008 :: 14:43
Печать  
  

int getRandomNumber()&&{&&  return 4; //chosen by fair dice roll&&         //guaranteed to be random&&}
Наверх
 
IP записан
 
Roman_K
Junior Member
**
Отсутствует


I Love 1C++!

Сообщений: 61
Местоположение: Kiev
Зарегистрирован: 27. Июня 2008
Пол: Мужской
Re: Технология перерасчета значений в таблице
Ответ #2 - 07. Августа 2008 :: 15:40
Печать  
ссылка примера не работает  Печаль    ...одно хорошо: вы прекрасно поняли чего я хочу  Улыбка
  

Я б изменил мир, ...но Бог не дает исходники
Наверх
ICQ  
IP записан
 
noprogrammer
1c++ power user
Отсутствует


I Love YaBB 2!

Сообщений: 465
Зарегистрирован: 16. Июня 2006
Re: Технология перерасчета значений в таблице
Ответ #3 - 07. Августа 2008 :: 19:41
Печать  
Roman_K писал(а) 07. Августа 2008 :: 15:40:
ссылка примера не работает  Печаль    ...одно хорошо: вы прекрасно поняли чего я хочу  Улыбка


Пример реализации можно посмотреть скачав их конфу.
  
Наверх
wwwICQ  
IP записан
 
Roman_K
Junior Member
**
Отсутствует


I Love 1C++!

Сообщений: 61
Местоположение: Kiev
Зарегистрирован: 27. Июня 2008
Пол: Мужской
Re: Технология перерасчета значений в таблице
Ответ #4 - 08. Августа 2008 :: 06:48
Печать  
т.е. демо-версию?
  

Я б изменил мир, ...но Бог не дает исходники
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать