Имя: Пароль:
1C
1C 7.7
v7: Ускорить Таблицу в РВД
0 FlashC
 
29.06.13
01:30
Всем привет!
Имею таблицу по расчету себестоимости - таблица РВД, 88 колонок,
по строкам ограничение 120. Большая, тормозная. Имею 6 колонок заполняемых данных, и примерно столько же значений. Таблица динамическая с расчетом всей при изменении "нужной" ячейки.

Всё хорошо, но напрягает тормоза при открытии (на С2D 6600, 2Gb).
Понимаю, что вся соль в ячейке с функцией Расчета(), для динамического пересчета таблицы, но...

Как убрать Расчет при открытии, подскажите?
1 Ёпрст
 
29.06.13
01:34
Забыть про РВД как страшный сон.
2 Ёпрст
 
29.06.13
01:35
не дай бог, еще и типизированные ячейки есть.. будет тебе подарок, если в другой конфе свой отчет откроешь..
3 FlashC
 
29.06.13
01:42
ТЗ отшили как второй страшный сон...
Exсel - как третий
Просто есть задача - сделать что то типа Exсel - но, чтобы менять МПЗ, и много чего - и динамически всё в расчет - знаю что тормоза - но хочется убрать как нибудь (допустим в приОткрытии) функцию в ячейке!
4 FlashC
 
29.06.13
01:47
Вот маленькая Расчет()

