|
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 менялось без каких-либо заметных торможений" Так тоже всё меняется - только открытие напрягало, спс за бессонную ночь ... Удачи!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |