|
|
|
Прямой и обратный расчет остаков по регистру
|
|||
|---|---|---|---|
|
#18+
Сам я админ базы данных и к 1С имею весьма опосредственное отношение. У меня проблема с производительностью запроса по регистру (см ниже) в SQL он рaскладывается обычным запросом RA RG . Он выполняется 5-7 секунд и это очнь много, тк он участвует в проведении документа, а у нас розница. Но пользователи утверждают что иногда документы начинают проводится очень быстро - меньше, чем за секунду. 1Cники тупо послали ко мне. Мне удалось поймать сиквельный запрос когда документы проводятся быстро и проанализировать в чем разница. И в результате в инете я нашел такую фразу авторПросто счет они ведут не прямым расчетом, а обратным (т.е. не ПРИБАВЛЯЮТ движения от начала до тек. момента, а ВЫЧИТАЮТ из конечных остатков движения от тек. момента до конца). При таком методе расчета последние остатки будут получаться быстрее (а остатки на конец периода - и подавно). А поскольку чаще получают именно остатки более "близкие" к концу периода ("близкие" имеется в виду по кол-ву движений, а не непосредственно по времени), такая схема более эффективна. Так вот в момент когда документы проводятся быстро - запрос выполняется обратным расчетом. А обычно прямым. Теперь собственно вопрос. Нет ли в 1С какого нибудь параметра который влияет, на то каким образом будет выполнятся расчет остатка? Или при каких условиях он выполняется одним или другим методом? Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2010, 01:43 |
|
||
|
Прямой и обратный расчет остаков по регистру
|
|||
|---|---|---|---|
|
#18+
Флеймер, дык все описано: Код: plaintext 1. 2. 3. 4. 5. Если именно этот запрос работает и в "тормозном" варианте - значит "тормознутость" его зависит от попадания параметра :ГраницаРасчета в "близкую к концу" текущего периода или ТА. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2010, 03:45 |
|
||
|
Прямой и обратный расчет остаков по регистру
|
|||
|---|---|---|---|
|
#18+
В общем если перефразировать Егоров Александра, посмотри есть ли документы созданные будущей датой. Если есть есть документы проведенные позже чем проводиться текущий документ, такие документы будут проводиться с тормозами, даже если эти документы находятся в пределах одного дня. Т.е. документ должен проводиться гораздо быстрее если проводиться на ТА (точку актульности). В том числе и на прямых запросах. Просто зайди в профайлер и посмотри какие запросы генерирует 1С++ при проведении на ТА и не на ТА, все поймешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2010, 09:27 |
|
||
|
Прямой и обратный расчет остаков по регистру
|
|||
|---|---|---|---|
|
#18+
1. Попробуйте убрать галочку - распаралеливание запроса. 2. Проверьте что у регистра стоят "индексировать" у реквизитов. Да и вобще - вы уверены что дело ТОЛЬКО в этом запросе? Рядышком ничего нет? Может взаимоблокировки? В однопользовательском режиме проверьте. И текст модуля проведения документа - киньте сюда. 3. И как вариант - если записываетс и проводится новый документ - то пусть он будет "последний" тогда расчет на точку актуальности - копейки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2010, 09:28 |
|
||
|
Прямой и обратный расчет остаков по регистру
|
|||
|---|---|---|---|
|
#18+
И вообще это проблема программистов, а не админа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2010, 09:29 |
|
||
|
Прямой и обратный расчет остаков по регистру
|
|||
|---|---|---|---|
|
#18+
vitkhvИ вообще это проблема программистов, а не админа. +1 А то получается, что программеры пишушие на 1С++, не знают как работает ихняя компонента и просят админа разобраться... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2010, 09:55 |
|
||
|
Прямой и обратный расчет остаков по регистру
|
|||
|---|---|---|---|
|
#18+
Егоров АлександрvitkhvИ вообще это проблема программистов, а не админа. +1 А то получается, что программеры пишушие на 1С++, не знают как работает ихняя компонента и просят админа разобраться... :) Именно так. Только просят не разобраться, а доказать что ты не верблюд, и проблемы не в распаралеливании запросов или взаимных блокировках. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2010, 10:40 |
|
||
|
Прямой и обратный расчет остаков по регистру
|
|||
|---|---|---|---|
|
#18+
Егоров Александр, Спасибо, большое. Вы мне уже очень помогли. А есть какой нибудь способ всегда обратным расчетом считать? У меня даже первого числа проведенных документов с начала месяца значительно больше. И еще у меня прямым расчетом считается почти вплоть до 27-28 числа. А из вашей фразы я понял, что он должен переключаться с 15го. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2010, 10:46 |
|
||
|
Прямой и обратный расчет остаков по регистру
|
|||
|---|---|---|---|
|
#18+
Флеймер, Если у вас розница то откажитесь от партий и все будет летать. А когда в главной базе бухи восстанавливают последовательность - пусть там и подбирают партии. Совет проверен практикой и работает у многих клиентов. Правда прогам придется переписывать модули, но если руководство прикажет - куда они денутся. Вся проблема в мозгах, или их отсутствии... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2010, 10:52 |
|
||
|
Прямой и обратный расчет остаков по регистру
|
|||
|---|---|---|---|
|
#18+
Цитата с 1csql.ru "Остаточный регистр Реализуется с помощью двух таблиц: RGxxx и RAxxx. Первая таблица содержит значения функции НачОст на начало каждого периода указанного в меню системы "Операции — Управление оперативными итогами" в секции "Периодичность сохранение остатков". Значение данной функции может хранится на начало каждой пятидневки, десятидневки, на начало каждых пятнадцати дней, на начало каждого месяца." Конец цитаты. Из этого следует, что "Периодичность сохранение остатков" с месяца до 15, 10 и 5 дней. Т.е. таблица RG будет создаваться не раз в месяц, а раз в 15, 10 или 5 дней. Соответственно чем меньше Периодичность сохранения остатков, тем быстрее будет обрабатываться таблица RA (обороты), т.к. опорной таблицой является таблица RG (итоги) к которой прибавляются записи из таблицы RA. Соответсвенно чем меньше "Периодичность сохранения остатков" тем меньше времени системе необходимо для обработки таблицы RA. Единственный и большой недостаток (хотя кому как) это то, что период открытия итогов будет происходить не раз в месяц, а раз в 15, 10 и 5 дней соответственно. Прямой и обратный расчет означается к какому периоду итогов в таблице RG будут прибавлятся (отниматься) записи (обороты) из таблицы RA. В случае проведения документа на ТА (точку актуальности) таблица RA не используется, используется только таблица RG . За счет этого радикально уменьшается время получения итогов. А на счет партий правильный совет - партии можно востанавливать по ночам, правда если есть отчеты которые формируются по этому регистру и используются оперативно т.е. если менеджер анализирует данные текущего дня с использованием этого регистра, то такой вариант не подойдет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2010, 11:53 |
|
||
|
Прямой и обратный расчет остаков по регистру
|
|||
|---|---|---|---|
|
#18+
Злой БобрФлеймер, Если у вас розница то откажитесь от партий и все будет летать. А когда в главной базе бухи восстанавливают последовательность - пусть там и подбирают партии. Совет проверен практикой и работает у многих клиентов. Правда прогам придется переписывать модули, но если руководство прикажет - куда они денутся. Вся проблема в мозгах, или их отсутствии... 1) Не знаю в какой компании вы работаете. Но в крупных компаниях и в нашей в частности, админ таких решений не принимает. 2) Вы представляете себе объемы изменения бизнес процесов и кода для перехода из -за одного запроса. На много - много ПОРЯДКОВ проще переписать кусок кода в 1С. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2010, 11:58 |
|
||
|
Прямой и обратный расчет остаков по регистру
|
|||
|---|---|---|---|
|
#18+
Флеймер, скорее всего представляет; и если всё сделано как надо, то и переписывать надо совсем не много ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2010, 14:39 |
|
||
|
Прямой и обратный расчет остаков по регистру
|
|||
|---|---|---|---|
|
#18+
ФлеймерЕгоров Александр, Спасибо, большое. Вы мне уже очень помогли. А можно подробней чем именно помогли - какие выводы сделаны? Или просто остановились на фразе - это проблема программистов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2010, 15:26 |
|
||
|
Прямой и обратный расчет остаков по регистру
|
|||
|---|---|---|---|
|
#18+
vectorovФлеймерЕгоров Александр, Спасибо, большое. Вы мне уже очень помогли. А можно подробней чем именно помогли - какие выводы сделаны? Или просто остановились на фразе - это проблема программистов? 1) Метод расчета зависит не только от даты но и точки актуальности. Теперь ее подобрать и протестировать в разных вариантах это дело техники. 2) Да эту фразу увидело и мое начальство. Теперь это действительно проблема програмистов. К стати само понятие ТА я узнал только сегодня ночью. Когда искал инфу в инете по организации работы 1С с регистрами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2010, 15:55 |
|
||
|
Прямой и обратный расчет остаков по регистру
|
|||
|---|---|---|---|
|
#18+
Флеймер 1) Не знаю в какой компании вы работаете. Но в крупных компаниях и в нашей в частности, админ таких решений не принимает. 2) Вы представляете себе объемы изменения бизнес процесов и кода для перехода из -за одного запроса. На много - много ПОРЯДКОВ проще переписать кусок кода в 1С. 1. Меряться ни с кем я несобираюсь. Кому необходимы мои услуги сами меня находят. А в действительно крупных компаниях админ не лезет в вопросы программистов, видимо поэтому и не встают такие вопросы. 2. Нет. Не представляю. Вы ведь всерьез недумаете что по вашей теме на форуме кто-то может знать что и как происходит в вашей конторе?.. Это абсурд. Код тоже можно переписать по разному. И далеко не факт что будет быстрее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2010, 16:18 |
|
||
|
Прямой и обратный расчет остаков по регистру
|
|||
|---|---|---|---|
|
#18+
Злой БобрФлеймер 1) Не знаю в какой компании вы работаете. Но в крупных компаниях и в нашей в частности, админ таких решений не принимает. 2) Вы представляете себе объемы изменения бизнес процесов и кода для перехода из -за одного запроса. На много - много ПОРЯДКОВ проще переписать кусок кода в 1С. 1. Меряться ни с кем я несобираюсь. Кому необходимы мои услуги сами меня находят. А в действительно крупных компаниях админ не лезет в вопросы программистов, видимо поэтому и не встают такие вопросы. 2. Нет. Не представляю. Вы ведь всерьез недумаете что по вашей теме на форуме кто-то может знать что и как происходит в вашей конторе?.. Это абсурд. Код тоже можно переписать по разному. И далеко не факт что будет быстрее. Так или иначе - это все равно проблема програмистов, в том числе решать как будет организованно списание по партиям. А автора программисты сами загнали решать эту проблему, выкручивался как мог. Да и вообще топикастер какой-то универсальный админ, общается на уровне внедренцев : Флеймер Вы представляете себе объемы изменения бизнес процесов и кода для перехода из -за одного запроса. и в принципе он прав - не ему как админу решать будет по партиям проводиться в реальном режиме времени или не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2010, 16:34 |
|
||
|
Прямой и обратный расчет остаков по регистру
|
|||
|---|---|---|---|
|
#18+
vitkhv. Да и вообще топикастер какой-то универсальный админ, общается на уровне внедренцев : [quot Флеймер] Вы представляете себе объемы изменения бизнес процесов и кода для перехода из -за одного запроса. Спасибо, vitkhv, а еще я на машинке вышивать умею... А если серьезно, то я BI занимаюсь, а на "мой" сервер еще 1С ников повесили. А они пока как слепые котята, пока мордочкой не ткнеш - не поймут, где молоко, а куда гадить не нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2010, 22:43 |
|
||
|
Прямой и обратный расчет остаков по регистру
|
|||
|---|---|---|---|
|
#18+
Хитроглазый_ОоФлеймер, скорее всего представляет; и если всё сделано как надо, то и переписывать надо совсем не много Злой Бобер А в действительно крупных компаниях админ не лезет в вопросы программистов, видимо поэтому и не встают такие вопросы. Вы, наверное, живете в идеальном мире. Я завидую вам :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2010, 22:46 |
|
||
|
Прямой и обратный расчет остаков по регистру
|
|||
|---|---|---|---|
|
#18+
ФлеймерА есть какой нибудь способ всегда обратным расчетом считать? У меня даже первого числа проведенных документов с начала месяца значительно больше. И еще у меня прямым расчетом считается почти вплоть до 27-28 числа. А из вашей фразы я понял, что он должен переключаться с 15го. Всегда пожалуйста... :) Я тоже не очень хорошо знаю, как 1С++ выбирает прямой или обратный расчет... :) Для оперативного учета (особенно когда реальные документы бьются на разные даты) предпочитаю всегда брать остатки на ТА независимо от даты документа. Во-первых, существенно уменьшается возможность заделать "минусовые остатки", проведя "задним числом" отгрузку, которая не проводится "сегодня". Главное тут - чтобы БП не допускали проведения приходов "завтра"... Во-вторых - для этого достаточно встроенных механизмов 1С, даже без использования ВК, и (на современных конфах) - минимум переделок, ибо собственный алгоритм восстановления последовательности можно сделать и внешней обработкой, а в самой конфе просто закоментить расчет остатков, когда документ не попадает в ТА. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2010, 04:20 |
|
||
|
Прямой и обратный расчет остаков по регистру
|
|||
|---|---|---|---|
|
#18+
ФлеймерА если серьезно, то я BI занимаюсь Вот тут, как минимум, Вам и карты в руки - показать начальству, что рассчет остатков на "дату документа" в оперативном режиме - есть абсурд и великое зло, ибо мало того, что порождает неконтролируемые ошибки операторов, но еще и толкает на явный мухлеж с остатками... :) Ибо в 1С всегда есть возможность "поправить что-нить задним числом" так, чтобы провести выгодную лично для себя отгрузку в ущерб остальным, и (в итоге) - в ущерб компании... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2010, 04:26 |
|
||
|
Прямой и обратный расчет остаков по регистру
|
|||
|---|---|---|---|
|
#18+
Егоров АлександрФлеймерА если серьезно, то я BI занимаюсь Вот тут, как минимум, Вам и карты в руки - показать начальству, что рассчет остатков на "дату документа" в оперативном режиме - есть абсурд и великое зло, ибо мало того, что порождает неконтролируемые ошибки операторов, но еще и толкает на явный мухлеж с остатками... :) Ибо в 1С всегда есть возможность "поправить что-нить задним числом" так, чтобы провести выгодную лично для себя отгрузку в ущерб остальным, и (в итоге) - в ущерб компании... :)А почему зло? Всегда есть варианты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2010, 10:42 |
|
||
|
Прямой и обратный расчет остаков по регистру
|
|||
|---|---|---|---|
|
#18+
Программист 1с, Надо было написать "на мой взгляд" в предыдущем посте. Понимаю, конечно, что есть и другие варианты. :) И понимаю, что в такой методе тоже есть свои минуса. Как минимум - свой собственный механизм восстановления последовательности, который переводит проведение документа из "оперативного" в "регламентый" режим. На мой взгляд, в оперативном режиме рассчитывать остатки только на ТА проще, чем пытаться дополнительно регламентировать проведения задним числом. С учетом, что "заднее число" с точки зрения последовательности документов - это может быть и сегодняшний документ, проведенный утром. Сдвинуть его на конец дня, а свою заявку засунуть на начало - вот и пример минусов по остаткам. В случае же с расчетом на ТА - такого не произойдет... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 02:09 |
|
||
|
Прямой и обратный расчет остаков по регистру
|
|||
|---|---|---|---|
|
#18+
Егоров АлександрПрограммист 1с, Надо было написать "на мой взгляд" в предыдущем посте. Понимаю, конечно, что есть и другие варианты. :) И понимаю, что в такой методе тоже есть свои минуса. Как минимум - свой собственный механизм восстановления последовательности, который переводит проведение документа из "оперативного" в "регламентый" режим. На мой взгляд, в оперативном режиме рассчитывать остатки только на ТА проще, чем пытаться дополнительно регламентировать проведения задним числом. С учетом, что "заднее число" с точки зрения последовательности документов - это может быть и сегодняшний документ, проведенный утром. Сдвинуть его на конец дня, а свою заявку засунуть на начало - вот и пример минусов по остаткам. В случае же с расчетом на ТА - такого не произойдет... В УПП кстати при проведении в неоперативном режиме (т.е. фактически задним числом даже если в пределах одного дня) остатки тоже не расчитываются и не контролируются, грубо говоря можешь списать со склада хоть милиард штук которых там совсем нет. Так что контроль остатков, на ТА было бы гораздо лучше чем есть сейчас в стандартных семерочных конфах. Хотя здесь остается проблема приходов которые могут быть раньше реализаций, в этом случае при проведении документов созданных раньше чем сегодня, вообще нет смысла проверять остатки, даже на ТА, что в УПП (видимо и в УТ и в КА) с успехом и реализовано. А проблему приходов и расходов внутри одного дня успешно решает жесткое проведение документов на ТА. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 09:23 |
|
||
|
Прямой и обратный расчет остаков по регистру
|
|||
|---|---|---|---|
|
#18+
vitkhvВ УПП кстати при проведении в неоперативном режиме (т.е. фактически задним числом даже если в пределах одного дня) остатки тоже не расчитываются и не контролируются, грубо говоря можешь списать со склада хоть милиард штук которых там совсем нет. Такое я бы назвал скорее бардаком. :) Хотя такое и встречается в реальной жизни... Например - "сверхсрочная реализация вип-клиенту товара, который уже реально принят складом, реально может быть отдан клиенту, но по базе еще непроведен, ибо вагон только наполовину разгружен" :) Тут вопрос к точности УУ, не более... Если позволительно проводить "отложенную реализацию" и соотв. городить минусовые остатки и их контроль на конец дня\периода - почему нет? Это тоже вариант, имеющий право быть... Я бы разделил "ПоступлениеТМЦ" и "ПриемТовараСкладом" на разные документы, первый делал бы "регламентно" и "по-типовому" БУ и НУ. А вторые делались бы на основании первого непроведенного еще Поступления, их могло быть несколько, и проводился бы он только по УУ. Тогда склад реально принятый товар мог в любой момент провести, ввести новый документ и продолжал бы разгрузку, "РеализацияТМЦ" проводилась бы "оперативно", только по УУ. "ПоступлениеТМЦ" было бы привязано к документ ам "ПриемТовараСкладом" и проводило бы "регламенто" и "по-типовому" БУ и НУ (с контролем соответствия товаров в документах Приемки). Потом как-нить ночью или по кнопке запускалась бы "восстановление регламентной последовательности", которое перемещало приходы и поступления на начало дня, и перепроводило бы реализации "регламентно". При этом контроль отрицательных остатков включен всегда , по УУ ессно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2010, 09:54 |
|
||
|
|

start [/forum/topic.php?fid=28&msg=36720959&tid=1522198]: |
0ms |
get settings: |
12ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
180ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
72ms |
get tp. blocked users: |
2ms |
| others: | 252ms |
| total: | 552ms |

| 0 / 0 |