//*******************************************
Функция Расчет(флАвтозаполнение = 0)
   
   СуммаБюджет = Таблица.Область("Бюджет").Значение;
   СуммаЗарплатаОПР = Таблица.Область("ЗпОПР").Значение;
   СуммаЗарплатаВСП = Таблица.Область("ЗпВСП").Значение;
   КомРасх = Таблица.Область("КомРасх").Значение;
   ЗплУпр = Таблица.Область("ЗплУпр").Значение;
   Отпуск = Таблица.Область("Отпуск").Значение;
   СВОтпуск = Таблица.Область("СВОтпуск").Значение;
   
   
   Если ПустоеЗначение(Таблица.Область("НачДата").Значение) = 1 Тогда
       Таблица.Область("НачДата").Значение = НачДата;
   КонецЕсли;
   Если ПустоеЗначение(Таблица.Область("КонДата").Значение) = 1 Тогда
       Таблица.Область("КонДата").Значение = КонДата;
   КонецЕсли;
   
   Ц2=0; Ц3=0; Ц4=0; Ц5=0; Ц6=0; Ц7=0; Ц8=0; Ц9=0; Ц10=0;
   Ц11=0; Ц12=0; Ц13=0; Ц14=0; Ц15=0; Ц16=0; Ц17=0; Ц18=0; Ц19=0; Ц20=0;
   Ц21=0; Ц22=0; Ц23=0; Ц24=0; Ц25=0; Ц26=0; Ц27=0; Ц28=0; Ц29=0; Ц30=0;
   Ц49=0; Ц50=0; Ц55=0; Ц56=0; Ц57=0; Ц58=0; Ц59=0; Ц60=0;
   Ц61=0; Ц62=0; Ц63=0; Ц64=0;
   
   Для фО = 1 По 120 Цикл
       
       Ц2 = Ц2+Таблица.Область("R"+(фО+фНачСтрока)+"C2").Значение;
       Ц3 = Ц3+Таблица.Область("R"+(фО+фНачСтрока)+"C3").Значение;
       Ц4 = Ц4+Таблица.Область("R"+(фО+фНачСтрока)+"C4").Значение;
       Ц5 = Ц5+Таблица.Область("R"+(фО+фНачСтрока)+"C5").Значение;
       Ц6 = Ц6+Таблица.Область("R"+(фО+фНачСтрока)+"C6").Значение;
       Ц7 = Ц7+Таблица.Область("R"+(фО+фНачСтрока)+"C7").Значение;
       Ц8 = Ц8+Таблица.Область("R"+(фО+фНачСтрока)+"C8").Значение;
       Таблица.Область("R"+(фО+фНачСтрока)+"C7").Значение = Таблица.Область("R"+(фО+фНачСтрока)+"C4").Значение+Таблица.Область("R"+(фО+фНачСтрока)+"C5").Значение+Таблица.Область("R"+(фО+фНачСтрока)+"C6").Значение;
       Таблица.Область("R"+(фО+фНачСтрока)+"C9").Значение = Таблица.Область("R"+(фО+фНачСтрока)+"C2").Значение * Таблица.Область("R"+(фО+фНачСтрока)+"C8").Значение;
       Ц9 = Ц9+Таблица.Область("R"+(фО+фНачСтрока)+"C9").Значение;
       Ц10 = Ц10+Таблица.Область("R"+(фО+фНачСтрока)+"C10").Значение;    //Рц
       Ц11 = Ц11+Таблица.Область("R"+(фО+фНачСтрока)+"C11").Значение;    //Рц
       Ц12 = Ц12+Таблица.Область("R"+(фО+фНачСтрока)+"C12").Значение;    //Рц
       Таблица.Область("R"+(фО+фНачСтрока)+"C13").Значение =
           Таблица.Область("R"+(фО+фНачСтрока)+"C10").Значение+
           Таблица.Область("R"+(фО+фНачСтрока)+"C11").Значение+
           Таблица.Область("R"+(фО+фНачСтрока)+"C12").Значение;
       Ц13 = Ц13+Таблица.Область("R"+(фО+фНачСтрока)+"C13").Значение;    //Рц Всего
       Таблица.Область("R"+(фО+фНачСтрока)+"C14").Значение =
           Таблица.Область("R"+(фО+фНачСтрока)+"C2").Значение*Таблица.Область("R"+(фО+фНачСтрока)+"C13").Значение;
       Ц14 = Ц14+Таблица.Область("R"+(фО+фНачСтрока)+"C14").Значение;    //Зарплата (выпуск*Рц Всего)
       
       Ц15 = Ц15+Таблица.Область("R"+(фО+фНачСтрока)+"C15").Значение;    // нзп ру -------------
       
       Таблица.Область("R"+(фО+фНачСтрока)+"C16").Значение =
           Таблица.Область("R"+(фО+фНачСтрока)+"C4").Значение +
           Таблица.Область("R"+(фО+фНачСтрока)+"C10").Значение;
       
       Ц16 = Ц16+Таблица.Область("R"+(фО+фНачСтрока)+"C16").Значение;    // пс
       Таблица.Область("R"+(фО+фНачСтрока)+"C17").Значение =
           Таблица.Область("R"+(фО+фНачСтрока)+"C15").Значение * Таблица.Область("R"+(фО+фНачСтрока)+"C16").Значение;    
       Ц17 = Ц17+Таблица.Область("R"+(фО+фНачСтрока)+"C17").Значение;    // сум
       
       Ц18 = Ц18+Таблица.Область("R"+(фО+фНачСтрока)+"C18").Значение;    // нзп зу
       
       Таблица.Область("R"+(фО+фНачСтрока)+"C19").Значение =
           Таблица.Область("R"+(фО+фНачСтрока)+"C5").Значение +
           Таблица.Область("R"+(фО+фНачСтрока)+"C11").Значение +
           Таблица.Область("R"+(фО+фНачСтрока)+"C16").Значение;
       
       Ц19 = Ц19+Таблица.Область("R"+(фО+фНачСтрока)+"C19").Значение;    // пс
       Таблица.Область("R"+(фО+фНачСтрока)+"C20").Значение =
           Таблица.Область("R"+(фО+фНачСтрока)+"C18").Значение * Таблица.Область("R"+(фО+фНачСтрока)+"C19").Значение;
       Ц20 = Ц20+Таблица.Область("R"+(фО+фНачСтрока)+"C20").Значение;    // сум
       
       Ц21 = Ц21+Таблица.Область("R"+(фО+фНачСтрока)+"C21").Значение;    // нзп пу
       
       Таблица.Область("R"+(фО+фНачСтрока)+"C22").Значение =
           Таблица.Область("R"+(фО+фНачСтрока)+"C6").Значение +
           Таблица.Область("R"+(фО+фНачСтрока)+"C12").Значение +
           Таблица.Область("R"+(фО+фНачСтрока)+"C19").Значение;
           
       Ц22 = Ц22+Таблица.Область("R"+(фО+фНачСтрока)+"C22").Значение;    // пс
       Таблица.Область("R"+(фО+фНачСтрока)+"C23").Значение =
           Таблица.Область("R"+(фО+фНачСтрока)+"C21").Значение * Таблица.Область("R"+(фО+фНачСтрока)+"C22").Значение;
       Ц23 = Ц23+Таблица.Область("R"+(фО+фНачСтрока)+"C23").Значение;    // сум
       
       
       Таблица.Область("R"+(фО+фНачСтрока)+"C24").Значение =
           Таблица.Область("R"+(фО+фНачСтрока)+"C15").Значение +
           Таблица.Область("R"+(фО+фНачСтрока)+"C18").Значение +
           Таблица.Область("R"+(фО+фНачСтрока)+"C21").Значение;
       Ц24 = Ц24+Таблица.Область("R"+(фО+фНачСтрока)+"C24").Значение;    // ИТ кол нзп -----------
       
       Таблица.Область("R"+(фО+фНачСтрока)+"C25").Значение =
           Таблица.Область("R"+(фО+фНачСтрока)+"C17").Значение +
           Таблица.Область("R"+(фО+фНачСтрока)+"C20").Значение +
           Таблица.Область("R"+(фО+фНачСтрока)+"C23").Значение;
       Ц25 = Ц25+Таблица.Область("R"+(фО+фНачСтрока)+"C25").Значение;    // ИТ сум нзп -----------
       
       Если Таблица.Область("R"+(фО+фНачСтрока)+"C13").Значение = 0 Тогда
           Таблица.Область("R"+(фО+фНачСтрока)+"C26").Значение = 0;
           Таблица.Область("R"+(фО+фНачСтрока)+"C27").Значение = 0;
           Таблица.Область("R"+(фО+фНачСтрока)+"C28").Значение = 0;
       Иначе
           Таблица.Область("R"+(фО+фНачСтрока)+"C26").Значение = Таблица.Область("R"+(фО+фНачСтрока)+"C10").Значение/Таблица.Область("R"+(фО+фНачСтрока)+"C13").Значение;
           Таблица.Область("R"+(фО+фНачСтрока)+"C27").Значение = Таблица.Область("R"+(фО+фНачСтрока)+"C11").Значение/Таблица.Область("R"+(фО+фНачСтрока)+"C13").Значение;
           Таблица.Область("R"+(фО+фНачСтрока)+"C28").Значение = Таблица.Область("R"+(фО+фНачСтрока)+"C12").Значение/Таблица.Область("R"+(фО+фНачСтрока)+"C13").Значение;
       КонецЕсли;
       Ц26 = Ц26+Таблица.Область("R"+(фО+фНачСтрока)+"C26").Значение;
       Ц27 = Ц27+Таблица.Область("R"+(фО+фНачСтрока)+"C27").Значение;
       Ц28 = Ц28+Таблица.Область("R"+(фО+фНачСтрока)+"C28").Значение;
       
       Если Таблица.Область("R3C25").Значение = 0 Тогда
           Таблица.Область("R"+(фО+фНачСтрока)+"C29").Значение = 0;
       Иначе
           Таблица.Область("R"+(фО+фНачСтрока)+"C29").Значение = Таблица.Область("R"+(фО+фНачСтрока)+"C25").Значение/Таблица.Область("R3C25").Значение;
       КонецЕсли;    
       Ц29 = Ц29+Таблица.Область("R"+(фО+фНачСтрока)+"C29").Значение;
       
       Если Таблица.Область("R3C9").Значение = 0 Тогда
           Таблица.Область("R"+(фО+фНачСтрока)+"C30").Значение = 0;
       Иначе
           Таблица.Область("R"+(фО+фНачСтрока)+"C30").Значение = Таблица.Область("R"+(фО+фНачСтрока)+"C9").Значение/Таблица.Область("R3C9").Значение;
       КонецЕсли;    
       Ц30 = Ц30+Таблица.Область("R"+(фО+фНачСтрока)+"C30").Значение;
       
       
       Таблица.Область("R"+(фО+фНачСтрока)+"C49").Значение =
           Таблица.Область("R"+(фО+фНачСтрока)+"C3").Значение*Таблица.Область("R"+(фО+фНачСтрока)+"C8").Значение;
       Ц49 = Ц49+Таблица.Область("R"+(фО+фНачСтрока)+"C49").Значение;
       
       Таблица.Область("R"+(фО+фНачСтрока)+"C55").Значение =
           Таблица.Область("R"+(фО+фНачСтрока)+"C30").Значение*Отпуск;
       Ц55 = Ц55+Таблица.Область("R"+(фО+фНачСтрока)+"C55").Значение;
       
       Если Таблица.Область("R"+(фО+фНачСтрока)+"C2").Значение = 0 Тогда
           Таблица.Область("R"+(фО+фНачСтрока)+"C56").Значение = 0;
       Иначе
           Таблица.Область("R"+(фО+фНачСтрока)+"C56").Значение =
               Таблица.Область("R"+(фО+фНачСтрока)+"C55").Значение/Таблица.Область("R"+(фО+фНачСтрока)+"C2").Значение;
       КонецЕсли;
       Ц56 = Ц56+Таблица.Область("R"+(фО+фНачСтрока)+"C56").Значение;
       
       Таблица.Область("R"+(фО+фНачСтрока)+"C57").Значение =
           Таблица.Область("R"+(фО+фНачСтрока)+"C56").Значение*Таблица.Область("R"+(фО+фНачСтрока)+"C26").Значение;
       Ц57 = Ц57+Таблица.Область("R"+(фО+фНачСтрока)+"C57").Значение;
       
       Таблица.Область("R"+(фО+фНачСтрока)+"C58").Значение =
           Таблица.Область("R"+(фО+фНачСтрока)+"C56").Значение*Таблица.Область("R"+(фО+фНачСтрока)+"C27").Значение;
       Ц58 = Ц58+Таблица.Область("R"+(фО+фНачСтрока)+"C58").Значение;
       
       Таблица.Область("R"+(фО+фНачСтрока)+"C59").Значение =
           Таблица.Область("R"+(фО+фНачСтрока)+"C56").Значение*Таблица.Область("R"+(фО+фНачСтрока)+"C28").Значение;
       Ц59 = Ц59+Таблица.Область("R"+(фО+фНачСтрока)+"C59").Значение;
       
       Таблица.Область("R"+(фО+фНачСтрока)+"C60").Значение =
           Таблица.Область("R"+(фО+фНачСтрока)+"C55").Значение*0.364;
       Ц60 = Ц60+Таблица.Область("R"+(фО+фНачСтрока)+"C60").Значение;
       
       Если Таблица.Область("R"+(фО+фНачСтрока)+"C2").Значение = 0 Тогда              //Отпуск Пар
           Таблица.Область("R"+(фО+фНачСтрока)+"C61").Значение = 0;
       Иначе
           Таблица.Область("R"+(фО+фНачСтрока)+"C61").Значение =
               Таблица.Область("R"+(фО+фНачСтрока)+"C60").Значение/Таблица.Область("R"+(фО+фНачСтрока)+"C2").Значение;
       КонецЕсли;
       Ц61 = Ц61+Таблица.Область("R"+(фО+фНачСтрока)+"C61").Значение;
       
       Таблица.Область("R"+(фО+фНачСтрока)+"C62").Значение =
           Таблица.Область("R"+(фО+фНачСтрока)+"C61").Значение*Таблица.Область("R"+(фО+фНачСтрока)+"C26").Значение;
       Ц62 = Ц62+Таблица.Область("R"+(фО+фНачСтрока)+"C62").Значение;
       
       Таблица.Область("R"+(фО+фНачСтрока)+"C63").Значение =
           Таблица.Область("R"+(фО+фНачСтрока)+"C61").Значение*Таблица.Область("R"+(фО+фНачСтрока)+"C27").Значение;
       Ц63 = Ц63+Таблица.Область("R"+(фО+фНачСтрока)+"C63").Значение;
       
       Таблица.Область("R"+(фО+фНачСтрока)+"C64").Значение =
           Таблица.Область("R"+(фО+фНачСтрока)+"C61").Значение*Таблица.Область("R"+(фО+фНачСтрока)+"C28").Значение;
       Ц64 = Ц64+Таблица.Область("R"+(фО+фНачСтрока)+"C64").Значение;
       
   КонецЦикла;
   
   Таблица.Область("R3C2").Значение = Ц2;
   Таблица.Область("R3C3").Значение = Ц3;
   Таблица.Область("R3C4").Значение = Ц4;
   Таблица.Область("R3C5").Значение = Ц5;
   Таблица.Область("R3C6").Значение = Ц6;
   Таблица.Область("R3C7").Значение = Ц4 + Ц5 + Ц6;
   Таблица.Область("R3C8").Значение = Ц8;
   Таблица.Область("R3C9").Значение = Ц9;            // Сумма Выпуска
   Таблица.Область("R3C10").Значение = Ц10;          //Рц
   Таблица.Область("R3C11").Значение = Ц11;          //Рц
   Таблица.Область("R3C12").Значение = Ц12;          //Рц
   Таблица.Область("R3C13").Значение = Ц13;          //Рц Всего
   Таблица.Область("R3C14").Значение = Ц14;
   Таблица.Область("R3C15").Значение = Ц15;
   Таблица.Область("R3C16").Значение = Ц16;
   Таблица.Область("R3C17").Значение = Ц17;
   Таблица.Область("R3C18").Значение = Ц18;
   Таблица.Область("R3C19").Значение = Ц19;
   Таблица.Область("R3C20").Значение = Ц20;
   Таблица.Область("R3C21").Значение = Ц21;          //
   Таблица.Область("R3C22").Значение = Ц22;          //
   Таблица.Область("R3C23").Значение = Ц23;          //
   Таблица.Область("R3C24").Значение = Ц24;
   Таблица.Область("R3C25").Значение = Ц25;          // Сумма НЗП
   Таблица.Область("R3C26").Значение = 0;
   Таблица.Область("R3C27").Значение = 0;
   Таблица.Область("R3C28").Значение = 0;
   Таблица.Область("R3C29").Значение = Ц29;
   Таблица.Область("R3C30").Значение = Ц30;
   Таблица.Область("R3C49").Значение = Ц49;
   Таблица.Область("R3C55").Значение = Ц55;
   Таблица.Область("R3C56").Значение = Ц56;
   Таблица.Область("R3C57").Значение = Ц57;
   Таблица.Область("R3C58").Значение = Ц58;
   Таблица.Область("R3C59").Значение = Ц59;
   Таблица.Область("R3C60").Значение = Ц60;
   Таблица.Область("R3C61").Значение = Ц61;
   Таблица.Область("R3C62").Значение = Ц62;
   Таблица.Область("R3C63").Значение = Ц63;
   Таблица.Область("R3C64").Значение = Ц64;
   
   
   
   
   //Пред рассчет --------------------------------------
   
   КоэфНЗП = 0; КоэфПРОД = 0; РасходыНЗП = 0; РасходыПРОД = 0;
   Если (Ц9 = 0) и (Ц25=0) Тогда
       КоэфНЗП = 0;
   Иначе        
       КоэфНЗП = (Ц25/(Ц9+Ц25))*100;
   Конецесли;
   КоэфПРОД = 100-КоэфНЗП;
   
   РасходыНЗП = СуммаБюджет*КоэфНЗП/100;
   РасходыПРОД = СуммаБюджет*КоэфПРОД/100;
   
   ЗарплатаОпрНЗП = СуммаЗарплатаОПР*КоэфНЗП/100;
   ЗарплатаОпрПРОД = СуммаЗарплатаОПР*КоэфПРОД/100;
   
   ЗарплатаВспНЗП = СуммаЗарплатаВСП*КоэфНЗП/100;
   ЗарплатаВспПРОД = СуммаЗарплатаВСП*КоэфПРОД/100;
   
   СВОтпускНЗП = СВОтпуск*КоэфНЗП/100;
   СВОтпускПРОД = СВОтпуск*КоэфПРОД/100;

   ИтЗатратНЗП = (КомРасх+ЗплУпр)*КоэфНЗП/100;
   ИтЗатратПРОД = (КомРасх+ЗплУпр)*КоэфПРОД/100;
   
   Таблица.Область("КоэфНЗП").Значение = КоэфНЗП;
   Таблица.Область("КоэфПРОД").Значение = КоэфПРОД;
   
   //---------------------------------------------------
   
   Ц31=0; Ц32=0; Ц33=0; Ц34=0; Ц35=0; Ц36=0; Ц37=0; Ц38=0; Ц39=0; Ц40=0;
   Ц41=0; Ц42=0; Ц43=0; Ц44=0; Ц45=0; Ц46=0; Ц47=0; Ц48=0; Ц50=0;
   Ц51=0; Ц52=0; Ц53=0; Ц54=0;
   Ц65=0; Ц66=0; Ц67=0; Ц68=0; Ц69=0; Ц70=0;
   Ц71=0; Ц72=0; Ц73=0; Ц74=0; Ц75=0; Ц76=0;
   Ц77=0; Ц78=0; Ц79=0; Ц80=0; Ц81=0; Ц82=0; Ц83=0; Ц84=0; Ц85=0; Ц86=0; Ц87=0; Ц88=0;
   
   Для фО = 1 По 120 Цикл
       Таблица.Область("R"+(фО+фНачСтрока)+"C31").Значение =
           РасходыНЗП * Таблица.Область("R"+(фО+фНачСтрока)+"C29").Значение;
       Ц31 = Ц31+Таблица.Область("R"+(фО+фНачСтрока)+"C31").Значение;
       
       Таблица.Область("R"+(фО+фНачСтрока)+"C32").Значение =
           РасходыПРОД * Таблица.Область("R"+(фО+фНачСтрока)+"C30").Значение;
       Ц32 = Ц32+Таблица.Область("R"+(фО+фНачСтрока)+"C32").Значение;
       
       Если Таблица.Область("R"+(фО+фНачСтрока)+"C2").Значение = 0 Тогда       //ФР На Пару
           Таблица.Область("R"+(фО+фНачСтрока)+"C33").Значение = 0;
       Иначе
           Таблица.Область("R"+(фО+фНачСтрока)+"C33").Значение =
               Таблица.Область("R"+(фО+фНачСтрока)+"C32").Значение/Таблица.Область("R"+(фО+фНачСтрока)+"C2").Значение;
       КонецЕсли;
       Ц33 = Ц33+Таблица.Область("R"+(фО+фНачСтрока)+"C33").Значение;
                                                           
       Таблица.Область("R"+(фО+фНачСтрока)+"C34").Значение =
           Таблица.Область("R"+(фО+фНачСтрока)+"C33").Значение*Таблица.Область("R"+(фО+фНачСтрока)+"C26").Значение; // ФР РУ
       Ц34 = Ц34+Таблица.Область("R"+(фО+фНачСтрока)+"C34").Значение;
       
       Таблица.Область("R"+(фО+фНачСтрока)+"C35").Значение =
           Таблица.Область("R"+(фО+фНачСтрока)+"C33").Значение*Таблица.Область("R"+(фО+фНачСтрока)+"C27").Значение; // ФР ЗУ
       Ц35 = Ц35+Таблица.Область("R"+(фО+фНачСтрока)+"C35").Значение;
       
       Таблица.Область("R"+(фО+фНачСтрока)+"C36").Значение =
           Таблица.Область("R"+(фО+фНачСтрока)+"C33").Значение*Таблица.Область("R"+(фО+фНачСтрока)+"C28").Значение; // ФР ПУ
       Ц36 = Ц36+Таблица.Область("R"+(фО+фНачСтрока)+"C36").Значение;
       
       //----------------------------------------------------------  Зп ОПР
       
       Таблица.Область("R"+(фО+фНачСтрока)+"C37").Значение =
           ЗарплатаОпрНЗП * Таблица.Область("R"+(фО+фНачСтрока)+"C29").Значение;
       Ц37 = Ц37+Таблица.Область("R"+(фО+фНачСтрока)+"C37").Значение;
       
       Таблица.Область("R"+(фО+фНачСтрока)+"C38").Значение =
           ЗарплатаОпрПРОД * Таблица.Область("R"+(фО+фНачСтрока)+"C30").Значение;
       Ц38 = Ц38+Таблица.Область("R"+(фО+фНачСтрока)+"C38").Значение;
       
       Если Таблица.Область("R"+(фО+фНачСтрока)+"C2").Значение = 0 Тогда       //ФР На Пару
           Таблица.Область("R"+(фО+фНачСтрока)+"C39").Значение = 0;
       Иначе
           Таблица.Область("R"+(фО+фНачСтрока)+"C39").Значение =
               Таблица.Область("R"+(фО+фНачСтрока)+"C38").Значение/Таблица.Область("R"+(фО+фНачСтрока)+"C2").Значение;
       КонецЕсли;
       Ц39 = Ц39+Таблица.Область("R"+(фО+фНачСтрока)+"C39").Значение;
       
       Таблица.Область("R"+(фО+фНачСтрока)+"C40").Значение =
           Таблица.Область("R"+(фО+фНачСтрока)+"C39").Значение*Таблица.Область("R"+(фО+фНачСтрока)+"C26").Значение; // ЗО РУ
       Ц40 = Ц40+Таблица.Область("R"+(фО+фНачСтрока)+"C40").Значение;
       
       Таблица.Область("R"+(фО+фНачСтрока)+"C41").Значение =
           Таблица.Область("R"+(фО+фНачСтрока)+"C39").Значение*Таблица.Область("R"+(фО+фНачСтрока)+"C27").Значение; // ЗО ЗУ
       Ц41 = Ц41+Таблица.Область("R"+(фО+фНачСтрока)+"C41").Значение;
       
       Таблица.Область("R"+(фО+фНачСтрока)+"C42").Значение =
           Таблица.Область("R"+(фО+фНачСтрока)+"C39").Значение*Таблица.Область("R"+(фО+фНачСтрока)+"C28").Значение; // ЗО ПУ
       Ц42 = Ц42+Таблица.Область("R"+(фО+фНачСтрока)+"C42").Значение;
       
       //----------------------------------------------------------  Зп Всп
       
       Таблица.Область("R"+(фО+фНачСтрока)+"C43").Значение =
           ЗарплатаВспНЗП * Таблица.Область("R"+(фО+фНачСтрока)+"C29").Значение;
       Ц43 = Ц43+Таблица.Область("R"+(фО+фНачСтрока)+"C43").Значение;
       
       Таблица.Область("R"+(фО+фНачСтрока)+"C44").Значение =
           ЗарплатаВспПРОД * Таблица.Область("R"+(фО+фНачСтрока)+"C30").Значение;
       Ц44 = Ц44+Таблица.Область("R"+(фО+фНачСтрока)+"C44").Значение;
       
       Если Таблица.Область("R"+(фО+фНачСтрока)+"C2").Значение = 0 Тогда       //ФР На Пару
           Таблица.Область("R"+(фО+фНачСтрока)+"C45").Значение = 0;
       Иначе
           Таблица.Область("R"+(фО+фНачСтрока)+"C45").Значение =
               Таблица.Область("R"+(фО+фНачСтрока)+"C44").Значение/Таблица.Область("R"+(фО+фНачСтрока)+"C2").Значение;
       КонецЕсли;
       Ц45 = Ц45+Таблица.Область("R"+(фО+фНачСтрока)+"C45").Значение;
       
       Таблица.Область("R"+(фО+фНачСтрока)+"C46").Значение =
           Таблица.Область("R"+(фО+фНачСтрока)+"C45").Значение*Таблица.Область("R"+(фО+фНачСтрока)+"C26").Значение; // ЗВ РУ
       Ц46 = Ц46+Таблица.Область("R"+(фО+фНачСтрока)+"C46").Значение;
       
       Таблица.Область("R"+(фО+фНачСтрока)+"C47").Значение =
           Таблица.Область("R"+(фО+фНачСтрока)+"C45").Значение*Таблица.Область("R"+(фО+фНачСтрока)+"C27").Значение; // ЗВ ЗУ
       Ц47 = Ц47+Таблица.Область("R"+(фО+фНачСтрока)+"C47").Значение;
       
       Таблица.Область("R"+(фО+фНачСтрока)+"C48").Значение =
           Таблица.Область("R"+(фО+фНачСтрока)+"C45").Значение*Таблица.Область("R"+(фО+фНачСтрока)+"C28").Значение; // ЗВ ПУ
       Ц48 = Ц48+Таблица.Область("R"+(фО+фНачСтрока)+"C48").Значение;
       
       Если Таблица.Область("R3C49").Значение = 0 Тогда       //ФР На Пару
           Таблица.Область("R"+(фО+фНачСтрока)+"C50").Значение = 0;
       Иначе
           Таблица.Область("R"+(фО+фНачСтрока)+"C50").Значение =
               Таблица.Область("R"+(фО+фНачСтрока)+"C49").Значение/Таблица.Область("R3C49").Значение;
       КонецЕсли;
       Ц50 = Ц50+Таблица.Область("R"+(фО+фНачСтрока)+"C50").Значение;
       
       Таблица.Область("R"+(фО+фНачСтрока)+"C51").Значение =
           Таблица.Область("R"+(фО+фНачСтрока)+"C50").Значение*КомРасх;
       Ц51 = Ц51+Таблица.Область("R"+(фО+фНачСтрока)+"C51").Значение;
       
       Если Таблица.Область("R"+(фО+фНачСтрока)+"C3").Значение = 0 Тогда
           Таблица.Область("R"+(фО+фНачСтрока)+"C52").Значение = 0;
       Иначе
           Таблица.Область("R"+(фО+фНачСтрока)+"C52").Значение =
               Таблица.Область("R"+(фО+фНачСтрока)+"C51").Значение/Таблица.Область("R"+(фО+фНачСтрока)+"C3").Значение;
       КонецЕсли;
       Ц52 = Ц52+Таблица.Область("R"+(фО+фНачСтрока)+"C52").Значение;
       
       Таблица.Область("R"+(фО+фНачСтрока)+"C53").Значение =
           Таблица.Область("R"+(фО+фНачСтрока)+"C50").Значение*ЗплУпр;
       Ц53 = Ц53+Таблица.Область("R"+(фО+фНачСтрока)+"C53").Значение;
       
       Если Таблица.Область("R"+(фО+фНачСтрока)+"C3").Значение = 0 Тогда
           Таблица.Область("R"+(фО+фНачСтрока)+"C54").Значение = 0;
       Иначе
           Таблица.Область("R"+(фО+фНачСтрока)+"C54").Значение =
               Таблица.Область("R"+(фО+фНачСтрока)+"C53").Значение/Таблица.Область("R"+(фО+фНачСтрока)+"C3").Значение;
       КонецЕсли;
       Ц54 = Ц54+Таблица.Область("R"+(фО+фНачСтрока)+"C54").Значение;
       
       Таблица.Область("R"+(фО+фНачСтрока)+"C65").Значение =
           Таблица.Область("R"+(фО+фНачСтрока)+"C29").Значение*СВОтпускНЗП;
       Ц65 = Ц65+Таблица.Область("R"+(фО+фНачСтрока)+"C65").Значение;
       
       Таблица.Область("R"+(фО+фНачСтрока)+"C66").Значение =
           Таблица.Область("R"+(фО+фНачСтрока)+"C30").Значение*СВОтпускПРОД;
       Ц66 = Ц66+Таблица.Область("R"+(фО+фНачСтрока)+"C66").Значение;
       
       Если Таблица.Область("R"+(фО+фНачСтрока)+"C2").Значение = 0 Тогда              //СВ Отпуск Пар
           Таблица.Область("R"+(фО+фНачСтрока)+"C67").Значение = 0;
       Иначе
           Таблица.Область("R"+(фО+фНачСтрока)+"C67").Значение =
               Таблица.Область("R"+(фО+фНачСтрока)+"C66").Значение/Таблица.Область("R"+(фО+фНачСтрока)+"C2").Значение;
       КонецЕсли;
       Ц67 = Ц67+Таблица.Область("R"+(фО+фНачСтрока)+"C67").Значение;
       
       Таблица.Область("R"+(фО+фНачСтрока)+"C68").Значение =
           Таблица.Область("R"+(фО+фНачСтрока)+"C67").Значение*Таблица.Область("R"+(фО+фНачСтрока)+"C26").Значение; // ЗВ РУ
       Ц68 = Ц68+Таблица.Область("R"+(фО+фНачСтрока)+"C68").Значение;
       
       Таблица.Область("R"+(фО+фНачСтрока)+"C69").Значение =
           Таблица.Область("R"+(фО+фНачСтрока)+"C67").Значение*Таблица.Область("R"+(фО+фНачСтрока)+"C27").Значение; // ЗВ ЗУ
       Ц69 = Ц69+Таблица.Область("R"+(фО+фНачСтрока)+"C69").Значение;
       
       Таблица.Область("R"+(фО+фНачСтрока)+"C70").Значение =
           Таблица.Область("R"+(фО+фНачСтрока)+"C67").Значение*Таблица.Область("R"+(фО+фНачСтрока)+"C28").Значение; // ЗВ ПУ
       Ц70 = Ц70+Таблица.Область("R"+(фО+фНачСтрока)+"C70").Значение;
       
       Таблица.Область("R"+(фО+фНачСтрока)+"C71").Значение =
           Таблица.Область("R"+(фО+фНачСтрока)+"C29").Значение*ИтЗатратНЗП;
       Ц71 = Ц71+Таблица.Область("R"+(фО+фНачСтрока)+"C71").Значение;
       
       Таблица.Область("R"+(фО+фНачСтрока)+"C72").Значение =
           Таблица.Область("R"+(фО+фНачСтрока)+"C30").Значение*ИтЗатратПРОД;
       Ц72 = Ц72+Таблица.Область("R"+(фО+фНачСтрока)+"C72").Значение;
       
       Если Таблица.Область("R"+(фО+фНачСтрока)+"C2").Значение = 0 Тогда
           Таблица.Область("R"+(фО+фНачСтрока)+"C73").Значение = 0;
       Иначе
           Таблица.Область("R"+(фО+фНачСтрока)+"C73").Значение =
               Таблица.Область("R"+(фО+фНачСтрока)+"C72").Значение/Таблица.Область("R"+(фО+фНачСтрока)+"C2").Значение;
       КонецЕсли;
       Ц73 = Ц73+Таблица.Область("R"+(фО+фНачСтрока)+"C73").Значение;
   
       Таблица.Область("R"+(фО+фНачСтрока)+"C74").Значение =
           Таблица.Область("R"+(фО+фНачСтрока)+"C73").Значение*Таблица.Область("R"+(фО+фНачСтрока)+"C26").Значение; // ЗВ РУ
       Ц74 = Ц74+Таблица.Область("R"+(фО+фНачСтрока)+"C74").Значение;
       
       Таблица.Область("R"+(фО+фНачСтрока)+"C75").Значение =
           Таблица.Область("R"+(фО+фНачСтрока)+"C73").Значение*Таблица.Область("R"+(фО+фНачСтрока)+"C27").Значение; // ЗВ ЗУ
       Ц75 = Ц75+Таблица.Область("R"+(фО+фНачСтрока)+"C75").Значение;
       
       Таблица.Область("R"+(фО+фНачСтрока)+"C76").Значение =
           Таблица.Область("R"+(фО+фНачСтрока)+"C73").Значение*Таблица.Область("R"+(фО+фНачСтрока)+"C28").Значение; // ЗВ ПУ
       Ц76 = Ц76+Таблица.Область("R"+(фО+фНачСтрока)+"C76").Значение;
       
       Таблица.Область("R"+(фО+фНачСтрока)+"C77").Значение =
           Таблица.Область("R"+(фО+фНачСтрока)+"C31").Значение+
           Таблица.Область("R"+(фО+фНачСтрока)+"C37").Значение+
           Таблица.Область("R"+(фО+фНачСтрока)+"C43").Значение+
           Таблица.Область("R"+(фО+фНачСтрока)+"C65").Значение;
       Ц77 = Ц77+Таблица.Область("R"+(фО+фНачСтрока)+"C77").Значение;
       
       Таблица.Область("R"+(фО+фНачСтрока)+"C78").Значение =
           Таблица.Область("R"+(фО+фНачСтрока)+"C33").Значение+
           Таблица.Область("R"+(фО+фНачСтрока)+"C39").Значение+
           Таблица.Область("R"+(фО+фНачСтрока)+"C45").Значение+
           Таблица.Область("R"+(фО+фНачСтрока)+"C56").Значение+
           Таблица.Область("R"+(фО+фНачСтрока)+"C61").Значение+
           Таблица.Область("R"+(фО+фНачСтрока)+"C67").Значение+
           Таблица.Область("R"+(фО+фНачСтрока)+"C73").Значение;
       Ц78 = Ц78+Таблица.Область("R"+(фО+фНачСтрока)+"C78").Значение;
       
       Таблица.Область("R"+(фО+фНачСтрока)+"C79").Значение =
           Таблица.Область("R"+(фО+фНачСтрока)+"C34").Значение+
           Таблица.Область("R"+(фО+фНачСтрока)+"C40").Значение+
           Таблица.Область("R"+(фО+фНачСтрока)+"C46").Значение+
           Таблица.Область("R"+(фО+фНачСтрока)+"C57").Значение+
           Таблица.Область("R"+(фО+фНачСтрока)+"C62").Значение+
           Таблица.Область("R"+(фО+фНачСтрока)+"C68").Значение+
           Таблица.Область("R"+(фО+фНачСтрока)+"C74").Значение;
       Ц79 = Ц79+Таблица.Область("R"+(фО+фНачСтрока)+"C79").Значение;
       
       Таблица.Область("R"+(фО+фНачСтрока)+"C80").Значение =
           Таблица.Область("R"+(фО+фНачСтрока)+"C35").Значение+
           Таблица.Область("R"+(фО+фНачСтрока)+"C41").Значение+
           Таблица.Область("R"+(фО+фНачСтрока)+"C47").Значение+
           Таблица.Область("R"+(фО+фНачСтрока)+"C58").Значение+
           Таблица.Область("R"+(фО+фНачСтрока)+"C63").Значение+
           Таблица.Область("R"+(фО+фНачСтрока)+"C69").Значение+
           Таблица.Область("R"+(фО+фНачСтрока)+"C75").Значение;
       Ц80 = Ц80+Таблица.Область("R"+(фО+фНачСтрока)+"C80").Значение;
       
       Таблица.Область("R"+(фО+фНачСтрока)+"C81").Значение =
           Таблица.Область("R"+(фО+фНачСтрока)+"C36").Значение+
           Таблица.Область("R"+(фО+фНачСтрока)+"C42").Значение+
           Таблица.Область("R"+(фО+фНачСтрока)+"C48").Значение+
           Таблица.Область("R"+(фО+фНачСтрока)+"C59").Значение+
           Таблица.Область("R"+(фО+фНачСтрока)+"C64").Значение+
           Таблица.Область("R"+(фО+фНачСтрока)+"C70").Значение+
           Таблица.Область("R"+(фО+фНачСтрока)+"C76").Значение;
       Ц81 = Ц81+Таблица.Область("R"+(фО+фНачСтрока)+"C81").Значение;
       
       Таблица.Область("R"+(фО+фНачСтрока)+"C82").Значение =
           Таблица.Область("R"+(фО+фНачСтрока)+"C52").Значение+
           Таблица.Область("R"+(фО+фНачСтрока)+"C54").Значение+
           Таблица.Область("R"+(фО+фНачСтрока)+"C78").Значение;
       Ц82 = Ц82+Таблица.Область("R"+(фО+фНачСтрока)+"C82").Значение;
       
       Таблица.Область("R"+(фО+фНачСтрока)+"C83").Значение =
           Таблица.Область("R"+(фО+фНачСтрока)+"C7").Значение;
       Ц83 = Ц83+Таблица.Область("R"+(фО+фНачСтрока)+"C83").Значение;
       
       Таблица.Область("R"+(фО+фНачСтрока)+"C84").Значение =
           Таблица.Область("R"+(фО+фНачСтрока)+"C78").Значение+
           Таблица.Область("R"+(фО+фНачСтрока)+"C83").Значение;
       Ц84 = Ц84+Таблица.Область("R"+(фО+фНачСтрока)+"C84").Значение;
       
       Таблица.Область("R"+(фО+фНачСтрока)+"C85").Значение =
           Таблица.Область("R"+(фО+фНачСтрока)+"C84").Значение*0.18;
       Ц85 = Ц85+Таблица.Область("R"+(фО+фНачСтрока)+"C85").Значение;
       
       Таблица.Область("R"+(фО+фНачСтрока)+"C86").Значение =
           Таблица.Область("R"+(фО+фНачСтрока)+"C84").Значение+
           Таблица.Область("R"+(фО+фНачСтрока)+"C85").Значение;
       Ц86 = Ц86+Таблица.Область("R"+(фО+фНачСтрока)+"C86").Значение;
       
       Таблица.Область("R"+(фО+фНачСтрока)+"C87").Значение =
           Таблица.Область("R"+(фО+фНачСтрока)+"C86").Значение*Таблица.Область("R"+(фО+фНачСтрока)+"C2").Значение;
       Ц87 = Ц87+Таблица.Область("R"+(фО+фНачСтрока)+"C87").Значение;
       
       Таблица.Область("R"+(фО+фНачСтрока)+"C88").Значение =
           Таблица.Область("R"+(фО+фНачСтрока)+"C9").Значение - Таблица.Область("R"+(фО+фНачСтрока)+"C87").Значение;
       Ц88 = Ц88+Таблица.Область("R"+(фО+фНачСтрока)+"C88").Значение;
       
   КонецЦикла;
   
   Таблица.Область("R3C31").Значение = Ц31;          //
   Таблица.Область("R3C32").Значение = Ц32;          //
   Таблица.Область("R3C33").Значение = Ц33;          //
   Таблица.Область("R3C34").Значение = Ц34;
   Таблица.Область("R3C35").Значение = Ц35;          // Сумма НЗП
   Таблица.Область("R3C36").Значение = Ц36;
   Таблица.Область("R3C37").Значение = Ц37;
   Таблица.Область("R3C38").Значение = Ц38;
   Таблица.Область("R3C39").Значение = Ц39;
   Таблица.Область("R3C40").Значение = Ц40;
   Таблица.Область("R3C41").Значение = Ц41;
   Таблица.Область("R3C42").Значение = Ц42;
   Таблица.Область("R3C43").Значение = Ц43;
   Таблица.Область("R3C44").Значение = Ц44;
   Таблица.Область("R3C45").Значение = Ц45;
   Таблица.Область("R3C46").Значение = Ц46;
   Таблица.Область("R3C47").Значение = Ц47;
   Таблица.Область("R3C48").Значение = Ц48;
   Таблица.Область("R3C50").Значение = Ц50;
   Таблица.Область("R3C51").Значение = Ц51;
   Таблица.Область("R3C52").Значение = Ц52;
   Таблица.Область("R3C53").Значение = Ц53;
   Таблица.Область("R3C54").Значение = Ц54;
   Таблица.Область("R3C65").Значение = Ц65;
   Таблица.Область("R3C66").Значение = Ц66;
   Таблица.Область("R3C67").Значение = Ц67;
   Таблица.Область("R3C68").Значение = Ц68;
   Таблица.Область("R3C69").Значение = Ц69;
   Таблица.Область("R3C70").Значение = Ц70;
   Таблица.Область("R3C71").Значение = Ц71;
   Таблица.Область("R3C72").Значение = Ц72;
   Таблица.Область("R3C73").Значение = Ц73;
   Таблица.Область("R3C74").Значение = Ц74;
   Таблица.Область("R3C75").Значение = Ц75;
   Таблица.Область("R3C76").Значение = Ц76;
   Таблица.Область("R3C77").Значение = Ц77;
   Таблица.Область("R3C78").Значение = Ц78;
   Таблица.Область("R3C79").Значение = Ц79;
   Таблица.Область("R3C80").Значение = Ц80;
   Таблица.Область("R3C81").Значение = Ц81;
   Таблица.Область("R3C82").Значение = Ц82;
   Таблица.Область("R3C83").Значение = Ц83;
   Таблица.Область("R3C84").Значение = Ц84;
   Таблица.Область("R3C85").Значение = Ц85;
   Таблица.Область("R3C86").Значение = Ц86;
   Таблица.Область("R3C87").Значение = Ц87;
   Таблица.Область("R3C88").Значение = Ц88;

   Возврат "Продукция";
   
КонецФункции // Расчет()
5 FlashC
 
29.06.13
02:03
как вариант - который совсем не вариант - прописать функцию в каждой ячейке и убрать из таблицы - но.... 88*120=??? неужели нет решения? или это фантастика? не надо мне других конфиг и т.д, как (2) говорит
6 FlashC
 
29.06.13
02:29
решено. Расчет(ПервоеОткрытие). Тема закрыта
7 КонецЦикла
 
29.06.13
02:48
Да тупо отчет обычный, обычная таблица.
При каком-то чихе бежишь менять данные и параллельно (чтобы не перечитывать их) - в ячейке нужной (ну или нескольких), потом Таб.Обновить() - и все
8 КонецЦикла
 
29.06.13
02:49
У меня столбцов 50 менялось без каких-либо заметных торможений
9 КонецЦикла
 
29.06.13
02:49
Работать по расшифровке
10 FlashC
 
29.06.13
03:07
(7) там не чих, а 88*(70 - 120 строк) как видите из расчет() сначала промежуточный результат - потом основной...
(9) просто сразу не сообразил, что всё просто...
переменная в отчете - в приОткрытии в 0. Везде далее меняю на 1 и всё ОК. отчет открывается мгновенно. раньше секунд 10
11 КонецЦикла
 
29.06.13
03:08
Ну и ладушки. Всем спок. ночи :)
12 FlashC
 
29.06.13
03:10
"У меня столбцов 50 менялось без каких-либо заметных торможений" Так тоже всё меняется - только открытие напрягало, спс за бессонную ночь ... Удачи!
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.