|
v8: БП 2.0.28.3 Очень долго заполняется форма баланса, если много ОС | ☑ | ||
---|---|---|---|---|
0
DSatan
15.12.11
✎
15:23
|
БП КОРП 2.0.28.3
Запустил заполнение формы баланса в реглотчетности и вот уже час лопатит (скушав проц на клиенте по макимуму) и конца не видно Сталкивался кто-нибудь? |
|||
1
DSatan
15.12.11
✎
15:25
|
Допинфо: админ говорит что SQL сервер расслаблен, на апликухе тоже нагрузку проверил - тоже ничего подозрительного
|
|||
2
DSatan
15.12.11
✎
15:32
|
в каком направлении копать хоть начинать?
|
|||
3
Fragster
гуру
15.12.11
✎
15:35
|
замер производительности рулит
|
|||
4
DSatan
15.12.11
✎
15:37
|
неохота прерывать, чтобы подключится в режиме отладки. час уже пыхтит
думал может сталкивался уже кто еще немного подожду и буду замерять |
|||
5
shuhard
15.12.11
✎
15:38
|
(0) нормально или нет тебе решать, а лопатит баланс ОС
|
|||
6
DSatan
15.12.11
✎
15:40
|
(5) ОС не так уж и много
к тому же месяц назад все было пучком как думаете: в ТИИ есть смысл? |
|||
7
Fragster
гуру
15.12.11
✎
15:42
|
(4) у меня везде разрешено подключение отладки при запуске %)
|
|||
8
DSatan
15.12.11
✎
15:55
|
оу, шит!
переговорил с бухом по ОС, оказывается пару последних месяцев оприходовали уйму ОС (5) сеньк за наводку |
|||
9
DSatan
15.12.11
✎
15:56
|
тем не менее вопрос насчет ТИИ - есть вообще смысл делать или не стоит время терять?
полный ТИИ давно не делал, разве что при обновлениях пересчет итогов иногда автоматом проходил |
|||
10
hhhh
15.12.11
✎
16:04
|
(8) там вообще этот отчет вообще сырой. Забавная бага, например,
// Развернем итоги по субсчетам счета 76 по контрагентам мБухИтогиРС.РассчитатьИтоги("Хозрасчетный", ИтогиРС, "Сумма", "Счет, Субконто1", НачалоПериодаОтчета, КонецПериодаОтчета, , мСчет["76"], ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты, , , "Организация", мОргРасшифровка); мСчет - это соответствие, где все счета перечислены. Но прикол в том, что счета 76 в этом соответствии нет, разработчики про него забыли, и эта строчка мне разворачивала итоги по всему плану счетов и баланс где-то полчаса формировался. |
|||
11
DSatan
15.12.11
✎
16:07
|
(10) ты меня пугаешь :)
|
|||
12
DrShad
15.12.11
✎
16:11
|
(11) так и есть как (10) говорит, т.е. новая форма баланса это просто пипец какой-то
|
|||
13
DSatan
15.12.11
✎
16:50
|
(10) как исправлял?? создавал отдельный массив счетов по 76 аналогично этому?
СчетаУчетаРасчетов = Новый Массив; СчетаУчетаРасчетов.Добавить(мСчет["60.01"]); СчетаУчетаРасчетов.Добавить(мСчет["60.21"]); СчетаУчетаРасчетов.Добавить(мСчет["60.31"]); СчетаУчетаРасчетов.Добавить(мСчет["62.01"]); СчетаУчетаРасчетов.Добавить(мСчет["62.21"]); СчетаУчетаРасчетов.Добавить(мСчет["62.31"]); |
|||
14
DSatan
15.12.11
✎
17:01
|
хмм... не, проще добавить общий массив элемент "76" :)
|
|||
15
qwe123
15.12.11
✎
17:40
|
мож кто и про это знает?
v8: БП 2.0, баланс |
|||
16
shuhard
15.12.11
✎
17:46
|
(15) Прочие внеоборотные активы
В показателе "Прочие внеоборотные активы" (код показателя 1170) приводится информация о внеоборотных активах и вложениях, не нашедшая отражения при формировании перечисленных выше показателей раздела I Внеоборотные активы. В частности, в составе прочих внеоборотных активов отражаются суммы перечисленных авансов и предварительной оплаты работ и услуг, связанных со строительством объектов основных средств (письмо Минфина РФ от 24.01.2011 №07-02-18/01). К составе прочих внеоборотных активов может приводиться также информация об отдельных расходах, учитываемых на счете 97 "Расходы будущих периодов". Например, расходах на освоение природных ресурсов, срок списания которых истекает более чем через 12 месяцев после соответствующей даты. Агропромышленные предприятия в составе прочих внеоборотных активов показывают затраты по формированию основного стада продуктивного и рабочего скота. Применительно к плану счетов учетных программ "1С" в показателе "Прочие внеоборотные активы" приводится сальдо на счетах 08.06 "Перевод молодняка животных в основное стадо", 08.07 "Приобретение взрослых животных", 60.02 "Расчеты по авансам выданным", 60.22 "Расчеты по авансам выданным (в валюте)" и 60.32 "Расчеты по авансам выданным (в у.е.)" - в части перечисленных авансов и предварительной оплаты работ и услуг, связанных со строительством объектов основных средств, сальдо на счете 97 - в части долгосрочных расходов будущих периодов на соответствующую дату. По умолчанию в этом показателе приводится сальдо только по счетам 08.06 и 08.07. Авансы на счетах 60.02, 60.22 и 60.32, а также расходы на счете 97 считаются краткосрочными. |
|||
17
DSatan
16.12.11
✎
00:27
|
несмотря на то, что я заранее исправил ошибку, указанную в (10), за что ему спасибо, результаты замеров неутешительны:
(5) оказался прав (не знаю кто это, но подозреваю что Пит :))), большое ему спасибо, 96,24% времени (что вылилось примерно в 5 часов реального) уходит на выполнение в цикле по основным средствам две строки: ФормаОтчета2011Кв3.Форма(5 822) ОС__01_01 = мБухИтогиРС.ПолучитьИтог("СуммаКонечныйОстатокДт", "Счет, Субконто1", мСчет["01.01"], ВыборкаОС.Субконто1); ФормаОтчета2011Кв3.Форма(5 824) ОС__02_01 = мБухИтогиРС.ПолучитьИтог("СуммаКонечныйОстатокКт", "Счет, Субконто1", мСчет["02.01"], ВыборкаОС.Субконто1); а корень зла в строке из Обработка.БухгалтерскиеИтоги.МодульОбъекта (888) Выборка = Выборка.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, Группировка.Ключ, ДополнениеВыборки); P.S. формирование баланса за 5 часов - время неадекватное. посоветовать можете чего? |
|||
18
DSatan
16.12.11
✎
00:33
|
(17)+ что-то стремно мне курочить Обработка.БухгалтерскиеИтоги.МодульОбъект
|
|||
19
МихаилМ
16.12.11
✎
00:44
|
(17)
я об этом писал года 3 назад корень зла в (ОбходРезультатаЗапроса.ПоГруппировкам) |
|||
20
Snovy
16.12.11
✎
00:49
|
(0) Не сталкивался, но нам наверное везет - мы первым делом сразу комментим процедуру ЗаполнитьАвто и пишем вместо нее свое.... куски кода, написанные еще во времена 8.0.1 бывшими семерочниками по прежнему отрабатывают быстрее, что главное - правильнее и технически и методолгически, чем кошерные запросы от типовой... Может я в чем и не прав, но оно так и есть...
|
|||
21
Snovy
16.12.11
✎
00:51
|
(17) Я вот сейчас вспоминаю строчки баланса, а что там есть такого, что нельзя взять сальдо счета 01 и вычесть из него 02? Зачем по ОСам то крутиться?
|
|||
22
Snovy
16.12.11
✎
00:55
|
(16) Уже несколько лет авансы по кап.строительству показываем исключительно в строках баланса, связанных с кап.строительством. Почему типовые это не умеют, джо сих пор не понимаю - наверное потому, что организациям, использующим типовые в чистом виде - это на фиг не нужно....
|
|||
23
RayCon
16.12.11
✎
01:36
|
(21) +1
|
|||
24
DSatan
16.12.11
✎
06:22
|
Значит, проблема известна уже 3 года и 1С ничего не предпринимает? Это в их стиле.
|
|||
25
DSatan
16.12.11
✎
06:40
|
Нет, не все так просто.
В алгоритме заполнения баланса ФормаОтчета2011Кв1 никакого обхода по субконто нет, все просто для безобразия // строка 1130 "Основные средства" П0100113004_01 = СКД(Счет01); П0100113004_02_01 = СКК(Счет02_01); П0100113004 = П0100113004_01 - П0100113004_02_01; УстановитьЗначениеПоказателя("П000100113004", П0100113004); А обход по ОС появился только в ФормаОтчета2011Кв3 из-за счета 01.08 и необходимости разделения амортизации по 01.01 и 01.08 // разделим сальдо по счету 02.01 по основным средствам, учитываемым на счетах 01.01 и 01.08 СчетаОС = "01.01, 01.08, 02.01"; ... мБухИтогиРС.РассчитатьИтоги("Хозрасчетный", ИтогиРС, "Сумма", "Счет, Субконто1", НачалоПериодаОтчета, КонецПериодаОтчета, , СчетаОС, ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.ОсновныеСредства, , , "Организация", мОргРасшифровка); ОстаткиИОбороты = мБухИтогиРС.ПолучитьОстаткиИОбороты(); ВыборкаОС = ОстаткиИОбороты.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Субконто1"); Пока ВыборкаОС.Следующий() Цикл // пропускаем группы как элемент иерархии результатов запроса Если ВыборкаОС.Субконто1.ЭтоГруппа Тогда Продолжить; КонецЕсли; ОС__01_01 = мБухИтогиРС.ПолучитьИтог("СуммаКонечныйОстатокДт", "Счет, Субконто1", мСчет["01.01"], ВыборкаОС.Субконто1); ОС__01_08 = мБухИтогиРС.ПолучитьИтог("СуммаКонечныйОстатокДт", "Счет, Субконто1", мСчет["01.08"], ВыборкаОС.Субконто1); ОС__02_01 = мБухИтогиРС.ПолучитьИтог("СуммаКонечныйОстатокКт", "Счет, Субконто1", мСчет["02.01"], ВыборкаОС.Субконто1); Если ЭтоБалансДляАУ Тогда ОС__01_11 = мБухИтогиРС.ПолучитьИтог("СуммаКонечныйОстатокДт", "Счет, Субконто1", мСчет["01.11"], ВыборкаОС.Субконто1); КонецЕсли; Если ОС__01_01 <> 0 Тогда П000100113004_02_01__01_01 = П000100113004_02_01__01_01 + ОС__02_01; ИначеЕсли ОС__01_08 <> 0 Тогда П000100113004_02_01__01_08 = П000100113004_02_01__01_08 + ОС__02_01; ИначеЕсли ЭтоБалансДляАУ И ОС__01_11 <> 0 Тогда П000100113004_02_01__01_11 = П000100113004_02_01__01_11 + ОС__02_01; Иначе // подразумевается что все амортизируемые ОС учитываются либо на счете 01.01, либо на счете 01.08 КонецЕсли; КонецЦикла; П000100113004 = П000100113004_01_01 - П000100113004_02_01__01_01 + П000100113004_01_08 - П000100113004_02_01__01_08 + П000100113004_07 + П000100113004_08_01 + П000100113004_08_02 + П000100113004_08_03 + П000100113004_08_04; ............................ УстановитьЗначениеПоказателя("П0001001130" + Графа, П000100113004); |
|||
26
shuhard
16.12.11
✎
07:43
|
(17)[(5) оказался прав (не знаю кто это, но подозреваю что Пит :))), большое ему спасибо, ]
редкостный для меня комплимент, но увы для форума, я не Пит |
|||
27
DSatan
16.12.11
✎
08:29
|
(26) Пит, не Пит - неважно, главное что по делу всегда отвечаешь :)
|
|||
28
shuhard
16.12.11
✎
08:31
|
(27) уход Пита - трагедия форума,
с тех пор миста медленно и неотвратимо мудеет |
|||
29
DSatan
16.12.11
✎
08:48
|
вернемся к нашим баранам
"Субсчет 01.08 ""Объекты недвижимости, права собственности на которые не зарегистрированы"" предназначен для обобщения информации о наличии и движении основных средств организации, права собственности на которые не зарегистрированы в установленном законодательством порядке." Я так понимаю, что туда должны относиться автомобили до регистрации и недвижка - правильно? Таких ОС практически ни у кого нет, а если и есть - то буквально единицы. Исходя из этого думаю сделать вот что - сделать вначале отдельный расчет данных по 01.08 с обходом по субконто (ОС__01_08 и П000100113004_02_01__01_08). Для расчета П000100113004 использовать старый алгоритм с учетом полученных ОС__01_08 и П000100113004_02_01__01_08 думаю это будет самое оптимальное |
|||
30
DEVIce
16.12.11
✎
08:48
|
(28). А что с ним? Почему ушел?
|
|||
31
DSatan
16.12.11
✎
08:49
|
(28) се ля ви
|
|||
32
shuhard
16.12.11
✎
09:04
|
(30) обиделся
|
|||
33
ttassha
16.12.11
✎
09:20
|
Попробуйте посмотреть баланс из 29 релиза. У нас отчет от 28 релиза тоже долго формировался, в 29 проблемные строки исправлены, и формируется все быстро. Может быть, и вам поможет.
|
|||
34
mikecool
16.12.11
✎
09:25
|
(32) да, редкостный был дятловод ))) немало моих клювов обломал
ты вроде эстафету практически принял ) |
|||
35
DSatan
16.12.11
✎
10:11
|
(33) вот черт, и вправду в новом релизе они весь алгоритм переделали
пошел обновляться :) |
|||
36
DSatan
16.12.11
✎
16:13
|
обновился, теперь заполнение баланса пролетает за 2 минуты
(33) огромное спасибо, всем остальным тоже большое спасибо |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |